armrobotics2008, часть первая

О конкурсе уже писал smbatgogyan{.lj-user} здесь

Так как I was having fun, как видно на картинке

и мне было не до этого, я не писал, то есть не то чтобы совсем не писал, а не писал в ЖЖ 🙂

За день до мероприятия меня тоже можно было увидеть с двумя ноутами – в тот раз ноутбуки удобно расположились на рояле. Командам дали возможность потестировать роботов на поле с покрытием таким же, какое будет на конкурсе – рисунок тестовой трассы, понятное дело, отличался. А так как сие событие протекало в зале политехника, и рядом с роялем оказались розетки, то было бы глупо не использовать подручные рояли 🙂

“Зачем же целых два ноута?” – резонно спросите вы – и будете правы.
Во первых, конечно, для понтов. (“Ты же хакер!” (ц)) На самом деле, потому, что мне не удалось найти программатор avr с usb входом, а мой hovik made hand made программатор соединялся именно по параллельному интерфейсу. А lpt на моем ноуте нет!
Однако за два дня до конкурса меня осенило: если программатор не идет подходит к ноуту, то ноут может по до йти к программатору. Ноут с лпт портом оказалось достать просто в моем любимом офисе на Чаренца 1 🙂
Именно там я расстилал экспериментальную трассу, на скорую руку сделанную из ватмана и черной изоленты.
Сотрудники в нас верили, подводили всех гостей к крысе, и знакомили: “This is a rat… red rat… the winner… “ 🙂
Спасибо Вам, дарагие. 🙂 “Я тэбя люблу” (ц) грузинское отделение офиса.

Если помните, первоначально крыса имела несколько другой вид


А сейчас стала короче, стройнее, добавилось свободно вращающееся  колесо

так как без него повороты делать было трудно… я вернул робота дизайнеру и попросил все-таки заменить те два задние колесика на одно свободное, как на детской коляске, как и было задумано.
Однако это одно колесо оказалось слишком коротким… и часто крыса застревала на трассе, буксовала, потому, что падала на корпус, а колеса поднимались иногда в воздух.
Время и так поджимало, возвращать робота дизайнерам (Рубику с Кареном), чтобы они подправили длину колеса не совсем хотелось.
И я недолго думая взял ножницы и стал грубо резать аликобонд корпуса… Ножницы оказались не самым подходящим инструментом, и я продолжил работу офисным резаком… которым весьма успешно порезал себе палец, да так  глубоко, что не мог остановить кровь в течение пятнадцати минут, заляпал ею пол офиса, и понял, что такими темпами следующие пятнадцать минут мне ее тоже не остановить. Бегать в аптеку за пластырем не хотелось, так как сторожа меня в здание больше не пустят – типа поздно (“мужчина, не паложена”(ц)) а так они меня выкурить не могут из офиса, я их не слушаюсь. Звонить по знакомым и спрашивать как остановить кровь хотелось меньше всего, уже хотел поискать в интернете, как услышал звуки за дверью – кто-то выходил или входил в соседний офис. Через секунду женщина в коридоре у соседнего офиса увидела парня с засунутым в рот пальцем, который спрашивает, нету ли у нее пластыря.
 – Есть – ответила она… как раз оказался с собой – и поспешно дала мне
 – Спасибо – ответил я – а вы вернулись в офис или уходили?
 – Ушла, а потом вернулась
 – Можно спросить как так вышло? – поинтересовался я
 – Не знаю, просто захотелось вернуться – ответила она

Как вы уже догадались, вся работа была сделана в течение последних дней, ходовая часть и сама hardware крыса дошла до меня буквально за несколько дней до конкурса…
Примечательно, что электронщик команды, Hovik, он же  art_green{.lj-user}, махнул в хопан эмиграцию, и сейчас благополучно работает в славном городе Питере… на стройке… нет, не строителем… – электриком 🙂
(Знаю одного типа, владельца ряда магазинов в Ереване и Октемберяне, его друзья величают – “олигархом”, так вот он настолько озабочен влиянием мирового кризиса на Армению, что хочет закрыть свои магазины и уехать в Сочи работать крановщиком)

Соответственно возникшие проблемы пришлось решать без Овика… а вопросы возникли – пришлось менять расположение инфракрасных датчиков, снижать скорость движения, исправлять баг в пайке power switching supply – вообще работа типа исследовательской и трудно продумать все сразу, а затем ничего не менять.
   А самая большая проблема оказалась такой: часть датчиков вела себя непредсказуемо – казалось что видят они дорогу, или нет, зависит от чего угодно – времени суток, скорости дрейфующих айсбергов…
И тут неоценимой оказалась помощь электронщика Рубика – это на его столе сделаны фотографии выше
Я вообще концептуально был против обращаться к взрослому профессионалу, так как наша крыса отражает реальное положение дел в команде и мы такие какие есть… если есть, а Овика уже не было, и выхода не оставалось…

Для отладки я запрограммировал крысу так: перед стартом она просто зажигает определенный светодиод если видит определенным глазом линию. Пока не увидит дорогу, не начнет двигаться. Отверткой можно подкрутить переменное сопротивление, регулирующее чувствительность датчиков и добиться того, чтобы светодиоды зажглись… однако через некоторое время, даже если робота вообще не трогать… он переставал видеть, а точнее везде начинал видеть черный цвет… тогда приходилось подкручивать сенсор обратно
Другая часть инфракрасных датчиков видела линию четко, независимо от всего… то есть понятно, что по дороге между частью светодатчиков и микроконтроллером (мозгами крысы) происходило что-то загадочное.
Шутка дизайнера Рубика, когда он цитировал песню эмпи рей “sev u spitak, tars u shitak yes chem karogh tarberel” казалась совсем не к месту…
Моего недалекого в электронике ума хватало только на то, чтобы заподозрить слабый контакт или испорченное переменное сопротивление но в тот момент, когда на моих глазах светодиоды забытой на черной линии крысы постепенно, в течение пятнадцати секунд загорелись, я понял что тут о контактах нечего и думать – видимо когда что-то нагревается, чувствительность датчиков меняется. Но что? И почему?
Взял крысу – и к Рубику – электронщику.
 – Ну дорогой, откуда же я знаю где у нее плывет – развел руками Рубик. Тут у тебя и мультиплексор, и компаратор, и вот этот кондик может течь… вот этот воспик видишь? это конденсатор
 – Я знаю что такое конденсатор
– Ну его можем и поменять, но на самом деле надо детально обследовать все элементы… сколько говоришь у нас времени, завтра утром уже? да, не успеем, просто поменяем воспик, так как очень вероятно что он и течет
– А в электронике сборщика утечек не бывает? – спросил я
– Ну как сказать, – ответил Рубик – и стал работая объяснять мне насчет утечек и возможных методов борьбы с ними

В семь утра я проснулся и протестировал крысу. Вечером она как на зло работала превосходно, и до и после замены конденсатора. С утра опять глюки. Видимо, остыла, замерзла. Ее как машину зимой, нужно прогревать перед стартом – то есть заставить работать, ходить кругами, а при работе садится аккумлятор.
Кроме того, роботов перед началом конкурса забирают на допинг контроль, так как трасса уже видна и его можно перепрограммировать на прохождение конкретного  пути. Сколько времени нужно на прогрев крысы я точно не знал – каждая команда имеет в своем распоряжении 30 минут на подготовку и прохождение трассы. Успеет ли прогреться та неизвестная деталь, которая должна прогреться?

Да, и именно из-за этого возникли глюки с распознаванием знака поворота налево… я лихорадочно пытался изменить алгоритм так, чтобы крыса основываясь на интуиции делала эвристические выводы о наличии знака. Но не успел. Пора портировать libastral на avr микроконтроллеры :)))

Продолжение следует![]()

վայր՝ երեւան