Неделя сборки и испытаний роботаРабочая неделя с 19 по 23 января английской стороной проекта HISMAR была назначена неделей сборки робота и испытаний. Необходимо было объединить три подсистемы робота и провести тестовое построение карты. Краткая справка: проект HISMAR (Hull Identification System for Marine Autonomous Robotics, т.е. система идентификации корпусов судов для автономных морских роботов) нацелен на разработку и изготовление прототипа робота, способного чистить корпуса судов в автономном режиме. Процесс состоит из двух этапов: создание карты в ручном режиме (однократно для каждого судна), чистка в автоматическом режиме (многократно по построенной карте). В понедельник я прибыл в лабораторию с большим опозданием, а там уже были все английские «хисмаритяне», а так же Алессио (Alessio) и Фабрис (Fabrice). С Алессио я уже был знаком по последней встрече консорциума. Работает в проекте от итальянской фирмы GraalTech. Они занимаются так называемой навигационной системой. В роботе она решает задачи тактического уровня.
Фабриса я видел впервые. Он работает во французской компании Robosoft, которая занимается в проекте транспортной системой, т.е. исполнительный уровень движения.
Станкин, который представлял я, занимается контролирующей системой (supervisory system), которая реализует стратегический уровень управления и интерфейс оператора. Работа шла очень интересно и увлекательно. Тот факт, что те люди, кто непосредственно разрабатывал системы с сетевыми интерфейсами, находились в одной комнате, давай очень большое преимущество – если что-то не работало, мы набрасывались на проблему с трех сторон, пытаясь выяснить, у кого же система работает не так, как хотелось бы. Дальше, выяснив местонахождение проблемы, мы пытались вникнуть в нее все вместе. Это помогало, потому что все трое программисты и примерно понимают что и как должно работать, даже не разбираясь в деталях чужого кода, а свежий взгляд часто помогал увидеть ошибки. Когда настало время испытать робот в движении со всем системами в работе, пришлось все компоненты, которые еще не размещены в ящике с электроникой, прилепить скотчем сверху. Крис назвал это «итальянский метод». Алессио, улыбнувшись, согласился.
Работа очень увлекала, поэтому периодически Крис с трудом отрывал нас и вел на обед.
Мы приходили в офис в 9 утра, до 9.30 пили кофе, после чего шли в лабораторию. В лаборатории мы работали до 6, потому что дальше здание закрывали, и нам приходилось останавливаться. Дальше мы шли ужинать. В первый и второй день мы с Алессио еще потом ходили в паб поболтать и выпить пива. Фабрис оба раза не смог с нами пойти – были какие-то срочные дела. А вот в среду и четверг, сразу из лаборатории я шел в офис, дописывать какие-то вещи в свою программу, менять интерфейс и т.д. Оба дня я уходил из офиса в 11, чтобы дома поспать и вернуться обратно. Может создаться впечатление, что мы работали втроем. Это не так – работали все, просто каждый над своим, поэтому наиболее тесно я общался именно с Алессио и Фабрисом Крис и Роза обсуждали что-то из области электроники. Честно скажу, что я не очень вникал, поэтому не могу рассказать.
Ноппадон занимался настройкой и наладкой оптических систем, которые разработал.
Джон монтировал датчики системы, разработанной им, которые находятся в самой нижней точке робота.
К концу третьего дня, когда были смонтированы все системы, а Фабрис сделал так, чтобы движением робота можно было управлять удаленно и уехал, робот выглядел примерно вот так:
В четверг мы настраивали оптические системы контроля движения. Сначал калибровали один датчик, потом второй. Добились того, что они начали давать ошибку примерно в 5 миллиметров на метре, то есть около 0.5%. Дальше не стали калибровать, скорее всего мы приблизились к максимуму точности. В пятницу настраивали магнитный датчик. Он сразу не хотел работать, в итоге мы его запустили и начали получать с него данные. Того, что было готово, было достаточно, чтобы провести тестовое построение карты лаборатории. Лабораторию разметили металлическими прутами, укрытыми широким скотчем.
Далее отвели робот в нулевое положение, включили режим картографирования и повели робот джойстиком по приблизительному пути.
В итоге получили именно то, что хотели – это означало, что все системы работали и работали правильно. Это стоило отметить!
Все были очень довольны и рады такому замечательному результату. Я, честно говоря, сомневался, что проект закончится удачно, учитывая тот факт, что он уже просрочен на полгода. Но после этой недели я уже практически уверен, что положительные результаты будут! ***Конечно, обошлось не без приключений. В какой-то момент, когда мы начали стоить одну из тестовых карт, а мы их построили около 5, я запустил систему со своей стороны и побежал в офис за фотоаппаратом. Перед этим я добавил в свою программу новый компонент визуализации данных магнитного датчика и еще не успел отладить его до конца. Когда я прибежал с фотоаппаратом, мне сказали, что моя программа выдала «деление на ноль» и аварийно завершилась. Обычная, казалось бы, проблема, которую я тут же решил. Но робот в тот момент двигался, получая команды от джойстика через мою программу. А как только она завершилась он перестал их получать, и не получил команду на остановку. Говорят, кого-то чуть не задавило – спасла кнопка аварийного отключения на крышке ящика с электроникой. Небольшое приключение ничуть не испортило настроение, а было еще одним поводом посмеяться и призадуматься. |