В статье представлены понятия «робототехника», «мехатроника», «встраиваемая система». Рассмотрены исторические аспекты понятий и представлены основные компоненты робототехнических систем. Освещены основные составляющие встраиваемых систем, в том числе операционные системы реального времени (RTOS).
1 of 4
Download to read offline
More Related Content
Робототехника и встраиваемые системы
1. Робототехника
14 www.soel.ru современная электроника ◆ № 1 2015
В статье представлены понятия «робототехника», «мехатроника»,
«встраиваемая система». Рассмотрены исторические аспекты понятий
и представлены основные компоненты робототехнических систем.
Освещены основные составляющие встраиваемых систем, в том числе
операционные системы реального времени (RTOS).
Андрей Антонов (Волгоград)
Специальный проект журнала «Современная электроника»
и сайта robotosha.ru
Понятия «робототехника»
и «мехатроника»
В окружающем нас современном
мире мы сталкиваемся с применением
мехатроники и робототехники в раз-
личных областях: машиностроении,
авиационной и космических отрас-
лях, медицине, фармацевтической
промышленности, при производстве
спортивного оборудования, бытовой
техники, продуктов питания. Так что
же стоит за этими понятиями?
Термин «робототехника» происходит
от двух слов «робот» и «техника». Впер-
вые слово «робот» (от чеш. «robota», что
переводится как «подневольный труд»)
употребил чешский писатель Карел
Чапек в своей пьесе «Россумские Уни-
версальные Роботы» («Р.У.Р»), вышед-
шей в 1920 году [1]. Роботами Чапек
назвал механических людей. Термин
же «робототехника» впервые исполь-
зовал американский писатель рус-
ского происхождения Айзек Азимов
в своём научно-фантастическом рас-
сказе «Лжец», впервые опубликован-
ном в американском журнале фан-
тастики «Astounding Science Fiction»
в 1941 году [2].
В современном представлении робо-
тотехника – это прикладная научная
область, включающая в себя знания
в области машиностроения, электро-
техники, электроники и вычислитель-
ной техники, которая занимается
проектированием, строительством
и применением роботов, а также ком-
пьютерных систем для их управления,
реализации сенсорной обратной свя-
зи и обработки информации.
В Российской Федерации лишь в мар-
те 2000 года Министерством образова-
ния был утверждён государственный
образовательный стандарт высшего
профессионального образования по
направлению 652000 «Мехатроника
и робототехника».
Термин «мехатроника» (образован
от двух слов: «механика» и «электро-
ника») впервые ввёл в 1969 году стар-
ший инженер компании Yakasawa Elec-
tric японец Тецуро Мория. Изначально
это было названием торговой марки, но
с течением времени понятие распро-
странилось настолько широко, что ста-
ло нарицательным.
В России термин «мехатроника»
заменил словосочетание «электриче-
ский привод», которое уже с начала
30-х годов XX века использовалось для
обозначения технических систем, кото-
рые обеспечивали заданные движения
механизмов, используя электричество.
Постепенно происходила интегра-
ция элементов, которые составляли
электропривод. Механика, электри-
ческие машины, силовая электрони-
ка, микропроцессорная техника и про-
граммное обеспечение часто теперь
образуют единую систему. В настоя-
щее время под мехатроникой пони-
мают разнообразные системы элек-
тропривода, обеспечивающие пре-
цизионные движения и обладающие
развитой системой управления. К при-
мерам мехатронных систем мож-
но отнести промышленные станки
с ЧПУ, автономные самоуправляемые
транспортные средства и даже быто-
вую электронику, например, автома-
тические стиральные машины и офис-
ные принтеры.
Специалист, занимающийся робо-
тотехникой и мехатроникой, должен
обладать обширным багажом знаний
и навыков:
●● уметь программировать, используя
различные алгоритмические языки;
●● знать современную элементную базу
и тенденции развития электроники;
●● использовать алгоритмы искусствен-
ного интеллекта, включая алгоритмы
машинного обучения, статистиче-
ские и вероятностные методы;
●● быть в состоянии создавать мате-
матические модели мехатронных
и робототехнических систем и раз-
рабатывать управление ими, исполь-
зуя математический аппарат кибер-
нетики и теории автоматического
управления (ТАУ);
●● разрабатывать интеллектуальные
интерфейсы и системы технического
зрения, а также другие системы робо-
тотехнических комплексов;
●● проводить анализ различных техно-
логических процессов и вырабаты-
вать рекомендации по их возможной
автоматизации и роботизации;
●● обеспечивать внедрение и эксплуа-
тацию роботизированных устройств
с соблюдением требований эргоно-
мики и безопасности.
Основные компоненты
роботов
Как правило, любая робототехни-
ческая система состоит из механиче-
ской, электрической и программной
компонент.
Механическая часть
Роботы имеют различные механиче-
ские конструкции, несущие рамы, дета-
ли обшивки, которые используются для
решения той или иной поставленной
задачи. Например, если мы хотим, что-
бы мобильный робот мог перемещать-
ся по бездорожью, то лучше всего для
этого использовать гусеничные траки,
поэтому формой робота может быть
коробка с гусеницами. Механическая
часть целиком зависит от условий окру-
жающей среды, в которой планирует-
ся применение робота, и от связанных
с ней физических процессов: гравита-
ции, трения, сопротивления и так далее.
Робототехника и встраиваемые системы
Р о б о т о ша
2. Робототехника
15www.soel.ruсовременная электроника ◆ № 1 2015
Электрическая часть
Соединительные провода, различные
датчики, блоки управления, источни-
ки питания и прочее – всё это элек-
трическая часть. Упомянутый выше
гусеничный робот нуждается в источ-
нике энергии для приведения в дви-
жение гусениц. Эта энергия поступает
в виде электричества, передающегося
по проводам от батареи. Даже маши-
нам с двигателями внутреннего сгора-
ния требуется электрический ток: для
запуска двигателя. Поэтому большин-
ство таких машин оснащено аккуму-
ляторными батареями. Электрическая
часть включает в себя и блоки управле-
ния двигателями, которые часто явля-
ются электромоторами. Для опреде-
ления температуры, звука, местопо-
ложения и уровня заряда батареи для
восприятия роботом окружающей сре-
ды и своего состояния используются
электрические сигналы. Также робо-
там требуется некоторое количество
электрической энергии, подаваемой
на моторы и/или датчики для того, что-
бы включаться и выполнять основные
операции.
Электрическая часть роботов может
включать в себя источники питания,
актуаторы (исполнительные элемен-
ты), различные датчики, управляющую
электронику и прочее.
Программная часть
Пожалуй, самой важной частью
любого робота является его программ-
ная составляющая. Используя про-
грамму, робот решает, когда и как что-
либо делать. Вновь обратимся к приме-
ру с гусеничным роботом. Мы хотим,
чтобы он передвигался, но даже если
он имеет правильную механическую
конструкцию и получает достаточное
количество энергии от аккумулятор-
ных батарей, он не движется. Почему?
Что на самом деле заставляет робота
двигаться? Это его программа. Даже
если у вас есть пульт дистанционного
управления (ДУ), и вы нажали кноп-
ку, заставляя его двигаться вперёд, то
по-прежнему будет нужна программа,
относящая нажатую кнопку на пуль-
те ДУ к действию движения вперёд.
Программы являются ядром робота,
он может иметь великолепную меха-
нико-электрическую конструкцию, но,
если его программа создана некоррек-
тно, то выполняемая им работа будет
сделана недостаточно хорошо, а то
и не сделана вовсе. Есть три различ-
ных типа программ для роботов: ДУ,
ИИ и гибридная. Аббревиатура «ДУ»
расшифровывается как «Дистанцион-
ное управление», робот с этим типом
программы имеет уже существующий
набор команд, которые будут выпол-
нены в случае, если он получит сигнал
от источника управления. Большую
часть времени источником управле-
ния является человек с пультом дис-
танционного управления. Возможно,
рассматривать устройства, управляе-
мые напрямую командами человека,
более целесообразно в области авто-
матизации, а не робототехники. «ИИ»
расшифровывается как «Искусствен-
ный интеллект». Роботы с программой
такого рода взаимодействуют с окру-
жающей средой самостоятельно, без
источника управления. Роботы с ИИ
генерируют решения для объектов/
задач, с которыми они сталкиваются,
используя ПО для решения, понима-
ния, обучения и/или создания. Гибрид-
ные программы включают в себя как
функции ИИ, так и ДУ. Например,
робот, который может работать авто-
номно, сталкивается с проблемой,
генерирует два решения, как систе-
ма ИИ, а затем полностью полагается
на оператора, чтобы решить, что сде-
лать, выступая уже в роли дистанци-
онно управляемой системы.
Встраиваемые системы
Понятие «робототехника» в наши дни
тесно связано с понятием «встраивае-
мая система». Роботы включают в себя
целый набор различных встраиваемых
систем, используемых для восприятия,
реализации перемещений и управ
ления.
Встраиваемая система представляет
собой комбинацию компьютерного
аппаратного и программного обеспе-
чения и может быть дополнена меха-
нической или электронной частью для
выполнения заданной функции [3].
Хорошим примером является микро-
волновая печь. Хотя она есть во многих
домах, немногие осознают, что непо-
средственное участие в приготовлении
обеда или ужина принимают компью-
терный процессор и программное обе-
спечение.
Разработка встраиваемой системы
для выполнения заданной функции
существенно отличается от разра-
ботки программного обеспечения на
персональном компьютере. Послед-
ний также включает аппаратное, про-
граммное обеспечение и механиче-
ские компоненты (например, жёсткий
диск). Однако персональный компью-
тер не разрабатывается для выполне-
ния конкретной функции. Правильнее
будет сказать, что он является универ-
сальным устройством для выполнения
множества различных операций. Часто
для того, чтобы более точно отразить
это различие, используется термин
«компьютер общего назначения». Про-
изводитель компьютера не знает, как
потребитель будет его использовать.
Кто-то может использовать его в каче-
стве файлового сервера, кто-то – для
компьютерных игр, а некоторые будут
производить на нём научные вычис-
ления.
Зачастую встраиваемая система
является частью некоторой боль-
шой системы. Например, современ-
ные автомобили и грузовики содер-
жат множество встраиваемых систем.
Одна встраиваемая система распозна-
ёт и ликвидирует блокировку колёс
при торможении, другая отслежива-
ет и управляет газораспределением,
третья отображает информацию на
панели управления. В большинстве
случаев автомобильные встраиваемые
системы обмениваются данными через
информационную сеть.
Важно отметить, что интерфей-
сы компьютеров общего назначения
созвучны встраиваемым системам.
Например, обычный персональный
компьютер имеет клавиатуру и мышь,
являющиеся, в свою очередь, встраи-
ваемыми системами. Каждое из этих
периферийных устройств содержит
процессор и программное обеспече-
ние для выполнения специфической
функции. Другим примером служит
сетевая карта Ethernet, которая необ-
ходима для приёма и передачи циф-
ровых данных при проводном соеди-
нении. И это всё, для чего она предна-
значена.
Наличие процессора и программ-
ного обеспечения во встраиваемой
системе может быть незаметным для
пользователя устройства. Как в случае
с микроволновой печью, MP3-плеером
или будильником. В некоторых случаях
можно даже построить функциональ-
но эквивалентное устройство, которое
не будет содержать процессора и про-
граммного обеспечения. Это легко
реализовать, заменив, например, ком-
бинацию процессора и программно-
го обеспечения специализированной
интегральной схемой, предназначен-
ной для выполнения той же самой
функции. Однако комбинация про-
3. Робототехника
16 www.soel.ru современная электроника ◆ № 1 2015
Приложение
Приложение
Драйверы
устройств
Операционная
система реального
времени
Стек
сети
Драйверы
устройств
Аппаратное
обеспечение
Аппаратное
обеспечение
а б
Память
Входы ВыходыПроцессор
Системы не
реального
времени
Мягкое
реальное
время
Жёсткое
реальное
время
Электронный
двигатель
Потоковое
видео
Интерфейс
пользователя
Компьютерное
моделирование
АвтопилотТелекомму-
никации
Круиз-
контроль
цессора и программного обеспече-
ния обычно даёт бо′льшую гибкость,
чем аппаратная реализация. Исполь-
зование процессора и программного
обеспечения во встраиваемой систе-
ме, как правило, является более про-
стым, дешёвым и менее энергозатрат-
ным решением.
С точки зрения реализации, меж-
ду компьютером общего назначения
и встраиваемой системой есть суще-
ственная разница. Встраиваемым
системам часто требуется обеспечить
реакцию в реальном времени. Систе-
ма реального времени определяется как
система, чья работа зависит от своевре-
менности ответа.
Системы реального времени разли-
чаются, и основная особенность каж-
дой из них заключается в том, что про-
изойдёт, если срок реакции системы
не выдержан. Например, если система
реального времени является частью
системы управления полётом само-
лёта, то жизни пассажиров и членов
экипажа может угрожать лишь пропу-
щенная реакция на какое-нибудь отсле-
живаемое событие. Если же речь идёт
о системе спутниковой связи, то резуль-
тат несвоевременной реакции может
быть ограничен одним пропущен-
ным пакетом данных (который может
иметь или не иметь катастрофических
последствий в зависимости от реализа-
ции и схемы восстановления ошибок).
Чем тяжелее последствия, тем более
вероятно, что время реакции являет-
ся «жёстким», и такая система являет-
ся «жёсткой системой реального вре-
мени». Системы реального времени
с меньшими требованиями для скоро-
сти реакции являются так называемы-
ми «мягкими системами реального вре-
мени». На рисунке 1 показаны некото-
рые примеры жёстких и мягких систем
реального времени.
Создание системы реального вре-
мени – это не просто работа над ско-
ростью реакции. Время реакции для
систем реального времени различает-
ся. В некоторых случаях время реакции
может измеряться миллисекундами,
в других же – часами. Основной про-
блемой для системы реального времени
является реализация гарантии того, что
жёстко заданное время реакции систе-
мы никогда не нарушается. Для того
чтобы достичь этого, система должна
быть предсказуемой.
Архитектура программного обеспе-
чения и его взаимодействие с аппа-
ратными средствами встраиваемой
системы играют ключевую роль в обе-
спечении того, чтобы системы реаль-
ного времени укладывались в свои
временны′ е ограничения. Основные
вопросы в разработке программно-
го обеспечения состоят в следующем:
достаточно ли просто опрашивать пор-
ты, или же следует использовать пре-
рывания, и какие приоритеты должны
быть присвоены различным задачам и
прерываниям. Также важно понимать
требования к минимальной произво-
дительности системы для выполнения
конкретных действий.
Все встраиваемые системы содержат
процессор и программное обеспече-
ние. Но что ещё они в себя включают?
Конечно, для работы с программным
обеспечением необходимо место для
хранения исполняемого кода и времен-
ное хранилище для обрабатываемых
данных. Эти хранилища представляют
собой запоминающее устройство (ПЗУ)
и оперативное запоминающее устрой-
ство (ОЗУ) соответственно. Если тре-
буется только небольшой объём памя-
ти, то это может быть реализовано на
одной с процессором микросхеме.
В противном случае, один или оба типа
памяти находятся во внешних микро-
схемах памяти.
Все встраиваемые системы также
содержат некоторые типы входов
и выходов. Например, в микроволно-
вой печи входами являются кнопки на
передней панели и датчик температу-
ры, а выходами – дисплей и микро-
волновое излучение. Выходы встра-
иваемой системы практически всег-
да зависят от её входов и ряда других
факторов (прошедшее время, текущая
температура и т.д.). Входы в системе,
как правило, выполнены в виде дат-
чиков и зондов, сигналов связи или
ручек управления и кнопок. Выходами
являются, как правило, дисплеи, сиг-
налы связи или изменения в физи-
ческом мире. На рисунке 2 приведе-
на обобщённая схема встраиваемой
системы.
За исключением этих нескольких
общих черт, остальная часть аппарат-
ного обеспечения обычно уникальна
и, следовательно, требует уникального
программного обеспечения. Эти вариа-
ции являются результатом комбинации
многих проектных критериев.
Структура программного обеспече-
ния для обобщённой встраиваемой
системы, показанной на рисунке 2,
изменяется в зависимости от требуе-
мых функциональных возможностей.
Аппаратное обеспечение является
пустым холстом, а программное обе-
спечение является краской, которую
мы добавляем для того, чтобы появи-
лась картина. На рисунке 3 представ-
лена только пара из великого множе-
ства возможных высокоуровневых
схем, которые могут быть реализова-
ны для таких обобщённых встраивае-
мых систем.
Рис. 1. Системы реального времени
Рис. 2. Обобщённая встраиваемая система
Рис. 3. Примеры высокоуровневых схем
а – базовая схема встроенного ПО;
б – сложная схема встроенного ПО
4. Робототехника
17www.soel.ruсовременная электроника ◆ № 1 2015
Драйверы устройств являются встро-
енными программными модулями,
которые содержат набор функций для
работы с отдельными устройствами.
Использование программного драй-
вера устройства позволяет основно-
му приложению не задумываться над
тем, как управлять каждым компо-
нентом в деталях. Каждому отдельно-
му драйверу устройства, как правило,
нужно знать только, как управлять сво-
им устройством. Например, для микро-
волновой печи, отдельные драйверы
устройств управляют клавиатурой, дис-
плеем, датчиком температуры и микро-
волновым излучением.
Если же требуется бо′льшая функ-
циональность, то во встроенное про-
граммное обеспечение необходимо
включить дополнительные уровни.
Представленная на рисунке 3б схе-
ма включает в себя операционную
систему реального времени (Real Time
Operating System, RTOS) и сетевой стек.
RTOS может помочь программисту раз-
делить функциональность приложения
в различных задачах, что улучшит орга-
низацию прикладного программного
обеспечения и поможет реализовать
более гибкую систему. Сетевой стек
также добавляется к функционально-
сти базовой встраиваемой системы.
Например, микроволновая печь может
использовать его, чтобы вывести сооб-
щение о готовности обеда на рабочий
стол компьютера.
Объём используемой памяти и вы-
числительная мощность встраиваемых
систем, как правило, ограничены. Это
делает разработку программного обе-
спечения для встраиваемых систем
более сложной, по сравнению с раз-
работкой приложений для настоль-
ных компьютеров.
Число встраиваемых систем в бли-
жайшие годы будет неизменно расти.
Активное внедрение различных авто-
матизированных домашних помощни-
ков, развитие робототехники, техноло-
гий «Умный дом» и Интернета вещей
приводят ко всё большему вниманию
к встраиваемым системам со стороны
разработчиков.
Литература
1. Чапек К. Пьесы. Москва. Издательство
«Искусство». 1959. Библиотека драматурга.
2. Азимов А. Я, робот. Москва. «Знание».
1964.
3. Programming Embedded Systems: With C
and GNU Development Tools. 2nd Edition.
O’Reilly. 2007.