
ABB RobotStudio jest flagowym środowiskiem programistycznym dla wszystkich robotów ABB Robotics, opartym o silnik symulacji VirtualController — bit-exact emulację oryginalnego oprogramowania kontrolera (IRC5, OmniCore). Pozwala to na programowanie offline z wierną symulacją czasów cyklu, kolizji, zasięgu i singularności. Pierwsze wydanie 2003 r. RobotStudio jest darmowe dla studentów; wersja Premium ~3500 EUR/rok per stanowisko.
Trzy warstwy SDK: (1) PC SDK — biblioteka .NET (C#, VB.NET) do komunikacji aplikacji PC z kontrolerem przez Ethernet (Robot Web Services, Robot Application Builder, dostęp do RAPID variables, I/O signals, event subscriptions). (2) FlexPendant SDK — rozszerzenia natywne dla teach pendant ABB (Windows CE / Linux na OmniCore), umożliwiają tworzenie własnych GUI dla operatora. (3) Add-In SDK — wtyczki bezpośrednio do RobotStudio (C#) modyfikujące UI i wprowadzające custom workflow.
Programowanie robotów: język RAPID (proprietary procedural language ABB, składnia podobna do Pascala) oraz Wizard Easy Programming (graficzny blokowy język dla cobotów GoFa/SWIFTI). REST API kontrolera OmniCore (Robot Web Services 2.0) udostępnia 100+ endpointów do monitorowania, programowania, kontroli I/O i path execution z dowolnego klienta HTTP. Integracje: PROFINET, EtherNet/IP, EtherCAT, OPC UA, MQTT (poprzez ABB Connectivity Module). Brak oficjalnego wsparcia dla ROS, choć istnieją community wrappers (`abb_robot_driver`, `abb_libegm`).
SDK (Software Development Kit) to zestaw bibliotek, interfejsów, narzędzi i dokumentacji przeznaczonych do tworzenia aplikacji oraz integracji z konkretnym sprzętem, platformą lub usługą. W robotyce SDK często udostępnia dostęp do sterowania urządzeniem, telemetrii, sensorów, konfiguracji i funkcji wykonawczych.
Simulation obejmuje oprogramowanie używane do modelowania, testowania i walidacji zachowań robotów, sensorów, środowisk oraz algorytmów bez konieczności użycia fizycznego sprzętu.
Developer Tool to oprogramowanie przeznaczone do wspierania pracy deweloperskiej, w tym konfiguracji, debugowania, testowania, monitorowania, walidacji lub integracji systemów robotycznych i embedded.
Robot Control oznacza rolę oprogramowania odpowiedzialnego za sterowanie ruchem, wykonywanie komend, koordynację działania elementów wykonawczych oraz bezpośrednią logikę operacyjną robota.
Motion Planning oznacza rolę oprogramowania odpowiedzialnego za planowanie trajektorii, ruchu, kolejności działań oraz wyznaczanie bezpiecznych i wykonalnych ścieżek dla robota lub manipulatora.
Device Integration oznacza rolę oprogramowania odpowiedzialnego za komunikację, konfigurację, inicjalizację i obsługę konkretnych urządzeń, sensorów, kontrolerów lub komponentów sprzętowych w systemie robotycznym.
API Access oznacza rolę oprogramowania udostępniającego interfejs programistyczny do komunikacji z robotem, sensorem, usługą lub platformą, umożliwiający tworzenie integracji i aplikacji klienckich.
Developer Enablement oznacza rolę oprogramowania wspierającego deweloperów w integracji, debugowaniu, walidacji, konfiguracji, testowaniu i uruchamianiu systemów robotycznych oraz ich komponentów.
Visualization oznacza rolę oprogramowania służącego do wizualnego przedstawiania danych z robota, sensorów, trajektorii, map, scen, telemetrii i innych informacji diagnostycznych lub operacyjnych.
Rodzina oficjalnych SDK i API dostarczanych przez producentów robotów: Boston Dynamics (Spot SDK), ABB (RobotStudio), KUKA (RSI / KUKA Sunrise), Universal Robots (URCap / RTDE), Agility Robotics (Digit SDK), Apptronik (Apollo SDK).
Programowanie offline dla wszystkich linii robotów ABB w produkcji u tysięcy klientów przemysłowych: BMW, Volvo, Volkswagen, Ford (montaż karoserii, spawanie), Foxconn i Apple (montaż elektroniki), Coca-Cola (paletyzacja), Pfizer i Novartis (pakowanie farmaceutyków). Yumi (kolaboracyjny dwuręczny robot) w Audi, Schneider Electric.
~85 000 użytkowników RobotStudio na całym świecie wg ABB. Aktywne forum forums.robotstudio.com (~150 wątków/miesiąc). Oficjalny kanał YouTube 'ABB Robotics' ~180 k subskrybentów. RobotApps Marketplace z ~300 publicznymi add-inami.
C++ to język programowania szeroko wykorzystywany w robotyce, systemach embedded, middleware, sterowaniu i przetwarzaniu danych, szczególnie tam, gdzie istotna jest wydajność oraz bliska integracja ze sprzętem.
Python to wysokopoziomowy język programowania szeroko stosowany w robotyce, AI, computer vision, automatyzacji, testach i szybkiej integracji komponentów sprzętowych oraz software'owych.
JavaScript to język programowania powszechnie wykorzystywany w aplikacjach webowych, panelach administracyjnych, dashboardach, narzędziach frontendowych i lekkich warstwach integracyjnych.
Windows to rodzina systemów operacyjnych Microsoft wykorzystywana w środowiskach desktopowych, developerskich i integracyjnych. W robotyce występuje głównie jako środowisko narzędziowe, konfiguracyjne lub developerskie.
Wymaga Windows 10/11 64-bit. RobotStudio Education jest bezpłatne (po rejestracji w MyABB); Premium z licencją per-seat ~3500 EUR/rok.
Dystrybucja prekompilowanych binarnych plików wykonywalnych lub bibliotek przez bezpośrednie pobieranie (wget, curl, instalator .sh, .exe, .pkg) ze strony producenta, bez pośrednictwa menedżera pakietów. Stosowane dla: komercyjnych SDK robotów bez publicznego menedżera pakietów, własnościowych komponentów oprogramowania przemysłowego, narzędzi standalone nie wymagających zarządzania zależnościami. Przykłady w robotyce: pobieranie instalatora ze strony producenta robota, skrypt bootstrap.sh SDK, archiwum .tar.gz z bibliotekami. Wady: brak automatycznych aktualizacji, brak zarządzania zależnościami, konieczność ręcznej weryfikacji integralności (checksum SHA256), ryzyko rozbieżności wersji między różnymi komponentami, trudność w zarządzaniu na flocie wielu robotów. Zalety: prostota dla dostawcy (nie wymaga integracji z menedżerem pakietów), pełna kontrola nad tym co i kiedy jest aktualizowane. Stosowane gdy producent sprzętu udostępnia SDK wyłącznie w tej formie (firmware tools, calibration software, proprietary middleware).
64-bitowa architektura procesora wywodząca się z rodziny x86, opracowana przez AMD (jako AMD64) i zaadoptowana przez Intel (jako Intel 64 / EM64T). Dominująca architektura w komputerach osobistych, serwerach, stacjach roboczych i komputerach przemysłowych. W robotyce stosowana jako główna platforma obliczeniowa dla: stacji operatorskich i komputerów deweloperskich (Ubuntu 22.04/24.04 x86_64), serwerów fleet management i cloud robotics, symulatorów (Gazebo, Isaac Sim wymagają x86_64 z GPU NVIDIA dla pełnej wydajności), komputerów pokładowych robotów mobilnych wyższej klasy (Intel NUC, mini-PC przemysłowe jak Nuvo, OnLogic). Oficjalne wsparcie ROS 2 dla x86_64 jest tier-1 – wszystkie dystrybucje ROS 2 (Humble, Jazzy, Kilted) są w pełni wspierane i testowane. Pakiety apt dostępne przez packages.ros.org dla Ubuntu x86_64. Dominuje w środowiskach deweloperskich i symulacyjnych. Na robotach mobilnych i humanoidach x86_64 jest stosowane gdy wymagana jest wysoka moc obliczeniowa (np. Intel Core Ultra, AMD Ryzen Embedded) bez ograniczeń energetycznych typowych dla ARM. Przykłady hardware: Intel NUC 13 Pro, AMD Ryzen Embedded V2000, Advantech MIC-770.
Architektura komunikacji usługowej oparta na protokole HTTP z semantyką zasobów (GET, POST, PUT, DELETE, PATCH). Stosowana w cloud robotics i fleet management. Nie nadaje się do sterowania real-time.
Protokół komunikacyjny full-duplex oparty na TCP, standaryzowany przez IETF (RFC 6455). Stosowany w robotyce do integracji przeglądarek i aplikacji webowych z systemami robotycznymi: rosbridge_suite implementuje protokół rosbridge v2.0 przez WebSocket.
Standard komunikacyjny IEC 62541 stosowany powszechnie w automatyce przemysłowej i Industry 4.0 do integracji robotów z systemami SCADA, MES i ERP. Definiuje model informacyjny, serwisy i mechanizmy bezpieczeństwa (PKI, szyfrowanie, signing).
Standard komunikacji przemysłowej oparty na Ethernet, opracowany przez Siemens i zarządzany przez organizację PROFIBUS International. Dominuje w europejskich instalacjach automatyki. Obsługuje tryb RT (cykl 1–10 ms) i IRT (cykl < 1 ms).
Standardowy protokół sieciowy IEEE 802.3 z TCP/IP jako warstwą transportową. Stosowany jako główny interfejs komunikacji między komputerem nadrzędnym (host PC) a robotem w SDK takich jak Unitree SDK2, Boston Dynamics API, Universal Robots URScript. Nie zapewnia deterministyczności (best-effort delivery).
Deterministyczny protokół komunikacji przemysłowej oparty na Ethernet, opracowany przez Beckhoff Automation, zarządzany przez organizację ETG (EtherCAT Technology Group). Używa standardowych ramek Ethernet przetwarzanych w locie przez węzły slave (on-the-fly processing), co zapewnia cykle komunikacyjne poniżej 100 µs przy synchronizacji rozproszonych osi. Stosowany powszechnie w napędach stawowych robotów humanoidalnych (np. Boston Dynamics, Agility Robotics), manipulatorach przemysłowych i systemach motion control wymagających hard real-time.
Jeden z najstarszych i najszerzej stosowanych protokołów przemysłowych (Modicon, 1979). Modbus RTU działa przez RS-485/RS-232, Modbus TCP przez Ethernet. Stosowany w robotyce do komunikacji z starszą infrastrukturą przemysłową.
Standard IEEE 802.3ab – Ethernet 1 Gbit/s przez skrętkę Cat5e/Cat6, złącze RJ-45. Dominujący interfejs sieciowy w robotyce: komunikacja SDK-robot (Unitree SDK2, Boston Dynamics API, UR e-Series), przesyłanie obrazów z kamer IP, integracja z ROS 2 przez DDS/RTPS.
Standard IEEE 802.3u – Ethernet 100 Mbit/s przez skrętkę (Cat5 i wyżej), złącze RJ-45. W robotyce stosowany jako legacy interfejs w starszych robotach przemysłowych (KUKA KR C2, Fanuc R-J3), PLC i urządzeniach embedded niskiej klasy.
Interfejs EtherCAT po stronie urządzenia slave – każdy slave zawiera dedykowany ASIC ESC (EtherCAT Slave Controller), np. ET1100 (Beckhoff), LAN9252 (Microchip). ESC przetwarza ramki Ethernet w locie (on-the-fly) bez buforowania – minimalna latencja ~300 ns na węzeł.
Klasa miękkiego czasu rzeczywistego 100–500 ms – odpowiedź w granicach setek milisekund wymagana dla płynnej pracy, ale przekroczenia nie powodują awarii. Zastosowania: task planning (Nav2 planner: 100–300 ms), rozpoznawanie gestów i mowy dla HRI, przetwarzanie obrazów (YOLO na GPU: 20–100 ms), feedback wizualny. Większość oprogramowania komercyjnego dla AMR i robotów usługowych operuje w tej klasie.
Specjalna klasa deterministyczna – latencja i jitter ściśle zdefiniowane przez protokół komunikacyjny, niezależnie od wartości bezwzględnej. Kluczowa jest przewidywalność (predictability) i brak losowych skoków latencji. Protokoły: EtherCAT (jitter < 1 µs), PROFINET IRT (jitter < 1 µs), TSN IEEE 802.1Qbv (jitter < 100 ns), CAN bus (deterministyczny arbitraż). Stosowany gdy ważniejsza jest powtarzalność timingu niż minimalna latencja – np. synchronizacja wielu osi w manipulatorze.
Local Workstation oznacza typ wdrożenia, w którym software działa na komputerze lokalnym użytkownika, dewelopera lub operatora, np. laptopie, desktopie lub stacji roboczej.
On Robot oznacza typ wdrożenia, w którym oprogramowanie działa bezpośrednio na robocie lub na jego pokładowym module obliczeniowym, np. komputerze przemysłowym, SBC lub platformie edge AI.
Hybrid oznacza typ wdrożenia łączący lokalne lub pokładowe uruchamianie komponentów z dodatkowymi usługami działającymi na edge lub w chmurze.
Rodzina licencji: Własnościowa – komercyjna
Domyślny status prawny oprogramowania bez jawnie określonej licencji – wszystkie prawa zastrzeżone przez właściciela praw autorskich. Użycie, modyfikacja i dystrybucja są zabronione bez pisemnej zgody właściciela. Nie jest licencją w ścisłym sensie, lecz brakiem licencji – kod bez pliku LICENSE jest domyślnie All Rights Reserved.
Ważna informacja dla edytorów: oprogramowanie bez jawnego pliku licencji jest automatycznie All Rights Reserved i nie może być legalnie używane, modyfikowane ani dystrybuowane. Producenci robotów powinni zawsze jawnie określać licencję. Redaktorzy Robocikowo powinni flagować wpisy bez określonej licencji i kontaktować się z producentem w celu wyjaśnienia.
AI-assisted programming (RAPID Copilot beta), nowy renderer Vulkan, integracja z SafeMove 3.
Wizard Easy Programming dla cobotów GoFa/SWIFTI, integracja z PowerPacs.
Obsługa nowego kontrolera OmniCore (Linux-based), REST API Robot Web Services 2.0.
Smart Components, Conveyor Tracking, integracja z chmurą ABB.
Pełna obsługa kontrolera IRC5 i jego VirtualController.
Pierwsze publiczne wydanie środowiska programowania offline dla kontrolerów ABB S4C.