Робототехника для начинающих: курсы, книги и полезные ссылки

Подборка материалов, которые помогут войти в профессию.

Инженеры-робототехники занимаются проектированием, конструированием, программированием роботизированных систем. В июне 2017 года Boston Consulting Group оценила, что рынок робототехники к 2025 году вырастет до $87 млрд. В феврале 2018 года аналитики ResearchAndMarkets оценили этот показатель в $48,1 млрд.

Какие нужны знания

Современная робототехника строится на знаниях из области программирования, механики, мехатроники, электротехники, электроники и автоматического управления.

Для освоения робототехники на базовом уровне достаточно школьных знаний по математике и физике. Без понимания физики движения и принципов работы механизмов и электродвигателей сложно собрать функционирующего робота.

Затем идут информатика и проектирование. Так как программирование необходимо в робототехнике не меньше математики, важно разбираться в компьютерных науках и информационных системах. Проектирование поможет создавать удобные продукты. Но знания из других инженерных дисциплин тоже будут полезны.

Направления в робототехнике

Машиностроение изучает физические составляющие робота — его «тело». Подтемы — механика и сопротивление материалов. Большинство курсов в этом направлении ориентированы на физический дизайн и приведение робота в действие.

Электротехника и электроника или «нервная система» занимаются электрическими системами внутри робота, встроенными системами, низкоуровневым программированием и теорией управления. Обычно это автоматизация, которая строится вокруг контроля робота.

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

Онлайн-курсы

Площадка: Coursera.

Автор: Томский государственный университет.

Курс поможет слушателям определиться, в каком направлении робототехники они хотят развиваться: изучение структуры и кинематики, приводы, управление и программирование, организация производства, автоматизация проектирования и так далее. Для прохождения курса достаточно школьных знаний по математике и физике.

Площадка: edX.

Автор: Колумбийский университет.

Преподаватели затрагивают два класса роботов: кинематические цепи и мобильные базы. Слушатели учатся моделировать задачу доставки груза в указанное место. Для этого они получат знания о двумерных и трёхмерных пространственных проекциях.

Из курса студенты узнают, как управлять роботами и передвигать их, а также планировать полные роботизированные системы. Проекты выполняются на языках Python и C++. Также потребуются знания в высшей математике на уровне первого-второго курса университета.

Площадка: Coursera.

Автор: МФТИ.

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

Площадка: Future Learn.

Автор: Квинслендский технологический университет.

Специализация состоит из трёх курсов: от теории к практике. На первом рассказывают про перспективы робототехники и роль роботов в обществе. На втором преподают основы математики и программирования для передвижения роботов, необходимые в практических упражнениях. На третьем научат создавать и программировать простого робота с помощью LEGO Mindstorms.

Площадка: UdaCity.

Автор: Технологический институт Джорджии.

На курсе рассматриваются основные методы в искусственном интеллекте, включая вероятностный вывод, планирование и поиск, локализацию, отслеживание и контроль с упором на робототехнику. Программные примеры и задания применяются в контексте создания беспилотных автомобилей. Финальным проектом станет создание робота, который пытается убежать. Курс входит в программу Mercedes-Benz «Станьте инженером беспилотных автомобилей».

Площадка: Stanford School of Engineering.

Автор: Стэнфордский университет.

На курсе слушатели знакомятся с основами моделирования, проектирования, планирования и управления роботизированными системами. Материалы представляют краткий обзор знаний из области геометрии, кинематики, статики, динамики и управления. К каждой лекции прилагается стенограмма.

Площадка: «Открытое образование».

Автор: Университет ИТМО.

Преподаватели расскажут про моделирование робототехнических систем и создание алгоритмов управления. Слушатели научатся применять теоретические знания из физики и математики для решения задач управления на примере маятниковой системы.

Площадка: «Универсариум».

Авторы: совладелец и основатель RoboCraft Алексей Белоусов и руководитель и основатель Lab409 Данил Борчевкин.

Слушатели курса изучат основные принципы электроники и научатся применять их на практике. Студенты создадут простого робота, который любит темноту, объезжает препятствия и не падает со стола. Курс проходит на базе Arduino.

Площадка: «Универсариум».

Автор: заместитель директора ЦТПО МГУПИ Андрей Будняк.

На курсе студенты научатся писать программы к контроллеру Arduino, управлять исполнительными механизмами и считывать информацию с датчиков. Курс рассчитан на начинающих и не требует специальных знаний.

Площадка: EdX.

Автор: Массачусетский технологический институт (МТИ).

Слушатели знакомятся с нелинейной динамикой и контролем за неполноприводными механическими системами с упором на вычислительные методы. Изучаемые темы применяются для оптимального и робастного управления и планирования движения роботов.

Рассматриваются примеры из биологии и анатомии передвижения, парных манипуляций, подводных роботов и летательных аппаратов. Также у одного из преподавателей курса Русса Тедрейка есть одноимённая методичка, используемая для обучения в МТИ.

Литература

«Изучаем Arduino. Инструменты и методы технического волшебства»

Автор: Джереми Блум.

Робототехника для начинающих: курсы, книги и полезные ссылки

В книге Блум рассказывает про основы проектирования на микроконтроллерах Arduino, также он приводит базовые знания про аппаратное и программное обеспечение платформы. К каждому примеру прилагается список инструментов, монтажные схемы и описание листинга программы.

“Springer Handbook of Robotics”

Авторы: Бруно Сицилиано, Уссама Хатиб.

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

«Электроника для начинающих»

Автор: Чарльз Платт.

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

«Основы робототехники»

Автор: Анатолий Иванов.

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

“Probabilistic Robotics”

Автор: Себастьян Трон, Вольфрам Бургард, Дитер Фокс.

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

Книга знакомит с множеством методов и алгоритмов в области. Каждая глава содержит примеры реализации в псевдокоде, подробные математические объяснения, обсуждения практиков и большой список упражнений и проектов.

«Введение в робототехнику: механика и управление»

Автор: Джон Дж. Крейг.

В книге подробно описываются кинематика и динамика манипуляторов. В ней также рассматриваются генерация траектории, силовое, линейное и нелинейное управление. Теория сопровождается примерами и задачами, реализованными на MATLAB.

“Introduction to Autonomous Mobile Robots”

Автор: Роланд Зигварт.

Читателю предлагается обзор технологии мобильных роботов — механизмов, позволяющих устройству перемещаться в реальной среде для выполнения задач. В книге рассматривается локомоция, зондирование, локализация и планирование движения. Также описываются другие аспекты мобильной робототехники: проектирование, кинематический анализ, датчики, системы восприятия, картографии и управления роботами.

“Robotics, Vision and Control: Fundamental Algorithms in MATLAB”

Автор: Питер Корк.

Автор книги поддерживает более десяти лет набор инструментов MATLAB с открытым исходным кодом для робототехники и компьютерного зрения. Все они позволяют работать с реальными проблемами.

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

“Robot Building for Beginners”

Автор: Дэвид Кук.

Книга помогает читателю понять составные части разработки роботов. В ней рассказывается про анатомию роботов и составные части. Книга даёт представление о создании роботов и помогает понять, какое направление робототехники ближе к читателю.

«123 эксперимента по робототехнике»

Автор: Майк Предко.

Читатель знакомится с основами робототехники, радиоэлектроники и программирования микроконтроллеров для роботов с нуля. Автор не погружается в сложные математические формулы, но объясняет физику процессов, происходящих в роботе. Также приводит список программ с подробными комментариями.

«Настольная книга разработчика роботов»

Автор: Оуэн Бишоп.

Книга ориентирована на новичков и рассказывает про проектирование и создание роботов с нуля. Автор рассматривает поведение, навигацию и реакцию робота на объекты, механику и инструменты, электронику, схемы управления и программирование микроконтроллеров. В конце книги приводятся примеры создания пяти роботов.

Ссылки

  • Подборка материалов для начинающих от лаборатории «Робототехника» МФТИ, ВШЭ и МГТУ им. Н. Э. Баумана.
  • Карьерный уголок NASA, где учёные и инженеры агентства рассказывают, как они попали в робототехнику.
  • Конспект лекций курса «Введение в робототехнику» МТИ. На странице также есть описание лабораторных и практические задания к экзамену.
  • RoboticsCourseWare.org — открытый образовательный сайт для изучающих робототехнику с полезными курсами, книгами и ссылками.
  • EasyElectronics — сайт для начинающих электронщиков и тех, кто хочет развивать навыки.

Советы сотрудников российских ИТ-компаний и преподавателей вузов

Робототехника — не просто отрасль, но технология общего назначения, подобно электричеству, транспорту или канализации. Экономические исследования показывают, что роботизация имеет такой же трансформационный эффект на экономику, какой оказало изобретение паровой машины в эпоху первой промышленной революции в 18 веке.

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

Перечь материалов в статье — достойный. От себя добавлю также курс, к которому стоит присмотреться, — «Мой друг — робот: введение в социальную робототехнику».

Технологические конкурсы

Получив теоретические знания в области робототехники, не менее важно проверить их на практике. Сделать это можно в формате робототехнических инженерных соревнований.

Один из примеров — международный конкурс Eurobot. На площадке Eurobot соревнуются одновременно две команды, которые должны быстрее чем за 60 секунд выполнить ряд сложных логистических задач по сбору и перемещению различных объектов разной формы. Это соревнование, в котором могут принимать участие школьники с 8 до 18 лет и молодые инженеры, студенты от 18 до 29 лет.

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

Соревновательная робототехника — это контактные единоборства для тех, у кого астма. Именно в этих соревнованиях рождаются не только лучшие таланты, но и лучшие команды, в которых эти таланты светят ещё ярче.

Альберт Ефимов, руководитель Лаборатории робототехники «Сбербанка»

Сейчас есть много различных курсов для начинающих и продвинутых слушателей, посвященных дисциплинам, входящим в направление STEM (Science, Technology, Engineering, and Mathematics), то есть образующих именно ту основу, на базе которой развивается современная робототехника.

Есть курсы, которые знакомят с основами теории управления, математикой, конструированием, программированием контроллеров и простых робототехнических систем, например, на основе LEGO. Однако, на мой взгляд, разрыв между знаниями, которые могут дать эти курсы, и индустриальной робототехникой всё же достаточно велик.

Чтобы устранить этот разрыв, мы с коллегами (аспирантами кафедры МО ЭВМ СПбГЭТУ ЛЭТИ) создали небольшой онлайн-курс, посвящённый операционной системе ROS (Robot Operating System), которая используется в большом количестве промышленных роботов. Для обучения не требуется специальных знаний, достаточно быть немного знакомым с Linux и основами программирования на языках С или С++.

Также с 10 по 25 января 2019 года в Санкт-Петербурге пройдёт Зимняя школа для старших школьников и студентов начальных курсов Winter mini-degree program in STEM. Это совместная инициатива МТИ и объединения научных групп JetBrains Research.

В рамках школы участники пройдут комплекс STEM-дисциплин, включая разделы математики, программирования, архитектуры ЭВМ, разработки программ для роботов в ROS, а также выполнят мини-проект. Попасть в школу могут школьники старших классов и студенты начальных курсов, пройдя предварительный отбор.

Кирилл Кринкин, руководитель Лаборатории алгоритмов мобильных роботов JetBrains Research, заведующий кафедрой МО ЭВМ в ЛЭТИ

Приведённая подборка получилась достаточно обширной. Но позволю себе добавить свои рекомендации.

Курсы

— «Автономная навигация для летающих роботов», Мюнхенский технический университет.

— «Машинное обучение», Стэнфордский университет.

— «Управление мобильными роботами», Технологический институт Джорджии.

Открытые лекции от автора курса «Введение в робототехнику», Квинслендский технологический университет.

Книги

— Отличная книга по физике для начинающих робототехников «Теоретический минимум», Леонард Сасскинд, Джордж Грабовски.

— «Основы теории автоматического управления», Константин Поляков (обе части) — книги моего любимого автора по теории управления для начинающих.

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

Но в первую очередь необходимо понять, в каком направлении будете развиваться. Потому что охватить всё не получится. Обычно специалисты делятся на три лагеря.

— Мехатроника, в рамках которой конструируют и просчитывают основные узлы, составляющие робота.

— Электротехника и микроэлектроника, где рассчитывают электрические нагрузки, мощности двигателя, необходимые источники питания и электротехнические элементы, обеспечивающие необходимую мощность.

— Программирование, где специалисты работают с техническим зрением, анализом данных, обработкой информации, когнитивными сервисами.

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

Если вы захотите войти в профессию, начните с изучения востребованных вакансий на HeadHunter. Посмотрите, что сейчас актуально на рынке. Послушайте выступления руководителей робототехнических компаний: какой вектор развития они задают.

И после этого отправляйте резюме с описанием выполненных проектов по мехатронике, электронике или программированию. Желательно, чтобы в них была изюминка, а не простое повторение заданий курсов. Хотя успешное прохождение курсов тоже даёт хорошие шансы на вхождение в профессию.

Александр Капитонов, доцент и главный научный сотрудник факультета систем управления и робототехники Университета ИТМО

К списку книг можно добавить «Теорию автоматического управления» — это хардкорнейшая книга. Буквально библия, без которой все попытки заняться робототехникой — это просто «поиграть».

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

Так как робототехника находится на стыке трёх наук (механика, электроника и компьютерное управление), то и подходить стоит с той стороны, которая вызывает наибольший интерес:

— Заняться изготовлением механики, углубиться в принципы проектирования манипуляторов, кинематические цепочки, изучить сопротивление материалов, при этом добавить готовую электронику и взять открытые алгоритмы для управления.

— Погрузиться в электронику, в низкоуровневое управление приводами, в обработку данных с датчиков, преобразование управляющих сигналов с силовые, при этом взять готовые механизмы и использовать открытые алгоритмы для управления.

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

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

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

Вадим Балашов, руководитель группы разработки Mail.Ru Group
2626
21 комментарий

Однозначно в закладки 👍🏻

6
Ответить

Только вот сдается мне, что без нормального физмат образования делать в этой сфере нечего - порог вхождения достаточно высокий. Это не говнокод ваять после месячных курсов и пары-тройки книжек.

1
Ответить

Комментарий недоступен

4
Ответить

Круто статья полезная 👌

1
Ответить

Вот ещё базовый курс по робототехнике (robolab) от 239 на Лекториуме. Легендарный Филиппов.

https://www.lektorium.tv/mooc2/27788

1
Ответить

Статья отличная, спасибо за труд.

В робототехнике, как и в любом творческом деле, никуда без вдохновения. Найти можно тут — https://www.instructables.com/technology/arduino/ — отличные проекты с подробным описанием и инструкцией для воспроизведения. Требуется базовый технический английский, но это невелика проблема.

1
Ответить

Чем больше у них работы, тем меньше у нас работы : )

1
Ответить