Newcastle upon Tyne

Неделя сборки и испытаний робота

Рабочая неделя с 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, я запустил систему со своей стороны и побежал в офис за фотоаппаратом. Перед этим я добавил в свою программу новый компонент визуализации данных магнитного датчика и еще не успел отладить его до конца. Когда я прибежал с фотоаппаратом, мне сказали, что моя программа выдала «деление на ноль» и аварийно завершилась. Обычная, казалось бы, проблема, которую я тут же решил. Но робот в тот момент двигался, получая команды от джойстика через мою программу. А как только она завершилась он перестал их получать, и не получил команду на остановку. Говорят, кого-то чуть не задавило – спасла кнопка аварийного отключения на крышке ящика с электроникой. Небольшое приключение ничуть не испортило настроение, а было еще одним поводом посмеяться и призадуматься.