[Прелесть робототехники] Начало футуристического будущего: как создаются роботы
Все статьи из цикла "В чем прелесть предмета"
Другие статьи из цикла "В чем прелесть робототехники":
Такая разная робототехника
Олимпиада по робототехнике: вдоль и поперек
У роботов нет времени нас убивать
Очумелые ручки (robotics edition!)
Как робототехника решает проблемы людей с инвалидностью?
Роботы уже достаточно давно используются в повседневной жизни, а создаются они по множеству разных причин, самая банальная из которых – обычная лень, ведь именно лень – двигатель нашего прогресса. Примерами таких роботов, созданных для удобства или, другими словами, из-за человеческой лени, являются робот-повар, робот-пылесос или наблюдатель за домашними питомцами.
При мысли об интегрировании роботов в жизнь человека многие представляют именно это – упрощение повседневной жизни и избавление от тягости бытовых дел. Однако не стоит забывать, что одной из главенствующих целей роботизации по-прежнему остается замена человека для выполнения опасных задач в экстремальных условиях: в глубинах мирового океана с нечеловеческими показателями давления, в космосе, где уровень радиации превышает все возможные нормы в тысячи раз, в производстве химических препаратов с постоянным риском неконтролируемых взрывов и чрезвычайных ситуаций. Роботы нашли свое применение для решения проблем мирового масштаба, начиная с систем экологической очистки, заканчивая кардио- и нейрохирургией.
Безусловно, все это звучит впечатляюще и наталкивает на мысль, что на создание роботов необходимы огромные ресурсы и очень сложные технологии. На самом же деле, что робот-хирург, что простенький "терминатор", собранный из LEGO и запрограммированный ходить по определённому маршруту, создаются по одним и тем же правилам и принципам, которые мы и рассмотрим в этой статье.
Начало работы
Для первого раза вовсе не обязательно создавать что-то глобальное, достаточно даже собрать незамысловатого робота из LEGO, а потом попробовать освоить Arduino, чтобы создать что-то посложнее. После этого, два механизма можно объединить, добавить датчик касания, света, ультразвуковые датчики – все, что душе угодно – и так, шаг за шагом, вы научитесь создавать сложных и готовых к тяжелой работе роботов! Но перед тем, как начать создавать любого робота, сперва необходимо определится с его функциями и сферой применения.
Может быть это будет промышленный робот, который будет применяться на заводах для осуществления функций управления, перемещения и движения. Главная особенность таких роботов в том, что в отличие от обычного человека, работающего на подобного рода предприятии, они не устанут и не попросят перерыв.
А может быть, это будет гуманоидный робот. Изначально созданные для сосуществования с человеком, они не нуждаются в специальной адаптации к человеческому быту (в отличие от роботов на колесах, к примеру), что является неоспоримым преимуществом.
Более подробно о других роботах и сферах их применения вы можете почитать в предыдущей статье цикла "В чем прелесть робототехники".
Определившись с функциями робота, можно приступить и к следующим этапам его создания: моделированию, программированию и прототипированию.
3D-моделирование
Моделирование и робототехника – это мощные инструменты для познания сложного устройства жизни путем имитирования различных процессов. С развитием технологий, \(3\)D-моделирование начало набирать огромную популярность благодаря возможностям, которые дает нам трехмерная графика. Ее просторы подойдут для создания всего, что существует или еще не существовало в реальности: от простого брелка до протеза руки.
\(3\)D-моделирование и робототехника всегда идут под руку друг с другом, ведь именно возможности трехмерной графики позволяют создавать точные модели деталей для будущих механизмов, достаточно знать их размеры и назначение. Не только отдельные детали, но и полные \(3\)D-модели будущих проектов можно создавать в средах для трехмерного моделирования, что очень полезно для общей оценки внешнего вида робота. Кроме того, с помощью полной модели уже на начальном этапе разработки проекта можно определить правильное расположение деталей, что поможет избежать их порчи и повторного изготовления.
Редакция рекомендует:
Для скульптинга идеально подойдет программа ZBrush, общее разноплановое \(3\)D-моделирование замечательно выполняется в 3ds Max, Blender, Maya, Mudbox, а также в некоторых средах, таких как 3ds Max, отлично реализованы функции визуализации и анимации. А вот для инженерного \(3\)D-моделирования лучше всех подойдет программа SolidWorks.
Трехмерная графика – это то, что двигает науку и производство, моделируя нашу сложную жизнь. Что уж говорить о ее важности при создании необходимых деталей робота. С каждым днем технологии \(3\)D-моделирования становятся все более надежными и востребованными. Так почему бы не начать изучать их сейчас?
Программирование
"В процессе создания роботов есть две важные составляющие: инженерные решения и железо с одной стороны, и обработка данных и софт с другой. Чтобы быть робототехником, нужно понимать и разбираться в обоих вопросах, так как они одинаково важны. Роботы — это те же самые компьютеры, только с моторами и сенсорами. Думайте о них как об информатике, воплощенной в жизнь. В любом случае, чтобы постигнуть эту науку, вам придётся начать с разработки программного обеспечения, а значит, придётся выучить языки программирования", – комментирует основатель RobotAppStore.com, CEO в RobotsLAB, учредитель IROB (Israeli Robotics Association) Эланд Инбер.
Построить робота – значит создать его оболочку, а запрограммировать робота – значит создать его интеллект, ведь без программы робот представляет собой лишь красивую конструкцию из металла и пластика, не умеющую что-либо делать. Таким образом, инженеру-робототехнику необходимо придумать алгоритм действий робота и прописать его на языке программирования.
Сегодня существует огромное множество программ, различающихся интерфейсом и функционалом. В сфере робототехники наиболее часто используются языки программирования С++, Arduino и Python. На этапе программирования робототехник должен научиться правильно писать код, чтобы робот мог выполнить все команды верно. Метод проб и ошибок – лучшая стратегия в программировании, но в наших руках есть мощное оружие – интернет. Уроки, курсы, видео на YouTube – все эти ресурсы бесплатны и есть в открытом доступе! Кстати, на нашем YouTube канале мы выпустили базовый курс по Python.
Дельный совет от программистов, который поможет сохранить множество нервных клеток при восстановлении утерянного кода: сохраняйте свой код каждые 10 минут. И помните, что вы всегда можете по цепочке найти причину поломки робота.
Прототипирование
В зависимости от цели и сферы применения робота разрабатывается прототип, который, исходя из требований к его функционалу и комплектации, совершенствуется и детализируется. Основной целью прототипирования является проверка баланса между функциональными и эстетическими характеристиками робота, а также проверка совместимости всех составляющих робота. Прежде чем рисковать своей платой, компьютером или деталями, попробуйте испытать вашу модель в виртуальной среде.
Tinkercad давно известен как простая и бесплатная среда для обучения \(3\)D-моделированию и прототипированию. С ее помощью достаточно просто создать модель, протестировать ее, исправить ошибки, а потом сразу же отправить на \(3\)D-печать. Совсем недавно среда Tinkercard получила возможность создания электронных схем и подключения их к симулятору виртуальной платы Arduino. Эти крайне важные и при этом мощные инструменты позволяют существенно облегчить начинающим разработчикам Arduino процессы проектирования и программирования новых схем. Все, что необходимо, – устойчивый интернет и браузер!
Tinkercard предоставляет множество возможностей для работы в виртуальной среде за счет:
- Встроенного редактора Arduino с монитором порта и возможностью пошаговой отладки.
- Готовых проектов для развертывания Arduino со схемами и кодом.
- Визуального редактора кода Arduino.
- Встроенных учебников и огромного сообщества с коллекцией готовых проектов.
- Симулятора электронных схем, с помощью которого можно подключить прототип устройства к виртуальному источнику питания и проследить? как он будет работать.
- Симулятора датчиков и инструментов внешнего воздействия с возможностью изменения показания датчиков и отслеживания реакции системы.
Это отличная возможность протестировать свои знания и навыки, не жертвуя имеющимися деталями и моделями. Проще говоря, вы сможете поэкспериментировать и наглядно посмотреть правильность установки и подключения всех деталей.
“Робототехника – это дисциплина, призванная смоделировать нашу жизнедеятельность”, – точно подметил Род Групен (Rod Grupen), директор Лаборатории перцепционной робототехники (Laboratory for Perceptual Robotics) Массачусетского университета в Амхерст (University of Massachusetts Amherst).
Заключение
Как вы видите, робототехники – это универсальные специалисты, программисты и инженеры в одном лице. Они знают не только как собрать и запрограммировать робота, но и знакомы с основными теориями механики (теории автоматического управления), глубинными понятиями математики и физики.
Начиная с идеи и прототипирования, заканчивая тестированием и внесением финальных штрихов, робототехники уверенно создают новые технологии, которые открывают нам мир в далекое и, конечно же, лучшее будущее, наполненное новаторством и инновациями!
Фонд «Beyond Curriculum» публикует цикл материалов «В чем прелесть предмета» в партнерстве с проектом «Караван знаний» при поддержке компании «Шеврон». Караван знаний – инициатива по исследованию и обсуждению передовых образовательных практик с участием ведущих казахстанских и международных экспертов.
Редактор статьи: Дарина Мухамеджанова