Публикации сообщества

Андрей Корягин • 8 марта 2019

Книга для взрослой робототехники

Не утихают и по сей день споры о том:

-что такое робототехника?

- что можно называть робототехникой?

- что есть деление на взрослую (настоящую) робототехнику и детскую (образовательную) робототехнику.

- что arduino -это не про робототехнику.

и многое другое

 

Так как я непосредственно связан с педагогической деятельностью, а конкретнее с преподаванием робототехники, программирования и 3d моделирования, то, конечно, не мог пройти больные темы стороной.

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

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

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

Такой же подход прослеживается и в старшем возрасте.

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

Одно из достаточно "взрослых" направлений в робототехнике - это работа с CAM, CAD 2D и 3D редакторами, интеграция взаимодействий компьютер(а/ов) с микроконтроллер(ом/ами), SLAM, компьютерное зрение, распознавание и синтез речи, конечное взаимодействие пользователя с роботом.

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

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

робототехника_python

Чем мне привлекла данная книга?

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

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

В книге есть материал по проектированию конструкции и созданию 3D модели робота для симуляции его поведения. Особое внимание уделено отладки устройства на виртуальном окружении с последующим переносом на физическое устройство.

Программная оболочка строится на популярном фреймворке ROS. Книга переиздана с указаниями на последние версии ROS и операционной системы Ubuntu.

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

Например, редактор по 3D моделированию -  Blender (он также содержит встроенный редактор скриптов для языка python).

blender

 

Достаточно подробно уделяется внимание настройке ROS и сопутствующих пакетов, а также созданию симуляции в редакторе Gazebo.

Gazebo

 

Несколько глав отведены информации по настройке и программированию микроконтроллеров и датчиков и моторов. Есть достаточно приличная математическая база по одометрии робота.

Кроме сборки робота и отладки его механических и электронных частей, также присутствует материал по обучению робота ориентированию в пространстве.

PCL

openil

Минимальный порог для входа -  это:

  •  базовые знания языка python
  • опыт работы с микроконтроллерами типа arduino
  • базовые знания в 3d моделировании
  • базовые знания при работе с операционными системами Linux
  • базовые знания высшей математики и физики (на уровне понимания физических формул)

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

Приятного вам чтения. Ссылка на книгу