Spisu treści:

Ramię robota ROS MoveIt: 4 kroki
Ramię robota ROS MoveIt: 4 kroki

Wideo: Ramię robota ROS MoveIt: 4 kroki

Wideo: Ramię robota ROS MoveIt: 4 kroki
Wideo: ROS2 Moveit 2 Control of XArm 1S robot arm 2024, Lipiec
Anonim
Image
Image

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

Utwórz plik Urdf
Utwórz plik Urdf
Utwórz plik Urdf
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

Utwórz konfigurację robota za pomocą Asystenta konfiguracji MoveIt
Utwórz konfigurację robota za pomocą Asystenta konfiguracji MoveIt

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

Gotowe!
Gotowe!
Gotowe!
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…

Zalecana: