Тачка Бонда, или Виртурилка рулит!

:

— На женщин всегда производят впечатления крайности. Либо слишком большие, либо слишком маленькие. …
Алекс Экслер, «Ария Князя Игоря, или Наши в Турции»

Предвидя вопросы «когда тираж?» — докладываю. Виртурилка в тиражном виде готова на 99%, осталось сделать сэмплы и проверить живьём. На это неделя-две уйдёт, после чего мы готовы к тиражу. Просто к нам приходит много укоров в том что мы пару публикаций сделали и пропали. Количество тиражных экземпляров увеличили до 5000, ибо предзаказов на 2 тысячи набралось. Предзаказ ещё открыт до конца месяца.

Ну а теперь по теме топика


После наших давних экспериментов с гонками на маленьких машинках (дистанционно, через Инет) решили попробовать погонять на чём-то побольше. Были опробованы разные тележки, гусеничные и колёсные. Но не покидало ощущение что это что-то не то. Это ощущение постепенно привело к мысли что нефиг мелочиться и надо делать машинку в масштабе 1:1

Для этого был приобретён старенький убитый пепелац. Волею судеб и алгоритма поиска авто.ру по фильтрам «цена» и «АКПП» им оказался Opel Vectra 2.0л с АКПП, 1990-го года выпуска. Комплектация для того времени топовая (ГУР, кондей, ABS, электролюк и прочие прелести). Но бОльшая часть прелестей от времени уже практически не функционирует. Главное что движок рабочий и коробка хоть и полудохлая, но ещё изображает видимость работоспособности. Опель был перебазирован в славный город Щёкино (Тульской области), так как главный механик там живёт и есть гараж недалеко от дома. Одна проблема — в Щёкино не чистят дороги от снега (вообще), так что проблема найти место где тачку испытать можно.

Идея была поставить на машину умный контроллер (само собой, нашу Виртурилку), подключить камеру. И управлять опелем, не сидя за рулём. С телефона, планшета, компа — без разницы. В идеале — сделать управление как и на микрогонках — через Интернет. Само собой, проблем много (задержка и всё такое), но если ограничить скорость движения — вполне реально порулить удалённо.

Для начала решили ограничиться управлением с планшета. Как раз третий айпад под рукой и сертификат разработчика есть :-)

Подключаться напрямую к селектору коробки (или как оно там правильно называется), а так же к рулевой рейке и усилителю тормоза не стали осознанно — хотели сделать универсальную систему. Чтоб можно было переставить на любую машину (лишь бы АКПП была) с минимумом вмешательства.

Перепробовали несколько вариантов мотор-редукторов, в итоге нашли подходящий привод на руль и актуатор на тормоз. Ручку АКПП дёргает обычная (правда, мощная, на 33 кг/см) серва. Сложно было сварить конструкцию, которая бы держала все эти моторы. Но в итоге наш механик Олег (он же Дядя Вася) всё сварил и настала пора подключать электронику.

Электроника простейшая. Контроллер virt2real (Виртурилка) принимает коннект по вайфаю (Soft-AP), управляет с помощью своих аппаратных PWM двумя мощными силовыми регуляторами коллекторных движков и двумя сервами (на газу и на ручке коробки). В крайних положениях педали тормоза стоят концевики, чтоб педаль не выломать (актуатор шибко мощный, с запасом). Начали было радар делать, для засекания препятствий, на базе обычного китайского ультразвукового дальномера. На коленке собрали, проверили, но на первых испытаниях устанавливать пока не стали. Так же на опеле установлен цифровой модуль камеры (ov7675), это курсовая камера — картинка с неё идёт в рилтайме на планшет.

Программная часть тоже проста до неприличия. На виртурилке крутится NodeJS, которая, собссно, всем и заправляет. Нода рулит (буквально)! :-) Из уважения к эрлангерам — erlang у нас на виртурилке тоже есть, но я в нём неопытный, так что не стал пока время на это тратить. Ноды хватает с лихвой.

Приложение под айпад написано на Flex, так как нативное программирование под iOS я ещё не освоил. Видео c камеры идёт либо MJPEG, либо H264 по RTMP (на борту виртурилке есть полноценный RTMP сервер, crtmpd).

Вот, в принципе, и всё. После полевых испытаний возле гаражей выявили ряд недостатков конструкции. Руль медленновато поворачивается — это из-за половинного напряжения на моторе. Мотор 24-х вольтовый, а питаем от 12В. Поменяю регули — будет шустро крутить. Тормоз тоже неприятно медленно нажимается — надо переставить рычаг поближе к основанию педали, расстояние будет в пять раз короче, нажиматься будет за полсекунды. К приводу переключения передач претензий нет, к газу претензий тоже нет — всё пашет безупречно.

Самые неприятные результаты тестирования были в том что зимой проводить испытания — не есть хорошо. Ибо холодно. Даже при небольшом минусе на ветру руки мгновенно немеют, не чувствуешь, нажал на экран или нет. С перчатками, которые могут на ёмкостной экран воздействовать, может и получше будет, но всё равно холодно. И плохо когда снег падает — экран планшета сразу мокнет, нажатия тупят.

Вообще, с планшета управлять очень неудобно. Для нормального управления нужна тактильная связь — лучше уж обычный джойстик или геймпад. А лучше — симуляторный руль с педалями (именно это я в данный момент и делаю, следующие покатушки будут с рулём).

Управление через инет опробуем обязательно, когда найдём подходящее просторное поле. 3G не пойдёт, нужно чтоб на поле ещё и Йота ловилась :-) Так что неспеша ищем площадку, чтоб покататься там когда на улице потеплеет. А если повезёт и найдём ангар (как в недавнем ролике про тестирование Audi с пейнтбольными пушками) — то хоть прям щас тестить поедем. Неважно, в Щёкино, в Туле или Москве. Если вдруг у вас есть подходящее помещение — велкам в комменты! :-)

Рабочее название проекта — Тачка Джеймса Бонда. В голове отложилось как в какой-то части Пирс Броснан управлял машиной с мобилы, вот в честь этого название и появилось. Но чуть позже друг посоветовал назвать тачку Opel Virta (в честь virt2real). Название понравилось, его и оставили.

В общем, первые испытания провели около гаражей. Там довольно тесно, так что рулить приходилось осторожно, дабы не разбить опель раньше времени. Управлять реальной машиной с планшета оооочень непривычно, так что шибко газовать было страшно. Само собой, тихоходная езда совсем не эффектно выглядит на видео, так что на следующий день была договорённость с тульской автошколой чтоб нас пустили на их автодром погонять. Но в конце окологаражного испытания случился «парни, эксепшн» Санёк — разорвало патрубок системы охлаждения. Быстро починить не удалось, так что эффектный дрифт на снегу пришлось пока отложить. Очень обидно, конечно, но пришлось монтировать видео из того материала что успели отснять.

А самое главное — проверили на практике ещё один вариант потенциального применения виртурилки. Много планов по дальнейшему тюнигу Опеля, надеюсь он не помрёт раньше времени. Добавить кучу сенсоров, может и автономный пепелац получится.

Спасибо что осилили столько букв. Теперь покажу что у нас за видео получилось.

Основное официальное видео вторых испытаний:

Развёрнутое видео вторых испытаний:

Ну и для полноты материала — видео с первых испытаний. Осторожно, есть нецензурная лексика. Друг Саня слегка не сдержал избытка чувств :-)
У нас тут почти всё сломалось, управляемым с планшета остался только газ.

P.S. Само собой, идея удалённого управления автомобилем не нова. Навскидку, есть вот такие проекты:
Автоматическая газель на Arduino habrahabr.ru/post/150667
Автомобиль-робот команды НАМТ на «Робокросс-2012» habrahabr.ru/post/154017

I PHONE THAT CONTROLS A REAL CAR
www.youtube.com/watch?feature=player_embedded&v=xM4rltoxqM0

iDriver — iPhone remote controlled car
www.youtube.com/watch?feature=player_embedded&v=oHDwKT564Kk

BrainDriver — a mind controlled car
www.youtube.com/watch?v=iDV_62QoHjY&feature=player_embedded

Audi показала свой автопилот на CES2013
www.youtube.com/watch?v=rgN8MOrss40&feature=player_embedded

Парковка BMW
www.youtube.com/watch?v=ePBIztPb2HM&feature=player_embedded

… и многие другие. Но одно дело смотреть на чужие проекты и другое дело — самим сделать :-)

P.P.S. Команда испытателей в полном составе

UPD> в качестве небольшого дополнения — эдакий PoC (пруф оф концепт) идеи для эффектной демонстрации.

Опель подъезжает к зрителям. Водила выходит, держа в руках руль. Реальный руль опеля. Крутит руль — колёса опеля поворачиваются. Наклоняет руль — машина едет или, соответственно, тормозит. Прототип — вот он. Правда, пока смонтировано на дощечке, ибо руль пока занят был :-) Уже проверено — работает, но на руль смонтировать пока так и не успел.

Совсем забыл


упомянуть практический момент. Виртурилка пролежала в гараже двое суток, ночью температура была -20. Последствий нет. Потом ещё два раза по несколько часов работала на морозе в минус 15 градусов — полёт нормальный. Так что, можно сказать, проверили слегка экстремальный вариант применения.

UPD> Летние испытания