Книга для взрослой робототехники
Не утихают и по сей день споры о том:
-что такое робототехника?
— что можно называть робототехникой?
— что есть деление на взрослую (настоящую) робототехнику и детскую (образовательную) робототехнику.
— что arduino -это не про робототехнику.
и многое другое
Так как я непосредственно связан с педагогической деятельностью, а конкретнее с преподаванием робототехники, программирования и 3d моделирования, то, конечно, не мог пройти больные темы стороной.
И первый логический вопрос, а как же проходит изучение робототехники в других иностранных государствах, если образовательные роботизированные наборы считаются в России не обучающим материалом по робототехнике? Интересен также вопрос, а что идёт у ребят других государств после «конструкторов»?
В основном используются те же роботизированные наборы, но в более разнообразном варианте, работа с множеством адаптированных для образовательных целей микроконтроллеров и микрокомпьютеров. Раннее погружение в текстовые языки программирования, по сравнению с образовательной тенденцией в России, но с более прикладным характером.
То есть языки программирования изучают в первую очередь, не для того, чтобы знать, а для того, чтобы заработал правильно их проект. Для достижения поставленной цели, зачастую, существует множество алгоритмов. Интересен момент, что один и тот же проект, но реализованный на разных наборах или комплектующих, позволяет повторить уже изученный алгоритм на разных языках программирования, начиная от графико-визуальных и заканчивая высокоуровневыми.
Такой же подход прослеживается и в старшем возрасте.
Подавляющее большинство материалов по взрослой робототехнике изложено на английском языке. Для отслеживания динамики развития обучения и современных тенденций в сфере профессиональных компетенций, необходимо перенимать опыт иностранных коллег, благо их сообщество наиболее открыто в плане коммуникации и доступу к информации.
Одно из достаточно «взрослых» направлений в робототехнике — это работа с CAM, CAD 2D и 3D редакторами, интеграция взаимодействий компьютер(а/ов) с микроконтроллер(ом/ами), SLAM, компьютерное зрение, распознавание и синтез речи, конечное взаимодействие пользователя с роботом.
Для своего самообразования и внесения лепты в общедоступность к разработке и преподаванию более продвинутой робототехники, я периодически занимаюсь переводом литературы схожей тематики.
И осмелюсь предложить для ознакомления с книгой Лентина Джозефа «Изучение робототехники с помощью python», переводом которой я занимался. Ссылка на книгу
Чем мне привлекла данная книга?
Эта книга содержит информацию, как с нуля создать достаточно полноценного на данный момент робота, применяя технологии, накопленные за годы преподавания.
Автор для лучшей работы предлагает не пользоваться arduino и raspberry pi, но если вы их будете использовать, то в качестве макета-прототипа он будет неплохо работать. В книге есть советы по комплектующим материалам и электронике. По каждому элементу мной подобран альтернативный способ заказа. В основном — это aliexpress.
В книге есть материал по проектированию конструкции и созданию 3D модели робота для симуляции его поведения. Особое внимание уделено отладки устройства на виртуальном окружении с последующим переносом на физическое устройство.
Программная оболочка строится на популярном фреймворке ROS. Книга переиздана с указаниями на последние версии ROS и операционной системы Ubuntu.
Программирование робота опирается на использование свободного программного обеспечения, что также повышает порог вхождения робототехников.
Например, редактор по 3D моделированию — Blender (он также содержит встроенный редактор скриптов для языка python).
Достаточно подробно уделяется внимание настройке ROS и сопутствующих пакетов, а также созданию симуляции в редакторе Gazebo.
Несколько глав отведены информации по настройке и программированию микроконтроллеров и датчиков и моторов. Есть достаточно приличная математическая база по одометрии робота.
Кроме сборки робота и отладки его механических и электронных частей, также присутствует материал по обучению робота ориентированию в пространстве.
Минимальный порог для входа — это:
базовые знания языка python
опыт работы с микроконтроллерами типа arduino
базовые знания в 3d моделировании
базовые знания при работе с операционными системами Linux
базовые знания высшей математики и физики (на уровне понимания физических формул)
Зная это, можно спокойно спроектировать и запрограммировать робота, описанного в книге на базовом уровне (макет-прототип). Если же всё делать согласно книге, то по задумке автора у нас получается неплохой сервисный робот, работу которого не составит труда подкорректировать для своих нужд.