Понятия «робототехника» и «мехатроника»
В окружающем нас современном мире мы сталкиваемся с применением мехатроники и робототехники в различных областях: машиностроении, авиационной и космических отраслях, медицине, фармацевтической промышленности, при производстве спортивного оборудования, бытовой техники, продуктов питания. Так что же стоит за этими понятиями?
Термин «робототехника» происходит от двух слов «робот» и «техника». Впервые слово «робот» (от чеш. «robota», что переводится как «подневольный труд») употребил чешский писатель Карел Чапек в своей пьесе «Россумские Универсальные Роботы» («Р.У.Р»), вышедшей в 1920 году [1]. Роботами Чапек назвал механических людей. Термин же «робототехника» впервые использовал американский писатель русского происхождения Айзек Азимов в своём научно-фантастическом рассказе «Лжец», впервые опубликованном в американском журнале фантастики «Astounding Science Fiction» в 1941 году [2].
В современном представлении робототехника – это прикладная научная область, включающая в себя знания в области машиностроения, электротехники, электроники и вычислительной техники, которая занимается проектированием, строительством и применением роботов, а также компьютерных систем для их управления, реализации сенсорной обратной связи и обработки информации.
В Российской Федерации лишь в марте 2000 года Министерством образования был утверждён государственный образовательный стандарт высшего профессионального образования по направлению 652000 «Мехатроника и робототехника».
Термин «мехатроника» (образован от двух слов: «механика» и «электроника») впервые ввёл в 1969 году старший инженер компании Yakasawa Electric японец Тецуро Мория. Изначально это было названием торговой марки, но с течением времени понятие распространилось настолько широко, что стало нарицательным.
В России термин «мехатроника» заменил словосочетание «электрический привод», которое уже с начала 30-х годов XX века использовалось для обозначения технических систем, которые обеспечивали заданные движения механизмов, используя электричество.
Постепенно происходила интеграция элементов, которые составляли электропривод. Механика, электрические машины, силовая электроника, микропроцессорная техника и программное обеспечение часто теперь образуют единую систему. В настоящее время под мехатроникой понимают разнообразные системы электропривода, обеспечивающие прецизионные движения и обладающие развитой системой управления. К примерам мехатронных систем можно отнести промышленные станки с ЧПУ, автономные самоуправляемые транспортные средства и даже бытовую электронику, например, автоматические стиральные машины и офисные принтеры.
Специалист, занимающийся робототехникой и мехатроникой, должен обладать обширным багажом знаний и навыков:
- уметь программировать, используя различные алгоритмические языки;
- знать современную элементную базу и тенденции развития электроники;
- использовать алгоритмы искусственного интеллекта, включая алгоритмы машинного обучения, статистические и вероятностные методы;
- быть в состоянии создавать математические модели мехатронных и робототехнических систем и разрабатывать управление ими, используя математический аппарат кибернетики и теории автоматического управления (ТАУ);
- разрабатывать интеллектуальные интерфейсы и системы технического зрения, а также другие системы робототехнических комплексов;
- проводить анализ различных технологических процессов и вырабатывать рекомендации по их возможной автоматизации и роботизации;
- обеспечивать внедрение и эксплуатацию роботизированных устройств с соблюдением требований эргономики и безопасности.
Основные компоненты роботов
Как правило, любая робототехническая система состоит из механической, электрической и программной компонент.
Механическая часть
Роботы имеют различные механические конструкции, несущие рамы, детали обшивки, которые используются для решения той или иной поставленной задачи. Например, если мы хотим, чтобы мобильный робот мог перемещаться по бездорожью, то лучше всего для этого использовать гусеничные траки, поэтому формой робота может быть коробка с гусеницами. Механическая часть целиком зависит от условий окружающей среды, в которой планируется применение робота, и от связанных с ней физических процессов: гравитации, трения, сопротивления и так далее.
Электрическая часть
Соединительные провода, различные датчики, блоки управления, источники питания и прочее – всё это электрическая часть. Упомянутый выше гусеничный робот нуждается в источнике энергии для приведения в движение гусениц. Эта энергия поступает в виде электричества, передающегося по проводам от батареи. Даже машинам с двигателями внутреннего сгорания требуется электрический ток: для запуска двигателя. Поэтому большинство таких машин оснащено аккумуляторными батареями. Электрическая часть включает в себя и блоки управления двигателями, которые часто являются электромоторами. Для определения температуры, звука, местоположения и уровня заряда батареи для восприятия роботом окружающей среды и своего состояния используются электрические сигналы. Также роботам требуется некоторое количество электрической энергии, подаваемой на моторы и/или датчики для того, чтобы включаться и выполнять основные операции.
Электрическая часть роботов может включать в себя источники питания, актуаторы (исполнительные элементы), различные датчики, управляющую электронику и прочее.
Программная часть
Пожалуй, самой важной частью любого робота является его программная составляющая. Используя программу, робот решает, когда и как что-либо делать. Вновь обратимся к примеру с гусеничным роботом. Мы хотим, чтобы он передвигался, но даже если он имеет правильную механическую конструкцию и получает достаточное количество энергии от аккумуляторных батарей, он не движется. Почему? Что на самом деле заставляет робота двигаться? Это его программа. Даже если у вас есть пульт дистанционного управления (ДУ), и вы нажали кнопку, заставляя его двигаться вперёд, то по-прежнему будет нужна программа, относящая нажатую кнопку на пульте ДУ к действию движения вперёд. Программы являются ядром робота, он может иметь великолепную механико-электрическую конструкцию, но, если его программа создана некорректно, то выполняемая им работа будет сделана недостаточно хорошо, а то и не сделана вовсе. Есть три различных типа программ для роботов: ДУ, ИИ и гибридная. Аббревиатура «ДУ» расшифровывается как «Дистанционное управление», робот с этим типом программы имеет уже существующий набор команд, которые будут выполнены в случае, если он получит сигнал от источника управления. Большую часть времени источником управления является человек с пультом дистанционного управления. Возможно, рассматривать устройства, управляемые напрямую командами человека, более целесообразно в области автоматизации, а не робототехники. «ИИ» расшифровывается как «Искусственный интеллект». Роботы с программой такого рода взаимодействуют с окружающей средой самостоятельно, без источника управления. Роботы с ИИ генерируют решения для объектов/задач, с которыми они сталкиваются, используя ПО для решения, понимания, обучения и/или создания. Гибридные программы включают в себя как функции ИИ, так и ДУ. Например, робот, который может работать автономно, сталкивается с проблемой, генерирует два решения, как система ИИ, а затем полностью полагается на оператора, чтобы решить, что сделать, выступая уже в роли дистанционно управляемой системы.
Встраиваемые системы
Понятие «робототехника» в наши дни тесно связано с понятием «встраиваемая система». Роботы включают в себя целый набор различных встраиваемых систем, используемых для восприятия, реализации перемещений и управления.
Встраиваемая система представляет собой комбинацию компьютерного аппаратного и программного обеспечения и может быть дополнена механической или электронной частью для выполнения заданной функции [3]. Хорошим примером является микроволновая печь. Хотя она есть во многих домах, немногие осознают, что непосредственное участие в приготовлении обеда или ужина принимают компьютерный процессор и программное обеспечение.
Разработка встраиваемой системы для выполнения заданной функции существенно отличается от разработки программного обеспечения на персональном компьютере. Последний также включает аппаратное, программное обеспечение и механические компоненты (например, жёсткий диск). Однако персональный компьютер не разрабатывается для выполнения конкретной функции. Правильнее будет сказать, что он является универсальным устройством для выполнения множества различных операций. Часто для того, чтобы более точно отразить это различие, используется термин «компьютер общего назначения». Производитель компьютера не знает, как потребитель будет его использовать. Кто-то может использовать его в качестве файлового сервера, кто-то – для компьютерных игр, а некоторые будут производить на нём научные вычисления.
Зачастую встраиваемая система является частью некоторой большой системы. Например, современные автомобили и грузовики содержат множество встраиваемых систем. Одна встраиваемая система распознаёт и ликвидирует блокировку колёс при торможении, другая отслеживает и управляет газораспределением, третья отображает информацию на панели управления. В большинстве случаев автомобильные встраиваемые системы обмениваются данными через информационную сеть.
Важно отметить, что интерфейсы компьютеров общего назначения созвучны встраиваемым системам. Например, обычный персональный компьютер имеет клавиатуру и мышь, являющиеся, в свою очередь, встраиваемыми системами. Каждое из этих периферийных устройств содержит процессор и программное обеспечение для выполнения специфической функции. Другим примером служит сетевая карта Ethernet, которая необходима для приёма и передачи цифровых данных при проводном соединении. И это всё, для чего она предназначена.
Наличие процессора и программного обеспечения во встраиваемой системе может быть незаметным для пользователя устройства. Как в случае с микроволновой печью, MP3-плеером или будильником. В некоторых случаях можно даже построить функционально эквивалентное устройство, которое не будет содержать процессора и программного обеспечения. Это легко реализовать, заменив, например, комбинацию процессора и программного обеспечения специализированной интегральной схемой, предназначенной для выполнения той же самой функции. Однако комбинация процессора и программного обеспечения обычно даёт бо¢льшую гибкость, чем аппаратная реализация. Использование процессора и программного обеспечения во встраиваемой системе, как правило, является более простым, дешёвым и менее энергозатратным решением.
С точки зрения реализации, между компьютером общего назначения и встраиваемой системой есть существенная разница. Встраиваемым системам часто требуется обеспечить реакцию в реальном времени. Система реального времени определяется как система, чья работа зависит от своевременности ответа.
Системы реального времени различаются, и основная особенность каждой из них заключается в том, что произойдёт, если срок реакции системы не выдержан. Например, если система реального времени является частью системы управления полётом самолёта, то жизни пассажиров и членов экипажа может угрожать лишь пропущенная реакция на какое-нибудь отслеживаемое событие. Если же речь идёт о системе спутниковой связи, то результат несвоевременной реакции может быть ограничен одним пропущенным пакетом данных (который может иметь или не иметь катастрофических последствий в зависимости от реализации и схемы восстановления ошибок). Чем тяжелее последствия, тем более вероятно, что время реакции является «жёстким», и такая система является «жёсткой системой реального времени». Системы реального времени с меньшими требованиями для скорости реакции являются так называемыми «мягкими системами реального времени». На рисунке 1 показаны некоторые примеры жёстких и мягких систем реального времени.

Создание системы реального времени – это не просто работа над скоростью реакции. Время реакции для систем реального времени различается. В некоторых случаях время реакции может измеряться миллисекундами, в других же – часами. Основной проблемой для системы реального времени является реализация гарантии того, что жёстко заданное время реакции системы никогда не нарушается. Для того чтобы достичь этого, система должна быть предсказуемой.
Архитектура программного обеспечения и его взаимодействие с аппаратными средствами встраиваемой системы играют ключевую роль в обеспечении того, чтобы системы реального времени укладывались в свои временны¢е ограничения. Основные вопросы в разработке программного обеспечения состоят в следующем: достаточно ли просто опрашивать порты, или же следует использовать прерывания, и какие приоритеты должны быть присвоены различным задачам и прерываниям. Также важно понимать требования к минимальной производительности системы для выполнения конкретных действий.
Все встраиваемые системы содержат процессор и программное обеспечение. Но что ещё они в себя включают? Конечно, для работы с программным обеспечением необходимо место для хранения исполняемого кода и временное хранилище для обрабатываемых данных. Эти хранилища представляют собой запоминающее устройство (ПЗУ) и оперативное запоминающее устройство (ОЗУ) соответственно. Если требуется только небольшой объём памяти, то это может быть реализовано на одной с процессором микросхеме. В противном случае, один или оба типа памяти находятся во внешних микросхемах памяти.
Все встраиваемые системы также содержат некоторые типы входов и выходов. Например, в микроволновой печи входами являются кнопки на передней панели и датчик температуры, а выходами – дисплей и микроволновое излучение. Выходы встраиваемой системы практически всегда зависят от её входов и ряда других факторов (прошедшее время, текущая температура и т.д.). Входы в системе, как правило, выполнены в виде датчиков и зондов, сигналов связи или ручек управления и кнопок. Выходами являются, как правило, дисплеи, сигналы связи или изменения в физическом мире. На рисунке 2 приведена обобщённая схема встраиваемой системы.

За исключением этих нескольких общих черт, остальная часть аппаратного обеспечения обычно уникальна и, следовательно, требует уникального программного обеспечения. Эти вариации являются результатом комбинации многих проектных критериев.
Структура программного обеспечения для обобщённой встраиваемой системы, показанной на рисунке 2, изменяется в зависимости от требуемых функциональных возможностей. Аппаратное обеспечение является пустым холстом, а программное обеспечение является краской, которую мы добавляем для того, чтобы появилась картина. На рисунке 3 представлена только пара из великого множества возможных высокоуровневых схем, которые могут быть реализованы для таких обобщённых встраиваемых систем.

Драйверы устройств являются встроенными программными модулями, которые содержат набор функций для работы с отдельными устройствами. Использование программного драйвера устройства позволяет основному приложению не задумываться над тем, как управлять каждым компонентом в деталях. Каждому отдельному драйверу устройства, как правило, нужно знать только, как управлять своим устройством. Например, для микроволновой печи, отдельные драйверы устройств управляют клавиатурой, дисплеем, датчиком температуры и микроволновым излучением.
Если же требуется бо¢льшая функциональность, то во встроенное программное обеспечение необходимо включить дополнительные уровни. Представленная на рисунке 3б схема включает в себя операционную систему реального времени (Real Time Operating System, RTOS) и сетевой стек. RTOS может помочь программисту разделить функциональность приложения в различных задачах, что улучшит организацию прикладного программного обеспечения и поможет реализовать более гибкую систему. Сетевой стек также добавляется к функциональности базовой встраиваемой системы. Например, микроволновая печь может использовать его, чтобы вывести сообщение о готовности обеда на рабочий стол компьютера.
Объём используемой памяти и вычислительная мощность встраиваемых систем, как правило, ограничены. Это делает разработку программного обеспечения для встраиваемых систем более сложной, по сравнению с разработкой приложений для настольных компьютеров.
Число встраиваемых систем в ближайшие годы будет неизменно расти. Активное внедрение различных автоматизированных домашних помощников, развитие робототехники, технологий «Умный дом» и Интернета вещей приводят ко всё большему вниманию к встраиваемым системам со стороны разработчиков.
Литература
- Чапек К. Пьесы. Москва. Издательство «Искусство». 1959. Библиотека драматурга.
- Азимов А. Я, робот. Москва. «Знание». 1964.
- Programming Embedded Systems: With C and GNU Development Tools. 2nd Edition. O’Reilly. 2007.
Если вам понравился материал, кликните значок — вы поможете нам узнать, каким статьям и новостям следует отдавать предпочтение. Если вы хотите обсудить материал —не стесняйтесь оставлять свои комментарии : возможно, они будут полезны другим нашим читателям!

