Spisu treści:
- Krok 1: Wymagane części, druk 3D i montaż
- Krok 2: Kinematyka
- Krok 3: Kodowanie kinematyki
- Krok 4: Uruchamianie rzeczy
- Krok 5: Dodatkowe efektory końcowe
Wideo: Ramię robota USStepper 4: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
To już czwarta iteracja mojego ramienia robota, które opracowałem jako aplikację dla naszej płyty sterującej uStepper stepper. Ponieważ robot ma 3 silniki krokowe i serwo do uruchamiania (w podstawowej konfiguracji), nie ogranicza się do uSteppera, ale może być używany z dowolną płytką sterownika krokowego.
Konstrukcja oparta jest na przemysłowym robocie paletyzującym - i jest stosunkowo prosta. Powiedziawszy to, spędziłem niezliczone godziny wymyślając projekt i optymalizując go zarówno pod kątem łatwości montażu, jak i łatwości drukowania części.
Projekt wykonałem z myślą o łatwości druku i prostocie montażu. Nie żeby nie było sposobu na poprawę tych dwóch parametrów, ale myślę, że przeszedłem długą drogę. Co więcej, chciałbym sprowadzić robotykę przemysłową do poziomu, w którym hobbyści mogą ją śledzić, pokazując, że można to zrobić stosunkowo prosto - także matematykę, aby ją kontrolować!
Zapraszam do pozostawienia komentarza z konstruktywną opinią zarówno na temat projektu, ale przede wszystkim na temat tego, jak zrobić, aby był dostępny dla wszystkich (zwłaszcza matematyki).
Krok 1: Wymagane części, druk 3D i montaż
Zasadniczo wszystko, co musisz wiedzieć, znajduje się w instrukcji montażu. Istnieje szczegółowy BOM z częściami zakupionymi i wydrukowanymi oraz szczegółową instrukcją montażu.
Druk 3D odbywa się na dobrej jakości drukarce 3D (FDM) o wysokości warstwy 0,2 mm i 30% wypełnieniu. Możesz znaleźć najnowszą iterację części i instrukcji tutaj:
Krok 2: Kinematyka
Aby ramię poruszało się w przewidywalny sposób, musisz wykonać matematykę:O Szukałem w wielu miejscach stosunkowo prostego opisu kinematyki tego typu robota, ale nie znalazłem takiego, który moim zdaniem był włączony poziom, na którym większość ludzi mogłaby to zrozumieć. Zrobiłem własną wersję kinematyki opartą wyłącznie na trygonometrii, a nie na transformacjach macierzowych, które mogą wydawać się dość przerażające, jeśli nigdy wcześniej nie pracowałeś nad takimi rzeczami - jednak są one dość proste dla tego konkretnego robota, ponieważ ma tylko 3 stopnie swobody.
Niemniej jednak uważam, że moje podejście w załączonym dokumencie jest napisane w stosunkowo łatwy do zrozumienia sposób. Ale spójrz i zobacz, czy ma to dla Ciebie sens!
Krok 3: Kodowanie kinematyki
Kinematyka może być trudna do uchwycenia nawet przy obliczeniach, które przedstawiłem w pierwszym. Oto przede wszystkim implementacja Octave - Octave to darmowe narzędzie z wieloma tymi samymi funkcjami, które można znaleźć w Matlab.
L1o = 40; Zo = -70; L_2 = 73,0; Au = 188,0; Al = 182,0; Lo = 47,0; PODRĘCZNIK = Au; DOLNA DŁUGOŚĆ = Al; PRZESUNIĘCIE X = Lo; PRZESUNIĘCIEZ = L_2; PRZESUNIĘCIE AZ = Zo; PRZESUNIĘCIE OSI = L1o; disp('Implementacja kodu') disp('Kąty wprowadzania:') rot = deg2rad(30); prawo = deg2rad(142,5); lewo = deg2rad(50); rad2deg(rot) rad2deg(right) rad2deg(left) T1 = rot;#base T2 = right;#shoulder T3 = left;#elbow #FW Kinematyka, aby uzyskać XYZ z kątów: disp('Obliczone X, Y, Z:') z = ZOFFSET + sin(prawo)*DOLNE ARMLEN - cos(lewo - (pi/2 - prawy))*UPPERARMLEN + AZOFFSET k1 = sin(lewo - (pi/2 - prawy))*UPPERARMLEN + cos(prawo)* DOLNE ARMLEN + XOFFSET + AXOFFSET; x = cos(rot)*k1 y = sin(rot)*k1 ##kinematyka odwrotna, aby uzyskać kąty z XYZ: rot = atan2(y, x); x = x - cos(rot)*AXOFFSET; y = y - sin(rot)*AXOFFSET; z = z - AZOFFSET-ZOFFSET; L1 = sqrt(x*x + y*y) - PRZESUNIĘCIE X; L2 = sqrt((L1)*(L1) + (z)*(z)); a = (z)/L2; b = (L2*L2 + LOWERARMLEN*LOWERARMLEN - UPPERARMLEN*UPPERARMLEN)/(2*L2*LOWERARMLEN); c = (LOWERARMLEN*LOWERARMLEN + UPPERARMLEN*UPPERARMLEN - L2*L2)/(2*LOWERARMLEN*UPPERARMLEN); prawo = (atan2(a, sqrt(1-a*a)) + atan2(sqrt(1-b*b), b)); left = atan2(sqrt(1-c*c), c); ##wyjściowe obliczone kąty disp('Kąty wyjściowe:') rot = rad2deg(rot) right = rad2deg(right) left = rad2deg(left)
W powyższym skrypcie masz w zasadzie gotowy kod implementacyjny dla kinematyki do przodu i do tyłu.
Kinematyka do przodu, której używasz do obliczania, gdzie skończysz z danym zestawem kątów silnika. Kinematyka odwrotna następnie (wykona odwrotną) obliczy, jakie kąty silnika są potrzebne, aby uzyskać żądaną pozycję x, y, z. Należy wtedy wprowadzić ograniczenia ruchu motorycznego, jak np. podstawa obrotowa może wynosić tylko od 0 do 359 stopni. W ten sposób upewnisz się, że nie przejdziesz na pozycje, które nie są wykonalne.
Krok 4: Uruchamianie rzeczy
Nie jesteśmy do końca z implementacją biblioteki kinematycznej, więc nie mogę jeszcze dostarczyć. Ale mogę pokazać filmik, jak to działa. Jest dość stabilna i płynna dzięki zastosowaniu łożysk i napędu pasowego, poza rozsądną jakością napędów jaką są tutaj płyty uStepper S.
Krok 5: Dodatkowe efektory końcowe
Zaprojektowałem 3 dodatkowe efektory końcowe. Jeden to po prostu chwytak poziomy, drugi pasuje do zwykłej europejskiej puszki po piwie lub napojach gazowanych, a na koniec istnieje system chwytaków próżniowych, który umożliwia zamontowanie przyssawki, pompy i zaworu.
Wszystkie będą lub są dostępne tutaj (pliki 3D STL i instrukcje):
Zalecana:
Ramię robota z chwytakiem: 9 kroków (ze zdjęciami)
Ramię robota z chwytakiem: Zbieranie drzewek cytrynowych jest uważane za ciężką pracę ze względu na duże rozmiary drzew, a także ze względu na gorący klimat regionów, w których sadzone są drzewa cytrynowe. Dlatego potrzebujemy czegoś innego, aby pomóc robotnikom rolnym w łatwiejszym wykonywaniu ich pracy
Ramię robota 3D z silnikami krokowymi sterowanymi przez Bluetooth: 12 kroków
Ramię robota 3D z silnikami krokowymi sterowanymi przez Bluetooth: W tym samouczku zobaczymy, jak wykonać ramię robota 3D z silnikami krokowymi 28byj-48, serwomotorem i częściami drukowanymi w 3D. Płytka drukowana, kod źródłowy, schemat elektryczny, kod źródłowy i wiele informacji znajdują się na mojej stronie internetowej
RAMIĘ ROBOTYCZNE Xbox 360 [ARDUINO]: RAMIĘ AXIOM: 4 kroki
RAMIĘ ROBOTYCZNE Xbox 360 [ARDUINO]: RAMIĘ AXIOM:
Ramię robota ROS MoveIt, część 2: Kontroler robota: 6 kroków
Ramię robota ROS MoveIt Część 2: Kontroler robota: https://github.com/AIWintermuteAI/ros-moveit-arm.gitW poprzedniej części artykułu stworzyliśmy pliki URDF i XACRO dla naszego ramienia robota i uruchomiliśmy RVIZ, aby kontrolować nasze ramię robota w symulowanym środowisku.Tym razem zrobimy to z p
JAK ZŁOŻYĆ IMPONUJĄCE DREWNIANE RAMIĘ ROBOTA (CZĘŚĆ 3: RAMIĘ ROBOTA) -- W OPARCIU O MIKRO: WĘDZIK: 8 kroków
JAK ZŁOŻYĆ IMPONUJĄCE DREWNIANE RAMIĘ ROBOTA (CZĘŚĆ 3: RAMIĘ ROBOTA) -- W OPARCIU O MIKRO: BITN: Kolejny proces instalacji opiera się na zakończeniu trybu omijania przeszkód. Proces instalacji w poprzedniej sekcji jest taki sam, jak proces instalacji w trybie śledzenia linii. Następnie spójrzmy na ostateczną formę A