RU2671987C1 - Манипулятор - Google Patents
Манипулятор Download PDFInfo
- Publication number
- RU2671987C1 RU2671987C1 RU2017132371A RU2017132371A RU2671987C1 RU 2671987 C1 RU2671987 C1 RU 2671987C1 RU 2017132371 A RU2017132371 A RU 2017132371A RU 2017132371 A RU2017132371 A RU 2017132371A RU 2671987 C1 RU2671987 C1 RU 2671987C1
- Authority
- RU
- Russia
- Prior art keywords
- block
- dynamic
- manipulator
- blocks
- drive
- Prior art date
Links
- 230000003068 static effect Effects 0.000 claims abstract description 11
- 230000005540 biological transmission Effects 0.000 claims abstract description 3
- 230000015572 biosynthetic process Effects 0.000 claims abstract 2
- 238000004519 manufacturing process Methods 0.000 abstract description 16
- 230000003252 repetitive effect Effects 0.000 abstract description 3
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000003471 mutagenic agent Substances 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/08—Programme-controlled manipulators characterised by modular constructions
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
Изобретение относится к области робототехники и может быть использовано в производственных процессах для автоматизации выполнения повторяющихся операций. Манипулятор содержит статические и динамические блоки, выполненные с возможностью соединения друг с другом соединительными площадками с образованием цепочки блоков заданной конфигурации с динамическим блоком в качестве оконечного устройства манипулятора. Каждый динамический блок выполнен с возможностью линейного или поворотного перемещения и расположения в двух конечных положениях и содержит пневматический или гидравлический привод и модуль управления приводом, выполненный с возможностью передачи управляющих сигналов и питающего напряжения на следующий блок, а статические блоки выполнены в виде удлинителя или колена. При этом соединительные площадки статических блоков содержат электрический соединитель, обеспечивающий передачу управляющих сигналов и питающего напряжения на следующий блок, а каждый динамический блок выполнен с возможностью задания его положения двоичным кодом, при этом каждый бит отвечает за состояние одного блока. Изобретение обладает универсальностью, простотой конструкции и управления и обеспечивает автоматизацию производственных процессов. 3 з.п. ф-лы, 6 ил.
Description
Область техники
Изобретение относится к области робототехники и может быть использовано в производственных процессах для автоматизации выполнения повторяющихся операций.
Известный уровень техники
Известен патент US 4766775 (А), опубликован 30.08.1988 г., «Modular robot manipulator)). Раскрыт модульный роботизированный манипулятор. Манипулятор использует базовый модуль, любое количество обычно одинаковых, но подходящих размеров артикуляционных модулей, модулей расширения, которые могут потребоваться, и рабочий орган робота для выполнения задачи, назначенной манипулятору. Шарнирные модули сконструированы так, чтобы иметь три разных движения вокруг трех разных осей, которые пересекаются в общей точке, для осуществления диапазона возможного движения, определяющего мнимую сферу. Этот модуль также сконструирован для обеспечения отдельного вращательного момента через выходную муфту к следующему модулю. Для соединения модулей используются переключаемые в форме катушки замки. В рабочем органе робота или захвате используется вращающийся вал и следящий элемент, соединенный через кабель и шкив, для управления захватами.
Известен патент US 6084373 (А), опубликован 04.07.2000 г., «Reconfigurable modular joint and robots produced therefrom)). В настоящем изобретении предлагается реконфигурируемый модульный приводной узел, который может использоваться в качестве основы для построения и конфигурирования роботизированных и автоматизированных систем как взаимосвязанной сети отдельных узлов, причем каждый узел представляет собой единое модульное соединение. Каждый модульный шарнир может быть быстро настроен в конфигурации с поворотом, тангажом или рысканием. Большое количество различных структур роботов может быть построено с использованием небольшого количества модульных соединений в любой из этих трех конфигураций. Модули оснащены механизмами быстрого подключения, так что новая роботизированная структура может быть собрана за несколько минут. Робот или другая автоматическая система, собранная из таких модульных соединений, является настоящей реконфигурируемой и модульной системой. Система управления децентрализована. Каждое модульное соединение снабжено собственной встроенной системой управления и электроникой. Каждое модульное соединение включает в себя двигатель и связанные датчики. Предусмотрена встроенная система управления, включающая усилитель мощности для двигателя, интерфейс датчика, микропроцессор и схему связи. Единственным внешним подключением к каждому модулю является коммуникационная шина между модулями, главным компьютером и шиной питания. Реконфигурируемое модульное соединение, содержащее: первый корпус, имеющий приводное средство, ось вращения и противоположные концы; первый соединительный механизм для разъемного соединения соединительного элемента с одним из указанных противоположных концов упомянутого первого корпуса; второй соединительный механизм для разъемного соединения соединительного элемента с другим из указанных противоположных концов упомянутого первого корпуса; съемный прикрепляемый третий соединительный механизм для разъемного соединения соединительного элемента с указанным первым корпусом в плоскости, перпендикулярной указанной оси вращения.
Известна заявка на патент US 2014121803 (А1), опубликована 01.05.2014 г., «Modular And Reconfigurable Manufacturing Systems». Производственная система, содержащая: несколько модулей манипуляции, каждая из которых включает средства для механического и электрического соединения модуля с другим компонентом в системе; рабочий орган робота, включающий в себя средство для механического и электрического соединения рабочего органа с другим компонентом в системе, в котором модули и рабочий орган могут быть механически и электрически соединены различными способами для изменения конфигурации системы и производственных задач, которые может выполнять система. Модули манипуляции включают в себя модуль линейной манипуляции, выполненный с возможностью обеспечения линейного перемещения внутри системы. Модули манипуляции дополнительно включают в себя модуль вращения, выполненный с возможностью обеспечивать угловое вращение в системе. Каждый модуль манипуляции имеет верхнюю и нижнюю стороны, а средства для механического и электрического соединения модуля предусмотрены с обеих сторон модуля, чтобы каждый модуль мог механически соединяться с двумя другими компонентами в системе. Модули манипулирования и рабочий орган содержат микропроцессор, в котором микропроцессоры соединены с общей шиной для распределения управления системой. Дополнительно содержит главный контроллер, сконфигурированный для связи с модулями манипуляции и рабочим органом, причем модули манипуляции и рабочий орган сконфигурированы таким образом, чтобы автоматически сообщать свои соответствующие положения и ориентации в системе на главный контроллер.
В промышленной автоматизации необходимо механизировать повторяющиеся действия над заготовками, например перемещение с одного узла на другой, подача в станки и прессы, переориентация и т.д. При этом механизм, осуществляющий это действие, необязательно должен быть перепрограммируемый (перемещение происходит всегда одинаково).
В процессе проектирования поточной производственной линии встает выбор - 1) использовать универсальное решение такое, как робот-манипулятор или 2) спроектировать индивидуальное решение. Первый вариант является быстрым, но дорогим, второй - трудоемким, но экономичным. Зачастую, в связи с необходимостью снижения себестоимости продукции, первый вариант не подходит (робот-манипулятор дорогостоящее универсальное решение, функциональность которого избыточна для данной задачи). В то же время второй вариант требует продолжительного труда высококвалифицированного профессионала, результатом которого становится индивидуальное решение.
Данное изобретение - это платформа, обладающая необходимой универсальностью для построения частных решений без избыточной стоимости.
Техническая задача заключается в создании технического решения для автоматизации производственных процессов.
Раскрытие сущности изобретения
Для решения технической задачи предложен манипулятор, характеризующийся статическими и динамическими блоками, выполненными с возможностью соединения друг с другом, при этом каждый динамический блок содержит модуль управления, привод и принимает только два конечных положения, конфигурация манипулятора для каждой производственной задачи рассчитывается алгоритмически по заданным целевым положениям манипулятора, пространственным ограничениям и параметрам блоков. Каждому динамическому блоку можно установить значение величины его перемещения. Привод динамического блока содержит пневматический или гидравлический привод. Положение манипулятора задается двоичным кодом, при этом каждый бит отвечает за состояние одного блока.
Описание чертежей
На фиг. 1 изображена общая схема манипулятора.
На фиг. 2 изображен динамический наклонный блок манипулятора.
На фиг. 3 изображен динамический поворотный блок манипулятора.
На фиг. 4 изображена условная иллюстрация манипулятора в двух возможных состояниях, расстояния до целевых точек и области ограничения.
На фиг. 5 и фиг. 6 изображен манипулятор, сконфигурированный под производственную задачу, в двух возможных положениях.
Осуществление изобретения
Манипулятор содержит статические и динамические блоки 1 (фиг. 1). Динамический блок от статического отличается наличием привода 2 и модуля управления 3 (фиг. 2, 3). Динамические блоки включают в себя блоки для линейного, вращательного и наклонного перемещения. Все блоки 1 имеют «вход» и «выход», являющиеся универсальными соединительными площадками 4, позволяющие подключать любой блок к любому другому блоку. Оконечное устройство (не показано) так же является динамическим блоком, но имеет только «вход».
Привод 2 в данной реализации изобретения включает линейный или поворотный пневматический привод, соединенный с пневматическим распределителем 7 (фиг. 2, 3). В качестве привода 2 также можно использовать гидравлический привод.
Универсальные соединительные площадки 4 содержат электрический соединитель 5, для передачи управляющих сигналов 8 и питающего напряжения каждому блоку 1, и пневматическое быстроразъемное соединение 6, для передачи воздуха 9 под давлением для работы приводов 2.
Статические блоки предназначены для удлинения или поворота цепочки блоков и улучшения конфигурации манипулятора, и могут быть выполнены как удлинитель или колено. Статические блоки одновременно транслируют все сигналы 8, питающее напряжение и воздух 9 на следующий блок. Для этого в неподвижном блоке соединители на «входе» напрямую соединяются с соединителями на «выходе».
Модуль управления 3 выполнен на базе микропроцессора и предназначен для управления приводом 2 и передачи управляющих сигналов на следующий блок 1. Модуль управления 3 установлен в каждом динамическом блоке.
Динамический блок, изображенный на фиг. 2 и фиг. 3, с целью упрощения конструкции, может принимать только два положения, что реализуется за счет использования пневматического привода 2. Конструкцию динамического блока можно дополнить, добавив фиксатор или регулятор (не показано), с помощью которого можно устанавливать конечное положение динамического блока. Таким образом, для блока вращения или наклонного блока можно задать угол поворота и наклона, для блока линейного перемещения можно задать расстояние смещения. Это приводит к большей универсальности динамических блоков при конфигурации манипулятора.
Логика управления
Каждый динамический блок может принимать только два конечных положения. Задание целевого положения блока осуществляется одним битом данных (0 или 1). Положение, соответствующее нулю, условно назовем закрытым, а соответствующее единице - открытым.
Для задания положения всей цепочки блоков из внешней автоматики достаточно передать последовательность битов. В частности, для цепочки из восьми динамических блоков может быть передан один байт информации. Например, байт со значением 0b01010101 (в двоичной системе) будет означать целевое положение манипулятора, в котором 1-й, 3-й, 5-й, 7-й динамические блоки должны перейти в открытое положение, а 2-й, 4-й, 6-й, 8-й - в закрытое.
Алгоритм обработки управляющей команды. Управляющая команда, содержащая указанную последовательность битов, отправляется на корневой блок. Корневой блок - первый в цепочке, дальнейшая обработка команды одинакова для всех блоков. Очередной блок, получивший команду: запоминает значение первого бита последовательности как свое целевое положение; осуществляет бинарный сдвиг последовательности вправо на один бит; отправляет модифицированную таким образом команду на свой «выход» - следующему блоку, либо оконечному устройству.
Таким образом команда передается по внутренней шине от блока к блоку и достигает последнего блока, либо оконечного устройства. При этом длина команды для оконечного устройства может быть произвольной (не ограничивается одним битом).
Реализация протокола
Для устройства как внутренней шины, так и внешнего интерфейса блоков может применяться технология пакетной передачи данных Fast Ethernet или Gigabit Ethernet. Поверх канала Ethernet реализуется протокол передачи управляющих команд на базе протокола UDP/IP.
В простейшем случае реализуются две основные команды:
1) Задание целевого положения. Внешняя автоматика отправляет последовательность битов целевого положения манипулятора, блоки отвечают о результате выполнения команды.
2) Опрос состояния манипулятора. Внешняя автоматика отправляет запрос, блоки отправляют ответ, содержащий текущее состояние (открытый/закрытый), а также дополнительную служебную информацию при необходимости (коды ошибок, диагностическая информация и т.п.)
Адресация.
Каждый блок имеет два независимых интерфейса Ethernet, один на «входе» и один на «выходе». В целях унификации при изготовлении в каждый блок прописываются стандартные адреса для каждого интерфейса. Если блок используется в качестве корневого, то адрес IP используется для коммуникации с внешней автоматикой (при необходимости этот адрес можно поменять). В остальном система подразумевает отсутствие какого-либо обязательного конфигурирования - при соединении блоков друг с другом они сразу готовы коммуницировать между собой посредством отправки широковещательных Ethernet-фреймов.
За счет использования высокоскоростного канала передачи данных, скорость передачи команды до одного блока будет достаточно мала. Для Fast Ethernet она составит ~6 микросекунд (длина команды ~640 бит / скорость 100 Мбит/с), при использовании Gigabit Ethernet ~0,6 мкс. Скорость обработки команды одним блоком составит не более 1 мкс при использовании современных микропроцессоров. Таким образом, при длине цепочки в 10 динамических блоков команда дойдет до последнего блока за 70 и 16 микросекунд для Fast Ethernet и Gigabit Ethernet соответственно.
Реализация алгоритма поиска оптимальной конфигурации
Задача поиска конфигурации манипулятора сводится к задаче поисковой оптимизации (также в литературе см. дискретная комбинаторная оптимизация) и может быть решена одним из известных методов, например, с помощью генетического алгоритма, который известен.
Постановка задачи:
Существует N различных видов блоков. Для каждого вида блока известны две матрицы 4×4, описывающие геометрическую трансформацию между входом и выходом блока в каждом из двух его конечных положений -M1, М2. Для каждого вида блока также известна геометрическая коллизионная оболочка. Параметры блоков включают массу блока, динамические параметры, геометрические параметры.
Задана матрица 4×4 основания (базы), на которое монтируется первый блок - МО.
Существует m целевых положений 10 (фиг. 4) фланца манипулятора и заданы матрицы целевых положений Т1…Тm.
Заданы геометрические оболочки препятствий 11 (фиг. 4), с которыми манипулятор не должен сталкиваться при совершении манипуляций.
Необходимо найти конфигурацию, которая наилучшим образом позволяет приводить фланец манипулятора во все заданные целевые положения (фиг. 4).
Решение:
Описывается геном в виде: {d1…dn}, где di - число, соответствующее номеру вида блока. i - позиция блока в последовательности, n - максимальное количество блоков.
Каждому виду блока присваивается свой номер от 0 до N.
Программируется функция приспособленности. Приспособленность особи оценивается по критерию - сумма S минимальных скалярных разниц 12 (фиг. 4) между целевыми матрицами и матрицами, которые может достигнуть фланец манипулятора в данной конфигурации (соответствующей геному), при этом не сталкиваясь сам с собой и препятствиями. Матрица фланца вычисляется через функцию прямой кинематики для кинематической цепочки - путем перемножения соответствующих матриц трансформации блоков (M1, М2 в зависимости от состояния каждого блока).
В целях улучшения качества поиска, а также для учета дополнительных критериев при оптимизации, функция приспособленности может быть необходимым образом модифицирована, кроме того дополнительно может применяться стратегия отбора особей, обеспечивающая более быстрый или более качественный результат поиска.
Программируется кроссовер (оператор скрещивания) и мутатор (оператор мутации) по одному из известных методов.
Дальнейшее решение задачи известно, эволюционные алгоритмы описаны в литературе: «СОВРЕМЕННЫЕ АЛГОРИТМЫ ПОИСКОВОЙ ОПТИМИЗАЦИИ. Алгоритмы, вдохновленные природой», А.П. Карпенко, МГТУ им. Н.Э. Баумана.
Для автоматизации известного производственного процесса сначала по заданным целевым положениям манипулятора, пространственным ограничениям и параметрам блоков рассчитывается конфигурация манипулятора, которая позволяет приводить фланец манипулятора максимально близко к целевым положениям, затем из доступных блоков собирается манипулятор, соответствующий рассчитанной конфигурации. На фиг. 5 изображена сборка двух блоков манипулятора. Блоки имеют фиксированные параметры, это накладывает определенные ограничения на возможности манипулятора, заключающиеся в том, что фланец манипулятора может не достигать точно заданного целевого положения, это компенсируется настройкой производственной линии.
Манипулятор имеет простую конструкцию и управление, а его конфигурация рассчитывается под каждую производственную задачу, что позволяет использовать его для автоматизации производственных процессов.
Claims (4)
1. Манипулятор, содержащий статические и динамические блоки, выполненные с возможностью соединения друг с другом соединительными площадками с образованием цепочки блоков заданной конфигурации с динамическим блоком в качестве оконечного устройства манипулятора, при этом каждый динамический блок выполнен с возможностью линейного или поворотного перемещения и расположения в двух конечных положениях и содержит привод и модуль управления приводом, выполненный с возможностью передачи управляющих сигналов и питающего напряжения на следующий блок, а статические блоки выполнены в виде удлинителя или колена, при этом соединительные площадки статических блоков содержат электрический соединитель, обеспечивающий передачу управляющих сигналов и питающего напряжения на следующий блок, а каждый динамический блок выполнен с возможностью задания его положения двоичным кодом, при этом каждый бит отвечает за состояние одного блока.
2. Манипулятор по п. 1, отличающийся тем, что каждому динамическому блоку можно установить значение величины его перемещения.
3. Манипулятор по п. 1, отличающийся тем, что привод динамического блока выполнен в виде пневматического привода.
4. Манипулятор по п. 1, отличающийся тем, что привод динамического блока выполнен в виде гидравлического привода.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2017132371A RU2671987C1 (ru) | 2017-09-15 | 2017-09-15 | Манипулятор |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| RU2017132371A RU2671987C1 (ru) | 2017-09-15 | 2017-09-15 | Манипулятор |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RU2671987C1 true RU2671987C1 (ru) | 2018-11-08 |
Family
ID=64103326
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2017132371A RU2671987C1 (ru) | 2017-09-15 | 2017-09-15 | Манипулятор |
Country Status (1)
| Country | Link |
|---|---|
| RU (1) | RU2671987C1 (ru) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4766775A (en) * | 1986-05-02 | 1988-08-30 | Hodge Steven W | Modular robot manipulator |
| SU1734994A1 (ru) * | 1989-06-08 | 1992-05-23 | Экспериментальный научно-исследовательский институт металлорежущих станков | Промышленный робот модульного типа |
| US6084373A (en) * | 1997-07-01 | 2000-07-04 | Engineering Services Inc. | Reconfigurable modular joint and robots produced therefrom |
| RU2166427C2 (ru) * | 1998-12-15 | 2001-05-10 | Кожевников Андрей Валерьевич | Универсальный трансформирующийся модульный робот |
| RU129449U1 (ru) * | 2012-12-27 | 2013-06-27 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный политехнический университет" (ФГБОУ ВПО "СПбГПУ") | Модульный манипулятор |
-
2017
- 2017-09-15 RU RU2017132371A patent/RU2671987C1/ru active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4766775A (en) * | 1986-05-02 | 1988-08-30 | Hodge Steven W | Modular robot manipulator |
| SU1734994A1 (ru) * | 1989-06-08 | 1992-05-23 | Экспериментальный научно-исследовательский институт металлорежущих станков | Промышленный робот модульного типа |
| US6084373A (en) * | 1997-07-01 | 2000-07-04 | Engineering Services Inc. | Reconfigurable modular joint and robots produced therefrom |
| RU2166427C2 (ru) * | 1998-12-15 | 2001-05-10 | Кожевников Андрей Валерьевич | Универсальный трансформирующийся модульный робот |
| RU129449U1 (ru) * | 2012-12-27 | 2013-06-27 | Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный политехнический университет" (ФГБОУ ВПО "СПбГПУ") | Модульный манипулятор |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3372354B1 (en) | Modular robotic joint and reconfigurable robot made using the same | |
| KR100945884B1 (ko) | 내장형 로봇 제어 시스템 | |
| US20100036526A1 (en) | control system for controlling an industrial robot | |
| CN107544299B (zh) | 用于六自由度机械臂示教控制的pc端app系统 | |
| CN108908851A (zh) | 注塑机的电射台伺服系统及其数据交互流程 | |
| Bohuslava et al. | TCP/IP protocol utilisation in process of dynamic control of robotic cell according industry 4.0 concept | |
| CN108568816B (zh) | 用于控制自动化工作单元的方法 | |
| CN214818593U (zh) | 一种机器人控制系统 | |
| CN112091981B (zh) | 主从运动映射方法和系统 | |
| RU2671987C1 (ru) | Манипулятор | |
| RU185160U1 (ru) | Манипулятор | |
| JP4480010B2 (ja) | 分散制御システム | |
| US20250119315A1 (en) | Modular machine-automation system and client module | |
| CN222472517U (zh) | 控制器以及机器人系统 | |
| CN115427197B (zh) | 工业机器人系统 | |
| KR101420852B1 (ko) | 중공형 모듈을 적용한 다수개의 팔을 가진 로봇의 신호 전달 장치 | |
| TWI823408B (zh) | 機械設備雲端控制系統 | |
| US7433968B2 (en) | Methods and systems for management and control of an automation control module | |
| CN112792812A (zh) | 机器人控制装置及机器人系统 | |
| Luna et al. | Usage of MQTT ROS and AWS in the Manufacturing Process of Aircrafts | |
| Su et al. | YARC—A universal kinematic controller for serial robots based on PMAC and MoveIt! | |
| Pereira et al. | TMRobot series toolbox: interfacing collaborative robots with MATLAB | |
| CN119403655A (zh) | 操作模块化机器人的方法、控制单元、模块化机器人、臂模块 | |
| Reinhard et al. | Smart Pick and Place as an Application of Digital Transformation in Small and Medium-Sized Enterprises (SMEs) | |
| Tlach et al. | Possibilities of a robotic end of arm tooling control within the software platform ROS |