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: