526просмотров
37.0%от подписчиков
6 марта 2026 г.
🎬 ВидеоScore: 579
Как мы учили робота не тупить (и почему на это ушел год) Помните ощущение, когда садишься в машину к неопытному водителю?
То он газ нажмет раньше времени, то тормознет перед ровным местом, то в поворот входит так, будто пассажиры за свой багажник переживают. Вот таким «неуверенным студентом» был наш робот год-два назад. Да, он умел ездить. Но внутри себя я видел эту робость. Лишние микро-остановки перед стыками траекторий. Дерганье при смене направления. И это бесило. Короче, мы закрылись в «подвале» и решили: перепишем всё. Даже то, что строили 5 лет. Зачем?
Потому что в интернете почти нет информации по уравнениям динамического движения. Нам говорили: «Это нерешаемо». А я просто не мог смотреть, как наш робот стесняется поворачивать.
Сейчас, спустя месяцы исследований и тысяч строк кода, он едет так, что я кайфую.
Представьте лихого таксиста, который втискивается в щель между машинами, используя все степени свободы, — без паники, без лишних движений, с холодным расчетом. Вот таким стал наш робот. Если интересно, что мы поменяли — делюсь не отчетами, а тем, что реально дало прирост в «уверенности». 1. Стыки траекторий (или как мы убрали «дерготню»)
Раньше в месте, где прямая линия переходит в поворот, робот как бы «зависал» на долю секунды. Перестраивался. Думал.
Мы переписали алгоритм сопряжения сегментов на основе марковской траектории Ридса-Шеппа. Звучит сложно, но по факту: робот перестал тормозить на стыках. Теперь он входит в поворот так же плавно, как вы выходите из лифта — без мысли «а куда ногу ставить». 2. Гироскоп (или почему робот больше не скользит)
Вы замечали: на скользком полу даже умный робот может поехать слегка вбок?
Это проскальзывают показания одометрии. Мы перекалибровали инерциальные датчики, добавили компенсацию температур и вибраций.
Теперь он держит курс как ледокол в Арктике — даже задним ходом, даже на мокром полу. 3. Адаптивная скорость (робот стал «чувствовать» коридоры)
Раньше он ехал с одной скоростью — тупо, как перфоратор.
Теперь у него есть адаптивный регулятор. В широком коридоре он разгоняется. Перед поворотом плавно сбрасывает. В заставленном складе — ползет с ювелирной точностью.
Это не программирование. Это уже почти интуиция. 4. Два режима вместо одного (свобода vs строгость)
Было: жесткий маршрут → уперся в препятствие → подумал и поехал.
Стало: жесткий маршрут → препятствие → ушел в свободную навигацию → объехал → вернулся на траекторию.
Без поиска «точки стыковки». Без дерганья. Просто как опытный водитель: видит яму — объезжает, выровнялся — поехал дальше. 5. Синхронизация сенсоров (чтобы не жить прошлым)
Представьте, что вы смотрите в зеркало заднего вида, а там картинка с задержкой в секунду. Вы бы разбили машину.
Раньше данные от лидаров и камер могли приходить несинхронно. Мы согласовали временные циклы планировщика и сенсоров.
Теперь робот принимает решения на основе того, что происходит СЕЙЧАС, а не секунду назад. 6. Два контура безопасности (инстинкты + стратегия)
У робота теперь есть «мозг» и «спинной мозг».
Локальный контур (инстинкты) — останавливает или уводит при внезапном препятствии, даже если карта говорит, что там пусто.
Глобальный (стратегия) — планирует объезд.
Итог: он не дергается на тени, но гарантированно не врежется в реального человека. 7. SLAM без ошибок (чтобы не теряться в коридорах)
Длинные стеллажные ряды, одинаковые стены — классическая ловушка для навигации.
Мы уточнили математику векторного поля в SLAM. Теперь робот не накапливает ошибку, когда едет 500 метров по бесконечному коридору. Он ВСЕГДА знает, где находится. Что в сухом остатке?
Робот стал увереннее меня за рулем в час пик.
Он не тупит, не дергается, не боится.
И если раньше я переживал, выпуская его на объект, то теперь просто смотрю и кайфую.
Говорят, идеального движения не существует. Но мы подобрались очень близко. P.S. Видосик не отражает всех прелестей, поэтому запишу еще