Sterowanie robotów odpowiedzi 1. Rodzaje pracy robota przemysłowego -ruch PTP (point to point) wystempuje w prostych czynnosciach manipulacyjnych jak przenoszenie obiektów .Wartosci zadane w tego typu ruchu to położenie końcowe i oriętacja efektora oraz czas trwania ruchu .nie istotny jest kształt toru. -ruch MP (multipoints) wielopunktowy: gdy na drodze występują przeszkody należy je ominąć wprowadzając dodatkowe punkty pośrednie oraz przyjmując pożądane czasy trwania etapów między punktami ,dązymy do minimalizacji czasu trwania. -ruch PC (path control) odtwarzanie zadanej ciągłej ścieżki (malowanie spawanie) tylko w robotach o możliwości płynnego stewrowania każdej z osi. 2. Planowanie trajektorii przy pomocy wielomianów trzeciego stopnia analiza pojedynczego segmentu Zostanie rozważony problem przemieszczenia efektora z położenia początkowego do zadanego położenia końcowego przy narzuconym czasie ruchu (tf-to). Rozwiązując zadania kinematyki odwrotnej dla obu krańcowych punktów można otrzymać wektory zmiennych złączowych qo i qf. Istnieje nieskończenie wiele gładkich funkcji qr(t), które mogą być użyte do interpolacji pomiędzy punktami. Funkcja powinna być możliwie prosta, aby generowanie jej nie obciążało nadmiernie sterownika robota. Istnieją co najmniej cztery węzły narzucone na qr(t), w chwilach to i tf. Dwa pierwsze wynikają z narzuconych położeń w tych chwilach, czyli qr(to)=qo i qr(tf)=qf. Dwa pozostałe wynikają z faktu, że w obu krańcowych położeniach prędkości powinny być równe zeru, czyli q(to)=q(tf)=0. Te cztery warunki mogą być spełnione na przykład przez wielomian stopnia trzeciego o ogólnej postaci: qr(t)=ao+a1(t-to)+a2(t-to)2+a3(t-to)3. Różniczkując względem czasu tę funkcję otrzymuje się przebieg zadanej prędkości: * qr(t)=a1+2a2(t-to)+3a3(t-to)2. Postać gładkiej trajektorii łączącej oba końcowe punkty 3(qf -qo) 2(qf -qo) qr (t) = q0 + (t -t0)2 - (t -t0)3 (tf -t0)2 (tf -t0)3 stąd prędkość na tej trajektorii będzie wielomianem stopnia drugiego " 6(qf -qo) 6(qf -qo) qr (t) = q0 + (t -t0) - (t -t0)2 (tf -t0)2 (tf -t0)3 " " 6(q - qo ) 12(q - qo ) f f a przyśpieszenie będzie miało charakter liniowy qr (t) = q0 + - (t - t0 ) (t - t0 )2 (t - t0 )3 f f Z ostatniej postaci wynika, że na obu końcach trajektorii zadanej będą występowały skoki przyśpieszenia, co oczywiście jest wadą zastosowanego podejścia. 3. Planowanie trajektorii przy pomocy wielomianów trzeciego stopnia wybór prędkości w punktach węzłowych. W przypadku ruchu manipulatora przez wiele punktów pośrednich i zatrzymywania się, można wyznaczyć niezależne postacie trajektorii zadanej na każdym z segmentów. Najczęściej jednak wymaganie takie spowodowało by znaczne spowolnienie całej trajektorii. Dlatego należy rozważyć przypadek gdy na obu krańcach segmentu są narzucone więzy na położenia oraz więzy prędkości Przez wybór prędkości w punktach pośrednich można dokonywać koordynacji trajektorii w kolejnych segmentach. Istnieją trzy najczęściej stosowane metody wyboru tych prędkości: - programista zadaje dowolne wartości prędkości kartezjańskich W tym przypadku pożądane wartości prędkości są przeliczane na prędkości złączowe. Przeliczanie to jest stosunkowo proste gdyż jest oparte na relacji liniowej z wykorzystaniem odwrotnej macierzy jakobianowej. Metoda ta może być użyteczna gdy jest konieczne precyzyjne sterowanie prędkością w wybranych punktach. Warto podkreślić że prędkość jest tutaj rozumiana jako wektor sześciu składowych. Typowy przykład takiej trajektorii dla zadanego typu podnieś przenieś połóż pokazuje rysunek: Podstawowymi punktami są punkty pp i pk. Pożądane jest oczywiście dostatecznie szybkiej trajektorii która można otrzymać przy stosunkowo malej precyzji kontrolowania przebiegu toru w pewnych segmentach, jednak prędkość odejścia do punktu pp i dojścia do punktu pk powinny być dokładniej kontrolowane. Jeżeli w przestrzeni roboczej będą występowały przeszkody to w celu ich ominięcia trzeba wprowadzić szereg punktów pośrednich. - układ programowania samoczynnie wyznacza wartości prędkości wykorzystując proste heurystyczne metody. W tej metodzie w kolejnych chwilach w których manipulator powinien znajdować się w punktach pośrednich przyjmuje prędkości równe średniemu nachyleniu łamanej łączącej dany pośredni punkt z dwoma sąsiednimi. Prędkość w k- tym punkcie jest narzucana zgodnie z wzorem: Natomiast w punktach początkowych i końcowych prędkość zadana jest równa zeru. - układ programowania samoczynnie wybiera wartości prędkości w taki sposób aby zachować ciągłość przyspieszenia w tych punktach W tej metodzie wyboru prędkości w punktach pośrednich stosuje się zasadę ciągłości przyspieszenia na całej trajektorii zadanej. Narzuca to więzy innego rodzaju na współczynniki , dla kolejnych segmentów. Sprowadza się to do rozwiązania układu równań liniowych w których niewiadomymi są te właśnie. W ogólnym przypadku N etapowej trajektorii więzy tego typu można zapisać w postaci równania Ax = b w którym poszukiwany 4Nn wymiarowy wektor x składa się ze współczynników a 4Nn wymiarowy wektor b zawiera narzucone położenia w punktach pośrednich. 4. Planowanie trajektorii metodą odcinków liniowych ze złączkami parabolicznymi analiza pojedynczego segmentu. Najprostszą postacią funkcji łączącej punkt początkowy z końcowym dla trajektorii jednosegmentowej jest: ńł q0 t < t0 �ł qr (t) = + a1(t - t0 ) t0 d" t d" t �ła 0 f �ł q t > t f f ół Tylko że funkcja ta charakteryzuje się skokami prędkości zadanej w punktach początkowym i końcowym. Aby wygenerować dostatecznie gładką funkcję można do tego liniowego przebiegu dodać dwa paraboliczne połączenia które zapewnią ciągłość prędkości na takiej trzyodcinkowej trajektorii. Na odcinkach parabolicznych prędkość zmienia się liniowo w czasie a przyśpieszenie ma wartość stałą. Założenia początkowe: oba połączenia paraboliczne charakteryzują się taką samą bezwzględną wartością .. q m przyśpieszenia wtedy przebieg q(t) będzie symetryczny względem punktu �ł 1 1 . �ł (t0 + t ), (q0 + q )�ł �ł f f �ł �ł 2 2 �ł łł . q(t)=&(t ) = 0 q f Odcinki paraboliczne muszą być tak dobrane aby spełniać więzy dla prędkości . Przebieg taki przedstawia rysunek: Podstawą wyznaczenia zależności pozwalających na zaplanowanie jednosegmentowej trajektorii jest porównanie prędkości na końcu odcinka parabolicznego z prędkością na odcinku liniowym z uwzględnieniem symetrii względem punktu środkowego. Ostatecznie otrzymujemy równanie kwadratowe w którym niewiadomą jest czas trwania odcinka parabolicznego "t: � = t - t0 && qm ("t)2 -&&m q �"t + (q - q0 ) = 0 gdzie f f 2 q - q0 � � f �ł �ł Tylko jedno rozwiązanie posiada sens fizyczny: - �ł �ł - "t = && 2 2 qm �ł łł Aby wyrażenie podpierwiastkowe było dodatnie należy przyjąć wystarczająco długi czas trwania segmentu: q - q0 f � e" 2 �" && qm Gdy w ostatnim wzorze zachodzi równość to czas trwania części liniowej spada do zera i trajektoria składa się z faz rozpędzania i hamowania. 5. Planowanie trajektorii metodą odcinków liniowych ze złączkami parabolicznymi koordynacja segmentów. W bardziej ogólnym przypadku projektowania należy rozważyć trajektorię wielosegmentową gdzie pod uwagę bierzemy niezależnie każdą składową wektora qr(t). Jednakże wówczas należy mieć na uwadze że wewnętrzne punkty trajektorii stają się punktami przybliżonymi. W związku z tym zakłada się że trajektoria powinna w zasadniczych fragmentach każdego z segmentów przebiegać wzdłuż prostych łączących punkty węzłowe a w pobliżu każdego punktu węzłowego wprowadzane jest połączenie paraboliczne pozwalające na gładkie przejście do kolejnego segmentu. Odchylenie od punktów pośrednich maleje w miarę wzrostu przyśpieszeń zespołów napędowych które oczywiście mają zawsze ograniczone wartości . Taki sposób nie budzi zastrzeżeń w przypadku punktów pośrednich które wprowadzamy tylko w celu ominięcia przeszkód. Jednak metodę tę można udoskonalić tak by zapewnić dokładne przejście przez punkt węzłowy. W tym celu wprowadza się pseudo-punkty leżące na prostej przechodzącej przez zadany punkt i znajdujące się po obu jego stronach. Minimalna odległość między tymi punktami musi być tak dobrana aby oba odcinki paraboliczne połączyły się w punkcie węzłowym. Jest oczywiste że wprowadzenie dwóch punktów pośrednich wydłuża czas realizacji trajektorii. 6. Ogólna struktura systemu sterowania pozycyjnego robota i cechy manipulatora jako obiektu sterowania Podstawowym zadaniem układu sterowania robota jest takie sterowanie zespołów napędowych, aby efektor robota możliwie najdokładniej realizował zadaną trajektorię. Najpopularniejszym rodzajem pracy robota jest realizacja ruchów jego manipulatora w przestrzeni swobodnej, bez kontaktu z elementami otoczenia. Takie operacje jak przenoszenie detali zawierają oczywiście fragmenty ruchów, w których występuje kontakt z otoczeniem, lecz czas tego kontaktu jest stosunkowo niewielki w porównaniu do ogólnego czasu ruchu efektora. Zatem warto tak planować trajektorię ruchów swobodnych i realizować ją w sposób możliwie dokładny, aby zwiększyć szybkość wykonywania operacji technologicznych. Układ sterowania robota, podobnie jak układ sterowania każdego obiektu dynamicznego, składa się z szeregu typowych podzespołów tworzących razem zamknięty układ regulacji. Cechą zamkniętego układu regulacji jest bieżące porównanie zachowania się przebiegów wyjściowych układu z założonymi i takie sterowanie obiektu, aby minimalizować uchyb regulacji. Ogólna struktura zamkniętego układu sterowania pozycyjnego robota. Manipulator jest wielowymiarowym obiektem regulacji, stąd wszystkie zaznaczone na tym rysunku sygnały są n wymiarowymi wektorami, a przedstawione produkty są faktycznie złożone z n podzespołów. Zespoły napędowe manipulatora są zasilane ze wzmacniaczy mocy, w sposób narzucony przez regulator. Z kolei regulator wypracowuje swój sygnał wyjściowy na podstawie porównania trajektorii zadanej z trajektorią rzeczywistą. Najczęściej porównanie to ma postać wypracowania aktualnego wektora uchybu regulacji e(t) = qr(t) - q(t), chociaż w niektórych układach regulacji uwzględnia się historię przebiegu tego uchybu lub prędkość zmian uchybu regulacji 7. Układ sterowania robota z niezależnymi sterownikami osi Większość robotów przemysłowych jest wyposażona w zespoły napędowe z silnikami prądu stałego i przekładniami redukującymi prędkość obrotową. Każdy zespół napędowy jest sterowany w układzie zamkniętym ze sprzężeniem pozycyjnym tworząc tak zwany serwonapęd pojedynczej osi. Typową strukturę tego układu przedstawia poniższy rysunek. Silnik prądu stałego jest sterowany prądowo ze wzmacniacza mocy generującego Ia, moment bezwładności wirnika Jm. Wirnik silnika jest połączony ramieniem manipulatora przez przekładnie mechaniczną o przełożeniu 1:k. Wielkość Ji jest efektywną bezwładnością ramienia widzianą z wału wyjściowego przekładni a bf jest współczynnikiem tarcia wiskotycznego. Układ sensoryczny służy do pomiaru położenia złącza q(t) i jej prędkości q*(t). Liniowy sterownik składa się ze wzmacniacza mocy, a jego sygnał wyjściowy jest generowany na podstawie uchybu położenia uwzględnianego ze współczynnikiem wagowym kp i sprzężenia prędkościowego uwzględnianego ze współczynnikiem wagowym kp. 8. Sterowania metodą wyznaczonego momentu podstawy Model dynamiki sztywnego manipulatora: ** * * * B(q)q+c(q,q)+h(q)+f(q,q)= � gdzie B(q) - inercja manipulatora , c(q,q) - siły sprzeżeń prędkościowych , h(q) - siły � � � * grawitacyjne f(q,q) - siły tarcia. Na podstawie tego równania możemy dla każdej zadanej trajektorii qr(t) wyznaczyć odpowiadający jej przebieg wektora uogólnionych sił napędowych �r(t) gdy trajektoria jest � � � dostatecznie gładka to możliwe jest wygenerowanie przebiegu wektora sił napędowych przez zespół napędowy robota. 9. Podstawowy, zamknięty układ sterowania metodą wyznaczonego momentu Str84 i 85 10. Porównanie struktur sterowania pozycyjnego z nieliniowym odsprzęganiem 11. Zasady doboru nastaw regulatorów w układzie sterowania robota Stosujemy uproszczenia: 1)Macierze Kp i Kd powinny być symetryczne. Kompensowanie uchybu ei przez sygnał �i powinno być realizowane z taką samą intensywnością jak kompensowanie uchybu ej przez sygnał �j. W � � � � � � robotyce nigdy nie stosujemy regulatorów całkowych ze względu na ich wolne działanie. Stosujemy głównie regulatory PD. W regulatorze niediagonalnym symetrycznym PD możemy przyjmować miejsca zerowe w tych miejscach które odpowiadają słabym sprzeżeniom skrośnym w manipulatorze. 2)Innym rozwiązaniem jest przyjęcie macierzy Kp i Kd postaci: Kp=B(q)diag{Kp1,...,Kpi,...,Kpn} ; Kd=B(q)diag{Kd1,...,Kdi,...,Kdn}. Sterownie adaptacyjne 1)Pętla dolna powinna być jak najszybsza 2)Pętla górna (adaptacyjna) jest wolniejsza nie tylko dlatego że wykonywane są tam bardziej skomplikowane operacje ale również z tego powody by można było określić czy dotychczasowe parametry regulatora są właściwe. Na to potrzeba kilku okresów regulacji w pętli dolnej. W przypadku gdy pętla górna zbliży się czasowo do pętli dolnej może dojść do zmiany stabilności układu. Są dwa rozwiązania sterowania adaptacyjnego: a)z modelem odniesienia b)z samonastawiającym się regulatorem ] 12. Sterowanie adaptacyjne robotów Sterowniki adaptacyjne bazują na ogólnej zasadzie ciągłego dopasowania parametrów regulatora do zmian występujących w obiekcie sterowania Większość algorytmów tego sterowania jest oparta na założeni, że relację pomiędzy syg. wy a we obiektu daje się opisać przy użyciu złożonego modelu liniowego o parametrach zmiennych w czasie. Mogą one być wyznaczone na bieżąco przy użyciu odpowiednich technik estymacji. Mając bieżące oszacowania parametrów złożonego modelu obiektu można dobrać najbardziej odpowiednie nastawy regulatora. Stąd wynika że sterowanie adaptacyjne można zastosować wszędzie tam gdzie parametry obiektu nie zmieniają się zbyt szybko w stosunku do dynamiki samego obiektu oraz w stosunku do szybkości działania urządzeń przetwarzająco sterujących. Każdy z ukł. ster. adapt. zawiera dwie pętle sprzężenia zwrotnego (wew. i zew.). Pętla wew. zawiera proste regulatory zaliczone do klasy PID o dużej szybkości działania. Pętla zew. wypracowuje nastawy regulatora i jest stosunkowo wolna, ponieważ zmiany nastaw regulatora nie mogą być zbyt szybkie. 13. Sterowanie ślizgowe robotów Stosuje się przy występowaniu dużego zakresu zmian param. obiektu lub wysokiego poziomu zakłóceń. Polega na przyjmowaniu dostatecznie dużych syg. we, tak, aby zawsze kierować trajektorią układu zamkniętego w sposób zmniejszający uchyb regulacji położenia i prędkości. W klasycznym rozwiązaniu sterownik działa jak 2stanowy przekaznik zadający max lub min poziomy syg. we. Zalety tego ster. to: ruch ślizgowy po zadanej z góry hiperpowierzchni w przestrzeni stanów obiektu. Jest to rodzaj ruchu oscylacyjnego realizowanego w taki sposób, że jakiekolwiek zejście z hiperpow.przełączeń powoduje przełączenie syg. sterującego na taki poziom, że ruch układu będzie odbywał się w kierunku tej hiperpow.,która jest ukształtowana w taki sposób by przechodziła przez stabilny punkt równowagi układu w którym uchyb położenia i jego pochodna przyjmują wart. zerowe. Dlatego oscylacyjny ruch ukł. będzie odbywał się w pobliżu hiperpow. przeł. w sposób zapewniający ślizganie po niej w kierunku punktu równowagi. a)przyp.idealny,b-realistyczny) 14. Naturalne więzy pozycyjne i sterowanie w warunkach występowania tych więzów 15. Sterowanie pozycyjno-siłowe robota kartezjańskiego 16. Klasyczne sterowanie pozycyjno-siłowe robota o dowolnej strukturze Jest to sposób sterowania końcówki efektora (podobnie jak ster. impedancyjne). Jego cechą jest to, że nie można jednocześnie sterować siłą i pozycją. Obecnie sterowanie pozycyjno siłowe jest zastępowane sterowaniem impedancyjnym, gdyż czyste sterowanie pozycyjno siłowe ma tę podstawową wadę iż trzeba bardzo precyzyjnie określać rozpoczynanie kontaktu z obiektem. W przeciwnym przypadku robot może wygenerować bardzo duże siły. 17. Pasywne sterowanie podatne w robotyce 18. Podstawy analogii elektryczno-mechanicznych Obwód szeregowy LC jego model analogowy Obwód równoległy LC i jego model analogowy Układ masa-sprężyna i jego model analogowy Układ sprężyna-masa i jego model analogowy 19. Analogia prędkość-prąd; porównanie podstawowych elementów liniowych i ich połączeń Tab. Podstawowe relacje pomiędzy wielkościami mechanicznymi i elektrycznymi, w przypadku stosowania analogi prędkość-prąd Tab. Zestawienie równoważnych układów szeregowo-równoległych w przypadku stosowania analogii prędkość- prąd 20. Analogia prędkość-napięcie; porównanie podstawowych elementów liniowych i ich połączeń 21. Impedancja elektryczna i mechaniczna: podobieństwa i różnice 22. Sterowanie impedancyjne/admitancyjne robotów Sterowanie impedancyjne jest to jeden z rodzajów sterowania układu (robota). Jego zalety i zasadę działania widać w chwili, kiedy jest bezpośrednia styczność miedzy robotem a otoczeniem i manipulator (czy końcówka efektora) stale oddziałuje na to otoczenie (rysunek). W takim przypadku często nie da się z góry określić wszystkich koniecznych nastaw układu aby oddziaływanie następowało w wymaganą siłą (ponieważ np. nieznana może być substancja z jakiej wykonany jest obiekt). W przypadku sterowania pozycyjno siłowego w takiej sytuacji musi występować ciągłe dosterowywanie , tzn. regulowanie na wyczucie . Natomiast dla ster. impedancyjnego w podczas kontaktu z otoczeniem zachodzi wymiana energii pomiędzy końcówką efektora (manipulatora) a otoczeniem z którym ten efektor kontaktuje się co pozwala na dokładne określenie z jaką siłą w danej chwili układ działa na otoczenie. Pozwala to na dużo szybsze przetworzenie tej informacji. Taki sposób sterowania wykorzystywany może być np. w robotach kroczących, gdyż występują różne rodzaje podłoża i układ bardzo szybo musi poprzez różnego typu układy samoregulacji zareagować by się robot nie przewrócił. 23. Przykłady naturalnego sterowania pozycyjno-siłowego i impedancyjnego 24. Metody programowania robotów. Programowanie robota to wprowadzenie do pamięci sterownika wszystkich informacji niezbędnych do realizacji pożądanych trajektorii i interakcji z otoczeniem. Metody programowania robotów można podzielić na trzy grupy: programowanie sekwencyjne, programowanie przez uczenie, programowanie tekstowe. Cechy programowania sekwencyjnego. Programowanie sekwencyjne było powszechnie stosowane w starszych konstrukcjach robotów z napędami hydraulicznymi lub pneumatycznymi i jest w dalszym ciągu stosowane w konstrukcjach, które nie posiadają możliwości pomiaru bieżących wartości zmiennych złączowych. Na każdej osi robota umieszczony jest zestaw mikro-wyłączników mechanicznych lub fotoelektrycznych. Po zadaniu pozycji ograniczników ruchu osi, programowanie sprowadza się do zadawania kolejności ruchów osi oraz zaciskania lub zwalniania chwytaka. W każdym kroku wykonywany jest ruch tylko jednej osi określonego położenia. W pierwszych robotach wykorzystujących tą metodę, programowanie odbywało się za pomocą matrycy diodowej wiersze odpowiadały poszczególnym osiom manipulatora, a kolumny kolejnym krokom programu. Pózniej matryca diodowa została zastąpiona pamięciami elektrycznymi programowanymi przy użyciu prostej klawiatury. Zaletą tej metody programowania jest bardzo duża prostota i czytelność struktury programu. Podstawową wadą jest brak możliwości koordynacji ruchów w kilku złączach. Zatem metoda ta jest odpowiednia do programowania prostych, powtarzalnych czynności manipulacyjnych, typowych dla obsługi maszyn. Nie można jednak realizować ruchów po zadanych torach, gdyż należałoby przedstawić je w postaci dyskretnych punktów w przestrzeni roboczej, a na to nie pozwala z reguły pojemność pamięci. Programowanie przez uczenie. Polega na przeprowadzeniu manipulatora wzdłuż zadanej trajektorii przy jego ręcznym sterowaniu, z wykorzystaniem panelu sterowania i zapamiętaniu tej trajektorii. Panel sterowania służy do niezależnego zadawania ruchu poszczególnych osi, przy czym w fazie uczenia sterowanie osi odbywa się w torze otwartym. Sygnały wyjściowe systemu sensorów wewnętrznych są wykorzystywane do zapamiętywania trajektorii z dostatecznie dużą rozdzielczością. Panel sterowania często jest wyposażony w joystick ułatwiający sprowadzenie efektora do pożądanej pozycji. Z panelu sterowania wprowadzane są również instrukcje dodatkowe: otwieranie i zamykanie chwytaka, czekanie przez określony czas, nadawanie odpowiednich wartości dwustanowym wyjściom zewnętrznym uruchamiającym inne urządzenia. Kolejne instrukcje podstawowe i dodatkowe są zapamiętywane w pamięci programu i w trakcie jego wykonywania są poddawane interpretacji. Programowanie przez uczenie zapewnia kontrolowanie procesu tworzenia instrukcji, umożliwia ich graficzne przedstawianie na odpowiednich wyświetlaczach oraz poprawianie wprowadzonych instrukcji. Programowanie tekstowe. Polega na tworzeniu w trybie off-line symbolicznego zestawienia pożądanych operacji robota przy użyciu języka programowania. Instrukcje języka opisują podstawowe ruchy robota, działanie chwytaka i obsługę wejść i wyjść układu sterowania. Poszczególne pozycje manipulatora są reprezentowane przez zmienne nazwowe stanowiące parametry formalne instrukcji. Instrukcje wprowadzania danych przyporządkowują tym zmiennym wartości rzeczywiste. Języki programowania tekstowego zawierają standardowe instrukcje skoków bezwarunkowych i warunkowych, tworzenia pętli, arytmetyczne i logiczne. W zależności od wykorzystywanej metody opisu operacji wykonywanych przez robota, języki programowania można podzielić na: Języki programowania powstałe w wyniku rozszerzenia lub modyfikacji typowych języków, nazywane językami robotycznie-zorientowanymi. Języki programowania obiektowo-zorientowane. 25. Języki programowania robotów. Wykorzystywane są w programowaniu tekstowym. W zależności od wykorzystywanej metody opisu operacji wykonywanych przez robota, języki programowania dzielimy na 2 grupy: f&Języki programowania powstałe w wyniku rozszerzenia lub modyfikacji typowych języków, nazywane językami robotycznie zorientowanymi (robot-oriented programming languages) program składa się z szeregu instrukcji zwanych makro-ruchami, które mogą dotyczyć opisu przemieszczania poszczególnych ogniw łańcucha kinematycznego lub w zaawansowanych wypadkowego ruchu efektora. Syntaktyka przypomina np. BASIC, FORTRAN, PASCAL, LISP. Przykładowe języki to AL, VAL f&Języki programowania obiektowo-zorientowane (object-oriented lub task-level programming languages) bazują na zdefiniowaniu modelu otoczenia robota. Poszczególne obiekty otrzymują nazwy i parametry określające ich kształt i wymiary oraz przyporządkowanie lokalnych układów współrzędnych. W programie określa się kolejno, które z obiektów mają być przemieszczane i w jaki sposób (pozycyjnie z zadaną wartością lub siłowo w określonym kierunku). System programowania posiada edytor, kompilator lub interpreter oraz interfejs wprowadzania danych obiektowych, np. z baz danych. Organizacja przesyłu danych powinna być zgodna z systemami CAD/CAM. Przykład: AUTOPAS