УДК 004.3
В.С. Гапонов, В.П. Дашевский, М.М. Бизин
Модернизация программно-аппаратного обеспечения модельных сервоприводов для использования в антропоморфных робототехнических комплексах
Серийные модельные сервоприводы не удовлетворяют требованиям, применяемым к приводам в робототехнических комплексах в силу отсутствия обратной связи с бортовой ЭВМ и невозможности изменения параметров принципа регулирования. В данной статье проанализированы существующие решения и рассмотрено создание управляющего контроллера, который позволяет модернизировать стандартный модельный сервопривод для его использования в антропоморфных роботах.
Ключевые слова: встроенные системы управления, бортовые вычислители, ARM процессоры, робототехниче-
ские комплексы, сервоприводы.
doi: 10.21293/1818-0442-2016-19-2-41-50
ней свободы с высокой точностью. Например, в антропоморфном роботе NAO используется 26 двигателей, движение которых должны быть согласовано [1]. Согласование достигается за счет обратной связи по положению вала, которое сообщается в БЭВМ всеми приводами и учитывается при расчете движений. БЭВМ может быть выполнена на основе любой вычислительной системы, от МК до ПК, в данный момент развивается идеология модульных вычислителей, таких как SMARC [2]. Робототехнический сервопривод характеризуется наличием двунаправленного цифрового канала связи с БЭВМ и более развитыми протоколами управления (как, например, протокол «Communication 1.0» [3]).
В силу большого количества подвижных частей и необходимости их синхронизации в современных роботах к сервоприводам предъявляется требование оперативного взаимодействия с БЭВМ:
1) по запросу БЭВМ передавать информацию о текущем состоянии сервопривода;
2) принимать от БЭВМ изменение параметров закона управления;
3) осуществлять синхронизацию с другими приводами.
Сервоприводы, которые позволяют БЭВМ получить информацию о своем состоянии, называются программируемыми, они способны реализовать обратную связь локального контроллера (ЛК) с БЭВМ, что позволяет БЭВМ в любое время проверить фактическое исполнение задачи. Данная возможность реализуется путем обеспечения взаимодействия двух сторон БЭВМ и контроллера в виде вопросно-ответной системы [4]. Модельные и программируемые сервоприводы отличаются только управляющей электроникой. Кроме обратной связи, некоторые модели поддерживают сетевые протоколы управления. Для работы в сети все контроллеры имеют свой идентификационный номер, что делает управление более гибким. Пример реализации робота с использованием сети программируемых сервоприводов показан в статьях [5-7]. Среди преимуществ использования сетевых протоколов следует отметить следующие:
При разработке современных автоматизированных подвижных систем требуется использование двигателей с возможностью позиционирования, такие устройства называются сервоприводами. Современный модельный сервопривод (рис. 1) представляет собой законченное устройство в едином корпусе: мотор вместе с редуктором и электроникой (УЭ), управляющей положением выходного вала. УЭ может быть реализована с использованием аналоговых или цифровых схем. В современных сервоприводах все чаще используются цифровые системы управления на основе микроконтроллеров. УЭ декодирует сигналы управления от бортовой ЭВМ (БЭВМ) и в зависимости от показаний датчика положения вала вычисляет выходное воздействие - напряжение, подаваемое на мотор.
Серийно производимые модельные сервоприводы (в англоязычной литературе за ними закрепился термин «ЯС^егуо») позволяют управлять только положением выходного вала, но не дают возможности проверки фактического исполнения команды и изменения других параметров, также не изменяется длина проводов, в них отсутствует разъем - из корпуса выходит провод длиной около 30 см.
Для робототехнических систем требуется согласованно управлять большим количеством степе-
1) сокращение числа проводов, необходимых для коммутации;
2) возможность реализации общих запросов и отдачи команд;
3) уменьшение количества интерфейсных портов, используемых на БЭВМ для подключения всех сервоприводов.
Управление ЯС-биго осуществляется при помощи широтно-модулированных импульсов (ШИМ) с периодом около 20 мс, в зависимости от заполняе-мости ШИМа, меняется угол поворота выходного вала. Программируемые сервоприводы управляются, например, через ИАКТ. В системе с программируемым сервоприводом для более корректной работы системы в целом используются две обратные связи:
• обратная связь по углу внутри сервопривода;
• обратная связь контроллера сервопривода с БЭВМ.
Подавляющее большинство приводов с цифровыми контроллерами для расчёта управляющего сигнала используют РГО-регулятор по положению, который осуществляет управление с заданными динамическими характеристиками. Наличие собственного контроллера в каждом приводе позволяет существенно разгрузить БЭВМ. Однако такая архитектура оставляет без рассмотрения ряд задач системного уровня интеграции:
1. В системах с несколькими приводами, управляющими одним манипулятором (конечностью), динамические характеристики приводов должны быть согласованы, иначе невозможно обеспечить следование расчётной траектории движения манипулятора. В простейшем виде согласование нескольких РГО-регуляторов может быть получено за счет разбиения траектории движения на множество небольших шагов и контроля со стороны БЭВМ за выполнением каждого шага всеми приводами. Однако такой путь ведет к возрастанию информационного обмена по шине между приводами и БЭВМ.
2. В системах управления конечностями использование РГО-регулирования имеет ряд недос-
Создание отдельного контроллера для промежуточной обработки данных с сервопривода способствует декомпозиции поставленной задачи. ЛК берет на себя вычисления, связанные с контролем величины воздействия и мониторингом состояния конкретного привода. При использовании данного
татков: кроме регулирования положения вала важен также момент на валу. Наличие статической нагрузки на конечность, например взятие и удержание груза, приводит к появлению ошибки позиционирования, которая устраняется медленно за счет интегральной составляющей регулятора. Большое значение интегрального коэффициента может способствовать развитию неустойчивости в управлении. Компенсация негативного влияния изменения внешних условий на динамические свойства PID-регулятора становится дополнительной нагрузкой БЭВМ, требующей постоянного взаимодействия с контроллером привода.
Так как RC-servo имеют множество модификаций, которые отличаются по динамическим характеристикам, но у них отсутствует обратная связь с БЭВМ, предлагается использовать механические части: корпус, редуктор, мотор и потенциометр из RC-servo. Модификация будет заключаться только в демонтаже встроенного контроллера и его замене на разработанный, после чего сервопривод снова готов к работе уже с новыми функциями. Это дает возможность использования стандартных не робото-технических сервоприводов без обратной связи по положению с БЭВМ, для решения робототехниче-ских задач.
Есть существующие решения, которые используют подобный подход: OpenServo [8], Hack your servo v3.00 [9]. Отличием данных проектов является использование менее мощных МК, что не позволяет реализовывать сложные алгоритмы, если учесть исследовательское применение данного контроллера, то это является минусом. Кроме отличия по вычислительной мощности, отсутствует встроенная возможность работы по USB, что усложняет процесс прошивки и эксплуатации. У OpenServo используется протокол на основе I2C, это менее удобно, чем UART или USB. Предлагается использовать более мощный вычислительный модуль, например STM32F042K6U6, характеристики данных МК приведены в табл. 1.
подхода задача ЦК сводится к отдаче команд ЛК, у которого он может запросить и проверить при необходимости критичные параметры.
Задачи, решаемые локальным контроллером: 1) прием данных с датчиков для контроля состояния двигателя;
Таблица 1
Характеристики микроконтроллеров _
Тип микроконтроллера ATmega168 ATMega 328P STM32F042K6U6
Корпус TQFP-32 TQFP-32 UFQFN-32
Размер, мм 9x9 9x9 5x5
Напряжение питания (min-max), В 2,7-5,5 1,8-5,5 2-3,6
Разрядность, бит 8 8 32
Скорость ЦПУ, МГц 20 20 48
Размер ПЗУ, КБ 16 32 32
Размер ОЗУ, КБ 1 2 6
USB NO NO YES
Цена, USD 0,97 1,15 1,36
2) обработка полученных данных и их фильтрация;
3) реализация управления с использованием обратной связи по позиции, току и напряжению;
4) предотвращение критических режимов работы привода;
5) формирование управляющих сигналов на основе данных;
6) обмен информацией с управляющим контроллером;
7) максимальная разгрузка локальных вычислений, для разгрузки центрального контроллера и шины данных;
8) обновление управляющей программы по сети без необходимости извлечения контроллера из устройства;
9) реализация вторичного источника питания для сервопривода, позволяющего увеличить диапазон напряжения питания.
Для разгрузки центрального контроллера расчет воздействий, управляющих двигателем, производится на локальных контроллерах, расположенных внутри сервоприводов. В данном случае ЦК освобождается от необходимости частых запросов, для контроля актуального состояния сервоприводов и количество необходимых обращений в секунду снижаются в 20 раз для каждого привода (с 1000 до 50).
В некоторых роботах для разных суставов, независимо от нагрузки на них, используется один и тот же тип двигателей. Хотя для движения головой и сгибания коленей требуется разная мощность. Это приводит к дисбалансу распределения мощности по суставам и удорожанию конструкции. В табл. 3 приведено сравнение характеристик программируемых сервоприводов, которые используются в роботах, рассмотренных ранее в табл. 2.
В табл. 4 приведены характеристики более дешевых ЯС^егуо без программируемого цифрового контроллера и, как следствие, без обратной связи с БЭВМ и без возможности организации сети.
При сравнении похожих по характеристикам двигателей из табл. 3 и 4, например АХ-12А и
Актуальной задачей исследования является поиск такого способа взаимодействия БЭВМ с контроллерами приводов, чтобы свести к минимуму необходимый информационный обмен. Далее приведены аргументация необходимости разработки контроллера и обзор существующих решений.
Анализ сервоприводов, применяемых в существующих антропоморфных роботах
В процессе исследования был проведен анализ характеристик антропоморфных роботов от 26 до 147 см [10-15]. В данной статье рассматриваются сервоприводы с моментов до 21 кг-см, поэтому в результатах, представленных в табл. 2, приведены только роботы до 58 см.
При анализе полученной информации видно, что стоимость сервоприводов составляет большую часть себестоимости робота (46-75%). Задача оптимизации стоимости сервоприводов является актуальной, одним из путей решения данной задачи является создание приводов на основе серийных ЯС-Бегуо. По этой причине было решено снизить себестоимость самой дорогой составной части, тем самым получив возможность ощутимо уменьшить себестоимость конечного изделия - робота, при этом увеличив гибкость разработки, получив возможность изменять ПО контроллера.
Ыв945, можно увидеть разницу в цене более чем на 85%. При схожести таких динамических характеристик, как момент и скорость, разница между данными приводами заключается в управляющем контроллере.
По причине отсутствия обратной связи по положению с БЭВМ затрудняется использование ЯС-Бегуо в робототехнике по причине отсутствия возможности проверить фактическое исполнение поставленной задачи.
Выявив один из способов снижения цены, с одной стороны, и улучшения характеристик робота - с другой, был сделан вывод о необходимости создания своего контроллера, который даст возможность использования в робототехнике любого дешевого ЯС-Бегуо с нужными характеристиками.
Таблица 2
Сравнение антропоморфных роботов__
Компания Robotis Aldebaran Robotics
Название робота ROBOTIS Mini Bioloid ROBOTIS OP2 NAO
Premium GP
Цена, $ 499,00 1 199,00 2 799,00 9 600,00 10 000,00
Высота, см 26,93 39,7 34,6 45,45 58
Число моторов 17 18 18 20 26
Тип сервопривода XL-320*16 XL-320D*1 AX-12A * 18 AX-12A * 8 AX-18A * 10 MX-28T * 20 22NT82213P * 12 17N88208E * 4 16GT83210E *10
Общая стоимость сервоприводов, $ 372,30 808,20 1 308,20 4 398,00 8 285,40
Процент стоимости сервоприводов от цены всего робота, % 75 67 47 46 83
Дополнительные сведения Детали корпуса могут быть распечатаны на 3D-принтере В 2014 г. цена уменьшилась на $ 2 000
Таблица 3
Сравнение программируемых серводвигателей_
Firm Robotis Aldebaran Robotics
Model XL-320 AX-12A AX-18A 17N88208E 16GT83210E
Сервопривод Stall Torque (Kg.sm) 3,82 14,71 17,65 4,67 21,07
Stall Torque (N.m) 0,39 1,50 1,80 0,48 2,15
Stall Torque (mN.m) 390,00 1 500,00 1 800,00 475,73 2 148,86
No Load Speed (RPM) 114,0 59,0 97,0 166,0 71,2
Gear Ratio 238,0 254,0 254,0 50,6 150,3
Resolution (°) 0,293 0,293 0,293 - -
Мотор Operation Voltage (V) 7,4 12 12 - -
Stall Current (A) 0,6 1,5 2,2 - -
Speed (RPM) 27 132 14 986 24 638 8 400 10 700
Stall Torque (mN.m) 1,64 5,91 7,09 9,40 14,30
Цена Rub. 1 752 3 592 7 592 1 752 17 592
Таблица 4 Характеристики RC-servo_
Model MG945 TGY-S901D
Stall Torque (Kg.sm) 12,00 12,50
Stall Torque (N.m) 1,22 1,27
Stall Torque (mN.m) 1223,66 1270,83
No Load Speed (RPM) 40,00 57,60
Price (Rub.) 398,40 666,75
Исходя из приведенного выше анализа, можно сделать вывод о том, что при выборе из существующих решений программируемых сервоприводов часто не представляется возможным найти привод с нужными характеристики без избытка в мощности, при этом они зачастую имеют высокую стоимость.
Разработка контроллера сервопривода для использования в антропоморфном роботе
При разработке антропоморфного робота и анализе существующих аналогов было установлено, что от используемых двигателей сильно зависят его возможности и большая часть стоимости конечного
устройства. Поэтому для увеличения возможностей и уменьшения стоимости предлагается модернизировать привод такого типа, заменив в нем УЭ на разработанный контроллер. Это позволит БЭВМ получить доступ к информации об угле и другим параметрам сервопривода, например потребляемому току, напряжению, скорости, а также позволит изменять закон регулирования - например параметры ПИД-регулятора в зависимости от поставленной задачи. Структурная схема устройства представлена на рис. 2. В контроллере требуется реализовать все функции, которые необходимы для создания управляемой сети сервоприводов. Реализация схемы управления сервоприводом требует контроля следующих параметров:
- направление движения;
- скорость движения;
- фактический угол поворота вала;
- мгновенный ток двигателя;
- мгновенное напряжение на двигателе.
Рис. 2. Структурная схема сервопривода
Создание контроллера осуществлялось последовательно в два этапа: разработка аппаратного обеспечения и разработка программного обеспечения. При модернизации выбранного RC-servo производились разборка, демонтаж установленного контроллера и монтаж разработанного, не изменяя механическую часть сервопривода.
Аппаратное обеспечение контроллера сервопривода
Первым шагом реализации была разработка принципиальной электрической схемы устройства. При создании печатной платы требовалось определить оптимальный размер, позволяющий встроить контроллер внутрь сервопривода. После обзора различных типоразмеров корпусов был определен самый распространенный, для встраивания в который размер платы не должен превышать 20*18 мм. Это обусловило применение максимально компактных деталей при разработке.
Для управления потребуется использовать 32-битный микроконтроллер, например
STM32F042K6U производства STM, c архитектурой ARM Cortex-M0.
Достоинствами данного МК являются:
• Высокие вычислительные способности при малых размерах.
• Развитая периферия, благодаря которой можно реализовать USB-устройство без установки на плату внешнего кварцевого генератора, что позволяет экономить место на плате.
• Возможность программирования по USB при определенной конфигурации контакта BOOTO.
Исходя из данных соображений, изобразив на рис. 3 все частоты, была выбрана частота ШИМ 22 кГц. Для удобства коммутации в контроллере предусмотрен разъем фирмы 18Т 8М04Б-2Б88-ТБ(ЬР)(8М), который при малых размерах ДХШ 10,5^7,5 рассчитан на ток до 2 А, поверхностный монтаж, и имеет защелку для надежности крепления.
Для более корректного управления сервоприводом нужно знать его динамические характеристики и их зависимость от напряжения. Были измерены скорость разгона и торможения двигателя и зависимость от напряжения питания. На приведенном ниже рис. 4 видно, что разгон типовой ЯС^егуо ТвУ-890Ш составляет примерно от 25 до 40 мс в зависимости от напряжения питания.
Управление направлением тока будет реалии-зовано с помощью транзисторного И^а1е, который состоит из двух спаренных №Ф-канальных транзисторов 1КР7317 (1КР7307). Максимальный ток около 5 А, быстродействие максимум 10 МГц, при которых транзисторы постоянно находятся в режиме переключения, поэтому рабочая частота переключения должна быть на порядок ниже. Параметры данных транзисторов приведены в табл. 5.
Таблица 5
Характеристики транзисторов_
Model IRF7307 | IRF7317
Body SO-8
Gate to Source Voltage, V +20/-20 +20/-20
Continuous Drain (25°C), A +5,2/-4,3 +6,6/-5,3
Fall Time, ns 51/33 31/49
Output Capacitance, pF 280/310 430/470
Price (unit/mass), USD 0,94/0,40 0,92/0,42
Скорость движения изменяется с помощью ШИМ, параметры которого вычисляются на основе цифрового ПИД-регулятора. ШИМ управляет И^а1е и подается периферией МК.
При старте двигателя в цепи питания происходят пульсации тока и напряжения, для их сглаживания поставлен ЬС-фильтр, который позволяет измерять ток и напряжение без помех. Исходя из требования интеграции контроллера внутрь корпуса сервопривода - размеры платы ограничены, поэтому требовалось минимизировать размеры элементов, по этой причине фильтр рассчитан на сглаживание частот выше 21,472 кГц. Простая на первый взгляд операция - выбор частоты ШИМа - зависит от многих факторов, перечисленных в табл. 6.
Одним из достоинств разрабатываемого контроллера является коррекция управляющего сигнала в зависимости от напряжения питания. Таким образом, появляется возможность добиться максимальной эффективности и скорости двигателя при рабочих напряжениях от 3,3 до 12 В. На рис. 5 показано изменение скорости сервопривода в зависимости от напряжения питания.
В результате удается избавиться от проблемы уменьшения мощности двигателя при разряде батарей питания робота. При полностью заряженных -12 В, при почти разряженных - 10,4 В. В обоих крайних случаях мощность двигателя будет максимальна. Плюс к этому - появляется возможность легкой перестройки архитектуры робота, вплоть до изменения напряжения шины питания - для этого можно использовать все те же сервоприводы. Нужно поменять лишь центральный контроллер.
Таблица 6
Факторы, влияющие на выбор частоты ШИМа ^_
№ Параметр Значение Замечание
1 Ограничение частоты ШИМ в МК от 732,43 Гц до 24 МГц Любое в данном диапазоне
2 Быстродействие транзисторов 10 МГц Лучше ниже
3 Скорость разряда емкости затвора 185,185 кГц Лучше ниже
4 Частота опроса энкодера 1 кГц Лучше выше
5 Фильтр ЬС 21,472 кГц Лучше ниже
6 Высокочастотный шум 20 кГц Лучше выше
1 кГц Частота опроса энкодера
21,47 кГц LC-фильтр
10 МГц Быстродействие транзисторов
732,43 Гц Ограничение МК (нижнее)
20 кГц 185,19 кГц
Высокочастотный Разряд емкости
шум на затворе
Рис. 3. Изображение частот, ограничивающих частоту ШИМа
24 МГц Ограничение МК (верхнее)
Поворот, показания АЦ П (12 бит)
1800 1500 1200
7,0 В 6,5 В 6,0 В
--1—1—1—1— —1—1—1—1— —1—1—1—1— 1 1 1 1 1 1 1 1 t, мс II
0,24 0,22 0,20 0,18 0,16 0,14 0,12 0,10
5.5 В 5,0 В 4,5 В 4,0 В
3,5 В
О 50 100 150 200 250 300
Рис. 4. Зависимость скорости сервопривода от рабочего напряжения
¡7, В
3,5 4 4,5 5 5,5 6 6,5 7
Рис. 5. Зависимость времени поворота сервопривода на 60° от напряжения питания
Программное обеспечение контроллера сервопривода
Планируется осуществлять первичное программирования контроллера по USB с помощью встроенного загрузчика. Вычисление воздействия на контроллер происходит с использованием алгоритма цифровой ПИД-регуляции [16, 17], присутствует возможность изменения коэффициентов в ходе работы контроллера.
Программная задержка в обработке сигнала может быть уменьшена, но не сведена к нулю, это ограничение создает предел для вычислительной системы по частоте обработки сигналов с энкодера, в случае RC-servo используется потенциометр.
Чтобы избежать задержек для увеличения манёвренности сервопривода важно производить выполнение коррекции управляющего воздействия как можно чаще - чем больше скорость сервоприводов, тем чаще нужно корректировать воздействие.
Рассмотрим пример. При максимальной скорости углового перемещения 0,10 с/60° для обеспечения точности позиционирования в 1° требуется опрашивать положение привода минимум 600 раз в секунду. Выберем скорость опроса энкодера равной 1 кГц. Опрос реализован с помощью прерывания, которое возникает с частотой 1 кГц и записывает значения АЦП в глобальную переменную, которая обрабатывается в основном цикле.
При работе схемы из-за шумов АЦП появлялась неустойчивость положения, для решения данной проблемы были реализованы 2 цифровых фильтра:
1. Фильтр аномалий, предотвращающий дрожание вала и влияние сильных единичных помех на аппроксимирующий фильтр.
2. Аппроксимирующий фильтр, позволяющий уменьшить воздействие шумов АЦП на работу сервопривода.
Алгоритм аппроксимирующего фильтра создан с использованием метода наименьших квадратов, который в отличие от среднего не имеет задержки и не ухудшает динамические характеристики сервопривода.
Исходя из высокой частоты опроса, была выбрана аппроксимация по линейному закону. Так как известно, что измеряемые значения имеют тенденцию располагаться по прямой, то следует искать уравнение прямой _Дх), с оптимальными значениями «а» и «Ь». Иными словами, задача состоит в нахождении таких коэффициентов «а» и «Ь», чтобы сумма квадратов отклонений
п п 2 п 2
Ее2 =Е(С -/СX)) =Е(С -(ах + Ь))
1=1 1=1 1=1
была наименьшей [18, 19]. Для этого решается система из двух дифференциальных уравнений, конечный вид которых выглядит следующим образом:
п п п
аЕ Хг + ЬЕ X = Е Х'У1,
г=1 г=1 г=1
п п
аЕХг + пЬ =ЕУг. , г=1 г=1
Имея все суммы, решаем систему методом Крамера. В фильтре реализован следящий метод вычислений, который позволяет свести количество памяти и вычислений к минимуму. Фильтр позволяет гибко настраивать ширину окна и начинает работать сразу после инициализации.
На рис. 6 показан общий алгоритм переключения состояний фильтра. Для проверки работы алгоритма цифрового фильтра была построена численная модель, на которой алгоритм проверен в четырех возможных режимах работы:
- удержание на месте;
- движение с постоянной скоростью;
- движение с ускорением;
- переход из одного режима в другой.
/-\
ADC value
Измерение значения АЦП
Г
Anomaly
Фильтр аномалий
я s я S
s я
о
First
Первый элемент
Первый или второй элемент - аномалия
i
Second
Второй элемент
L
Full
Фильтр заполнен
Fulling
Заполнение фильтра
Рис. 6. Структурная схема работы аппроксимирующего фильтра
Требовалось найти оптимальную ширину фильтра, так как при увеличении ширины окна мы сначала уменьшаем ошибку АЦП, но при большой ширине начинает увеличивается ошибка, связанная с неточностью линейной аппроксимации на нелинейных участках траектории, например при работе в режиме ускорения или торможения. Для решения этой задачи был произведен ряд опытов по измерению ошибки на нелинейных участках при увеличении ширины окна аппроксимирующего фильтра. На рис. 7 представлен график, на котором изображена зависимость ошибки от ширины окна на участке с ускорением.
Выяснено, что ошибка при работе линейной аппроксимации на данном участке зависит от ширины окна фильтра и возрастает как х2. Оптимальной шириной окна выбрана ширина 20 значений, т. к. при таком значении не теряются динамические характеристики, минимальна ошибка во всех режимах и переходах между ними.
Результат работы фильтра с реальными данными можно увидеть на графике, фильтр помогает уменьшить уровень помех АЦП в 2 раза, а внешние помехи или неточности потенциометра подавляются
Ошибка, показания АЦП (12 бит)
намного эффективнее. Увидеть результаты работы фильтра можно на рис. 8.
Обновление прошивки контроллера осуществляется с помощью разработанного загрузчика (boot-loader), который позволяет перезаписать основную программу, для ПК написана программа, позволяющая записать новую прошивку, подсоединив контроллер или сеть контроллеров к ПК.
Для реализации функции сетевого обновления прошивки и сохранения настроек было произведено разделение ПЗУ микроконтроллера на три части, графическое изображение распределения памяти можно увидеть на рис. 9.
Ниже на рис. 10 представлена структурная схема ПО, требуемого для реализации всего комплекса описанных функций, в памяти.
Получение информации от двигателя реализовано с помощью сетевого протокола. Был выбран Dynamixel Communication 1.0, фирмы «Robotis», использующий UART с уровнями RS485. Использование UART/TTL позволяет избавиться от сложных и дорогостоящих специализированных контроллеров, что уменьшает стоимость конечной разработки.
1400
1200
1000
800
600
400
200
Ширина окна
20 40 60 80
Рис. 7. Зависимость ошибки от ширины окна
100
120
Позиция, показания АЦП (12 бит)
3025 3020 3015 ЗОЮ 3005
3000 2995 2990
Помехи АЦП
Внешние помехи
t, мс
736 756 776 796 816 836 856
Рис. 8. Иллюстрация работы аппроксимирующего фильтра
876
ПЗУ (NAND)
Bootloader (i5 КБ) Сохраняемые настройки (i КБ) Основная программа (i6 КБ) Загрузчик производителя (вне памяти пользователя)
Таблица прерываний Исполняемый код Таблица прерываний Исполняемый код
Рис. 9. Функциональное распределение ПЗУ в МК
USB Bootloader производителя
Сетевой Bootloader
Основная программа
Сохраненные настройки
i
Рис. i0. Структурная схема ПО
Заключение
Разработанное в ходе модернизации программно-аппаратное обеспечение модельного сервопривода позволит создать серию управляемых приводов для использования в антропоморфных робототехни-ческих комплексах. В частности, создана принципиальная схема и изготовлена печатная плата контроллера, разработано программное обеспечение для обновления и управления контроллером. Предлагаемое решение улучшает динамические характеристики сервопривода и дает возможность создания сети управляемых приводов, также снижена себестоимость сервопривода и разрабатываемого на их базе антропоморфного робота по сравнению с существующими аналогами.
Литература
1. NAO-Actuator & Sensor list [Электронный ресурс]. - Режим доступа: http://doc.aldebaran.com/2-1/family/nao_dcm/actuator_sensor_names.html, свободный (дата обращения: 11.04.2016).
2. Дашевский В.П., Бизин М.М. Обзор возможностей бортовых вычислителей на основе SMARC-модулей для робототехнических комплексов] // Доклады Том. гос. унта систем управления и радиоэлектроники. - 2015. -Вып. 3 (37). - С. 91-97.
3. Overview of Communication [Электронный ресурс]. - Режим доступа: http://support.robotis.com/en/pro-duct/actuator/dynamixel/dxl_communication.htm, свободный (дата обращения: 18.04.2016).
4. Мещеряков Р.В. Критерий структурной сложности информационных систем // Труды СПИИРАН. - 2010. - № 3 (14). - С. 76-90.
5. Manfred Hild, Matthias Jüngel, Michael Spranger. Humanoid Team Humboldt Team Description 2006. - Institut für Informatik, LFG Künstliche Intelligenz - 2006 [Электронный ресурс]. - Режим доступа: http://citese-erx.ist.psu.edu/viewdoc/summary?doi=10.1.1.92.4121, свободный (дата обращения: 18.04.2016).
6. Команда роботов-футболистов лиги ROBOCUP HUMANOID KIDSIZE / С.И. Гомилко, Д.В. Жулаева, Р.В. Мещеряков и др. // Робототехника и техническая кибернетика. - 2015. - № 3 (8). - С. 11-15.
7. BRACON: Control system for a robotic arm with 6 degrees of freedom for education systems / David Rivas, Marcelo Alvarez, Patricio Velasco, Javier Mamarandi, Jose Luis Carrillo-Medina, Víctor Bautista, Omar Galarza, Patricio Reyes, Mayra Erazo, Miltón Pérez, Mónica Huerta // Proceedings of the 6th International Conference on Automation, Robotics and Applications - Feb 17-19, 2015. - P. 358-363.
8. OpenServo [Электронный ресурс]. - Режим доступа: http://www.openservo.org/, свободный (дата обращения: 18.04.2016).
9. Hack your servo v3.00 [Электронный ресурс]. -Режим доступа: http://letsmakerobots.com/node/18615, свободный (дата обращения: 18.04.2016).
10. Seifert D. FUmanoids code release 2012. - 8371 LNAI / D. Seifert, R. Rojas. - P. 600-607.
11. Team THOR's Entry in the DARPA Robotics Challenge Trials 2013 / Seung-Joon Yi, Stephen G. McGill, Larry Vadakedathu, Qin He, Inyong Ha, Jeakweon Han, Hyunjong Song, Michael Rouleau, Byoung-Tak Zhang, Dennis Hong, Mark Yim, Daniel D. Lee. // Journal of Field Robotics Special Issue: DARPA Robotics Challenge (DRC). - Vol. 32, is. 3. -P. 315-335.
12. Ронжин Ал. Л. Международные соревнования роботов по футболу RoboCup и перспективы участия в них российских команд / Ал. Л. Ронжин, Л.А. Станкевич,
Е.С. Шандаров // Робототехника и техническая кибернетика. - 2015. - № 2 (7). - С. 24-29.
13. Building man and beast at Boston Dynamics / R. Playter, K. Blankespoor, J. Bondaryk, A. Rizzi, A. Saunders, M. Raibert. // Proceedings of the North America Conference on AUVSI Unmanned Systems. - 2012. - Vol. 2. -P. 1041-1046.
14. Liu S. Humanoid robot controller based on ARM embedded system / S. Liu, C. Mu, M. Zhao // Journal of Tsinghua University. - 2008. - Vol. 48, Is. 4. - P. 482-485.
15. Xu Q. Zhang Design of a biped walking robot system based on ARM / Q. Xu, Z. Shen, J. Zhao, L. Zhang // Chinese Journal of Scientific Instrument. - 2007. - Vol. 28, Is. 5. - P. 499-501.
16. The robot intelligent controller design and implementation base on ARM / J. Peng, Q. He, Q. Wei, Z. Huang, Y. Huang, M. Pan, B. Lin, D. Yang, S. Luo, C. Liang // Journal of Chemical and Pharmaceutical Research. - 2013. -Vol. 5, Is. 12. - P. 690-696.
17. Neethu U. Speed Control of Brushless DC Motor: A Comparative Study / U. Neethu, V.R. Jisha // 2012 IEEE international Conference on Power Electronics, Drives and Energy Systems December 16-19, 2012, Bengaluru, India. -P. 2693-2697.
18. Емелин А. Метод наименьших квадратов [Электронный ресурс]. - Режим доступа: http://www.mathpro-fi.ru/metod_naimenshih_kvadratov.html, свободный (дата обращения: 18.04.2016).
19. Румшиский Л.З. Математическая обработка результатов эксперимента. - М.: Наука, 1971. - 191 с.
Гапонов Виталий Сергеевич
Аспирант лаборатории автономных робототехнических систем (ЛАРТС) Санкт-Петербургского института информатики и автоматизации РАН Тел.: 8(812)3287081, факс: 8(812)3287081 Эл. почта: vi.gc@mail.ru
Дашевский Владимир Павлович
Канд. техн. наук, ст. науч. сотрудник ЛАРТС СПИИРАН Тел.: 8 (812-3) 28-70-81, факс: 8 (812-3) 28-70-81 Эл. почта: hoodwin@mail.ru
Бизин Максим Михайлович
Мл. науч. сотрудник ЛАРТС
Тел.: 8 (812-3) 28-70-81, факс: 8 (812-3) 28-70-81
Эл. почта: maximchik90@mail.ru
Gaponov V.S., Dashevsky V.P., Bizin M.M. Upgrading the firmware of model servos for use in anthropomorphic robotic systems
Serial model servos do not satisfy the requirements applicable to the actuators in robotics, due to the lack of feedback from the onboard computer and the impossibility to change the parameters of the control law. This paper analyzes existing solutions and learn how to create a master controller that allows you to upgrade a standard model servo for use in robotics. Keywords: embedded system, ARM processor, actuators, robotics system.