Czym naprawdę jest uprząż

Wszyscy budują planery. Prawie nikt nie buduje warstwy, która mówi planerowi „nie”. Uprząż jest tą warstwą: nie decyduje, co robot powinien zrobić, tylko czego robotowi wolno spróbować — a różnica między tymi dwoma zdaniami jest w większości tym, co oddziela demo od maszyny, którą zostawiłbyś włączoną obok ludzi.
Gdzie siedzi
Nad sterownikami, pod planerem. Ta pozycja jest całym projektem.
Nad sterownikami znaczy, że jest przenośna. Limity wyrażone przez zasięg, siłę, prędkość i strefy przeżywają zmianę dostawcy robota, bo opisują zadanie, a nie sprzęt. Implementowanie obwiedni od nowa w kontrolerze każdego producenta to sposób, w jaki organizacje kończą z czterema różnymi definicjami tej samej reguły.
Pod planerem znaczy, że nie da się z nią dyskutować. Planer — coraz częściej model — proponuje trajektorię. Uprząż ocenia ją wobec obwiedni i albo przepuszcza, albo odmawia. Nie ma promptu do lepszego sformułowania, bo uprząż nigdy nie czyta rozumowania, tylko ruch.
Z czego się składa
Użyteczna uprząż wyraża pięć rzeczy i wszystkie są danymi, a nie kodem.
Geometria. Gdzie maszyna może być i dokąd sięgać: strefy, obszary wyłączone, limity wysokości, korytarz, z którego mobilna podstawa może korzystać o danej porze.
Dynamika. Pułapy prędkości i siły powiązane z kontekstem. Pełna prędkość w pustej alejce, zredukowana, gdy w pobliżu wykryto człowieka, limity siły stanowiące różnicę między szturchnięciem a urazem.
Czas. Nocna zmiana to nie dzienna. Maszyna, której wolno wozić palety o 02:00 w pustym magazynie, nie powinna mieć tej samej obwiedni o 14:00.
Zadanie. Jakie operacje są w ogóle dozwolone i gdzie. Robotowi, któremu wolno podnosić, może nie wolno podnieść tego, w tej alejce, kiedy dzieje się tamto.
Eskalacja. Co zrobić na granicy: odmówić, zwolnić, zatrzymać się, oddać człowiekowi. Odpowiedź jest inna dla każdej klasy naruszenia, a jej wybór jest decyzją dotyczącą bezpieczeństwa, a nie szczegółem implementacyjnym.
Właściwości, które czynią ją godną zaufania
Deklaratywna. Obwiednia to dane, które da się przeczytać, przejrzeć, przetestować i porównać. Na pytanie „dlaczego robotowi wolno to zrobić” powinno się odpowiadać, czytając plik, a nie śledząc przepływ sterowania.
Wersjonowana. Zmiana tego, co maszyna może zrobić, jest zmianą do przejrzenia, z autorem i datą. Większość raportów powypadkowych w automatyce dochodzi w końcu do zdania „ktoś zmienił parametr”; wersjonowanie sprawia, że do tego zdania da się dopisać nazwisko.
Testowalna. Możesz odtworzyć zarejestrowaną zmianę wobec proponowanej obwiedni i zobaczyć, co zostałoby odrzucone. To zamienia zmianę w bezpieczeństwie ze sporu w eksperyment.
Fail-closed. Polityka, której nie da się sparsować, zatrzymuje maszynę. To właściwość najczęściej pomijana przez ludzi przyzwyczajonych do usług webowych, gdzie „fail open” jest zwykle uprzejmym wyborem. Na hali produkcyjnej nie jest.
Czym uprząż nie jest
Nie zastępuje bezpieczeństwa funkcjonalnego. Wyłączniki awaryjne, sterowniki o certyfikowanym poziomie bezpieczeństwa, kurtyny świetlne i normy, które nimi rządzą, istnieją dlatego, że oprogramowanie działające na komputerze ogólnego przeznaczenia nie da gwarancji, jakie dają tamte systemy. Uprząż żyje nad nimi i ma ułatwiać im pracę — zmniejszać, jak często warstwa certyfikowana musi interweniować, nigdy nie udawać, że ją zastępuje.
Nie jest też planerem, stosem percepcji ani zarządcą floty. To trudne problemy z dobrymi istniejącymi odpowiedziami. Uprząż jest cienką, nudną, nośną warstwą między nimi a siłownikami — i jest nudna celowo: część robota, która mówi „nie”, powinna być tą najłatwiejszą do przeczytania.
Dlaczego to jest produkt
Planer, który ma rację w 99% przypadków, jest imponującym planerem i nieakceptowalnym robotem. Wszystko, co ciekawe w fizycznej autonomii, dzieje się w ostatnim procencie, a ostatni procent nie jest problemem modelowania — jest pytaniem o to, czego maszyna strukturalnie nie jest w stanie spróbować.
To jest uprząż. Cała reszta to to, co robot robi w jej środku.
- uprząż
- obwiednia robocza
- bezpieczeństwo
- architektura