Вот вы когда-нибудь, кому-нибудь завидовали? В смысле работы. Ну там «Вася работает в «надежды сбываются», Петя в зеленом банке штаны протирает, а Настя вообще в международном холдинге деньги ни за что получает». Я вот, до недавнего времени, от подобных мыслей был далек. Но все когда-то бывает в первый раз и теперь это чувство настигло и меня. И завидую я… простым инженерам компании, в которой работаю.
А началось все просто. Сижу я как-то на работе и изо всех сил изображаю мыслительный процесс за компьютером – «морщу лоб и прищуриваюсь» (с). Но тут меня от этого важнейшего занятия отвлекает какое-то подозрительное жужжание. Попытки не обращать внимания заканчиваются провалом и, плюнув на имитацию собственной бурной деятельности, я отправляюсь выяснять причину подозрительного «ж-ж-ж-ж-ж-ж».
«Жжжж», действительно оказалось не спроста. На просторах нашего офиса собрались инженеры, всячески доказывая истину, что первые сорок лет детства у мальчиков – самые трудные. Они, в свое рабочее время, за которое им еще и зарплату платят… гоняли машинку. Дорогую, между прочим, профессиональную гоночную машинку, купленную за деньги компании. «И вот это у них называется гордым словом «работа», - подумалось мне, - Совсем обнаглели».
Шутки шутками, но интересно же! Потому, дождавшись окончания тестирования (а это было именно оно) я приступил к выяснению деталей. Как бы не хотелось, но маркетолога не пошлешь, пришлось им удовлетворить мое любопытство.
Оказалось, что ребята решили сделать беспилотный автомобиль. Не с нуля, разумеется, зачем изобретать велосипед, а на основе проекта Массачусетского технологического института. Машинка была собрана по их инструкции, прошивку тоже установили согласно их рекомендациям. Саму машинку оснастили дорогим, профессиональным «железом» (если я напишу эти названия, то призову аццкого сотону, потому смотрите картинку ниже) и приступили к разработке алгоритмов в MATLAB/Simulink.
В двух словах, что же это за матлаб и симулинк такие. Если вы отправитесь в поисковик, то он выдаст вам кучу умных и малопонятных скучных слов, вроде «высокоуровневый язык технических расчетов». А на самом деле это очень интересно.
Предположим есть инженер, который ни разу не программист. И задумал он собрать пусть тот же беспилотник. Задал он все необходимые параметры и собрал схему, после чего пришел к программисту, потому как для платы необходим код. Но программист наш – никаким боком не инженер и код писал по своему разумению. В результате ничего не работает или работает не так.
Ладно, довели дело до ума, а тут оказывается, что не все предусмотрел наш инженер. Или схема его неверна. И все начинается сначала. А теперь представьте, что это не машинка, а реактивный самолет. Или атомная станция. Огромные деньги, время и, в случае атомной станции, еще и риск, что рванет и тогда никому мало не покажется.
MATLAB автоматически переводит все то, что там нафантазировал себе наш инженер, в код на порядки лучше и качественнее рукописного (и, плюс ко всему, намного быстрее), а Simulink моделирует и симулирует работу того, что получилось в результате. И все это на экране компьютера. Если вводные были неверны или недостаточны, это легко исправимо в том же матлабе. Поменяли, дополнили, нажали кнопку, получили код, посмотрели, что получается в результате.
Конечно, это до безобразия упрощенное объяснение. MATLAB и Simulink содержат огромное количество прикладных программ (toolboxes) предназначенных для авиационной и космической промышленности, автомобильных систем, систем связи, цифровой обработки сигналов, искусственного интеллекта, вычислительных финансов, системной инженерии и т.д., и т.п. Тут даже вычислительная биология. И работать в MATLAB и Simulink надо уметь, а не просто жать кнопки. Но конечный результат именно таков – то, на что раньше уходил год-полтора упорного труда большого количества специалистов, теперь занимает три-четыре месяца усилий небольшого (или относительно небольшого) коллектива инженеров, не говоря уж о существенной экономии финансов (об этом говорит опыт предприятий, использующих данные инструменты). Продуктам уже более двадцати лет, и они постоянно развиваются и дополняются, занимая лидирующие места на рынке высоких технологий.
Но вернемся к нашей машинке и ее создателям. В качестве "мозга" в нее была вмонтирована плата, которую устанавливают на реальные «взрослые» автомобили. Работает она под управлением Ubuntu Linux и ROS (Robot Operating System). Нет, я таки вызову сотону!)
Для того, чтобы на выходе получить настоящий беспилотник, инженеры собираются использовать возможности матлаб, лежащие в сферах компьютерного зрения и распознавания образов, алгоритмов картографии, локализации и планирования траектории, а также SLAM, работы с ROS и генерации независимых ROS-узлов.
Но пока завершен первый этап: машинка собрана, настроена и управляется с джойстика. Ну, а дальше планируется настройка симулятора (имитации) машинки и разработка первых алгоритмов локализации. Для этого один из наших специалистов утащил ее домой и развлекается с ней там. О результатах обещал рассказать позже и в доступных терминах, чтобы я мог продолжить этот рассказ.
Если же вы сами инженер и вам интересны технические подробности и недоступные простым смертным термины, вы можете почитать об этом проекте на нашем сообществе. Там же можно задать вопрос авторам проекта. Впрочем, если совсем лень, вопрос можно задать и здесь.
P.S. Просьба не относиться к написанному серьезно. Конечно, никто и я в том числе, не считает наших инженеров лентяями. Напротив, это высококлассные специалисты очень любящие свою работу.
#технологии #наука и техника #беспилотный автомобиль #matlab #simulink