Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Detta kommer att bli en serie artiklar om hur man gör en robotarm som styrs med ROS (Robotic Operating System) och MoveIt. Om du är i robotik är ROS en bra ram som hjälper dig att bygga bättre robotar snabbare. Det låter dig återanvända paket för olika robotsystem (datorsyn, kinematik, vägplanering, SLAM, etc.) som andra människor skapade. ROS är bra, men tyvärr har den en brant inlärningskurva.
Så denna handledning är en steg-för-steg-guide för att göra din första robotarm med rörelseplanering, riktad till övre nybörjare och mellanliggande nivåer. Jag antar att du inte har någon kunskap om ROS, men har viss grundläggande kunskap om Linux och Python, Arduino -programmeringskunskaper.
Steg 1: Förbered din miljö
Min miljö för utveckling är Ubuntu 16.04 LTS som körs i en virtuell låda (Windows 10 värdmaskin). Om du vill köra Ubuntu på VM är det bra, jag kan bekräfta att ROS Kinetic fungerar, om än med några finesser (särskilt 3D -acceleration och USB -stöd). Om du har en vanlig Ubuntu -installation skulle det fungera bättre.
Obs: Du kan installera ROS på Raspberry Pi, men tyvärr är det inte tillräckligt kraftfullt för att köra simuleringarna i Rviz, än mindre Gazebo.
1) Installera ROS Kinetic. Följ den här guiden för hur du installerar ROS Kinetic på Ubuntu 16.04.
2) Installera MoveIt. Flytta den! är ett paket för ROS för mobil manipulation, dvs. robotarmar.
3) Kontrollera om allt fungerar. Springa
roslaunch panda_moveit_config demo.launch rviz_tutorial: = true
om du vill, gå igenom moveit basic tutorial
4) Du måste också installera urdf_tutorial -paketet, vi använder det för att visualisera vårt pågående arbete.
sudo apt-get install ros-kinetic-urdf-tutorial
Steg 2: Skapa Urdf -fil
Om du följde MoveIt -snabbstartguiden borde du ha skapat catkin -arbetsytan i din hemkatalog (namnet på arbetsytan kan vara annorlunda, standard från moveit -handledning är ws_moveit). Gå till ~ ws_moveit/src och klona mitt github -repo där.
github.com/AIWintermuteAI/ros-moveit-arm.git
Om du använder samma robotarm som jag eller bara vill öva kan du lämna urdf -filen oförändrad, annars måste du ändra den för att motsvara den armmodell du har.
Här är en kort förklaring av urdf -fil, titta på mitt exempel och robotmodellen i rviz hjälper dig att förstå det bättre och ansöka om att skriva din egen urdf -fil
länkar är robotens delar, som en handled eller en plattform. De har följande egenskaper:
används för visuell representation i rviz och lusthus. Använder högkvalitativa maskor
används för kollisionskontroll vid banplanering. Rekommenderas att använda maskor av låg kvalitet, men för handledningens skull använder jag samma som för visuellt.
leder i urdf är kopplingar mellan länkar som beskriver hur de är placerade i förhållande till varandra och hur de rör sig. De har följande egenskaper:
fogens rotationsriktning (längs x-, y- eller z -axeln)
minsta och högsta grad av fogen i radianer. Gäller endast fogar av "roterande" typ ("kontinuerliga" skarvar har inga gränser, eftersom de, väl, roterar kontinuerligt)
fogens position i förhållande till ursprunget
beskriver vilka två länkar som är anslutna till leden
Om du använder samma robotarm som jag, måste du kopiera 3D -maskor av armen till urdf_tutorial -paketmappen. Gör det med det här kommandot
sudo cp/opt/ros/kinetic/share/urdf_tutorial/meshes/
Om du använder dina egna maskor, se till att de är centrerade kring ursprunget (xyz 000 i din favorit 3D -modelleringsprogramvara) innan du exporterar dem till binärt (!) Stl -format.
Nu kan du starta rviz för att visualisera resultaten med det här kommandot
roslaunch urdf_tutorial display.launch model: = arm.urdf
(starta den från mappen med urdf -filen du skapade just nu)
Kontrollera lederna och länkarna, se till att de roterar och placeras exakt som de ska. Om allt är okej, gå vidare till nästa steg.
Steg 3: Skapa robotkonfiguration med MoveIt Setup Assistant
Nu när din urdf -fil är klar är det dags att konvertera den till robotkonfigurationspaket.
Starta MoveIt Setup Assistant med följande kommando
roslaunch moveit_setup_assistant setup_assistant.launch
Processen beskrivs mycket väl i MoveIt officiella handledning, som du hittar här
När du har skapat konfigurationspaketet går du till din catkin -arbetsytemapp och kör
catkin make
för att bygga paketet. Nu kan du starta den med följande kommando
roslaunch my_arm_xacro demo.launch rviz_tutorial: = true
där du kommer att behöva ändra "my_arm_xacro" till namnet på ditt paket.
Steg 4: Klar
Om du lyckades lansera paketet ser du din robotmodell med interaktiva markörer. Du kommer att kunna styra det i simulering med markörerna och sedan trycka på "Planera och utföra" för den kinematiska lösaren för att hitta rätt väg till önskat tillstånd.
Det var steg ett, vi skapade en modell av vår robotarm och kan skörda kraften hos ROS för att beräkna och utföra rörelse i simuleringen! Nästa steg - gör det med den riktiga roboten, för det måste vi skriva en enkel robotstyrenhet …