Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Będzie to seria artykułów o tworzeniu zrobotyzowanego ramienia sterowanego za pomocą ROS (Robotic Operating System) i MoveIt. Jeśli interesujesz się robotyką, ROS to świetny framework, który pomoże Ci szybciej budować lepsze roboty. Pozwala na ponowne wykorzystanie pakietów dla różnych systemów robotów (wizja komputerowa, kinematyka, planowanie ścieżek, SLAM itp.), które stworzyły inne osoby. ROS jest świetny, ale niestety ma stromą krzywą uczenia się.
Ten samouczek jest przewodnikiem krok po kroku, jak stworzyć swoje pierwsze ramię robota z planowaniem ruchu, przeznaczone dla początkujących i średniozaawansowanych. Zakładam, że nie masz wiedzy na temat ROS, ale masz podstawową wiedzę na temat Linuksa i Pythona, umiejętności programowania Arduino.
Krok 1: Przygotuj swoje środowisko
Moje środowisko programistyczne to Ubuntu 16.04 LTS działające w Virtual Box (maszyna hosta z systemem Windows 10). Jeśli chcesz uruchomić Ubuntu na VM, to w porządku, mogę potwierdzić, że ROS Kinetic działa, choć z pewnymi dziwactwami (zwłaszcza akceleracją 3D i obsługą USB). Jeśli masz zwykłą instalację Ubuntu, działałoby to lepiej.
Uwaga: Możesz zainstalować ROS na Raspberry Pi, ale niestety nie jest on wystarczająco wydajny, aby uruchamiać symulacje w Rviz, nie mówiąc już o Gazebo.
1) Zainstaluj ROS Kinetic. Postępuj zgodnie z tym przewodnikiem, jak zainstalować ROS Kinetic na Ubuntu 16.04.
2) Zainstaluj MoveIt. Rusz to! to pakiet dla ROS do mobilnej manipulacji, czyli ramion robotycznych.
3) Sprawdź, czy wszystko działa. Biegać
roslaunch panda_moveit_config demo.launch rviz_tutorial:=true
jeśli chcesz, przejdź przez podstawowy samouczek moveit
4) Będziesz musiał również zainstalować pakiet urdf_tutorial, użyjemy go do wizualizacji naszej pracy w toku.
sudo apt-get install ros-kinetic-urdf-samouczek
Krok 2: Utwórz plik Urdf
Jeśli śledziłeś samouczek szybkiego startu MoveIt, powinieneś mieć utworzony obszar roboczy catkin w swoim katalogu domowym (nazwa obszaru roboczego może być inna, domyślnie w samouczku moveit jest ws_moveit). Przejdź do ~ws_moveit/src i sklonuj tam moje repozytorium github.
github.com/AIWintermuteAI/ros-moveit-arm.git
Jeśli używasz tego samego ramienia robota co ja lub po prostu chcesz poćwiczyć, możesz pozostawić plik urdf bez zmian, w przeciwnym razie będziesz musiał go zmienić, aby odpowiadał modelowi ramienia, który posiadasz.
Oto krótkie wyjaśnienie pliku urdf, patrzenie na mój przykład i model robota w rviz pomoże ci lepiej go zrozumieć i złożyć wniosek o napisanie własnego pliku urdf
linki to części robota, takie jak nadgarstek lub platforma. Posiadają następujące właściwości:
używany do wizualnej reprezentacji w rviz i altanie. Wykorzystuje wysokiej jakości siatki
służy do sprawdzania kolizji podczas planowania ścieżki. Zalecane jest używanie siatek niskiej jakości, ale ze względu na samouczek używam tego samego, co wizualne.
stawy w urdf to połączenia między linkami, które opisują, jak są ustawione względem siebie i jak się poruszają. Posiadają następujące właściwości:
kierunek obrotu połączenia (wzdłuż osi x, y lub z)
minimalny i maksymalny stopień spoiny w radianach. Dotyczy tylko złączy typu „obrotowego” (połączenia „ciągłe” nie mają ograniczeń, ponieważ, cóż, obracają się w sposób ciągły)
położenie stawu w stosunku do pochodzenia
opisuje, które dwa ogniwa są połączone ze złączem
Jeśli używasz tego samego ramienia robota co ja, będziesz musiał skopiować siatki 3D ramienia do folderu pakietu urdf_tutorial. Zrób to za pomocą tego polecenia
sudo cp /opt/ros/kinetic/share/urdf_tutorial/meshe/
Jeśli używasz własnych siatek, upewnij się, że są wyśrodkowane wokół punktu początkowego (xyz 000 w Twoim ulubionym oprogramowaniu do modelowania 3D), zanim wyeksportujesz je do binarnego (!) formatu stl.
Teraz możesz uruchomić rviz, aby zwizualizować wyniki za pomocą tego polecenia
roslaunch urdf_tutorial display.launch model:=arm.urdf
(uruchom go z folderu z plikiem urdf, który właśnie utworzyłeś)
Sprawdź połączenia i linki, upewnij się, że obracają się i są ustawione dokładnie tak, jak powinny. Jeśli wszystko jest w porządku, przejdź do następnego kroku.
Krok 3: Utwórz konfigurację robota za pomocą MoveIt Setup Assistant
Teraz, gdy plik urdf jest gotowy, nadszedł czas, aby przekonwertować go do pakietu konfiguracyjnego robota.
Uruchom Asystenta konfiguracji MoveIt za pomocą następującego polecenia
roslaunch moveit_setup_assistant setup_assistant.launch
Proces jest bardzo dobrze opisany w oficjalnym samouczku MoveIt, który można znaleźć tutaj
Po utworzeniu pakietu konfiguracyjnego przejdź do folderu obszaru roboczego catkin i wykonaj
kotka zrobić
zbudować pakiet. Teraz możesz go uruchomić za pomocą następującego polecenia
roslaunch my_arm_xacro demo.launch rviz_tutorial:=true
gdzie będziesz musiał zmienić "moje_ramię_xacro" na nazwę twojego pakietu.
Krok 4: Gotowe
Jeśli pomyślnie uruchomiłeś pakiet, zobaczysz swój model robota z interaktywnymi znacznikami. Będziesz mógł kontrolować to w symulacji, używając znaczników, a następnie naciśnij „Zaplanuj i wykonaj”, aby solwer kinematyczny znalazł właściwą ścieżkę do pożądanego stanu.
To był pierwszy krok, stworzyliśmy model naszego ramienia robota i możemy wykorzystać moc ROS do obliczenia i wykonania ruchu w symulacji! Następny krok - zrób to z prawdziwym robotem, do tego będziemy musieli napisać prosty kontroler robota…