?
 

Короткая история одного робота

About Уничтожить всех уродов

Previous Entry Короткая история одного робота 19 апр, 2012 @ 23:49 Next Entry
Приключилось это пару лет назад. Было у нас два робота, почти близнецы-братья. Построены по одной схеме, только один тестово-макетный, другой демонстрационный. Тестово-макетный весь латаный-перелатаный - от изначальной конструкции остался только внешний вид, да сама концепция. Сколько мы с ним хлебнули горя - и не описать. То мозги в закрытом корпусе отрубались, то GPS рядом с видеокамерой работать не хотел, то связь с моторами пропадала... но, в конце концов, мы собрали его так, чтобы все системы работали бы вместе и именно так, как это подразумевалось.

И поехали на испытания.

Цель испытаний была простой: убедиться в работоспособности алгоритмов и протоколов. Собственно, этот робот именно для таких проверок и собирался, ибо боевые качества крайне невелики (хотя подтащить куда-нибудь мину, например, он вполне может.. или шпионить из кустов). В общем, приехали на полигон, разметили площадь буйками, закачали из гугль.мэпс фотокарточку территории и приступили к проверкам.

Робот прекрасно откликался на команды, слал телеметрию и рапортовал о батарейках, забитых под завязку наисвежайшими джоулями - по прикидкам, проход по тестовому кругу должен был занимать около пяти-семи минут, а всего энергии должно было бы хватить на шесть с половиной часов непрерывной работы моторами. Отлично!

Снарядили надувную лодку с электромоторчиком, собрали береговой "форпост" и центр управления на холме неподалёку и выкатили железного дровосека дуремара на песочек. Солнце уже жарило вовсю и я заодно пронаблюдал за тем, как почти мгновенно зацветает пресная вода - только что она была чистой и прозрачной, а щас уже превратилась в зелёный мутный бульончик.

Центр ещё раз проверил связь с роботом. Сопровождающая команда нарядилась в сухие гидрокостюмы, нацепила ласты и вооружилась фотовидео. Настал Момент Истины - спуск на воду в автономном режиме.

Робот почуял воду и чирикнул моторчиками. Покрутившись на месте, соориентировался и вышел к точке Zulu, встав "на рейд". Центр управления прислал команду "Патрулировать", моторы взревели зажужжали и робот поплыл! причём так шустро, что резиновая надувная лодка едва за ним поспевала. Мы засвидетельствовали два полных круга - аппарат шёл как по рельсам, чётко следуя невидимой прямой линии между точками. После третьего круга его остановили и заменили прошивку на ещё более правильную - так, чтобы он разворачивался в узловых точках чуть плавнее, немного притормаживая. После шестого круга откорректировали параметры алгоритма компенсации бокового дрейфа. Видеокамера чётко переключалась между режимами съёмки, байты телеметрии складывались в кило-, а затем и в мегабайты, моторы перелопачивали воду, энергия утекала из батарей.

Кто-то из наших поехал в город за арбузом и шашлыками.

Начальство с заказчиком укатило отмечать.

Я крутил трансивер, слушая эфирную тишину (из-за узкой диаграммы однодиапазонной УКВ-антенны я если и мог что-то услышать, то лишь при определённом совпадении условий). Робот продолжал ходить по точкам. Zulu-Alpha-Bravo-Charlie-Delta-Zulu-Alpha-Bravo-Charlie, с машинной пунктуальностью и упрямством. Напряжение на батареях неуклонно падало - система отработала останов, когда таймер показал 6 часов и 35 минут - совпадение с расчётными данными воодушевило всех участников операции. Уже весёлое начальство прислало СМСку - "выкатывайте второго".

Тут надо сказать, что из-за неоднократных пересмотров конструкции в аппарате были некоторые детали, кажущиеся бессмысленными. Например, в отсеке с мозгами было сделано окошко - когда-то подразумевалось, что напротив него будет установлена небольшая видеокамера, чтоб можно было смотреть, чё под водой делается. Но потом камеру перенесли наверх, чтобы она смотрела над водой. А окошко осталось. Ну и ладно, зато в него видно, какие светодиоды моргают - можно было диагностировать некоторые моменты в работе машины.

Так вот, первого вытащили (я проверил батареи - всё, пустые) и выкатили второго. Быстренько проверив связь, затолкали его в воду, залили новую прошивку с "полётным заданием" и сели есть арбуз. Центр управления у себя на холме открыл пиффко.

Прошло минут пять. Центр управления по радио сообщил, что от Второго не идёт видео. Ну да и хрен с ним, подумали мы, всё равно не очень-то надо (была мысль, что при видео можно нацеливать аппарат на какие-нибудь объекты, но отработку этой части алгоритма решено было перенести на потом). Тёплое солнце, птички поют, зелёная мутная вода лениво плещет. Вкусный арбуз. Ещё через минуту центр управления сообщает, что аппарат не шлёт телеметрию. Ну да и хрен с ней, подумали мы, всё равно уже понятно, что схема работает - а записей от Первого хватит для любых анализов... после чего центр управления добавляет, что аппарат перестал реагировать на команды.

Это уже не очень хорошо. Видео нет, телеметрии нет, на команды не отвечает. Буквально бунт машин. Смотрим в бинокль и видим: Второй бодрячком (свежайшие батареи, причём ещё и напряжение выше, чем у первого) херачит прям в открытые воды - совсем не по тестовому кругу, а вообще непонятно куда. Дрёма мгновенно слетает, бросаемся в надувную лодку - опаньки! а аккумулятор-то уже сел, моторчик еле телепается. Фигня вопрос, пойдём на вёслах! Как индейцы на каноэ, мы отчаянно гребли со скоростью примерно ... а хрен её знает какой, gps-трекер остался на берегу. Второй уже превратился в чёрную точку на беспокойных волнах, вышел из буфты и пёр в направлении, известном лишь ему одному. Нам отчасти помог попутный ветер. Кое-как догнав спятившего робота, попытались его отключить - бесполезно, не реагирует. Развернули его носом на берег, прицепились "на абордаж" и он потащил нас обратно.

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

И тут кто-то посмотрел в то вышеупомянутое окошко. Надо ещё сказать, что мы опасались появления в отсеках с электроникой конденсата - ведь закрываем-то мы всё на берегу, в тёплом влажном воздухе, а вода холодная. Запросто может образоваться конденсат, после чего поведение схемы станет непредсказуемым (если она вообще выживет) -- из-за чего предусматривалась технологическая операция "азотирования". Первого-то мы проазотировали, наполнив все его отсеки сухим азотом. А Второго как собрали, так и запустили... Так вот, смотрим в окошко и охреневаем - "нифига себе там конденсата!!!"

Стоп.

Конденсат конденсатом, но не до половины отсека же!..

Скручиваем гайки на окошке и вынимаем стекло... из отсека хлещет вода.

Пиздец. То ли кто-то забыл поставить уплотнитель, то ли корпус при сборке слегка перекосило - щас уже не понять. Факт в том, что где-то была щель, сквозь которую роботу буквально залило все мозги. Пока воды было мало, всё работало - система включилась, нацелилась куда надо и поплыла. Вода всё прибывала, робот плыл и, когда он дошёл до какой-то из узловых точек, он начал тормозить (ещё не разворачиваться!), дал небольшой дифферент на нос, и именно в этот отключился радиомодем (он в мозговом отсеке установлен ниже прочей электроники). Аппарат развернулся, прибавил ходу (получив дифферент на корму) и в этот момент отключился моск (плата установлена вертикально - её полностью не залило, но этого хватило). Батареи свежие, моторы дуют в полную силу, моск отключён - и вот уже робот-зомби плывёт в своё последнее путешествие...

Испытания были признаны успешно завершёнными - достижение Первого было неоспоримым.
Оставить комментарий
[User Picture Icon]
From:xosh
Date:Апрель, 20, 2012 07:13 (UTC)
(Link)
Круто. Есть такая тенденция, что опытный образец несколько не оправдывает надежд.

А почему в водоплавающей технике платы лаком не заливаются?
[User Picture Icon]
From:kincajou
Date:Апрель, 20, 2012 08:04 (UTC)
(Link)
Макет-то всё оправдал. А вот Второго просто собрали и даже не особо проверяли почему-то.

Заливаться должны, но ... :(
(Оставить комментарий)
Top of Page Разработано LiveJournal.com