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

Робот-пылесос. Photo by cottonbro from Pexels

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

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

Начало работы

Для первого раза вовсе не обязательно создавать что-то глобальное, достаточно даже собрать незамысловатого робота из LEGO, а потом попробовать освоить Arduino, чтобы создать что-то посложнее. После этого, два механизма можно объединить, добавить датчик касания, света, ультразвуковые датчики – все, что душе угодно – и так, шаг за шагом, вы научитесь создавать сложных и готовых к тяжелой работе роботов! Но перед тем, как начать создавать любого робота, сперва необходимо определится с его функциями и сферой применения.

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

"Hyundai industrial robots"by chrischesher is licensed under CC BY-NC-SA 2.0

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

Photo by Possessed Photography / Unsplash

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

Определившись с функциями робота, можно приступить и к следующим этапам его создания: моделированию, программированию и прототипированию.

3D-моделирование

Моделирование и робототехника – это мощные инструменты для познания сложного устройства жизни путем имитирования различных процессов. С развитием технологий, \(3\)D-моделирование начало набирать огромную популярность благодаря возможностям, которые дает нам трехмерная графика. Ее просторы подойдут для создания всего, что существует или еще не существовало в реальности: от простого брелка до протеза руки.

\(3\)D-моделирование и робототехника всегда идут под руку друг с другом, ведь именно возможности трехмерной графики позволяют создавать точные модели деталей для будущих механизмов, достаточно знать их размеры и назначение. Не только отдельные детали, но и полные \(3\)D-модели будущих проектов можно создавать в средах для трехмерного моделирования, что очень полезно для общей оценки внешнего вида робота. Кроме того, с помощью полной модели уже на начальном этапе разработки проекта можно определить правильное расположение деталей, что поможет избежать их порчи и повторного изготовления.

"Litto 3D Printer" by John Biehler is licensed under CC BY-NC-SA 2.0

Редакция рекомендует:

Для скульптинга идеально подойдет программа ZBrush, общее разноплановое \(3\)D-моделирование замечательно выполняется в 3ds Max, Blender, Maya, Mudbox, а также в некоторых средах, таких как 3ds Max, отлично реализованы функции визуализации и анимации. А вот для инженерного \(3\)D-моделирования лучше всех подойдет программа SolidWorks.

Трехмерная графика – это то, что двигает науку и производство, моделируя нашу сложную жизнь. Что уж говорить о ее важности при создании необходимых деталей робота. С каждым днем технологии \(3\)-моделирования становятся все более надежными и востребованными. Так почему бы не начать изучать их сейчас?

Программирование

"В процессе создания роботов есть две важные составляющие: инженерные решения и железо с одной стороны, и обработка данных и софт с другой. Чтобы быть робототехником, нужно понимать и разбираться в обоих вопросах, так как они одинаково важны. Роботы — это те же самые компьютеры, только с моторами и сенсорами. Думайте о них как об информатике, воплощенной в жизнь. В любом случае, чтобы постигнуть эту науку, вам придётся начать с разработки программного обеспечения, а значит, придётся выучить языки программирования", – комментирует основатель RobotAppStore.com, CEO в RobotsLAB,  учредитель IROB (Israeli Robotics Association) Эланд Инбер.

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

Сегодня существует огромное множество программ, различающихся интерфейсом и функционалом. В сфере робототехники наиболее часто используются языки программирования С++, Arduino и Python. На этапе программирования робототехник должен научиться правильно писать код, чтобы робот мог выполнить все команды верно. Метод проб и ошибок – лучшая стратегия в программировании, но в наших руках есть мощное оружие – интернет. Уроки, курсы, видео на YouTube – все эти ресурсы бесплатны и есть в открытом доступе! Кстати, на нашем YouTube канале мы выпустили базовый курс по Python.

Дельный совет от программистов, который поможет сохранить множество нервных клеток при восстановлении утерянного кода: сохраняйте свой код каждые 10 минут. И помните, что вы всегда можете по цепочке найти причину поломки робота.
Photo by Eric Krull / Unsplash

Прототипирование

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

Tinkercad давно известен как простая и бесплатная среда для обучения \(3\)D-моделированию и прототипированию. С ее помощью достаточно просто создать модель, протестировать ее, исправить ошибки, а потом сразу же отправить на \(3\)D-печать. Совсем недавно среда Tinkercard получила возможность создания электронных схем и подключения их к симулятору виртуальной платы Arduino. Эти крайне важные и при этом мощные инструменты позволяют существенно облегчить начинающим разработчикам Arduino процессы проектирования и программирования новых схем. Все, что необходимо, – устойчивый интернет и браузер!

Tinkercard предоставляет множество возможностей для работы в виртуальной среде за счет:

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

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

“Робототехника – это дисциплина, призванная смоделировать нашу жизнедеятельность”, – точно подметил Род Групен (Rod Grupen), директор Лаборатории перцепционной робототехники (Laboratory for Perceptual Robotics) Массачусетского университета в Амхерст (University of Massachusetts Amherst).
Изображение kiquebg / Pixabay

Заключение

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

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

Фонд «Beyond Curriculum» публикует цикл материалов «В чем прелесть предмета» в партнерстве с проектом «Караван знаний» при поддержке компании «Шеврон». Караван знаний – инициатива по исследованию и обсуждению передовых образовательных практик с участием ведущих казахстанских и международных экспертов.

Редактор статьи: Дарина Мухамеджанова