ROBOTSYAXUN ← Все проекты
Кейс · робототехника · Android

Ровер, которым рулит смартфон

Человек один раз проезжает маршрут, дальше робот ездит по нему сам. Мозг всей системы — обычный Android-телефон: он записывает дорогу, видит препятствия нейросетью и ведёт 4-колёсный ровер через автопилот ArduPilot.

Teach & RepeatGPS + ARCore VIOTFLite на NPUMAVLinkArduPilot
ПОВТОР · 413 м

Реальный автономный заезд: слева — камера телефона, справа — колея и пройденный путь.

413м

маршрут пройден в автономном режиме, без вмешательства оператора

0.14м

медианное отклонение от записанной колеи без RTK-базы

1314м

самый длинный маршрут, проеханный в полевых испытаниях

24к/с

распознавание людей и машин нейросетью на NPU телефона

Как это работает

Проехал один раз — дальше сам

Никаких карт, разметки и программирования маршрута. Оператор ведёт ровер с пульта, приложение запоминает дорогу, а потом повторяет её сколько угодно раз.

01 / TEACH

Обучение

Оператор проезжает маршрут вручную. Телефон пишет GPS-трек, позу камеры 10 раз в секунду и снимок местности на каждый метр пути.

02 / REPEAT

Повтор

Одна кнопка: маршрут уходит в автопилот, ровер армится и едет. Скорость «дышит» по качеству локализации — 1.2, 0.9 или 0.6 м/с.

03 / WATCH

Надзор

Камера всё время ищет людей и машины. Опасная близость — стоп, препятствие — объезд, тупик — задний ход и попытка с другой стороны.

Архитектура

Телефон думает, автопилот исполняет

Телефон не крутит моторы напрямую — он отдаёт команды уровня «стой / объезжай / держи скорость / иди в точку». Низкоуровневое управление остаётся за проверенным автопилотом, поэтому при любом сбое приложения ровер безопасно останавливается.

мозг

Смартфон

  • Приложение Kotlin + Compose
  • ARCore — визуальная одометрия
  • TFLite-детектор на NPU
  • Карта и рисование маршрута
связь

USB OTG

  • Свой MAVLink-кодек
  • Свой CDC-ACM без библиотек
  • Wi-Fi-мост для ноутбука
  • Журнал событий
исполнитель

Pixhawk 6C

  • ArduPilot Rover 4.6
  • Режимы AUTO и GUIDED
  • GPS CRPA + внешний компас
  • Аварийные фейлсейфы
ходовая

4 × VESC

  • Регуляторы FSESC 75200
  • PID по скорости колёс
  • Танковый разворот
  • Батарея 12S, ~40 В

телефон → MAVLink по USB → автопилот → PPM → 4 регулятора → мотор-колёса

Поведение и безопасность

Робот, который понимает, когда остановиться

01

Сторож зрения

Человек или машина в опасной близости по камере — мгновенный стоп и продолжение, когда путь свободен.

02

Объезд препятствий

Подруливание по зрению, а при упоре — отъезд назад на метр с уходом в сторону от препятствия.

03

Завал → домой

Пять минут попыток выбраться, затем обратная миссия к точке старта.

04

Шторм препятствий

Шесть стопов за 90 секунд — робот встаёт насовсем и ждёт решения оператора «ехать дальше».

05

Фейлсейфы автопилота

Аппаратный E-STOP на пульте, контроль EKF и газа. Обрыв связи с телефоном не рвёт миссию.

06

Маршрут с карты

Вкладка «Миссия»: маршрут рисуется тапами по спутниковой карте и сразу готов к повтору.

Что сделано

Полный цикл — от прошивки до поля

Android

KotlinJetpack ComposeARCoreTensorFlow LiteCamera2USB Host APIosmdroid

Связь

MAVLink v1/v2 — свой кодекUSB CDC-ACMUDP-мост

Автопилот

ArduPilot RoverPixhawk 6CEKF3AUTO / GUIDEDSITL-симуляция

Железо

VESC / FOC-настройкаPID по скоростиGPS CRPAЛидар LightWareХодовая skid-steer

Анализ

PythonРазбор логов заездовВидео-реконструкцииПолевые испытания
Есть похожая задача?

Автоматизирую технику

Роботы и роверы, приложения для управления, связь с автопилотом, обработка видео и данных с датчиков — от прототипа до полевых испытаний.

Обсудить проект ↗