ZASTOSOWANIE ŚRODOWISKA PROGRAMISTYCZNEGO PYTHON ORAZ MODELI CAD W STEROWANIU RUCHAMI ROBOCZYMI MASZYN



Podobne dokumenty
WIZUALIZACJA I STEROWANIE ROBOTEM

Programowanie w języku Python. Grażyna Koba

Odczyt zegara ze sterownika do panelu serii TIU z możliwością korekty ustawień zegara w sterowniku

Baltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

PRZEWODNIK PO PRZEDMIOCIE

Zakład Systemów Rozproszonych

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Sterowanie, uczenie i symulacja robotów przemysłowych Kawasaki

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

Zad. 1: Sterowanie mimika

dr inż. Tomasz Krzeszowski

1 Podstawy c++ w pigułce.

Program V-SIM tworzenie plików video z przebiegu symulacji

Zaawansowany kurs języka Python

Kontrola topto. 1. Informacje ogólne. 2. Wymagania sprzętowe i programowe aplikacji. 3. Przykładowa instalacja topto. 4. Komunikacja.

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Automatyzowanie zadan przy uz yciu makr języka Visual Basic

Projektowanie systemów zrobotyzowanych

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

przedmiot kilka razy, wystarczy kliknąć przycisk Wyczaruj ostatni,

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Instrukcja obsługi Konfigurator MLAN-1000

REFERAT PRACY DYPLOMOWEJ

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Utworzenie pliku. Dowiesz się:

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Podręcznik użytkownika programu. Ceremonia 3.1

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Temat 1. Więcej o opracowywaniu tekstu

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Opracował: Jan Front

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Laboratorium Komputerowe Systemy Pomiarowe

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

SINUMERIK Collision Avoidance Zabezpieczenie przed wystąpieniem kolizji

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Integracja systemu CAD/CAM Catia z bazą danych uchwytów obróbkowych MS Access za pomocą interfejsu API

Symulacja działania sterownika dla robota dwuosiowego typu SCARA w środowisku Matlab/Simulink.

Dodatek A. Spis instrukcji języka Prophio.

EasyLink. Instrukcja obsługi. Sterownik klawiatury brajlowskiej pod Windows wersja 1.2. Poznań, Sierpień 2009 r.

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

epuap Archiwizacja w Osobistym Składzie Dokumentów

Warsztaty dla nauczycieli

PROGRAMOWALNE STEROWNIKI LOGICZNE

Spadające jabłuszka. licencja CC-BY-SA Uznanie autorstwa Na tych samych warunkach 3.0 Polska. Strona 51

Kl 7-8 Szkoła Podstawowa

MultiBoot Instrukcja obsługi

Szybkie prototypowanie w projektowaniu mechatronicznym

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

Skrócona instrukcja konfiguracji połączeń sieciowych

LEKCJA 2 Program do zdalnego sterowania robotem

Rys. 1. Brama przesuwna do wykonania na zajęciach

Programowanie komputerowe. Zajęcia 1

Instrukcja logowania do systemu e-bank EBS

lekcja 8a Gry komputerowe MasterMind

Instrukcja użytkownika

Windows 10 - Jak uruchomić system w trybie

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Windows XP Wiersz polecenia

PIERWSZE URUCHOMIENIE PROGRAMU ITNC PROGRAMMING STATION

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium przyrządów wirtualnych. Ćwiczenie 3

kodowanienaekranie.pl

2.2 Opis części programowej

Urządzenia zewnętrzne

Laboratorium nr 1. i 2.

INFORMATYKA KLASA IV

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Podstawy technologii cyfrowej i komputerów

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa 4 Wymagania edukacyjne na poszczególne oceny szkolne dla klasy 4

Urządzenia zewnętrzne Instrukcja obsługi

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.

1. Opis. 2. Wymagania sprzętowe:

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0

PRZEWODNIK PO PRZEDMIOCIE

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Zapisywanie algorytmów w języku programowania

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Laboratorium z Grafiki InŜynierskiej CAD. Rozpoczęcie pracy z AutoCAD-em. Uruchomienie programu

Wprowadzenie do biblioteki klas C++

Instrukcja obsługi SafeIT - modułu zdalnego sterowania do sterowników kotłów CO firmy Foster v1.0

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

1 Podstawy c++ w pigułce.

Celem ćwiczenia jest zapoznanie się z podstawowymi funkcjami i pojęciami związanymi ze środowiskiem AutoCAD 2012 w polskiej wersji językowej.

Webowy generator wykresów wykorzystujący program gnuplot

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby

Programowanie robota mobilnego E-puck w języku Python

Instrukcja programu użytkownika OmegaUW.Exe. Program obsługuje następujące drukarki fiskalne: ELZAB OMEGA II generacji ELZAB OMEGA F, MERA, MERA F.

biegle i poprawnie posługuje się terminologią informatyczną,

Instrukcja ręcznej konfiguracji połączenia z Internetem przez. modem ED77 w systemie Windows XP

Transkrypt:

Dawid CEKUS Paweł WARYŚ * Maciej WOCHAL ZASTOSOWANIE ŚRODOWISKA PROGRAMISTYCZNEGO PYTHON ORAZ MODELI CAD W STEROWANIU RUCHAMI ROBOCZYMI MASZYN W pracy zilustrowano proces implementacji modelu CAD w środowisku programistycznym Python oraz pokazano zastosowanie tego środowiska do wizualizacji i sterowania ruchami roboczymi maszyn. Jako przykład pokazano wizualizację i sposób sterowania robotem kroczącym budowanym w ramach Koła Naukowego Komputerowego Wspomagania Projektowania Urządzeń Mechatronicznych i Maszyn Politechniki Częstochowskiej. WPROWADZENIE Profesjonalne systemy CAD/CAE umożliwiają już nie tylko budowę parametrycznych modeli geometrycznych dowolnych obiektów, ale także pozwalają prowadzić różnego rodzaju analizy (m.in. wytrzymałościowe i częstotliwościowe) na podstawie tych modeli. Jednak dołączenie do opracowanych modeli sterowania jest skomplikowane lub wręcz niemożliwe w tego rodzaju aplikacjach. Dlatego modelowanie układów sterowania bardzo często odbywa się w innych środowiskach, np. Matlab/Simulink [1. W niniejszej pracy pokazano alternatywny sposób wizualizacji i sterowania ruchami roboczymi maszyn, w którym wykorzystano do realizacji powyższych zadań język programowania Python [2 wraz z bibliotekami [3, 4. W tym celu opracowano model CAD (rys. 1a) budowanego w ramach Koła Naukowego Komputerowego Wspomagania Projektowania Urządzeń Mechatronicznych i Maszyn Politechniki Częstochowskiej robota kroczącego, który został zaimplementowany w środowisku programistycznym Python, co umożliwiło wizualizację aktualnego położenia jego elementów oraz sterowanie ruchami roboczymi. Na obecnym etapie prac, robot może służyć jedynie, jako manipulator ogólnego zastosowania (rys. 1b), natomiast w przyszłości robot będzie poruszać się na dwóch nogach. Rys. 1. Budowany robot kroczący: a) model wykonany w programie SolidWorks, b) obiekt rzeczywisty Instytut Mechaniki i Podstaw Konstrukcji Maszyn Politechniki Częstochowskiej Koło Naukowe Komputerowego Wspomagania Projektowania Urządzeń Mechatronicznych i Maszyn Politechniki Częstochowskiej 1

ŚRODOWISKO PROGRAMISTYCZNE PYTHON Środowisko programistyczne Python jest wygodnym i łatwym w użyciu narzędziem do realizacji prac prototypowych oraz naukowych. Najważniejszymi zaletami języka Python są: prosta i czytelna składnia, szeroki dostęp do zasobów zawierających informacje, przykłady oraz wiele gotowych bibliotek (w tym do zastosowań naukowych), oraz całkowita przenośność pomiędzy różnymi platformami programowymi i sprzętowymi, a także brak ograniczeń licencyjnych (wolne oprogramowanie). W niniejszej pracy korzystano z biblioteki Visual [3, 4 (do wizualizacji) oraz pyserial (do komunikacji szeregowej). Biblioteka graficzna Visual oferuje wiele gotowych obiektów do natychmiastowego wykorzystania (rys. 2) oraz umożliwia pełną automatyzację zarządzania sceną 3D. Nawet najprostszy program korzystający z biblioteki Visual wyposażony jest w funkcje obracania i skalowania sceny. Biblioteka Visual pozwala na osiągnięcie zamierzonego celu poprzez bardzo proste tworzenie skomplikowanych programów 3D bez posiadania specjalistycznej wiedzy programistycznej. Rys. 2. Przykładowe obiekty występujące w bibliotece Visual Poniżej przedstawiono przykładowy kod programu w języku Python z wykorzystaniem biblioteki Visual realizujący obrót kostki (w języku Python stosuje się wcięcia, zamiast nawiasów szeroko wykorzystywanych w innych językach programowania). from visual import * b = box() while true: rate(100) # ograniczenie ilości klatek do 100 na sekundę b.rotate(angle = pi/100) Drugą zastosowaną biblioteką jest biblioteka pyserial, która umożliwia wygodne posługiwanie się portami szeregowymi (także wirtualnymi). Nawiązanie połączenia pomiędzy komputerem, a urządzeniem zewnętrznym (robotem, maszyną) sprowadza się do kilku prostych instrukcji: import serial # zaimportowanie biblioteki port = serial.serial(nazwa_portu, prędkość) # otwarcie portu z zadaną prędkością 2

Po połączeniu można wysyłać dane do zewnętrznych urządzeń, (np. port.write("hello")). Komunikację szeregową z urządzeniem zewnętrznym kończy się zamknięciem portu (port.close()). IMPLEMENTACJA MODELU CAD W ŚRODOWISKU PROGRAMIS- TYCZNYM PYTHON W środowisku programistycznym Python modelowanie części może odbywać się na podstawie wygenerowania elementów z brył podstawowych (gotowych obiektów rys. 2), które oferuje biblioteka Visual, lub poprzez utworzenie własnych komponentów. Jednak przy modelowaniu bardziej skomplikowanych kształtów jest to nieefektywne, dlatego środowisko Python oferuje możliwość importu komponentów z innych programów, np. typu CAD, przy czym w takim przypadku konieczne jest napisanie własnej aplikacji. Mimo, iż może to być kłopotliwe, to raz właściwie opracowany program umożliwia wielokrotny import dowolnych elementów. Poniżej przedstawiono etapy, jakie należy uwzględnić, aby poprawnie wczytać dowolny model CAD. Importowany model musi być zapisany w formacie VRML (rozszerzenie *.wrl) obsługiwanym przez prawie wszystkie programy do komputerowego wspomagania projektowania. Przykładowa zawartość pliku w formacie VRML, wygląda następująco: #VRML V1.0 ascii Separator { MaterialBinding { value OVERALL } Material { ambientcolor [ 0.792157 0.819608 0.933333 diffusecolor [ 0.792157 0.819608 0.933333 emissivecolor [ 0.000000 0.000000 0.000000 specularcolor [ 0.633726 0.655686 0.746667 shininess [ 0.312500 transparency [ 0.000000 } Coordinate3 { point [ -0.040000-0.035000 0.000000, -0.040000-0.035000 0.050000, -0.040000 0.035000 0.000000, -0.040000 0.035000 0.050000, 0.040000-0.035000 0.000000, 0.040000-0.035000 0.050000, 0.040000 0.035000 0.000000, 0.040000 0.035000 0.050000 } IndexedFaceSet { coordindex [ 7, 5, 6, -1, 6, 5, 4, -1, 3, 7, 2, -1, 2, 7, 6, -1, 1, 3, 0, -1, 0, 3, 2, -1, 5, 1, 4, -1, 4, 1, 0, -1, 3, 1, 7, -1, 7, 1, 5, -1, 0, 2, 4, -1, 4, 2, 6, -1 } Z takiego pliku wykorzystuje się dwie sekcje: Coordinate3, która zawiera listę wierzchołków opisujących model (współrzędne wierzchołków oddzielone są spacjami, a poszczególne wierzchołki przecinkami) oraz IndexedFaceSet, która opisuje, w jaki sposób utworzono wielokąty (najczęściej trójkąty) wyświetlane na ekranie (zawiera listę 3

indeksów wierzchołków oddzielonych od siebie przecinkami, wartość -1 oznacza koniec listy wierzchołków dla danego wielokąta). Pierwszym krokiem, jaki należy wykonać podczas opracowywania programu jest import biblioteki Visual oraz zapewnienie przenośności kodu pomiędzy różnymi systemami operacyjnymi poprzez określenie sposobu reprezentacji symboli odpowiedzialnych za przejście do następnego wiersza. Polecenia niezbędne do wczytania danych z pliku VRML najlepiej umieścić w oddzielnej funkcji. W analizowanym przypadku funkcję nazwano import_wrl(nazwa_pliku, mat=materials.diffuse) i przyjmuje ona, jako parametry wejściowe nazwę pliku (*.wrl) z modelem oraz materiał wykorzystywany do teksturowania, a jako wynik swojego działania zwraca ramkę (f=frame()), w której znajduje się wczytany model. Na początku działania funkcji otwierany jest plik z modelem (plik=open(nazwa_pliku)). Ponieważ we wczytywanym pliku (*.wrl) może znajdować się opis jednego elementu lub całego złożenia, dlatego trzeba cyklicznie (w pętli) wyszukiwać w nim sekcje z wierzchołkami i trójkątami: while True: if szukaj(plik,"coordinate3 {"+endl): w=czytaj_wierzcholki(plik) else: break if szukaj(plik,"indexedfaceset {"+endl): indeksy=czytaj_trojkaty(plik) else: break W powyższym kodzie funkcja szukaj() wyszukuje w pliku wybrany ciąg znaków (Coordinate3 lub IndexedFaceSet). W przypadku jego odnalezienia zostaje uruchomiona jedna z dwóch kolejnych funkcji służących do wczytywania wierzchołków (czytaj_wierzcholki()) lub trójkątów (czytaj_trojkaty()). Funkcja wczytująca wierzchołki, jako parametr wejściowy przyjmuje uchwyt do otwartego pliku. Na początku w funkcji tej inicjuje się zmienną do przechowywania wierzchołków oraz bufor pomocniczy, następnie przesuwa się wskaźnik w odpowiednie miejsce poprzez wczytanie linijki tekstu, po czym wczytuje się informacje o wierzchołkach, jednocześnie usuwając znaki końca wiersza. Wczytane dane są oddzielone przecinkami, dlatego należy je rozbić na poszczególne współrzędne tworząc z nich tablicę liczb zmiennoprzecinkowych, a następnie tablicę wierzchołków. Utworzoną w ten sposób tablicę zwraca się, jako wynik działania funkcji. Bardzo podobnie do funkcji wczytującej wierzchołki wygląda funkcja wczytująca trójkąty, która jako wynik zwraca tablicę indeksów opisujących budowę modelu z trójkątów. Po wczytaniu wszystkich niezbędnych danych, należy zamknąć plik (*.wrl). Otrzymana tablica trójkątów opisana jest za pomocą indeksów, dlatego należy ją jeszcze przekształcić na tablicę opisaną za pomocą wierzchołków (czwarta współrzędną została pominięta, gdyż w każdym przypadku wynosiła -1 ): trojkaty=[ for i in range(len(indeksy)//4): trojkaty.append(w[indeksy[i*4) trojkaty.append(w[indeksy[i*4+1) trojkaty.append(w[indeksy[i*4+2) 4

Finalna część funkcji import_wrl() wykorzystuje bibliotekę Visual, która zawiera specjalny typ obiektów przeznaczony do wyświetlania dużej ilości trójkątów o nazwie faces(): model = faces(pos=[ (0,0,0),(1,0,0),(1,1,0), (0,0,0),(1,1,0),(0,1,0) ) gdzie parametr pos definiuje listę wierzchołków, na których zbudowane są trójkąty (pierwsze trzy współrzędne określają wierzchołki pierwszego trójkąta, a kolejne trzy drugiego; przy wpisywaniu współrzędnych obowiązuje zasada kierunku przeciwnego do ruchu wskazówek zegara). Aby zapewnić poprawne oświetlenie modelu zastosowano funkcję model.make_normals() (obliczającą normalne dla poszczególnych wierzchołków), a krawędzie zostały wygładzone za pomocą polecenia model.smooth(). Jeśli istnieje potrzeba można funkcją model.make_twosided()ustawić obustronne wyświetlanie trójkątów (domyślnie są widoczne tylko z jednej strony). Na rysunku 3 pokazano zaimplementowany model w środowisku Python, który uprzednio został wykonany, jako model CAD w programie SolidWorks [5 i następnie zapisany w formacie VRML. Rys. 3. Zaimplementowany model robota kroczącego w środowisku Python WIZUALIZACJA I STEROWANIE RUCHAMI ROBOCZYMI MASZYN Po wczytaniu modelu CAD w środowisku programistycznym Python można przejść do opracowywania kolejnych funkcji programu umożliwiających wizualizację i sterowanie 5

ruchami roboczymi. W tym celu należy każdemu z wczytanych elementów przydzielić lokalny układ współrzędnych. Dlatego najlepiej elementy modelu wczytywać pojedynczo i dopiero w środowisku Python realizować złożenie. Program komputerowy do sterowania i wizualizacji ruchów roboczych został opracowany dla jednego z ramion obsługiwanych za pomocą czterech serwomechanizmów i posiada trzy tryby pracy: ręczny sterowanie za pomocą klawiatury i myszki, umożliwia zapisywanie sekwencji ruchów, symulacyjny realizujący ruchy robota na podstawie wczytanej sekwencji, automatyczny. Wszystkim trybom towarzyszy trójwymiarowy interfejs użytkownika (rys. 4a). Program automatycznie startuje w trybie ręcznym, chyba że podczas uruchomienia zostanie podany parametr określający plik z zapisem sekwencji ruchów do wykonania. Zmiany trybu pracy można dokonać w dowolnym momencie działania aplikacji. Rys. 4. Wizualizacja (a) i sterowanie (b) ruchami roboczymi budowanego robota kroczącego Podczas pracy w trybie ręcznym w celu interakcji z użytkownikiem, wykorzystano wbudowane w bibliotekę Visual procedury obsługi klawiatury: if scene.kb.keys: k = scene.kb.getkey() if k== left : [ustalona akcja i myszki: m = scene.mouse if m.clicked: obiekt = m.picked które jednocześnie pozwoliły na znaczne uproszczenie programu. W każdej pętli programu sprawdzany jest stan urządzeń typu HID (Human Input Devices). Każdy klawisz klawiatury ma przypisaną własną parę sygnałów, zwanych scancode. Naciśnięcie dowolnego klawisza generuje sygnał odpowiedniego przerwania, które z kolei jest obsługiwane przez podprogram czytania i interpretacji zawartości bufora klawiatury. Jeżeli zostanie wykryta aktywność ze strony użytkownika, program sprawdza, czy naciśnięty klawisz jest wykorzystywany do sterowania pracą robota. Po zidentyfikowaniu 6

wciśniętych klawiszy uruchamiane są funkcje sterujące położeniem poszczególnych członów w przestrzeni, oraz prędkością zmiany położenia. Obsługa myszki sprowadza się do odczytania identyfikatora klikniętego obiektu, co w późniejszym etapie pozwala na wybranie aktywnego członu robota. Informacja o kliknięciu dotyczy obiektu najniższego poziomu. Dopiero później następuje rekurencyjne przeszukiwanie drzewa relacji pomiędzy ramkami, w celu określenia, do którego członu należy kliknięty obiekt. Ogólny algorytm sterowania ramieniem robota jest stosunkowo prosty (rys. 5): jeżeli kliknięty obiekt znajduje się w ramce grupującej elementy, następuje sprawdzenie, czy jego ramką jest któryś z obsługiwanych członów robota, jeśli nie wykonywana jest ta sama procedura sprawdzająca dla ramki, w której znajduje się aktualny element i tak do momentu, w którym pierwszy warunek nie zostanie spełniony, lub zostanie określone, w którym członie znajduje się kliknięty element, po wykryciu, na którą część robota kliknięto, następuje jej aktywacja, czyli zmiana koloru części, oraz ustawienie wymaganych zmiennych. Rys. 5. Ogólny algorytm sterowania ramieniem robota 7

W momencie, gdy użytkownik naciśnie na klawiaturze strzałkę w lewo, lub w prawo, następuje obrót aktywnej części o kąt ustalony za pomocą strzałek górnej i dolnej. Ruch robota realizowany jest jednocześnie w modelu wirtualnym, jak i w obiekcie rzeczywistym. Sekwencja ruchów wykonana przez użytkownika może zostać zapisana poprzez naciśnięcie klawisza: [Enter (zapisanie ostatniej operacji), [Spacja (dodanie pauzy o czasie 1 sekundy do listy operacji do wykonania), lub [S (zapisanie listy operacji do pliku). W przypadku, kiedy program zostanie uruchomiony w trybie symulacyjnym lub automatycznym, przechodzi do trybu sterowania i wykonuje polecenia zawarte we wczytanym skrypcie. W przypadku, gdy robot nie jest podłączony do komputera (tryb symulacyjny) wykonuje się jedynie symulacja (wizualizacja ruchów robota na ekranie komputera). Od strony sprzętowej do sterowania serwomechanizmami użyty został sterownik Pololu Maestro USB Servo Controller, z którym komunikacja przebiegała na poziomie portu szeregowego w standardzie TTL (+5V). W celu ustawienia wybranego serwomechanizmu w wybranej pozycji nawiązywano połączenie ze sterownikiem, po czym przesyłano trój-bajtowe instrukcje sterujące. PODSUMOWANIE W pracy pokazano alternatywny, do powszechnie stosowanych, sposób wizualizacji i sterowania ruchami roboczymi maszyn wykorzystujący język programowania Python wraz z bibliotekami Visual i pyserial. W tym celu opracowano w programie SolidWorks model budowanego w ramach Koła Naukowego Komputerowego Wspomagania Projektowania Urządzeń Mechatronicznych i Maszyn Politechniki Częstochowskiej robota kroczącego, który został zaimplementowany za pomocą własnoręcznie napisanej funkcji w środowisku programistycznym Python. Umożliwiło to z kolei opracowanie programu służącego do wizualizacji aktualnego położenia jednego z ramion robota oraz sterowanie ruchami tego ramienia. W przyszłości, kiedy robot zostanie ukończony, proces jego sterowania będzie zmodyfikowany w sposób umożliwiający autonomiczne poruszanie się. Praca została wykonana w ramach badań statutowych BS-1-101-302-99/P oraz działalności Koła Naukowego Komputerowego Wspomagania Projektowania Urządzeń Mechatronicznych i Maszyn. Literatura [1 Chaturvedi D.K.: Modeling and Simulation of Systems Using Matlab and Simulink, CRC Press, 2010. [2 python.org [3 Scherer D., Dubois P., Sherwood B.: VPython: 3D Interactive Scientific Graphics for Students, Computing in Science and Engineering, 2000, pp. 82-88. [4 vpython.org [5 Lombard M.: SolidWorks 2010 Bible, Wiley Publishing Inc., 2010. THE APPLICATION OF PYTHON ENVIRONMENT AND CAD MODELS TO CONTROL OF MACHINE MOVEMENTS Summary The implementation process of CAD model in the Python programming environment has been presented and the application of this environment to visualization and control of machine movements has been showed. The visualization and control of the walking robot which is built in Scientific Society of Computer Aided Design of Mechatronic Devices and Machines of Technical University of Częstochowa have been demonstrated as an example. 8