Status projektu: Wdrożony
Cel projektu. CaCTuS to system do modelowania i bezkolizyjnego sterowania w czasie rzeczywistym wieloramiennymi robotami krystalograficznymi o wielu stopniach swobody. W momencie wdrożenia systemu liczba stopni swobody w obsługiwanych robotach mieściła się w przedziale <4; 6>.
Cechy systemu CaCTuS:
- integracja z systemem sterowania robotami firmy Oxford-Diffraction
- język skryptowy pozwalający na modelowanie kształtu maszyny
- język skryptowy pozwalający na wprowadzenie modelu ruchowego – opisu w jaki sposób położenie poszczególnych kształtów zależy od parametrów opisujących pozycję robota
- bezpośrednia komunikacja z CaCTuS poprzez konsolę
- możliwość obsługi dowolnych robotów (także takich, które zostały zaprojektowane wyprodukowane już po zamknięciu projektu)
- praca w czasie rzeczywistym
- niezawodność (system steruje robotami wartymi miliony euro, niektóre z nich pracują w ośrodku CERN pod Genewą)
Efekty wdrożenia systemu CaCTuS:
- od czasu wdrożenia systemu, brak raportów o kolizjach
- znacząco skrócony przeciętny czas przejazdu, co jest kluczowe dla przeprowadzanych eksperymentów krystalograficznych na takich cząsteczkach jak np. białka (próbki bardzo szybko niszczeją w trakcie wykonania eksperymentów, w niektórych przypadkach czas życia próbki nie przekracza kilku sekund)
Dzięki elastycznej strukturze i dopasowaniu rozwiązania do potrzeb Klienta, CaCTuS może być i jest stosowany dla każdego nowego modelu robota produkowanego przez Firmę Oxford Diffraction.
Opis systemu. Strukturasystemu CaCTuS została oparta o dwa moduły: CaC (moduł modelowania robota i wykrywania kolizji) i TuS (moduł wyszukiwania i optymalizacji trajektorii). Moduły te współdziałają ze sobą i odpowiadają za różne własności całego systemu.
Moduł modelowania robota i wykrywania kolizji pozwala na zdefiniowanie kształtu robota oraz określenie modelu ruchowego robota. Określenie kształtu odbywa przy użyciu dostępnego zbioru kształtów podstawowych. Model ruchowy maszyny jest definiowany poprzez:
- ustalenie parametrów wejściowych od których ma zależeć położenie robota;
- pogrupowanie kształtów podstawowych;
- określeniu położenia grup kształtów podstawowych jako funkcji od wybranego parametru wejściowego
Dzięki powyższym własnościom moduł CaC może spełnić swój cel: odpowiedzieć na pytanie: Czy dla robota X w położeniu Y występuje kolizja?
Zadaniem modułu wyszukiwania i optymalizacji trajektorii jest odnalezienie, jak najkrótszego pod względem czasu, przejazdu robota ze stanu X do Y. Najpierw na podstawie odpowiedniego wnioskowania, bazy danych, oraz kontroli kolizji generowana jest trajektoria bazowa. Trajektoria bazowa jest zazwyczaj daleka od optymalnej, posiada jednak wszystkie jej najważniejsze cechy, dzięki którym po przejściu procesu optymalizacji otrzymujemy właściwą trajektorię.