Embedded-хакатон как маленькая жизнь: победители делятся опытом с начинающими инженерами

 | 15.00

Embedded-технологии – это технологии, которые встраиваются в различные устройства, наделяя их способностью выполнять задачи. Электронные системы автомобилей, медицинские приборы, устройства передачи данных – эти и похожие на них по принципу работы девайсы могут не иметь операционной системы – встроенное (embedded) программное обеспечение напрямую взаимодействует с аппаратной частью устройства, управляя его работой. Это позволяет поместить программное обеспечение даже в самые миниатюрные устройства вроде банковских карт или медицинских имплантов.

Embedded-технологии требуют специализированных знаний для работы с конкретным типом железа и аппаратных технологий. Получить опыт работы с такими технологиями, если инженер не задействован в специализированном проекте, довольно сложно. Именно поэтому, еmbedded-хакатоны – отличная возможность для специалистов набраться квалификации в работе со встроенными системами.

Международные компании пытаются проводить различные мероприятия, чтобы знакомить начинающих инженеров с embedded-технологиями. Такое мероприятие, embedded-хакатон, недавно провела компания GlobalLogic. В рамках этого хакатона сформировалось 8 команд инженеров. Каждая команда программистов получала машинку с  интерфейсом передачи данных, который мог передавать сообщения, соответствующие V2X-стандарту. Он позволяет автомобилям взаимодействовать с окружающей средой: светофорами, дорогами и другими участниками движения. В рамках этого стандарта отдельно выделяют V2V (vehicle to vehicle) – позволяет автомобилям взаимодействовать между собой и V2I (vehicle to infrastructure) – взаимодействует с дорогой и светофорами. Все это – закрытые платные технологии, широко применяемые в автомобильной индустрии, и участники хакатона получили свой первый практический опыт использования этих технологий прямо на мероприятии. Задачей команд прошедшего хакатона было сделать так, чтобы машинка двигалась по дороге, избегая столкновений и соблюдая правила дорожного движения. Для этого инженеры GlobalLogic буквально создали мини-город со своей системой навигации и умной дорожной инфраструктурой: карета скорой помощи, светофоры и другие авто могли обмениваться между собой информацией о своем состоянии, местоположении, скорости движения.

Победителями хакатона стала команда из трех инженеров: Владимира, Евгения и Станислава. Станислав и Евгений сталкивались в работе с embedded-технологиями и до хакатона. Владимира очень интересовала тема и он хотел получить в ней опыт. Ребята встретились на хакатоне, выиграли его и теперь делятся своим опытом подготовки и стратегией, которая привела их к победе.

 

Владимир, инженер навигационных спутниковых систем:

“Стратегия работы команды – важная составляющая нашего успеха на хакатоне и в процессе реализации проектов. Для начала мы проанализировали все задания, которые получили. Из них мы распределили задания между собой, исходя из того, кто в чем лучше разбирается. Потом мы разделили задания на те, которые нам больше всего нравятся и те, которые принесут максимальное количество очков. Начинали работу с тех, которые и нравились больше, и могли принести очки. Таким образом у нас получилось сделать большинство заданий и получить максимальное количество очков, потому что когда задача нравится – ты ее скорее решишь. Поэтому я бы посоветовал не бросаться на первое попавшееся задание, а обсудить все имеющиеся с командой. Мы, в результате, все делали отдельно на разных машинах, но собирали и тестировали вместе на одной.

Как победителям, нам подарили те машинки, с которыми мы работали. И это для нас теперь не просто игрушка, а механизм, который интересно разобрать дома и даже показать детям, чтобы они учились”.

Станислав, студент второго курса специальности “Автоматизация и компьютерные технологии”, КПИ:

 

Главная характеристика нашей работы в команде – каждый делал то, что ему нравилось и так мы смогли все технические составляющие хакатона использовать как свое преимущество. Один из нас занимался девопсом и собирал билды, другой готовил окружающую среду, третий полностью отвечал за окружение и настройку. Когда разработанное решение начинало работать – мы понимали, что задача завершена и переходили к следующему заданию.

При получении задания мы сначала смотрели, какие данные к нам приходят и проверяли их, чтобы убедиться, с чем мы работаем. Так как времени было немного, мы обращали внимание на пользу, а не на красоту решения. Считаю, что в начинающих проектах это одна из главных особенностей – на построение “красоты” могут уйти месяцы, а то и годы, а к сути можно так и не перейти. А ведь тем временем технология V2X развивается. Эта технология хороша, если все машины без исключения могут общаться между собой, например, в одном регионе.

Некоторые организационные ограничения сыграли нам на руку. Например, не все команды поняли, что подход к площадке для тестирования занимает слишком много времени. Мы это осознали практически сразу и поэтому изначально создавали тесты для машинки. Мы записывали максимальное количество логов для реализации сразу на машинке, сделали парсинг координат, по которому распределяли скорость и расстояние. Из-за этого у нас вышел долгий старт, но максимально эффективная работа. Когда вы будете участвовать в подобных хакатонах, помните о том, что какой-то из этапов может идти медленнее или быстрее, чем вы ожидали. Но все будет оправдано, если вы четко знаете, что и зачем делает каждый из команды”.

Евгений, студент 4 курса специальности “Программная инженерия”, КПИ:

“Больше месяца мы с командой занимаемся разработкой технологий распознания дороги и дорожных объектов. Сейчас мы работаем над коммуникациями между машинами, чтобы они ехали. На хакатоне услышали несколько идей, которые могут помочь нам в будущем на V2X-проектах. Да и вообще на таких мероприятиях можно как с людьми познакомиться, так и с компаниями, их разработками и технологиями.

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

Конечно, во время хакатона были какие-то ошибки, и они всегда могут быть. Но так как время на разработку было ограниченное и у нас стояло задание реализовать, а не исправить чью-то ошибку, мы не особенно акцентировали внимание на том, чьи именно это были недоработки. Мы не искали причину в ошибке сегментации, когда некоторые участки памяти нам были недоступны для записи. Например, у нас было пять билдов, в которых мы увидели ошибку в синхронизации координат. Мы не разбирались в причине этого, просто поставили большую границу для ошибки системы. Таким образом мы не тратили время на установку точности и могли раньше вывести машинку из столкновения. Это тоже один из советов – четко решите, сколько у вас есть времени и на что его распределить рациональней всего”.

Robo User
Robo User
Web-droid editor