Inhoudsopgave:

ROS MoveIt robotarm - Ajarnpa
ROS MoveIt robotarm - Ajarnpa

Video: ROS MoveIt robotarm - Ajarnpa

Video: ROS MoveIt robotarm - Ajarnpa
Video: Hiwonder ArmPi Pro Raspberry Pi ROS Robotic Arm Developer Kit with 4WD Chassis Open Source Robot Car 2024, November
Anonim
Image
Image

Dit wordt een serie artikelen over het maken van een robotarm die wordt bestuurd met ROS (Robotic Operating System) en MoveIt. Als je van robotica houdt, is ROS een geweldig raamwerk dat je zal helpen om sneller betere robots te bouwen. Hiermee kunt u pakketten hergebruiken voor verschillende robotsystemen (computervisie, kinematica, padplanning, SLAM, enz.) Die andere mensen hebben gemaakt. ROS is geweldig, maar helaas heeft het een steile leercurve.

Deze tutorial is dus een stapsgewijze handleiding voor het maken van je eerste robotarm met bewegingsplanning, gericht op beginners en gevorderden. Ik neem aan dat je geen kennis hebt van ROS, maar wel wat basiskennis Linux en Python, Arduino programmeervaardigheden.

Stap 1: Bereid uw omgeving voor

Mijn ontwikkelomgeving is Ubuntu 16.04 LTS die wordt uitgevoerd in een virtuele doos (Windows 10-hostmachine). Als je Ubuntu op VM wilt draaien, is dat prima, ik kan bevestigen dat ROS Kinetic werkt, zij het met wat eigenaardigheden (met name 3D-versnelling en USB-ondersteuning). Als je een normale Ubuntu-installatie hebt, zou het beter werken.

Opmerking: je kunt ROS op Raspberry Pi installeren, maar helaas is het niet krachtig genoeg om de simulaties in Rviz uit te voeren, laat staan Gazebo.

1) Installeer ROS Kinetic. Volg deze handleiding voor het installeren van ROS Kinetic op Ubuntu 16.04.

2) Installeer MoveIt. Verplaats het! is een pakket voor ROS voor mobiele manipulatie, d.w.z. robotarmen.

3) Controleer of alles werkt. Loop

roslaunch panda_moveit_config demo.launch rviz_tutorial:=true

als je wilt, ga door de moveit basic tutorial

4) U moet ook het pakket urdf_tutorial installeren, we zullen het gebruiken om ons werk in uitvoering te visualiseren.

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

Stap 2: Urdf-bestand maken

Urdf-bestand maken
Urdf-bestand maken
Urdf-bestand maken
Urdf-bestand maken

Als je de MoveIt quickstart-tutorial hebt gevolgd, zou je een catkin-werkruimte in je thuismap moeten hebben gemaakt (de naam van de workspace kan anders zijn, de standaard van de moveit-tutorial is ws_moveit). Ga naar ~ws_moveit/src en kloon daar mijn github-repo.

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

Als je dezelfde robotarm gebruikt als ik of gewoon wilt oefenen, kun je het urdf-bestand ongewijzigd laten, anders moet je het aanpassen aan het armmodel dat je hebt.

Hier is een korte uitleg van het urdf-bestand, kijkend naar mijn voorbeeld en het robotmodel in rviz zal u helpen om het beter te begrijpen en om uw eigen urdf-bestand te schrijven

schakels zijn de onderdelen van de robot, zoals een pols of een platform. Ze hebben de volgende eigenschappen:

gebruikt voor visuele weergave in rviz en tuinhuisje. Maakt gebruik van hoogwaardige mazen

gebruikt voor het controleren van botsingen tijdens het plannen van paden. Aanbevolen om meshes van lage kwaliteit te gebruiken, maar omwille van de tutorial gebruik ik hetzelfde als voor visueel.

gewrichten in urdf zijn verbindingen tussen schakels die beschrijven hoe ze ten opzichte van elkaar zijn gepositioneerd en hoe ze bewegen. Ze hebben de volgende eigenschappen:

de draairichting van het gewricht (langs de x-, y- of z-as)

minimale en maximale graad van het gewricht in radialen. Alleen van toepassing op "revolute" type verbindingen ("continue" verbindingen hebben geen limieten, omdat ze, nou ja, continu roteren)

de positie van het gewricht ten opzichte van de oorsprong

beschrijft welke twee schakels verbonden zijn met het gewricht

Als je dezelfde robotarm gebruikt als ik, moet je 3D-mazen van de arm kopiëren naar de pakketmap urdf_tutorial. Doe het met dit commando

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

Als je je eigen meshes gebruikt, zorg er dan voor dat ze gecentreerd zijn rond de oorsprong (xyz 000 in je favoriete 3D-modelleringssoftware) voordat je ze exporteert naar het binaire (!) stl-formaat.

Nu kunt u rviz starten om de resultaten te visualiseren met deze opdracht

roslaunch urdf_tutorial display.launch model:=arm.urdf

(start het vanuit de map met het urdf-bestand dat u zojuist hebt gemaakt)

Controleer de verbindingen en de schakels, zorg ervoor dat ze precies draaien en gepositioneerd zijn zoals ze zouden moeten. Als alles in orde is, gaat u verder met de volgende stap.

Stap 3: Creëer robotconfiguratie met MoveIt Setup Assistant

Creëer robotconfiguratie met MoveIt Setup Assistant
Creëer robotconfiguratie met MoveIt Setup Assistant

Wanneer uw urdf-bestand klaar is, is het tijd om het te converteren naar een robotconfiguratiepakket.

Start MoveIt Setup Assistant met de volgende opdracht:

roslaunch moveit_setup_assistant setup_assistant.launch

Het proces is zeer goed beschreven in de officiële tutorial van MoveIt, die je hier kunt vinden

Nadat u het configuratiepakket hebt gemaakt, gaat u naar uw catkin-werkruimtemap en voert u uit

katjes maken

om het pakket samen te stellen. Nu kun je het starten met de volgende opdracht:

roslaunch my_arm_xacro demo.launch rviz_tutorial:=true

waar u "my_arm_xacro" moet wijzigen in de naam van uw pakket.

Stap 4: Klaar

Gedaan!
Gedaan!
Gedaan!
Gedaan!

Als je het pakket met succes hebt gelanceerd, zie je je robotmodel met interactieve markeringen. U kunt het in simulatie besturen, met behulp van de markeringen en vervolgens op "Plannen en uitvoeren" drukken zodat de kinematische oplosser het juiste pad naar de gewenste toestand kan vinden.

Dat was de eerste stap, we hebben een model van onze robotarm gemaakt en kunnen de kracht van ROS oogsten om beweging in de simulatie te berekenen en uit te voeren! Volgende stap - doe het met de echte robot, daarvoor moeten we een eenvoudige robotcontroller schrijven …

Aanbevolen: