Как сделать тарантас для гонок
Гонки радиоуправляемых тарантасов за 4 недели
www.redbullsoapboxrace.ru — это онлайн проект, посвященный мероприятию Red Bull Soapbox Race и является гонками тарантасов в миниатюре.
Про наш проект написали пост, и это — ответ на приглашение рассказать о проекте.
Идея родилась на кухне за чашкой кофе, а как все произошло и как нам удалось реализовать проект за 4 недели, читайте дальше.
Публикую пост по просьбе Дмитрия Максимова — автора идеи и архитектуры проекта.
По факту у нас действительно было всего 4 недели на запуск проекта, но, как ни удивительно, командой из 6-ти человек мы справились с этой задачей. Для нас это было хорошей школой командной работы в экстремальных условиях.
Неделя 1
Архитектура
Архитектура на первый взгляд довольно простая:
Рассматривали несколько вариантов реализации:
На машинку устанавливается бортовой компьютер на линуксе с 6 usb, к которому подключается микроконтроллер для DC мотора (коллекторный моторчик для движения) и микроконтроллер для серво привода (отвечает за поворот передних колес).
Плюс к компьютеру подключается магнитный датчик для фиксации времени круга, а через usb – камера и wi-fi адаптер.
Выглядит это все следующим образом:
Единственный минус phidgets – нам требовалось 7 комплектов для 7 машинок, а такое количество в полном комплекте можно было купить только в Канаде.
Машинки
С самого начала планировали использовать вот эту машинку: Monster Truck от HCP Racing. Машинка профессиональная, и к ней можно легко найти запчасти.
Еще до старта проекта мы консультировались с ребятами из Главбот, которые рекомендовали машинки с бесколлекторными моторами, поскольку коллекторные придется менять каждые 3 дня при планируемой нагрузке. Но phidgets работают только с DC моторами, поэтому пришлось идти на риск, который, кстати, в итоге оправдался – моторы, конечно, пришлось менять, но не часто, и не из-за большой нагрузки.
Аккумуляторы
Аккумулятор, который идет в комплекте с машинкой, позволяет непрерывно ездить около 15 минут. Заезды у нас практически круглосуточные и хотелось сделать так, чтобы побольше людей смогло покататься, поэтому технические перерывы надо было сокращать до минимума.
В итоге подобрали вариант аккумуляторов, которые могут держать заряд до 4-х часов, но мы, на всякий случай, меняем их каждые 2 часа.
Вроде со всеми комплектующими определились, оставалось все достать, запрограммировать и протестировать.
UPD: Как и обещали, публикуем оставшуюся информацию о проекте!
Неделя 2: Сборка
Как я писал раньше, фиджеты пришлось заказывать из Канады прямо с сайта фиджетов. Всего было около 30-ти микросхем, которые точно бы зависли на российской таможне на пару месяцев, поэтому повезли через финляндию с двойной растоможкой. В июле по словам фиджетов в России появится дистрибьютор, но у нас столько времени не было.
Когда у нас все было на руках и мы собрали первый прототип, вес машинки оказался 3 кг (без учета корпуса) – пришлось укреплять амортизаторы, чтобы машинка не ездила на брюхе.
В итоге это выглядело так:
С помощью прилагавшейся к фиджетам Windows программы, мы смогли протестировать работу фиджетов, и сразу обнаружилось несколько проблем.
Камера
Фиджетовская камера передавала изображение в ужасном качестве, которое постоянно подвисало при разрешении 320Х240 и 10 кадрами в секунду
Сначала было предположение, что это связано с самими фиджетами, поэтому решили сразу использовать IP камеру, чтобы видео шло напрямую. Но этот вариант утяжелял машинку еще на 500 грамм, а этого она могла не выдержать при планируемой нагрузке.
Попробовали другую UVC-совместимую камеру (Logitech HD Pro Webcam C920) с автофокусом, Full HD изображением и аппаратным кодеком видео в h.264, и результат был просто замечательный! Правда использовать кодек h.264 не удалось, поскольку он не поддерживался фиджетами. Пришлось остановиться на MJPEG.
Пробовали также вариант подешевле Logitech HD Webcam C525 (сейчас стоит на онлайн трансляции с трассы), но видео опять стало подвисать.
Также заметили, что если рядом с камерой есть провода, то качество картинки значительно ухудшается, поэтому корпус от камеры снимать не стали, хотя с эстетической точки зрения было бы лучше, если камера находится в корпусе машинки.
Длину всех проводов пришлось укорачивать из-за помех, сказывающихся на работе камеры и wi-fi адаптера.
Неделя 3: Программирование
Заезды длятся 5 минут, одновременно в заездах может участвовать 5 машинок. Есть 2 запасные машинки, которые активируются, если у какой-то из 5-ти не проходит пинг.
Между заездами выделяется 1 минута на переключение управления от одного пользователя к другому.
Каждые 2 часа – технический перерыв на 30 минут на замену батареек и починку, если что-то вышло из строя.
Изначально мы думали, что самые большие проблемы возникнут с лагами видео, а точнее с задержкой сигнала, связанного с удаленностью пользователя от Москвы. Пользователи, которые находятся дальше двухсот киллометров от Москвы (где физически идут гонки), точно будут испытывать проблемы с катанием. Причем, они даже не поймут, что происходит задержка: просто машинка становится плохо управляемой — пользователь нажимал вперед, а машинка поехала только через полсекунды. Для движения вперед-назад это не слишком большая проблема, но для поворотов это было критично. Но ограничивать участие мы сочли не правильным и поступили следующим образом:
1) Все, кто жил в радиусе 200 киллометров, мог записаться на ближайшее время.
2) Другие города могли записаться, начиная с конца расписания
Проблемы с задержкой такой вариант не решал, но, во всяком случае, плохих отзывов в начале не было.
Позже мы расширили возможность записи на ближайшее время для всего центрального региона.
Видео
Для качественного катания было очень важно, чтобы задержка была минимальной, поэтому варианты с трансляцией видео с машинки через медиа сервер отпадал.
Были варианты, чтобы пользователь устанавливал себе Java плагин, но, во-первых, он много весил, а во-вторых, врядли кто-то будет его себе устанавливать. Также хотели использовать Flash элемент, но он требовал наличия файла безопасности crossdomain.xml на домене с видеопотоком, а на веб сервере фиджетов httpd не удалось настроить mime типы для xml файлов.
Остановились на следующем варианте:
Для FF, Safari и Chrome — используем средства самих браузеров, которые могут поддерживать MPEG поток. Для остальных браузеров Java script с обновлением картинок. В итоге в локальной сети задержка составляла 50 милисекунд (для справки — машинка становится практически неуправляемой при задержке пол секунды).
Управление
Иногда получалось так, что при подключении к машинке, не подключался DC контроллер, т.е. пользователь не мог ехать вперед/назад. Эту проблему мы устранили с помощью переподключения. Поэтому во время отсчета времени и первые несколько секунд после машинка стоит на месте, а спустя 10 секунд наконец начинает ехать.
Сервер
Сервер — это обычный компьютер со следующими параметрами:
— процессор Intel Core i3-2100
— материнская плата GIGABYTE GA-H61M-S2V-B3
— оперативная память DDR3 DIMM Hynix — 4 Гб
Загрузка процессора, если катаются 5 машинок, составляет не более 10 процентов.
Интернет
Мы планировали использовать выделенный канал на 100 мб. В итоге нам хватило канала 20 мбит. При одновеременном участии в заезде пяти машинок исходящий траффик составляет около 7 мбит. Входящий трафик вообще не значительный.
Сначала пробовали использовать домашний роутер от Trendnet. Однако при одновременном подключении трех машинок он начинал зависать. Положение исправил переход на роутер Linksys e1200 от Cisco.
Периодически возникают помехи в wi-fi сигнале, и пинг у машинок либо пропадает, либо становится нереально большим. Это происходит раз в 2 дня и длится минут 5-10, потом все стабилизируется. Четкую закономерность выявить не смогли. До сих пор интересно, что такое может включаться на Красном Октябре?:)
Самая большая проблема с управлением была связана с тем, что периодически пропадала связь с машинкой или пользователем в том момент, когда шел запрос “вперед/назад” — в этом случае машинка так и подвисала в движении вперед, утыкалась в препятствие и сжигала мотор.
Думали перейти на другую частоту передачи wi-fi сигнала (5ГГц), но для этого необходимо было переходить на роутер и wi-fi адаптеры с поддержкой частоты 5ГГц и устанавливать соответствующие драйверы на бортовой компьютер. Несмотря на то что на бортовом компьютере стоит линукс у Phidgets нет стандартного механизма для установки драйверов. Поэтому от идеи перехода на другую частоту отказались.
Неделя 4: Тестирование и запуск
В начале была построена трасса, представляющая из себя восьмерку, с плавным подъемом и крутым спуском.
На спуске был установлен магнит (обычный, для заточки ножей), который активировал магнитный датчик, чтобы фиксировалось время круга.
Регулировка скорости
Мы планировали сделать постоянную скорость машинок, ограничив ее таким значением, чтобы машинка без проблем забиралась на горку. Но столкнулись с зависимостью скорости от степени заряженности батарейки. После 4 кругов машинка уже не могла взобраться на подъем без увеличения скорости, а значит необходимо было бы менять батарейки или увеличивать скорость каждые 4 круга.
Выбрали второй вариант, чтобы максимально автоматизировать процесс и сократить технические перерывы. Регулировка скорости была вынесена в интерфейс управления машинкой. У пользователя появилась возможность прибавлять скорость с помощью кнопок A-Z, чтобы забраться горку.
Когда запустили проект, выяснилось, что подъем не очень интересный с точки зрения катания — он узкий, сложно развернуться, если врезался, и на нем застревает большинство пользователей. Подъем убрали и сделали круговую трассу с маленькой ступенькой, чтобы пользователь не смог проехать обратно.
Моторы
Пока на трассе был подъем, приходилось менять моторы, поскольку они горели из-за подаваемого напряжения, если машинка не двигалась с места. Вентиляторы от ноутбуков помогали охдаждать двигатель, но не всегда.
В какой-то момент моторы в Москве закончились:-) Пришлось ставить предохранитель, который разрывал контакт между контроллером и мотором при сильном нагреве. К сожалению, это приводило к тому, что пользователь в средине гонки просто останавливался и ждал, пока предохранитель остынет и восстановится. Сейчас такой проблемы уже нет, поскольку трассу пересторили.
Вентиляторы
Вентиляторы использовали самые обычные от ноутбуков:
В первом варианте сборки вентиляторы работали постоянно, напрямую запитанные от батарейки. Но в этом случае они быстро сгорали и, к тому же, сажали батарейку, поэтому вентиляторы подключили к отдельному порту контроллера, чтобы он включался только тогда, когда машинка ездит.
Корпус
Корпус был сделан из твердого пенопласта, закрывающего сверху, а по бокам — бампер из металических пластин. В процессе у нас отлетали уши и плавники, а яйца вываливались из гнезда, но сами корпуса остались целыми:
Может быть, хабрэффект, а может и еще что-то, но сегодня 5 машинок одновременно ездили с трудом. Поставили 2 роутера — стало лучше.
Обновление 2 — про систему учета времени круга
Еще одним из интересных вопросов на проекте был выбор системы учета времени круга. Было несколько вариантов.
Использовать готовое решение. Для офф-лайновых соревнований радиоуправляемых машинок многие клубы используют профессиональную систему учета времени My Laps. Система состоит из декодера, транспондеров, которые устанавливаются на машинки и рамки, фиксирующей пересечение финишной прямой. При этом если машинка пересекает финишную прямую в обратном направлении, то декодер это понимает.
Однако My Laps достаточно дорогое решение. Мы нашли интересную альтернативу — систему I-Laps, которая практически не уступает My Laps по техническим характеристикам, но цена получается в несколько раз дешевле.
У I-Laps есть собственное программное обеспечение для проведения соревнований. Однако для наших целей оно не подходило, поскольку там не было возможности выгружать данные из системы чтобы показывать время каждого круга и лучшее время круга по окончании заезда.
Еще нашли DCD timeR — с виду очень элегантное решение, и по цене было доступным. Но производители сказали, что не смогут сделать для нас API, чтобы мы выгружали данные к себе на сайт. А жаль — нам это решение очень понравилось.
Мы уже почти свыклись с мыслью что писать интеграцию с I-Laps, нам придется самим, но оказалось что к бортовому компьютеру можно подключить аналоговый магнитный датчик. При повышении значения магнитного поля он отправляет сигнал бортовому компьютеру. В качестве источника магнитного поля мы использовали магнит для крепления инструментов на стену. Gol задавал вопрос о том как мы справились с тем что машинки могут переезжать через финиш в обратном направлении. Пока решили с помощью ступеньки. Более интересное решений — поставить на каждую машинку по два магнитных датчика. Тогда по последовательности их срабатывания можно определить в каком направлении машинка пересекла финишную линию.
Желающих покататься действительно много — нам пришлось открыть ночные часы для заездов, чтобы все могли попробовать. Жаль, конечно, что не все смогли нормально погонять, но ведь это только начало!
За кулисами Red Bull Ралли на Тарантасах: Киев 2011
Пишет Майк Клименко, редактор журнала Автомания: В этот уикенд прошла сумасшедшая гонка на самодельных креативных автомобилях – Red Bull Ралли на Тарантасах (украинская версия международного проекта Red Bull Soap Box race, которому уже более 10 лет). На площади Славы (Киев) почти с самого утра собралось огромное количество людей, которые хотели лично посмотреть на невиданное гоночное шоу с участием 45 экипажей, команды знаменитостей и 2 экипажей вне зачета.
2. За день до ралли, участники разместили свои тарантасы в закрытом парке возле отеля «Салют». Там они докрашивали кузова, устанавливали декоративные элементы, проверяли тормоза и рулевое управление, а все для того, чтобы предстать перед болельщиками во всей красе. Кстати, дирекция гонки внимательно проверяла все тарантасы – они должны были соответствовать техническому регламенту ралли. В итоге к гонке допустили всех.
А бороться было за что: 3‑е место – игровая консоль (не уточняется какая), 2 место — поездка всей команды на соревнование Red Bull X‑Fighters в город Мадрид (Испания), 1 место – поездка для всех членов команды на Гран-при Формулы‑1: Абу-даби 2011, между прочим, не как «обычные посетители мероприятия», а в качестве специальных гостей команды Red Bull, а это означает, что им можно будет находиться в боксах команды за специальным прозрачным куполом и прочих местах, которые обычно разрешены для VIP.
Red Bull Ралли на Тарантасах Киев 2011: за полчаса до старта
Команды-участники выставили свои болиды возле отеля «Салют» и все желающие (естественно с пропуском на территорию мероприятия) теперь могли сфотографироваться, а многочисленная армия представителей масс-медиа начала съемки своих репортажей. Среди толпы иногда появлялся и украинский бомонд, о которых мы расскажем позже. Сейчас же начнем фоторепортаж с большими фотографиями от «АвтоМания».
4. В 12:30 по аллее Героев Крут еще можно было спокойно пройтись, но буквально через каких-то полчаса это стало нереально. Вдалеке расположен «старт» спуска гоночных болидов. Команды преодолеют трассу длиной 450 метров, причем каждый тарантас должен сделать несколько поворотов и подпрыгнуть на двух трамплинах.
5. VIP зона. Туда охрана не пускала прессу. Например, многие красивые журналистки пытались очаровать «человека в форме», но безуспешно, как и телевизионщики с профессиональной техникой
7. Возле Media и VIP зоны находился один из стендов, продающий атрибутику
8. Платформа для ди-джеев
9. Алексей Мочанов прибыл «судить» чудо-машины. Оценка проходила по трем основным принципам. Во-первых, креативность идеи, затем — как команда презентует себя на старте и, конечно же, учли скорость тарантаса.
10. Одна из камер на колесах. Всего в съемке задействовали 16 камер и 4 крана
11. «Интер» соорудил тарантас в виде кинокамеры и облачился в костюмы эпохи братьев Люмьер. Экипаж состоял из Каролины Ашион (ведущая «еМOneNews» на канале «М1»), Глеба Тимошенко и Игоря Диденко.
14. Далее мы направились осмотреть другие болиды соревнования:
21. Команда «АвтоМания» вместе с «самым быстрым евреем Украины» (по словам ведущих)
23. Старенькую рухлядь выкатили на стартовую площадку
25. Глеб Тимошенко и Игорь Диденко
28. Маршал на «треке»
32. За безопасностью отвечало много разных служб, в том числе и «пожарная»
33. Ира Champion – резидент KISS FM, телеведущая, радиоведущая, Dj, ведущая мероприятий, вокалистка, актриса и просто дизайнер
34. Ведущий «Red Bull Ралли на Тарантасах» — Евгений Кошевой (95 Квартал)
35. Член команды «ФастФуд»
36. Команда «Атака Клонів»
37. Алексей Мочанов
38. Телеверсию шоу готовит команда Profit Production
Red Bull Ралли на Тарантасах Киев 2011: гонка
39. К сожалению, старт ралли затянулся. В обещанные 13:00 еще можно было свободно гулять по трассе, телеведущих и участников возле арки «Red Bull» мы не наблюдали. А тем временем, несмотря на 30-градусную жару зрители продолжали «жариться» под солнцем
40. Далее прошло несколько пробных стартов записи телевизионного эфира
42. Справа налево: Алексей Мочанов, Валерий Харчишин (група «Друга ріка»), Максим Миллер (президент федерации дрифтинга Украины) и Наталья Добрынская (заслуженный мастер спорта Украины). Полный список судей: Елена Шоптенко, Илья Чичкан, Денис Силантьєв, мотогонщик Жульен Дюпон, Филипп Халла, Пикалов.
43. Алексей продолжает выступать на северной петле Нюрбургринга
44. Открыл гонку президент Автомобильной Федерации Украины Евгений Червоненко
46. Команда знаменитостей
47. Червоненко передал на сохранение шлем от Swarovski «95 кварталу» и поручил подарить его самой лучшей гонщице дня
49. С финиша к старту команду привозил (по словам ведущих) «safety car» от Volkswagen
51. Команда «ПроГМОти»
54. Команда «Royal Family»
58. Команда «Скажена Аліса»
60. Мочанов приехал на Subaru Impreza
62. Команда «Голубой вагончик (Racing Team)»
63. Денис Манжосов «Моня» (95 Квартал)
64. Дмитрий Обризан (ведущий Guten Morgen на М1) и Каролина Ашион (ведущая «еМOneNews» на канале «М1»)
65. Комментатор ведущих автоспортивных событий Максим Подзигун
68. Еще один ведущий Ралли на Тарантасах — Дмитрий Шепелев
70. Команда «Демчук енд Савчук офіс тім»
71. Команда «Good gave R’nR to you»
72. Команда «Битый PIXEL»
73. Команда «Пів-палки»
74. Дмитрий Обризан очень стеснительный — ни разу не смог не улыбаться, когда мы (АвтоМания) его фотографировали. Кстати, приехал на уикенд вместе с девушкой
75. Сергей Казанин «Степан» (95 Квартал) работал на середине гоночной трассы
78. «Демчук енд Савчук офіс тім» «перелетает» второй трамплин
79. На финише всех ждал «Лысый»
82. Команда «Бетакаротин»
84. «СтруMENs» умудрилась несколько раз упасть в течение спуска
86. Команда «VерхDном»
87. Финиш «Good gave R’nR to you»
89. Очень жаль было видеть отработанные машинки после заездов, которые краном грузили на утилизацию. У них была такая сложная и захватывающая судьба! Сначала конкурс проектов Red Bull, потом стадия сборки, поездка в Киев, прохождение трассы состязаний. На наш взгляд, они достойны чего-то большего, чем свалка.
90. После проезда команды «П’яна свиня» был объявлен небольшой перерыв
91. К сожалению, настоящего драйва увидеть не получилось, тарантасы ехали довольно медленно, а поднятие трамплинов большого эффекта не произвели. Причина проста – угол наклона аллеи недостаточен для развития оптимальной скорости для экстремального шоу.
92. В перерыве между заездами зрителей развлекал мотоциклист
96. Red Bull Land Rover Defender
98. Летящие «Нахлібники»
100. Мочанов покидает «Red Bull Ралли на Тарантасах Киев 2011»
101. Из-за жары к 17 часам значительная часть зрителей спряталась в тень или покинула мероприятие
102. Команда «Харьковские перцы»
103. Команда «Шалений чай»
104. Лучшим экипажем по мнению судей стала команда «Пекельна Чортяка». Несмотря на устрашающее название, это добрый поезд-привидение, который не только был креативно построен, но и развил немалую скорость на трассе. Ксению, Лёшу, Юру и Илью – членов экипажа-победителя «Пекельна Чортяка», можно смело называть творцами истории. В прошлом году этот дружный коллектив триумфально выступил на первом украинском Red Bull Flugtag, а вчера им не было равных в Red Bull Ралли на Тарантасах! Теперь победителей ждут незабываемые впечатления от поездки в Абу Даби на этап Формулы‑1.
105. «Пекельна Чортяка» также в самый последний момент одержала победу в сражении с итоговыми вторыми призерами, — командой из Днепропетровска «Под покровом ночи», которая показала лучшую скорость, пройдя трассу за рекордные 55 секунд. Третьим в зачете стал экипаж «Шалений чай».