Мобильный робот "Зоркий"
Робот "зоркий" был создан для участия в полу-международных студенческих соревнованиях "мобильные роботы" и обучения команд студентов реальным познаниям в области электроники, программирования и ТАУ. На соревнованиях робот защищал честь МГУПИ
Мобильный робот умеет только передвигаться, но делает это с умом, ощупывая и осматривая пространство различными сенсорами (ультразвуковой дальномер, инфракрасный локатор, )
Робот на полигоне перед тренировкой. Максимальная скорость около 2.5м\с. Вес около 10 кг. Габариты 120\70. Управляется 5ю микропроцессорами |
При помощи одной из видеокамер робот умеет распознаванить светофор и принимать решение, что ему нужно делать на ближайшем перекрестке. |
Удивительно, но разрабатывать подобные вещи довольно сложно, в процессе приходят несколько нетривиальных выводов:
- Буквально в самом начале программирования робота пришлось отказаться от традиционных и привычных циклов(опроса датчиков, вычисления управления и т.п.): намного более эффективно использовать параллельные процессы с разными (гарантированно конечными) таймингами и прерываниями. В этом случае можно успеть сделать много чего на довольно ограниченных вычислительных мощностях.
- при программировании по внешним условиям нельзя использовать знаки "=", такие алгоритмы работать не будут. Допускается использовать только нечеткие условия, либо описывать варианты что должна делать программа в случае, если значения сенсора или датчика будут чуть выше или чуть ниже расчетных или предполагаемых; Значения датчика положение колеса практически никогда не может быть равно чему-то конкретному: в нужный момент опрос датчика может просто не состоятся, не успеть завершиться и т.п, так что корректно обрабатывать условие только больше-равно. Алгоритмы выполнения упражнения так же лучше строить на нечеткой логике, что бы программа особо не задумывалась в критические моменты, и уже заранее, предполагала, какое решение она примет.
- существует некоторое пороговое значение соплей и халтуры в электронно-механической части, ниже которого механизм разваливается быстрее чем ты его чинишь, и стабильной работы достичь практически невозможно. Это пороговое значение никак нельзя формализировать и ощущается оно только интуитивно с опытом, что то типа "так делать нельзя".
- чем решение проще, тем больше вероятности что оно заработает. Сложные алгоритмы, формулы 5+ порядка и т.п. вещи на практике, скорее всего, будут критически отличаться от моделей. Даже когда пишешь вполне законченно-логический алгоритм, и чувствуешь что программа получается слишком корявой и длинной, стоит остановиться и подумать еще, поискать альтернативные решения. Многие вещи, которые мы услышали на лекциях, только в тетрадке смотрятся солидно.
- Для решения многих задачек следует обладать неким необходимым набором знаний во всех областях (механика, электроника, программирование), в этом случае можно выбирать оптимальные решения одной и той же задачки из всех возможны.
- Не надо лениться моделировать процессы. У нас хоть как-то дело начало двигаться, только после реализации программы эмулятора полигона и робота на нем. Написать эмулятор оказалось намного проще, а пользы от него было неоценимо: куча алгоритмических ошибок отметалась на модели, вместо того что бы таскать по полу тяжелую железяку и заряжать под нее батарейки. Самое главное: появилась возможность писать программы и проверять наработки прямо дома, а на полигон мы приходили уже с более менее рабочими кодами. Насколько мне известно, все команды участники соревнований мобильный роботы, рано или поздно, пришли к тому же и под каждый робот создали свой эмулятор.
Устройство мобильного робота
Правила соревнований Мобильные роботы.
Что бы понять смысл упражнений "мобильные роботы" рекомендую посмотреть регламент соревнований: полное описание того, что робот должен уметь делать.
Вкратце, роботы должны осуществлять некоторые маневры, в зависимости от обстановки и внешних факторов, оценивается время, затраченное на комплекс маневров, либо точность.
Тренировка на полигоне, робот гоняет по полосе. Все выглядит немного коряво, геометрия просчитана не точно, камера висит косо, да еще и задержка управления не учитывается. |
Робот видит полосу при помощи аналоговой видеокамеры, далее картинка оцифровывается и обрабатывается в бортовом компьютере. Довольно простой и быстрый алгоритм умеет фильтровать блики и исключать помехи. |
Видео с тренировок перед соревнованиями "мобильные роботы 2007". Робот выполняет элементы упражнений "полоса с препятствием" и "восьмерка"
Что робот делает в этом фильме?В первой части фильма робот едет по полосе-траектории, отслеживая ее при помощи видеокамеры, и обрабатывая полученную информацию на PC совместимом бортовом компьютере. В процессе движение робот сканирует пространство перед ним ультразвуковым дальномером и если препятствие определено, то объезжает его. Во второй части фильма робот описывает фигуру "восьмерка" между двух инфракрасных маяков, свисающих с потолка полигона, их робот отслеживает специальным инфракрасным локатором. Как только робот видит, что маяки гаснут, он заканчивает маневры и едет к последнему финишному маяку. Все происходит на втором этаже Института механики МГУ, где нам великодушно давали потренироваться в процессе разработки мобильного робота. Чуть ниже можно увидеть смоделированное упражнение "восьмерка". |
|
А здесь?Выставка "день науки" в библиотеке МГУ. Какие-то показушные выступления, на которых уже надоело все показывать, и бота просто поставили кататься по полосе. Ну и откуда-то взялась собача. Только-только созрела идея записать ее голос с бота дистанционно и проиграть ей же (типа посмотреть что будет), но пришел охранник и все испортил. Все равно было прикольно, народу скопилось намного больше чем на всех остальных стендах. На предыдущем дне науки мы развлекались еще качественней: положили на робота кепку и катались (управляя через wifi, подсматривая через камеру), попрошайничая деньги. Робот клянчил человечьим голосом "подайте" "подайте на запчасти". За день катания наскребли около 500р мелочью :-) |
|
Мобильные роботы 2007 (франция)В начале видео идет небольшая презентация некоторых роботов участников, что бы понять разнообразие решений и конструкций. Среди прочих, по полосе двигаются корейский и французские боты. Во второй части фильма можно увидеть некоторые элементы упраждений, в которых участвовал Зоркий: восьмерка, полоса с движущимся препятствием, парковка. Ну и в конце, ест-но, церемония награждения нашей замечательной команды, которая тогда каким-то чудом заняла первое место. |
Моделирование робота. Эмулятор.
В процессе программирования мобильного робота, довольно быстро пришло понимание того, что необходимо создать модель(эмулятор) полигона и робота на нем, что бы отлаживать алгоритмы движения и маневров на компьютере, а не таскать железку по полу, по 20 раз выставляя ее на исходное положение. Так же порядком поднадоело заряжать и менять батарейки в процессе отладки программы. Стоит так же сказать, что случайное переполнение в простой программе приводит только к критической ошибке на экране компьютера, робот же может "взбеситься" и сильно долбануть об стенку, нанеся вред себе или предметам (пиковая мощность бота довольно высока, а с учетом массы и инерции удары получаются отменные).
Исключительно из практических целей была создана программа "эмулятор", которая позволила катать робота в виртуально пространстве, показывая ему виртуальные навигационные маяки
Характеристики эмулятора:
- Моделирование двигателей робота как систем третьего порядка, интегрирование диффуров в реальном времени.
- Расчет коэффициентов модели по науке, затем точечная подгонка под реальные переходные процессы
- Аналитическая апроксимация данных локатора (подобрали подходящую ф-цию 2х переменных 3ей степени) под реальные данные.
- Полная совместимость с реальным роботом, вплоть до функций коммуникаций с железом.
- Работа видео камер не эмулировалась (им проще подсунуть что-нибудь, нарисованное на бумажке)
- Эмуляция прошивки микроконтроллера низкого уровня (управляющего колесами).
- Визуализация происходящего+ , дополнительная информация в подробных логах движения(что-то типа телеметрии робота)
Смоделировать робота получилось довольно неплохо, за исключением динамики движения: эмулятор получился слегка заторможенным, но логически все было полностью совместимо.
На картинке ниже, можно увидеть как эмулируется упражнение Восьмерка (робот должен проехать между двух маяков, и крутить там "восьмерки" пока они не погаснут(этого на картинке не видно, но в тот момент был нажат Esc), после этого отправится к финишному маяку). В данном случае "восьмерка" рисуется однократно, что бы не утоплять зрителя :
На картинке: красные кружки, это навигационные инфракрасные маяки из упражнения (в эмуляторе выставляются мышью и гасятся Esc); зеленая траектория: движение точки, расположенной между ведущих колес робота (его логический центр координат); красная траектория - движение мачты локатора:
Локатор инфракрасных маяков в роботе это простенькая схемка, состаящая из аналогово частотного фильтра(маяки светят на частоте 16кГц) и усилителя. Далее сигнал шел в АЦП. В качестве приемного элемента используется фотодиод с оптимой и датчиком положения (инкрементным энкодером) локатора. Если робот видит перед собой инфракрасный маяк, схемка его перерабатывает и дает приблизительно такую картинку. В последней версии робота исользовалась еще более простая схемка, очень похожая на приемную часть ультразвукового дальномера, описанного на этом же сайте: услитель, компаратор и МК в качестве частотомера (на выходе только два сигнала 1 или 0). Для создания эмулятора инфракрасных маяков были сняты реальные данные на различных расстояниях, затем подогнана функция (с параметрами расстояние до, угол обзора) которая подсовывала роботу в эмуляторе виртуальные маяки.
В реальности эмулятор отображает все плавно с рассчетом управления в 1мс и прорисовкой в 33мс (просто картинка сделана анимированным GIFом, поэтому дергается).
А вообще эмулятор - довольно прикольная штука, заставляет кое о чем задуматься
Стоимость мобильного робота.
Изготовление подобного робота не шибко квалифицированными студентами обойдется в 50-100 тыщ. рублей. Много это или мало? Для кого-то много, для кого-то треть месячного дохода.
В нашем случае бюджет был растянут на 3года + еще институт активно поддержал. В любом случае важно понимать, что главное в этом деле это время. Если бы вся наша команда вместе с научруком пошла работать на все 3года хотя бы дворниками, а не выкручивала мозги боту, прибыли $$$ было бы на порядок больше (сравнение дурацкое, но теперь доджно быть точно понятно, что деньги тогда были не главным). И возможно мы так и сделали бы, но помешало стереотипное мышление родителей, что мол каждый должен отучиться в институте. Хорошо это или плохо, в самом низу черкну пару строчек...
Основные причины столь высокой стоимости это небольшой опыт (безрукость и безголовость) на начальном этапе, а так же в процессе дальнейшей разработки. Ротация команд на мобильном роботе происходит таким образом, что новички - это, как правило студенты второго курса, которые не могут сделать что-то более менее сложное, поэтому единственным выходом является "купить".
Основные расходы это:
- Двигатели-редукторы ведущих колес
- Усилители (до 5000р штука)
- Материнская плата с питанием и wi-fi
Далее деньги растекаются на остаток комплектующих и платок равномерно.
Мобильный робот Зоркий - звезда телеэкрана!
Когда в мире не происходит ничего важного, пустая болтовня политиков надоедает народу - в эфир чудесным образом прорываются сюжеты о науке и робототехнике. Всегда радовало, насколько телевизионцищи искажают происходящее: они показывают не то что происходит, а то что им нужно показать. В любом случае мобильный робот Зоркий стал звездой телеэкрана, и на память осталось несколько сюжетов.
Удивительно точно отметил Леонид Парфенов, на вручении премии Владислава Листьева: "Возможны показы и вовсе без инфоповодов – на прореженной эфирной грядке любой овощ будет выглядеть фигурой просто в силу регулярного появления на экране." Говорил он тогда конечно не про нашего бота, но лично мне вспомнились нижеуказанные моменты...
Робот Зоркий развлекает гостей на выставке Архимед, там же проходили мини соревнования, которые мы благополучно просяпали. |
Еще один сюжет про будущее робототехники. По телевизору все смотрися довольно неплохо, хотя на самом деле робот управлялся по проводу :-) |
А здесь на телеэкран попала даже французская команда, сюжет про подготовку к соревнованиям мобильные роботы. |
На выстовке "день науки МГУ" наш мобильный робот развлекает гостей, участников и журналистов, естественно попал в кадр. |
Сюжет НТВ с соревнований "Мобильные роботы 2008". "Зоркий" там так же присутствует, в кадр попала и новая супер команда бота, интервью мега-капитаном Ваней. |
CNewsTV о тех же соревнованиях 2008 года, в кадре засветился легенданрый бот, а так же еще один товарищ из новой команды. |
Четкое видео очень хорошего качетсва, видно даже сколько новых ультразвуковых дальномеров понапичкала вторая команда по бокам. От www.russia.ru (это ж получается бот знаминит на всю Russia ? :-). Соревнования "Мобильные роботы 2009" |
"Способен различать цвет дорожек, на заданном пути"... во сказал журналюга, сам не понял 100% :) Форум "роботы 2009", на котором тоже были соревнования и мега-бот опять всех сделал. |
Зачем все это нужно?
Организаторы соревнований и институтских команд давали хороший шанс, закончить учебу с некоторым набором знаний и практикой, а не в пустую протирать штаны, покупая сессии. За это я им очень благодарен, несмотря на то, что после окончания института, стало очевидно отсутствие нормальной работы по специальности.
В любом случае было очень весело, и умение не бояться совершенно новых, неизвестных задач и проблем, до сих пор помогает по жизни
Высшее техническое образование в России.
Посещая сегодня тренинги и семинары по работе, иногда вспоминаю институтские лекции: какая же это все дурь и скучища была:
- Дураки родители по инерции гонят своих сыновей в институты, что бы те получили специальность, «встали на ноги». Они не могут представить, как все это поменялось, и насколько отличается от советских годов. В те времена действительно люди получали специализацию кормящую их всю жизнь, современные же ГОС институты – пустая трата времени, выпускники работающие по специальности это большая редкость в Москве.
- Дураки студенты сами не знают чего хотят в 16 лет(помимо пить и трахаться, это понятно), если бы им четко сказали, что откосить от армии можно законно всего за 50-100 тыщ рублей они бы не убивали лучше годы своей жизни за скучными лекциями(5 лет это не шутки - это очень много!). Более того в 16 лет современная молодежь еще понятия не имеет кем на самом деле они хотят работать, и что им даст тот или иной ВУЗ (а на самом деле ничего не даст). Откуда взять деньги? Да деньги-то маленькие - можно запросто отработать за пол года, зачем убивать 5лет-то? Для тех кто ленится решать что-либо в своей жизни - можно сходить на годик отслужить, и быть свободным как ветер.
- Бестолковые и ленивые чиновники системы образования совершенно не хотят решать эти вопросы: им вроде бы пофигу, что вся вузовская система РФ работает в холостую. А ведь закрыть весь этот цирк – будет только лучше, увеличатся налоговые поступления, а о вопрос трудоустройства уволенных преподавателей вроде как отошел на второй план – они и так 80% пенсионеры. Но тогда и чиновники станут не нужны – меньше образования, меньше чиновников, их видимо это и не устраивает.
- Дураки работодатели местами все еще продолжают требовать дипломы о высшем образовании. Требования носят скорее формальный характер, все уже понимают, что и вузы не те, и образование не то – оно слабо пересекается с требованиями рынка. Однако это является некоторым «тестом на лень»: не поленился ли молодой человек прикупить себе дипломчик, или не справился даже с этой задачей. К слову сказать я не смотрю в графу образование, при приеме технического персонала на работу – решающими моментами является владение технологиями и практика: сразу видно может ли человек справится с той или иной задачей или нет, а больше мне знать не нужно, остальное уже личные качества, которые современные продажные институты ничуть не воспитывают. Тут надо так же понимать, что требование об обязательном высшем образовании при поступлении на работу формируется часще всего следующим образом: сидит какой-нить лох(реже сам диретор) и заполняет анкету вакансии на rabota.ru, доходит до графы, где надо выбрать: оконченное среднее или высшее.. думает что "высшее же будет лучше чем среднее при прочих равных", и так его и осталяет. Ключевое слово "прочих равных": если вы ничем не выделятесь из общей серой массы (мяса с ценниками на том же rabota.ru), тогда наличие диплома будет несомненным и скорее всего единственным Вашим плюсом.
- Ректоры, проректоры и профессора институтов живут в своем мире, полном интриг(пауки в банке) и событий явно надуманной важности. Читая лекции по системам с обратными связями и ТАУ, они сами никогда не заглядывали на www.rabota.ru и не думали, куда же пойдут трудится их студенты, и чему же их на самом деле стоит научить, в чем помочь. Они же в упор не понимают, что студенты ходят в институты "по инерции" либо только за армейской отсрочкой. Они делают вид(или считают так на самом деле) что это не их проблеммы, они учат чему умеют. На самом деле они обманывают студентов, а не учат (мнений много, но надо называть вещи своими именами).
Здесь я все больше говорю об обычных технических вузах, кафедрах и специальностях. Есть иллюзии что «наука» еще держится в передовых учебных заведениях, типа МГУ, однако процент людей, закончивших МехМат или ВМК, трудоустроенных в торговли слишком велик. Решаемые ими задачи далеки от высшей математики, все ближе "как платить меньше налогов, либо вовсе их обойти". Большинство людей занимается умными и нужными вещами, но все же далекими от специальности.
Экономические учебные заведения становятся более востребованные и более эффективные, но и там идиотская пятилетняя система обучения выглядит «притянутой за уши».
Данная страничка-описание робота является примером, как могло бы быть построено эффективное образование, если бы это было кому-нибудь нужно. Но вероятно, текущая ситуация полностью устраивает всех. В любом случае, проблема находится намного глубже: наука(образование) нужна только промышленности, а "замещение импорта" не есть приорететная задача, как выразился наш альфа-самец, лоббист трубы. Население же продолжает в целом поддерживать правительство и его курс, поэтому имеем что имеем, олимпиаду в Сочи например... :(
Всегда ваш, Письменный Николай
капитан команды "Зоркий" 2005-2007г.
mega16@mail.ru