Modelowanie robotów w MATLABIE za pomocą Robotics Toolbox

Robotics Toolbox, obecnie (Marzec 2012) w swoim 9 wydaniu, to bardzo pożyteczny zestaw narzędzi umożliwiających pracę z robotami ew. innymi łańcuchami kinematycznymi. Pozwala błyskawicznie obliczyć macierz kinematyki robota, zobrazować go czy policzyć kinematykę odwrotną lub prostą. Zakres jego możliwości zupełnie się na tym nie kończy i zahacza o prawie wszystkie zagadnienia, z jakimi mierzą się obecnie badacze zajmujący się robotyką. Toolbox Robotics Toolbox dostępny jest nie tylko dla MATLABA (wersje powyżej R2011a) ale i dla Python’a, ale wg autora jest on mniej rozwinięty i nie posiada dobrych narzędzi do wizualizacji pracy robota.

Jak zainstalować robotics Toolbox w MATLABIE Należy ściągnąć najaktualniejszą (obecnie 9.4) wersję z tej strony:

http://www.petercorke.com/RTB/ Odzipować w dowolne miejsce (powiedzmy d:\rvctools)

Następnie przechodzimy do dodania ścieżki do katalogu w MATLABIE

Dodawanie ścieżki do Robotics Toolbox do MATLABA

W programie MATLAB, należy teraz dodać ścieżkę (path) klikamy File/ Set Path Tam klikamy Add Folder (a nie Add with Subfolders), wyszukujemy naszą ścieżkę (d:\rvctools), klik w nią i ok. Potem Save i Close.

To dodało ścieżkę do Toolboxa. W poprzednich wersjach, należało dodać także podfoldery, a, jako że nie toolbox nie był najlepiej skonstruowany, od czasu dodania należało się liczyć z dziwnymi komunikatami MATLABA. To zmieniło się na lepsze, jednak aby mieć teraz dostęp do narzędzi Robotics Toolbox, należy go wcześniej uruchomić, poleceniem startup_rvc.

###Test działania

Składnia toolboxa zmieniła się w stosunku do poprzednich części. Obecnie operuje od głównie na obiektach i metodach. Dla przykładu zdefiniujemy robota macierzą D-H (Denavita Hartenberga) i go pokażemy.

Robot wygląda jak na obrazku, posiada 2 złącza obrotowe i dwa złącza pryzmatyczne.

Kod MATLAB’a:

% Określenie przykładowych wartości, definiujących robota: d1, d45=d4+d5
d1=3
d45=7
%Zdefiniowanie macierzy D-H o postaci identycznej z tabelą D-H, dla zerowych wartości złączowych
%ostatnia koluma macierzy zawiera informację o typie złącza 1- pryzmatyczne
%0- obrotowe
dh=[0 d1 0 0 0;0 0 0 -pi/2 1;0 0 0 -pi/2 1;0 d45 0 0 0];
%Zdefiniowanie obiektu manipulatora za pomocą polecenia SerialLink
manipulator =SerialLink(dh)
%Określenie macierzy kinematyki dla przykładowych wartości złączowych
q=[0 4 5 0] %robot w tym ustawieniu powinien manipulatorem sięgać ziemi
macierzr=manipulator.fkine(q)
%Zobrazowanie robota

manipulator.plot(q) %generuje wykres z widocznym manipulatorem

Wynik kodu: wykres