Експертиза · Системи для роботів
Програмне забезпечення для роботів: шар, що вирішує рух, модуль зору і модуль слуху. Сьогодні у нас є офлайн-перевірка і симуляція — нічого, що керує реальним мотором, немає.
Ми пишемо кінематику, перевірку траєкторії та відтворювану фізичну симуляцію, із шлюзами, що блокують, коли доказу бракує. Для зору маємо прототип на фіксованій камері, не на роботі. Для аудіо на роботі в нас немає нічого побудованого, і сторінка говорить це замість того, щоб позичати докази з телефонії. Ми не працюємо з ROS.
Пропозиція, з умовамиЯ запустив сьогодні все, що можна запустити. Контрольний шар існує і є серйозним, але він офлайн: власний модуль кінематики для шестикоординатної руки, який розв’язав 8.400 із 8.400 точок траєкторії, і фізичний валідатор на MuJoCo 3.10.0 з 34 пройденими тестами, плюс 14 тестів з візуалізації. Обидва вказують у власному коді, що не мають транспорту до hardware і не можуть керувати реальним robot. На видноті маємо власний прототип — виявлення та відстеження людей на фіксованій IP-камері — з одним комітом і порожнім каталогом тестів. По audio на robot маємо нуль: усе, що є на диску, — це голос call-center або стороння телефонна бібліотека, а єдина власна акустична робота завершилася негативним результатом, записаним у застосунку. ROS: нуль встановлено, нуль написано. Правило вимагає щонайменше дві власні реалізації для «ми зробили»; на control вони є, але жодна не виходить на hardware, а два інші шари сервісу нижче порога. Отже: пропозиція з умовами, з окресленими межами.
Програмне забезпечення робота має три шари, які ламаються по-різному: що бачить і чує, що вирішує, і що відправляє до моторів. На перших двох у нас є власні роботи з тестами, які виконуються. На третьому — місток до hardware — у нас нічого немає, і це межа послуги, а не деталь реалізації. Два наші коди говорять це у власному заголовку, англійською, саме так, щоб їх не можна було прочитати неправильно: модуль кінематики не має транспорту до hardware і не може керувати реальним роботом.
Те, що існує на частині руху, — це перевірка перед рухом. Власний модуль обчислює пряму кінематику, якобіан і обернену кінематику для руки з шістьма осями, із закладеним запасом щодо меж кожної осі, і був використаний, щоб перевірити цілу траєкторію: 8.400 запитаних точок, 8.400 розв’язаних, із максимальною швидкістю по осі, що залишилася нижче 8% від каталожної межі. Окремо валідатор фізики працює на MuJoCo 3.10.0 на процесорі, з кроком обчислення в одну мілісекунду, у шести сценаріях, кожен по двічі, з однаковим зерном — і дві прогонки дають ідентичні відбитки. Детермінізм — це не твердження, а порівняння контрольних сум.
Тут, на стороні зору, менше, і чесно сказати, скільки саме. Власний прототип виконує детекцію та відстеження людей на потоках з IP-камер, із малим детектором із сімейства YOLO, багатoоб’єктним трекером, оцінкою пози для п’яти станів і керуванням поворотом-нахилом-зумом камери. Є лише один коміт і порожній каталог тестів. І різниця між цим і зором робота реальна, а не формальна: камера на роботі рухається разом із ним, сцена близька, експозиція змінюється на кожному кроці, а бюджет затримки інший, бо зображення має дійти до рішення про рух, а не до екрана. У нас немає камери глибини, немає калібрування камери, немає візуальної одометрії.
На стороні аудіо для роботів ми нічого не побудували, і не будемо позичати докази звідкись іще. У нас є реальні роботи з голосом для телефонії та для розмовних асистентів, але мікрофон на роботі має інші проблеми: власний шум машини, вентилятори й сервоприводи, що запускаються саме тоді, коли робот рухається, напрямок, звідки йде голос, луна в приміщенні та змінна відстань. Єдина власна акустична робота, яка в нас є, завершилася негативним результатом, записаним у заявці, і ми публікуємо її як є — бо виміряний негативний результат корисніший за обіцянку.