Πίνακας περιεχομένων:

Ρομποτικός βραχίονας ROS MoveIt: 4 βήματα
Ρομποτικός βραχίονας ROS MoveIt: 4 βήματα

Βίντεο: Ρομποτικός βραχίονας ROS MoveIt: 4 βήματα

Βίντεο: Ρομποτικός βραχίονας ROS MoveIt: 4 βήματα
Βίντεο: robo_arm ros control 2024, Ιούλιος
Anonim
Image
Image

Αυτό θα είναι μια σειρά άρθρων σχετικά με τη δημιουργία ενός ρομποτικού βραχίονα που ελέγχεται με ROS (Robotic Operating System) και MoveIt. Εάν ασχολείστε με τη ρομποτική, το ROS είναι ένα εξαιρετικό πλαίσιο που θα σας βοηθήσει να δημιουργήσετε καλύτερα ρομπότ γρηγορότερα. Σας επιτρέπει να επαναχρησιμοποιείτε πακέτα για διαφορετικά συστήματα ρομπότ (όραση υπολογιστή, κινηματική, σχεδιασμός διαδρομής, SLAM κλπ) που δημιούργησαν άλλα άτομα. Το ROS είναι υπέροχο, αλλά δυστυχώς έχει μια απότομη καμπύλη μάθησης.

Αυτό το σεμινάριο είναι οδηγός βήμα προς βήμα για να φτιάξετε τον πρώτο σας ρομποτικό βραχίονα με προγραμματισμό κίνησης, που απευθύνεται σε ανώτερα αρχάρια και ενδιάμεσα επίπεδα. Υποθέτω ότι δεν γνωρίζετε ROS, αλλά έχετε κάποιες βασικές γνώσεις Linux και Python, Arduino προγραμματισμό.

Βήμα 1: Προετοιμάστε το περιβάλλον σας

Το περιβάλλον μου για ανάπτυξη είναι το Ubuntu 16.04 LTS που λειτουργεί σε ένα εικονικό κουτί (μηχάνημα υποδοχής Windows 10). Αν θέλετε να εκτελέσετε το Ubuntu σε VM είναι εντάξει, μπορώ να επιβεβαιώσω τα έργα ROS Kinetic, αν και με κάποιες ιδιαιτερότητες (κυρίως επιτάχυνση 3D και υποστήριξη USB). Εάν έχετε τακτική εγκατάσταση του Ubuntu, θα λειτουργούσε καλύτερα.

Σημείωση: Μπορείτε να εγκαταστήσετε το ROS στο Raspberry Pi, αλλά δυστυχώς δεν είναι αρκετά ισχυρό για να τρέξει τις προσομοιώσεις στο Rviz, πόσο μάλλον το Gazebo.

1) Εγκαταστήστε το ROS Kinetic. Ακολουθήστε αυτόν τον οδηγό για τον τρόπο εγκατάστασης του ROS Kinetic στο Ubuntu 16.04.

2) Εγκαταστήστε το MoveIt. Κουνήσου! είναι ένα πακέτο για ROS για χειρισμό κινητών, δηλαδή ρομποτικούς βραχίονες.

3) Ελέγξτε αν όλα λειτουργούν. Τρέξιμο

roslaunch panda_moveit_config demo.launch rviz_tutorial: = true

αν θέλετε, περάστε από το βασικό σεμινάριο moveit

4) Θα χρειαστεί επίσης να εγκαταστήσετε το πακέτο urdf_tutorial, θα το χρησιμοποιήσουμε για να απεικονίσουμε την εργασία μας σε εξέλιξη.

sudo apt-get install ros-kinetic-urdf-tutorial

Βήμα 2: Δημιουργήστε αρχείο Urdf

Δημιουργία αρχείου Urdf
Δημιουργία αρχείου Urdf
Δημιουργία αρχείου Urdf
Δημιουργία αρχείου Urdf

Εάν ακολουθήσατε το σεμινάριο γρήγορης εκκίνησης του MoveIt, θα έπρεπε να έχετε δημιουργήσει χώρο εργασίας catkin στον αρχικό σας κατάλογο (το όνομα του χώρου εργασίας μπορεί να είναι διαφορετικό, από προεπιλογή από το moveit tutorial είναι ws_moveit). Μεταβείτε στο ~ ws_moveit/src και κλωνοποιήστε το repo του github μου εκεί.

github.com/AIWintermuteAI/ros-moveit-arm.git

Εάν χρησιμοποιείτε τον ίδιο ρομποτικό βραχίονα όπως εγώ ή απλά θέλετε να εξασκηθείτε, μπορείτε να αφήσετε το αρχείο urdf αμετάβλητο, διαφορετικά θα πρέπει να το αλλάξετε για να αντιστοιχεί στο μοντέλο βραχίονα που έχετε.

Ακολουθεί μια σύντομη εξήγηση του αρχείου urdf, κοιτάζοντας το παράδειγμά μου και το μοντέλο ρομπότ στο rviz θα σας βοηθήσει να το καταλάβετε καλύτερα και να υποβάλετε αίτηση για τη σύνταξη του δικού σας αρχείου urdf

Οι σύνδεσμοι είναι τα μέρη του ρομπότ, όπως ένας καρπός ή μια πλατφόρμα. Έχουν τις ακόλουθες ιδιότητες:

χρησιμοποιείται για οπτική αναπαράσταση σε rviz και κιόσκι. Χρησιμοποιεί πλέγματα υψηλής ποιότητας

χρησιμοποιείται για τον έλεγχο σύγκρουσης κατά τον σχεδιασμό διαδρομής. Συνιστάται να χρησιμοποιείτε πλέγματα χαμηλής ποιότητας, αλλά για χάρη του σεμιναρίου χρησιμοποιώ το ίδιο με το οπτικό.

Οι αρθρώσεις στο urdf είναι συνδέσεις μεταξύ συνδέσμων που περιγράφουν πώς τοποθετούνται μεταξύ τους και πώς κινούνται. Έχουν τις ακόλουθες ιδιότητες:

η κατεύθυνση περιστροφής της άρθρωσης (κατά μήκος του άξονα x, y ή z)

ελάχιστος και μέγιστος βαθμός της άρθρωσης σε ακτίνια. Ισχύει μόνο για αρθρώσεις τύπου "περιστροφής" (οι "συνεχείς" αρμοί δεν έχουν όρια, καθώς, καλά, περιστρέφονται συνεχώς)

τη θέση της άρθρωσης σε σχέση με την προέλευση

περιγράφει ποιοι δύο σύνδεσμοι συνδέονται με την άρθρωση

Εάν χρησιμοποιείτε τον ίδιο ρομποτικό βραχίονα με εμένα, θα πρέπει να αντιγράψετε τρισδιάστατα πλέγματα του βραχίονα στο φάκελο πακέτων urdf_tutorial. Κάντε το με αυτήν την εντολή

sudo cp/opt/ros/kinetic/share/urdf_tutorial/mesh/

Εάν χρησιμοποιείτε τα δικά σας πλέγματα, βεβαιωθείτε ότι είναι επικεντρωμένα στην προέλευση (xyz 000 στο αγαπημένο σας λογισμικό τρισδιάστατης μοντελοποίησης) προτού τα εξαγάγετε σε δυαδική (!) Stl μορφή.

Τώρα μπορείτε να εκκινήσετε το rviz για να απεικονίσετε τα αποτελέσματα με αυτήν την εντολή

roslaunch urdf_tutorial display.launch model: = arm.urdf

(ξεκινήστε το από το φάκελο με το αρχείο urdf που δημιουργήσατε μόλις τώρα)

Ελέγξτε τις αρθρώσεις και τους συνδέσμους, βεβαιωθείτε ότι περιστρέφονται και τοποθετούνται ακριβώς όπως υποτίθεται. Εάν όλα είναι εντάξει, προχωρήστε στο επόμενο βήμα.

Βήμα 3: Δημιουργήστε διαμόρφωση ρομπότ με το MoveIt Setup Assistant

Δημιουργήστε διαμόρφωση ρομπότ με το MoveIt Setup Assistant
Δημιουργήστε διαμόρφωση ρομπότ με το MoveIt Setup Assistant

Τώρα, όταν το αρχείο urdf είναι έτοιμο, ήρθε η ώρα να το μετατρέψετε σε πακέτο διαμόρφωσης ρομπότ.

Εκκινήστε το MoveIt Setup Assistant με την ακόλουθη εντολή

roslaunch moveit_setup_assistant setup_assistant.launch

Η διαδικασία περιγράφεται πολύ καλά στο επίσημο σεμινάριο του MoveIt, το οποίο μπορείτε να βρείτε εδώ

Αφού δημιουργήσετε το πακέτο διαμόρφωσης, μεταβείτε στο φάκελο του χώρου εργασίας catkin και εκτελέστε

catkin make

για την κατασκευή του πακέτου. Τώρα μπορείτε να το ξεκινήσετε με την ακόλουθη εντολή

roslaunch my_arm_xacro demo.launch rviz_tutorial: = true

όπου θα χρειαστεί να αλλάξετε το "my_arm_xacro" στο όνομα του πακέτου σας.

Βήμα 4: Τέλος

Εγινε!
Εγινε!
Εγινε!
Εγινε!

Εάν ξεκινήσετε με επιτυχία το πακέτο, θα δείτε το μοντέλο ρομπότ σας με διαδραστικούς δείκτες. Θα μπορείτε να το ελέγξετε στην προσομοίωση, χρησιμοποιώντας τους δείκτες και, στη συνέχεια, πατήστε "Σχέδιο και εκτέλεση" για τον κινηματικό λύτη για να βρει τη σωστή διαδρομή προς την επιθυμητή κατάσταση.

Αυτό ήταν το πρώτο βήμα, δημιουργήσαμε ένα μοντέλο του ρομποτικού μας βραχίονα και μπορούμε να συλλέξουμε τη δύναμη του ROS για τον υπολογισμό και την εκτέλεση της κίνησης στην προσομοίωση! Επόμενο βήμα - κάντε το με το πραγματικό ρομπότ, για αυτό θα χρειαστεί να γράψουμε απλό χειριστήριο ρομπότ…

Συνιστάται: