Методика разработки облачной архитектуры распределенных вычислительных комплексов мобильных роботов тема диссертации и автореферата по ВАК РФ 05.13.15, кандидат наук Сеченев Семен Ильич

  • Сеченев Семен Ильич
  • кандидат науккандидат наук
  • 2021, ФГБОУ ВО «МИРЭА - Российский технологический университет»
  • Специальность ВАК РФ05.13.15
  • Количество страниц 172
Сеченев Семен Ильич. Методика разработки облачной архитектуры распределенных вычислительных комплексов мобильных роботов: дис. кандидат наук: 05.13.15 - Вычислительные машины и системы. ФГБОУ ВО «МИРЭА - Российский технологический университет». 2021. 172 с.

Оглавление диссертации кандидат наук Сеченев Семен Ильич

Введение

Глава 1. Обзор методов проектирования и анализ архитектур вычислительных комплексов

1.1 Анализ протоколов обмена данными

1.1.1. Интерфейс CAN

1.1.2. Интерфейс RS-232

1.1.3. Интерфейс RS-422

1.1.4. Интерфейс RS-485

1.1.5. Интерфейс Ethernet

1.1.6. Интерфейс МКИО (ГОСТ Р 52070-2003, MIL-STD-1553B)

1.1.7. Интерфейс ARINC429

1.1.8. Выбор шин обмена данными между составными частями БЦВК

1.2. Анализ принципов проектирования ЦВК мобильных систем

1.2.1. Лабораторные стенды

1.2.2. Электромобили

1.2.3. Человекоподобные роботы

1.2.4 Полетные контроллеры коптеров

1.2.5 Манипуляторы

1.2.6 Четырехногие шагающие роботы

1.3. Анализ открытых архитектур и системного программного обеспечения

Выводы по главе

Глава 2. Разработка методики построения облачной архитектуры распределенных вычислительных комплексов мобильных роботов

2.1. Распределенный вычислительный комплекс для шагающего робота AnyWalker

2.2. Методика формирования архитектуры ЦВК

Выводы по главе

Глава 3. Разработка методики оценки максимального времени

задержки при передаче данных на основе генетического алгоритма

3.1. Задача оценки величины максимальной задержки

3.2. Вычислительный эксперимент

3.3. Методика оценки величины максимального времени задержки

Выводы по главе

Глава 4. Применение облачной архитектуры для шагающих роботов

4.1. Класс вычислителей для шагающих робототехнических систем

4.2. Программный слой робота AnyWalker

4.3. Выбор интерфейса передачи данных для системы стереозрения мобильного робота

Выводы по главе

Заключение

Список литературы

Список сокращений

Приложение 1. Управляющая программа главного контроллера

Лпу№а1кег

Приложение 2. Реализация контроллера оборотов маховиков

Приложение 3. Свидетельства о регистрации программ для ЭВМ

Приложение 4. Акты внедрения

Рекомендованный список диссертаций по специальности «Вычислительные машины и системы», 05.13.15 шифр ВАК

Введение диссертации (часть автореферата) на тему «Методика разработки облачной архитектуры распределенных вычислительных комплексов мобильных роботов»

Введение

Актуальность темы диссертации. Вычислительная инфраструктура современных мобильных роботов представляет собой распределенный многопроцессорный вычислительный комплекс, включающий вычислительные модули на отдельных устройствах, внешние вычислительные ресурсы и средства обмена данными и командами по беспроводным сетям. Для массово выпускаемых мобильных роботов как промышленных, так и для использования в системе образования и экспериментальных лабораториях, часто создается облачная вычислительная платформа, включающая программно-аппаратное обеспечение по управлению механизмами, а также получению и обработке данных с датчиков; решение же оперативных задач оставляется на локальных узлах. Для однотипных роботов использование единой облачной вычислительной инфраструктуры улучшает технико -экономические характеристики, т.к. облачные технологии снижают требования к дорогостоящим вычислительным ресурсам каждого отдельного мобильного робота. Для ро-бототехнических комплексов, обрабатывающих большие объемы данных и синтезирующих управляющие воздействия для больших размерностей степеней свободы, задача формирования внешней вычислительной инфраструктуры является одной из важнейших. Распределенные архитектуры актуальны при разработке информационно -управляющих систем мобильных робототех-нических платформ, перемещающихся в разнородной среде с необходимостью распознавания динамических препятствий и взаимодействия с разными объектами или человеком. Реализация этих функций требует значительных вычислительных ресурсов, недоступных в силу ограничений на энергопотребление и габариты мобильного робота. Использование облачных сервисов с применением беспроводных компьютерных сетей позволяет решить по-

ставленные задачи при условии выполнения ограничения на предельную задержку обратной связи в контуре управления роботом.

Развитие элементной базы, архитектур распределенных вычислительных комплексов, распространение и улучшение качества беспроводных сетей передачи данных определяет направления совершенствования методик теоретического анализа и экспериментального исследования функционирования вычислительных комплексов с целью улучшения технико-экономических и эксплуатационных характеристик мобильных роботов.

Состояние проблемы. В настоящее время для разработок вычислительных комплексов мобильных роботов созданы платформы с открытым кодом (Open-source robotics, OSR), представляющие собой унифицированные чертежи, схемы, программное обеспечение и инфраструктуру для реализации конечных идей сторонних разработчиков. К открытым платформам можно отнести инструменты прототипирования RepRap, Contraptor, FarmBot, роботизированные руки OSRA, Yale Open Hand Project, Robotarm.org, Evil minion, Open Source Ecology, мобильных роботов e-puck mobile robot, Ardumower, Arduino Robot, Hexy, Leaf Project, OpenROV, Puluroboitcs, Thymio, Vorpal the Hexapod, Open-source Micro-robotic Project, ORSORO, Oscar, AnyWalker, бес-пилотники ArduPilot, OpenPilot, LibrePilot, Paparazzi Project, Slugs, PX4 autopilot, гуманоидных роботов iCub, DARwln-OP, InMoov, Poppy-project, DoraBot, NimbRo-OP, Tingu, DroidBot, r-One, Salvius, Vizzy, персональных ассистентов и домашних роботов Autobed, OADR, Open-electronics DIY Arduino-Powered Robotic Vacuum Cleaner, CesNieto DIY Vacuum Robot, LibreRVAC. Однако особенности конструкций, решаемых задач и критериев качества функционирования требуют разработки специализированных методик, направленных на совершенствование технико -экономических характеристик вычислительных комплексов.

Цель работы: разработка методики создания облачной архитектуры распределенных вычислительных комплексов шагающих роботов с учетом требований к технико-экономическим и эксплуатационным характеристикам.

Задачи исследования:

1. Обзор методов проектирования вычислительных сервисов и платформ для роботов.

2. Анализ технологий и архитектур мобильных робототехнических систем.

3. Разработка архитектуры распределенного вычислительного комплекса шагающих роботов.

4. Разработка методики построения облачной архитектуры распределенного вычислительного комплекса мобильных роботов с учетом заданных требований к технико-экономическим характеристикам.

5. Разработка методики экспериментального исследования допустимых значений задержек при передаче данных на основе генетического алгоритма.

6. Внедрение и анализ результатов.

Предмет исследования: распределенные облачные инфраструктуры.

Объект исследования: распределенные вычислительные комплексы мобильных многопроцессорных робототехнических систем.

Методы исследования: методы проектирования вычислительных комплексов, методы исследования каналов передачи данных, методы имитационного моделирования, эволюционные алгоритмы.

Научная новизна:

1. Разработана методика построения трехуровневой архитектуры облачного распределенного многопроцессорного вычислительного комплекса шагающих роботов с реактивным, исполнительным уровнями и уровнем приложений; использование трехуровневой архитектуры позволяет масштабировать, изменять состав оборудования и используемые технологии на каждом из уровней.

2. Разработан комплекс параметров, определяющий характеристики информационно-сетевой инфраструктуры облачного вычислительного комплекса шагающих роботов, на основе учета заданных технико-экономических требований и условий эксплуатации.

3. На основе использования имитационных моделей и генетического алгоритма разработана методика оценки допустимых задержек при передаче данных в облачные сервисы распределенного вычислительного комплекса.

Теоретическая и практическая значимость: Теоретическая значимость состоит в развитии методов проектирования архитектур вычислительных комплексов с учетом современных информационных технологий, а также разработанных научно обоснованных методик построения распределенных облачных вычислительных инфраструктур, повышающих технико-экономические и эксплуатационные характеристики.

Практическая значимость заключается в разработанном комплексе, используемом в шагающем неантропоморфном роботе с компьютерным зрением. Результаты работы внедрены в ФГБОУ ВО «Кубанский государственный университет», ООО «НЕЙРОЛАБ», АО «Концерн «Калашников».

Исследования проводились в рамках государственного задания Министерства науки и высшего образования России № 8.2321.2017/ПЧ.

Апробация: Результаты докладывались на конференциях: 50th International Symposium On Robotics (ISR 2018), (2018, Мюнхен, Германия); Workshop on Contemporary Materials and Technologies in the Aviation Industry, (МАИ, 2016, 2017, 2019, Москва); ICPE 2017 International Conference on Psychology and Education, (08-09 июня, 2017, ПИ РАО, Москва); 13th International Symposium on Intelligent Systems, INTELS 2018, (22-24 октября, 2018, ЛЭТИ, Санкт-Петербург); XIV международная конференция по электромеханике и робототехнике «Завалишинские чтения» (17-20 апреля, 2019, ЮЗГУ, Курск); XIII Всероссийское совещание по проблемам управления (17 -20 июня, 2019, ИПУ им. В.А. Трапезникова РАН, Москва).

Работа отмечена на выставках: Золотая медаль и диплом Международной выставки «IDEA-EXPO 2019» (г. Солнок, Венгрия, 06-07 апреля 2019); Бронзовая медаль и диплом XХII Московского международного салона изобретений и инновационных технологий «Архимед» (г. Москва, 26-29 марта 2019); Золотая медаль и диплом Международного инновационного салона IWIS-2018 (г. Варшава, Польша, 15-17 октября 2018); Золотая медаль и диплом 22-го Международного салона изобретений «Инвентика 2018» (г. Яссы, Румыния, 27-29 июня 2018); Диплом 73-й Международной технической ярмарки ITF-2017, (г. Пловдив, Болгария, 25-30 сентября 2017 и других.

Положения, выносимые на защиту:

1. Методика построения трехуровневой архитектуры вычислительного комплекса шагающих роботов с реактивным, исполнительным уровнями и уровнем приложений. Реактивный уровень реализован на основе микроконтроллера, обеспечивающего управление исполнительными механизмами, обработку данных с датчиков, контроль энергопотребления. Исполнительный уровень реализован на микропроцессоре с полноценной операционной системой, обеспечивает базовый функционал системы (ориентирование в пространстве, видеообработка, автомат состояний) с учётом ограничений на вы-

числительную мощность и обеспечивает API доступа. Уровень приложений представляет распределённое облачное прикладное программное обеспечение, решающее вычислительно затратные задачи: физическое моделирование движения, элементы искусственного интеллекта, коллективное поведение. Отличие архитектуры от аналогов состоит в учете характеристик вычислительных ресурсов и сетевой инфраструктуры на основе учета заданных технико-экономических требований и условий эксплуатации.

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

3. Методика оценки допустимых задержек обмена данными между облачными сервисами и микропроцессорами роботов. Поиск эффективных допустимых решений осуществляется на основе использования имитационных моделей и генетического алгоритма.

Публикации. По теме диссертации опубликовано 17 работ, в том числе в журналах ВАК - 4 статьи, в изданиях, индексируемых Web of Science и Scopus - 10, также получено 4 свидетельства на регистрацию РИД.

Объем и структура диссертации: Работа состоит из введения, 4 глав, заключения, списка литературы, списка сокращений и приложений. Работа изложена на 110 с., включает 46 рисунков, 4 таблицы, список литературы из 126 наименований.

В первой главе «Обзор методов проектирования и анализ архитектур вычислительных комплексов» проведены анализ принципов и конструкций

проектирования вычислительных комплексов и анализ вычислительных архитектур и используемого системного программного обеспечения.

Во второй главе «Разработка методики построения облачной архитектуры распределенных вычислительных комплексов мобильных роботов» изложены принципы построения архитектуры, разработана методика построения трехуровневой вычислительной архитектуры, определен состав параметров, определяющий характеристики информационно-сетевой инфраструктуры облачного ЦВК. Приведены примеры технических решений для облачной платформы шагающего робота AnyWalker.

Третья глава «Разработка методики оценки максимального времени задержки при передачи данных на основе генетического алгоритма» посвящена результатам моделирования и решению модельной задачи поиска решений с использованием генетического алгоритма.

Четвертая глава «Применение облачной архитектуры для шагающих роботов» посвящена внедрению разработанных методик.

В заключении приведены основные результаты диссертационного исследования.

В Приложении 1 приведен исходный код управляющей программы главного контроллера AnyWalker.

В Приложении 2 приведен исходный код контроллера оборота маховиков.

В Приложении 3 приведены свидетельства о регистрации программ для ЭВМ.

В Приложении 4 приведены акты внедрения разработанной методики.

Глава 1. Обзор методов проектирования и анализ архитектур вычислительных комплексов

Цифровой вычислительный комплекс (ЦВК) является ядром бортовой информационно-управляющей системы (БИУС) мобильной робототехниче-ской платформы, обеспечивая обработку информации с датчиков различных типов, планирование перемещения, взаимодействие с оператором и поддержку принятия решений в режиме реального времени. Требования, предъявляемые к ЦВК в конкретном случае его проектирования, вытекают из необходимости обеспечения безотказного функционирования БИУС при движении мобильной платформы в широком диапазоне условий окружающей среды, включая разнообразные климатические условия, вибрацию, электромагнитные импульсы, что требует эффективного выбора технологических решений при проектировании ЦВК.

1.1 Анализ протоколов обмена данными

Проектирование бортовой компьютерной сети включает выбор интерфейса обмена данными и топологии сети.

На данный момент наиболее распространены следующие типы интерфейсов обмена данными между различными частями и электронными блоками цифровых вычислительных комплексов (ЦВК):

- CAN;

- RS-232;

- RS-422;

- RS-485;

- Ethernet;

- МКИО (ГОСТ Р 52070-2003, MIL-STD-1553B);

- ARINC429.

1.1.1. Интерфейс CAN

CAN (Controller Area Network) является одним из промышленных стандартов построения компьютерных сетей, предназначенный, главным образом, для объединения различных исполнительных устройств и датчиков в единую сеть. При этом используется последовательный широковещательный пакетный режим передачи данных.

Построение сети CAN ведётся на основе топологии «шина». Физический уровень сети представлен дифференциальной парой, что отражено в стандарте ISO 11898. Все узлы сети осуществляют прием передаваемых кадров, доступ к шине осуществляется с использованием специальных микросхем -драйверов шины CAN.

Когда шина свободна, каждый узел может передавать данные в любой момент времени. Если кадры были переданы одновременно двумя и более узлами, осуществляется арбитраж доступа: вместе с передачей идентификатора, осуществляется одновременно проверка состояния шины. В том случае, когда во время передачи рецессивного бита был принят доминантный, будет считаться, что другим узлом передано сообщение, обладающее большим приоритетом, и передача будет отложена до момента освобождения шины. Таким образом, в CAN нет бесполезной потери пропускной способности при коллизиях в канале. Однако, обратной стороной этой технологии является то, что сообщения, имеющие низкий приоритет, могут никогда не быть переданы.

К механизмам контроля и предотвращения ошибок CAN относятся:

- Контроль за передачей: битовые уровни сравниваются с битами, передаваемыми по сети.

- Bit stuffing (дополнительные биты): после передачи последовательности из пяти одинаковых битов, по сети автоматически посылается бит, имеющий противоположное значение.

- Вычисление контрольной суммы: при отправке кадра, отправитель вычисляет контрольную сумму и добавляет ее в отправляемый кадр. На стороне получателя вычисляется контрольная сумма приходящего кадра, одновременно с вычислением суммы на передатчике, происходит сравнение сумм в кадре и суммы, вычисленной получателем и, если они совпадают, в промежутке подтверждения отправляется доминантный бит.

- Оценка значений в полях при получении.

Создатели CAN дают оценку вероятности пропуска ошибки передачи данных в размере 4,7*10-11.

Все узлы CAN работают с одинаковой скоростью. Сам стандарт CAN не содержит жесткого определения скорости, но большинство доступных на рынке, как внешних, так и встроенных адаптеров допускают постепенное изменение скорости на интервале от 20 Кб/с до 1 Мб/с. Отдельные решения далеко выходят за рамки указанного интервала.

Методы контроля ошибок, перечисленные выше, предполагают, что изменение бита во время передачи распространилось целиком по сети до момента измерения его значения. Таким образом, возникает ограничение на предельную длину сети: с увеличением скорости передачи данных доступная длина сети становится меньше. В соответствии со стандартом ISO 11898 максимальные длины сетей составляют величины порядка:

- 40 метров для скорости 1 Мб/с;

- 100 метров для скорости 500 Кб/с;

- 500 метров для скорости 125 Кб/с;

- 5000 метров для скорости 10 Кб/с.

При применении оптопар в целях экранирования устройств от помех высокого напряжения еще значительнее ограничивается максимальная длина. При этом длина уменьшается с ростом задержки передачи данных в оптопа-ре. Сети, имеющие сильное разветвление (паутина), ограничивают скорость

передачи данных в силу большого количества отражений сигнала и возрастания электрической емкости шины.

В автомобильной технике и промышленном оборудовании на данный момент широко применяются следующие протоколы высокого уровня:

- CANopen - используется для связи датчиков, исполнительных механизмов, программируемых контроллеров между собой;

- J1939 - используется во всех бортовых системах автомобилей последних моделей для соединения ЭБУ и вспомогательных механизмов и устройств и их контроллеров, а также систем обеспечения безопасности.

Преимущества интерфейса CAN:

- поддержка жесткого реального времени;

- несложное исполнение и дешевизна при использовании;

- существенная помехозащищенность;

- возможность арбитража доступа без ограничения пропускной способности сетей;

- надежные механизмы отслеживания ошибок приема и передачи данных;

- значительные интервалы скоростей работы;

- распространенность технологии, доступность богатого ассортимента решений различных производителей;

- контроллеры CAN содержат настраиваемые фильтры очередей сообщений, что позволяет сэкономить вычислительные ресурсы контроллера, и организовать распределение на высокоприоритетную и низкоприоритетную обработку пришедших сообщений.

Слабые стороны:

- в одном пакете можно передать очень мало данных (всего до 8 Б);

- высокое отношение объема служебных данных к полезным данным в пакете.

1.1.2. Интерфейс RS-232

RS-232, Recommended Standard 232 представляет собой стандарт для асинхронного UART-интерфейса, физического уровня. Данный стандарт поддерживается последовательными портами персональных компьютеров. Первоначально стандарт широко применялся в оборудовании телекоммуникационной отрасли. Сегодня он используется для соединения разнообразного периферийного оборудования с компьютерами, если данное оборудование не является требовательным к скорости передачи данных. Указанное ограничение особенно существенно при большом расстоянии между устройством и компьютером либо при нестандартных условиях эксплуатации оборудования.

Передача данных осуществляется по проводнику в виде бинарного сигнала с парой уровней напряжения (NRZ-код). Логический ноль представлен положительным напряжением (в интервале +5...+15 В), а логическая единица - отрицательным напряжением (-5...-15В). Для осуществления электрического согласования RS-232 и UART на рынке доступно большое множество драйверных микросхем.

При практическом применении стандарта, в зависимости от качества кабеля, заданное расстояние 15 м может быть недостижимым, составляя всего 1,5 м при скорости 115200 бод в случае круглого или плоского неэкраниро-ванного кабеля. Указанное ограничение вытекает из применения однофазных, а не дифференциальных сигналов и отсутствием условий согласования с линией приёмника, либо также и передатчика.

Чтобы устранить указанное ограничение, а также обеспечить гальваническую развязку узлов, можно осуществить трансформацию физического уровня стандарта RS-232 в физические уровни других стандартов с асинхронным интерфейсом:

- трансформация стандарта RS-232 в стандарт RS-422 (полная программная совместимость обеспечивается);

- трансформация стандарта RS-232 в стандарт RS-485» (присутствуют определенные программные ограничения). В данном случае дистанция может быть увеличена до 1 км при скорости 9600 бод с кабелем «витая пара».

В настоящее время RS-232 чаще всего используется в промышленном и узкоспециальном оборудовании, встраиваемых устройствах. Множество датчиков, периферийных устройств и блоков, не требующих высоких скоростей или помехоустойчивой передачи данных, используют интерфейс RS-232 в качестве основного коммуникационного интерфейса.

Преимущества интерфейса RS-232:

- широкая распространённость,

- дуплексный режим работы,

- возможность гальванической развязки.

Недостатки:

- соединение точка-точка,

- слабая помехозащищённость,

- слабый алгоритм коррекции ошибок,

- малая дистанция линии связи.

1.1.3. Интерфейс Я8-422

RS-422 предназначен для организации однонаправленной дифференциальной или сбалансированной нереверсируемой передачи данных по линиям, терминированным или нетерминированным. Существует возможность соединения «точка-точка», а также многоабонентская доставка сообщений.

Среди преимуществ стандарта — возможность поддержания скорости передачи данных вплоть до 10 мегабод по кабелю длиной 12 м. При том, что в спецификации стандарта нет указания на четкую верхнюю границу, приводится график затухания по мере увеличения длины кабеля. Последней отметкой на графике является скорость 10 Мбит/с.

Стандарт Я8-422 (рисунок 1) для передачи данных предполагает использование двух витых пар проводов - одной пары для сигнала с данными, и второй пары для получения данных. Могут быть предусмотрены оплетки для экранирования или общий провод.

Передача информации происходит посредством дифференциальных сигналов. При этом разница напряжений, имеющая одну полярность, означает логическую «1», а другую полярность - логический «0».

Тип приёмопередатчиков — дифференциальный, потенциальный. Изменение входных и выходных напряжений на линиях А и В: иа (ЦЬ) от -3 В до -12 В (+3 В до +12 В).

Уровень сигнала в линии не определен в момент времени, когда активный передатчик на шине отсутствует. Чтобы не допустить ситуацию, в которой разница между входами составляет величину, меньшую чем 200 мВ, т.е. неопределенное состояние, может быть применено смещение с помощью резисторов или с помощью специальной схемы. В том случае, когда состояние линий не является определенным, на приемники может приходить сигнал помехи. В некоторых протоколах используется передача служебных последовательностей для того, чтобы стабилизировать приемники и уверенно начать прием.

Рисунок 1 - Физическая реализация шины стандарта ЯБ-422

Во многих абсолютных датчиках положения (энкодерах) физический уровень RS-422 используется для реализации синхронного последовательного интерфейса SSI.

Преимущества интерфейса RS-422:

- высокая помехозащищённость;

- дуплексный режим работы при соединении точка-точка;

- возможность гальванической развязки.

Недостатки:

- возможная скорость сильно зависит от качества линии связи, её длины, и количества устройств на линии;

- коррекция ошибок не регламентирована стандартом и ложится на протокол высокого уровня;

- адресация не регламентирована стандартом и ложится на протокол высокого уровня.

1.1.4. Интерфейс RS-485

Физический уровень стандарта RS-485 очень напоминает стандарт RS-422, однако здесь для приема и передачи информации применяется только одна витая пара, в связи с чем реализуется полудуплексная многоточечная дифференциальная линия связи типа «общая шина». Интерфейс RS-485 широко используется в промышленности, где связывает исполнительные устройства, датчики, контроллеры.

Количество устройств и скорость на шине сильно зависит от типа применяемых проводов связи и микросхем драйверов. В одном сегменте сети может быть до 32 передатчиков.

1200 метров является предельной длиной единого сегмента сети.

В каждый момент времени может быть активным только один передатчик.

В сети может быть до 256 узлов с учетом магистральных усилителей.

Ниже приведено сопоставление предельной скорости обмена и предельной протяженности линии связи:

- 62,5 кбит/с 1200 м;

- 375 кбит/с 500 м;

- 1000 кбит/с, 10 м;

- 10 000 кбит/с 1 м.

Преимущества интерфейса RS-485:

- высокая помехозащищённость;

- высокая распространённость;

- возможность гальванической развязки.

Недостатки:

- полудуплексный режим работы;

- возможная скорость сильно зависит от качества линии связи, её длины, и количества устройств на линии;

- коррекция ошибок не регламентирована стандартом и ложится на протокол высокого уровня;

- адресация не регламентирована стандартом и ложится на протокол высокого уровня.

1.1.5. Интерфейс Ethernet

Ethernet объединяет семейство технологий пакетной передачи данных для домашних и промышленных сетей.

Преимущества интерфейса Ethernet:

- широкая распространённость;

- большое количество устройств в сети;

- высокая скорость передачи данных, не зависящая от количества устройств в сети;

- адресация регламентирована стандартом;

- коррекция ошибок на нескольких уровнях;

- высокая помехоустойчивость;

- гальванически развязан по умолчанию. Недостатки:

- ограниченная распространённость встроенных контроллеров Ethernet в микроконтроллерах;

- неудобство обслуживания оптических линий связи в полевых условиях.

1.1.6. Интерфейс МКИО (ГОСТ Р 52070-2003, MIL-STD-1553B)

Изначально мультиплексный канал информационного обмена (МКИО) разрабатывался в интересах Министерства обороны США для применения в бортовой авионике. На рисунке 2 приведена схема МКИО.

Рисунок 2 - Интерфейс МКИО с резервированием

Преимущества интерфейса МКИО:

- высокая помехозащищённость;

- высокая надёжность за счёт резервирования каналов связи;

- гальваническая развязка по умолчанию. Недостатки

- не применяется в устройствах и в микроконтроллерах широкого применения;

- полудуплексный диалоговый режим работы;

- до 31 устройства на шине.

1.1.7. Интерфейс ЛЯШС429

Стандарт ARINC 429 включает описание основных функций и электрических интерфейсов для бортовой информационно-управляющей системы самолета. В СССР принят как ГОСТ 18977-79. Преимущества интерфейса ARINC429:

- высокая помехозащищённость. Недостатки:

- не применяется в устройствах и в микроконтроллерах широкого применения;

- малая скорость передачи данных;

- симплексная или полудуплексная работа;

- формат сообщений специализирован под нужды авионики.

Похожие диссертационные работы по специальности «Вычислительные машины и системы», 05.13.15 шифр ВАК

Список литературы диссертационного исследования кандидат наук Сеченев Семен Ильич, 2021 год

Список литературы

1. Gajamohan M., Merz M., Thommen I., D'Andrea R. The cubli: A cube that can jump up and balance // Intelligent Robots and Systems (IROS), 2012 IEEE/RSJ International Conference on. IEEE, 2012. pp. 3722-3727.

2. Zhu M.-Y. The next hundreds embedded real-time operating systems. [Электронный ресурс] URL: https://www.researchgate.net/profile/Ming_Yuan_ Zhu/publication/308282686_The_Next_Hundreds_Embedded_Real-Time_ 0perating_Systems/links/57dfb3c608ae5292a3800f67/The-Next-Hundreds-Embedded-Real-Time-Operating-Systems.pdf

3. Wilamowski B. M., Irwin J. D. Industrial communication systems. — CRC Press, 2016.

4. Gluck T., Eder A., Kugi A. Swing-up control of a triple pendulum on a cart with experimental validation // Automatica. 2013. Vol. 49. No. 3. P. 801808.

5. DS1103 PPC Controller Board. [Электронный ресурс]. URL: http://www.ceanet.com.au/Portals/0/documents/products/dSPACE/dspace_2008_d s1103_en_pi777.pdf

6. Miranda Bermejo J. Design and implementation of a control system for testing an experimental electrical vehicle, 2010.

7. Nolte T., Hansson H., Bello L. L. Automotive communications-past, current and future // 2005 IEEE Conference on Emerging Technologies and Factory Automation. IEEE, 2005. Vol. 1. pp. 8-992.

8. Fredriksson L.-B. Can for critical embedded automotive networks // IEEE Micro. 2002. Vol. 22. No. 4. P. 28-35.

9. Leen G., Heffernan D. Expanding automotive electronic systems // Computer. 2002. Vol. 35. No. 1. P. 88-93.

10. Kaneko K., Harada K., Kanehiro F., Miyamori G., Akachi K. Human-oid robot HRP-3 // Intelligent Robots and Systems, 2008. IROS 2008. IEEE/RSJ International Conference on. IEEE, 2008. pp. 2471-2478.

11. Metta G., Sandini G., Vernon D., Natale L., Nori F. The icub humanoid robot: an open platform for research in embodied cognition // Proceedings of the 8th workshop on performance metrics for intelligent systems. ACM, 2008. pp. 5056.

12. Lim J., Lee I., Shim I., Jung H., Joe H. M., Bae H., Sim O., Oh J., Jung T., Shin S. et al. Robot system of drc-hubo+ and control strategy of team kaist in darpa robotics challenge finals // Journal of Field Robotics. 2017. Vol. 34. No. 4. P. 802-829.

13. Tsagarakis N. G., Caldwell D. G., Negrello F., Choi W., Baccelliere L., Loc V., Noorden J., Muratore L., Margan A., Cardellino A. et al. Walk-man: A high-performance humanoid platform for realistic environments // Journal of Field Robotics. 2017. Vol. 34. No. 7. P. 1225-1259.

14. Stasse O., Flayols T., Budhiraja R., Giraud-Esclasse K., Carpentier J., Mirabel J., A. Del Prete, Sou^eres P., MansardN., Lamiraux F. et al. Talos: A new humanoid research platform targeted for industrial applications // Humanoid Robotics (Humanoids), 2017 IEEE-RAS 17th International Conference on. IEEE, 2017. pp. 689-695.

15. Stasse O., Flayols T. An overview of humanoid robots technologies. In: Biomechanics of Anthropomorphic Systems. Springer, 2019. pp. 281 -310.

16. Lohmeier S. Design and realization of a humanoid robot for fast and autonomous bipedal locomotion, 2010.

17. Metta G., Fitzpatrick P., Natale L. Yarp: yet another robot platform // International Journal of Advanced Robotic Systems. 2006. Vol. 3. No. 1. P. 8.

18. Baglini E., Cannata G., Mastrogiovanni F. Design of an embedded networking infrastructure for whole-body tactile sensing in humanoid robots // Hu-

manoid Robots (Humanoids), 2010 10th IEEE-RAS International Conference on. IEEE, 2010. pp. 671-676.

19. Semini C., Goldsmith J., Rehman B. U., Frigerio M., Barasuol V., Focchie M., Caldwell D. G. Design overview of the hydraulic quadruped robots // The Fourteenth Scandinavian International Conference on Fluid Power.Tampere, Finland, 2015.

20. Guo K., Li S., Huang D. Real-time quadruped robot control system based on xenomai // Chinese Automation Congress (CAC), 2015. IEEE, 2015. pp. 342347.

21. Gui B., Wang H., Chen W. Stability analysis for a hexapod robot walking on slopes // Robotics and Biomimetics (ROBIO), 2015 IEEE International Conference on. IEEE, 2015. pp. 1888-1893.

22. Deng H., Xin G., Zhong G., Mistry M. Object carrying of hexapod robots with integrated mechanism of leg and arm // Robotics and Computer-Integrated Manufacturing. 2018. Vol. 54. P. 145-155.

23. Zhao Y., Chai X., Gao F., Qi C. Obstacle avoidance and motion planning scheme for a hexapod robot Octopus-III // Robotics and Autonomous Systems. 2018. Vol. 103. P. 199-212.

24. Allouche B., Dequidt A., Vermeiren L., Hamon P. Design and control of a sit-to-stand assistive device via ethercat fieldbus // Industrial Technology (ICIT), 2017 IEEE International Conference on. IEEE, 2017. pp. 761-766.

25. Grosu V., Guerrero C. R., Grosu S., Leu A., Ristic-Durrant D., Vander-borght B., Lefeber D. Real-time physical layer architecture for corbys gait rehabilitation robot // Rehabilitation Robotics (ICORR), 2015 IEEE International Conference on. IEEE, 2015. pp. 606-611.

26. Rebelo J., Sednaoui T., den Exter E. B., Krueger T., Schiele A. Bilateral robot teleoperation: A wearable arm exoskeleton featuring an intuitive user interface // IEEE Robotics & Automation Magazine. 2014. Vol. 21. No. 4. P. 62-69.

27. Ando N., Suehiro T., Kitagaki K., Kotoku T., Yoon W.-K. Rt- middleware: distributed component middleware for RT (robot technology) // Intelligent Robots and Systems, 2005. (IROS 2005). 2005 IEEE/RSJ International Conference on. IEEE, 2005. pp. 3933-3938.

28. Bangura M., Mahony R. et al. Real-time model predictive control for quadrotors, Preprints of the 19th World Congress The International Federation of Automatic Control. Cape Town, South Africa, 2014.

29. Turpin M., Michael N., Kumar V. Trajectory design and control for aggressive formation flight with quadrotors // Autonomous Robots. 2012. Vol. 33. No. 1-2. P. 143-156.

30. KR C4 extended NA; KR C4 extended CK NA Operating Instructions. [Электронный ресурс]. URL: http://supportwop.com/IntegrationRobot/content/3-Ar-

moires_de_commande/KRC4_extended/Norme_UL/English_manual_KR_C4_exten ded_NA_en.pdf

31. KUKA krc4booklet. [Электронный ресурс]. URL: https://www.kuka. com/-/media/kuka-

downloads/imported/9cb8e311bfd744b4b0eab25ca883f6d3/kuka_pb_-controllers_en.pdf

32. Universal Robots. E-series documentation. [Электронный ресурс]. URL: https://www.scottautomation.com/assets/Uploads/e-Series-Universal-Robots.pdf

33. Hutter M., Gehring C., Bloesch M., Hoepflinger M. A., Remy C. D., and Siegwart R. StarlETH: A compliant quadrupedal robot for fast, efficient, and versatile locomotion // Adaptive Mobile Robotics. 2012. P. 483-490.

34. Schaal S. The SL simulation and real-time control software package. University of Southern California, 2009.

35. Jones R., Haufe P., Sells E., Iravani P., Olliver V., Palmer C., Bowyer A. RepRap — the replicating rapid prototype // Robotica. 2011. Vol. 29. No. 1. P. 177191. https://doi.org/10.1017/S026357471000069X

36. Contraptor. [Электронный ресурс]. URL: http://www.contraptor.org/

37. Choque Moscoso C. J., Fiestas Sorogastua E. M., Prado Gardini R. S. Efficient Implementation of a Cartesian Farmbot Robot for Agricultural Applications // The Region La Libertad-Peru, 2018 IEEE ANDESCON, Santiago de Cali, 2018. pp. 1-6. https://doi.org/10.1109/ANDESC0N.2018.8564607

38. Osborn S. Ian Lesnet. In: Makers at Work. Apress, Berkeley, CA, 2013. https://doi.org/10.1007/978-1-4302-5993-0_20

39. Ma R., Dollar A. Yale OpenHand Project: Optimizing Open-Source Hand Designs for Ease of Fabrication and Adoption // IEEE Robotics & Automation Magazine. 2017. Vol. 24. No. 1. P. 32-40. https://doi.org/10.1109/MRA.2016.2639034

40. https://github.com/robotarmorg

41. https://github.com/i-make-robots/Evil-Minion

42. https://www.opensourceecology.org/

43. Cianci C.M., Raemy X., Pugh J., Martinoli A. Communication in a Swarm of Miniature Robots: The e-Puck as an Educational Tool for Swarm Robotics // Swarm Robotics. SR 2006. Lecture Notes in Computer Science. Vol. 4433. Springer, Berlin, Heidelberg, 2007. pp. 103-115. https://doi.org/10.1007/978-3-540-71541-2_7

44. https://www.ardumower.de/en/

45. Arduino Robot. [Электронный ресурс]. URL: https://store.arduino.cc/ usa/arduino-robot

46. Hexy the hexapod. [Электронный ресурс]. URL: http://arcbotics.com/products/hexy/

47. https://www.leafproject.org/

48. https://github.com/OpenROV

49. Blue Robotics. [Электронный ресурс]. URL: https://bluerobotics.com/

50. Mondada F. et al. Bringing Robotics to Formal Education: The Thymio Open-Source Hardware Robot // IEEE Robotics & Automation Magazine. 2017. Vol. 24. No. 1. P. 77-85. https://doi.org/10.1109/MRA.2016.2636372

51. Vorpal the Hexapod. [Электронный ресурс]. URL: https://vorpalrobotics.com/wiki/index.php/Vorpal_The_Hexapod

52. Jasmine. Smarm robot platform. [Электронный ресурс]. URL: http://www. swarmrobot.org/

53. Kernbach S. Swarmrobot.org — Open-hardware Microrobotic Project for Large-scale Artificial Swarms. [Электронный ресурс]. URL: https://arxiv.org/abs/1110.5762

54. Maehle E. et al. Application of the Organic Robot Control Architecture ORCA to the Six-Legged Walking Robot OSCAR // In: Organic Computing — A Paradigm Shift for Complex Systems. Autonomic Systems. Vol. 1. Springer, Basel. 2011. https://doi.org/10.1007/978-3-0348-0130-0_34

55. Ryadchikov I., Sechenev S., Nikulchev E., Drobotenko M., Svidlov A., Volkodav P., Vishnykov R. Control and Stability Evaluation of the Bipedal Walking Robot AnyWalker // International Review of Automatic Control (IREACO). 2018. Vol. 11. No. 4. P. 160-165. https://doi.org/10.15866/ireaco.v11i4.13917

56. Deryugina O., Nikulchev E., Ryadchikov I., Sechenev S., Shmalko E. Analysis of the AnyWalker Software Architecture Using the UML Refactoring Tool // Procedia Computer Science. 2019. Vol. 150. P. 743-750. https://doi.org/10.1016/j.procs.2019.02.005

57. Luo Z., Xiang X., Zhang Q. Autopilot System of Remotely Operated Vehicle Based on Ardupilot // In: Intelligent Robotics and Applications. ICIRA 2019. Lecture Notes in Computer Science. Vol. 11742. Springer, Cham, 2019. https://doi.org/10.1007/978-3-030-27535-8_19

58. https://github. com/commaai/openpilot

59. Kritskiy D., Alexander K., Koba S., Druzhinin E. Increasing the reliability of drones due to the use of quaternions in motion // 2018 IEEE 9th International Conference on Dependable Systems, Services and Technologies (DESSERT), Kiev, 2018. pp. 348-352. https://doi.org/10.1109/DESSERT.2018.8409157

60. Hattenberger G., Bronz M., Gorraz M. Using the Paparazzi UAV System for Scientific Research // IMAV 2014, International Micro Air Vehicle Conference and Competition 2014, Aug 2014, Delft, Netherlands. pp 247-252.

61. Lizarraga M., Elkaim G. H., Curry R. SLUGS UAV: A flexible and versatile hardware/software platform for guidance navigation and control research // 2013 American Control Conf. Washington, DC, 2013. pp. 674-679. https://doi.org/10.1109/

ACC.2013.6579913

62. Meier L., Honegger D., Pollefeys M. PX4: A node-based multithreaded open source robotics framework for deeply embedded platforms // 2015 IEEE International Conference on Robotics and Automation (ICRA). Seattle, WA, 2015. P. 6235-6240. https://doi.org/10.1109/ICRA.2015.7140074

63. Tsagarakis N. G., Metta G., Sandini G. et al. iCub: the design and realization of an open humanoid platform for cognitive and neuroscience research // Advanced Robotics. 2007. Vol. 21. Iss. 10. P. 1151-1175. https://doi.org/10.1163/156855307781389419

64. Andruseac G.G., Iacob R. Exploring the potential of using educational robotics as an effective tool to support collaborative learning // 2013 E-Health and Bioengineering Conference (EHB). Iasi, 2013. pp. 1-4. https://doi.org/10.1109/ EHB.2013.6707359

65. Escriba Montagut G. Inmoov robot: building of the first open source 3D printed life-size robot. 2016. [Электронный ресурс] URL: http://hdl.handle.net/10459.1/57790

66. Lapeyre M., Rouanet P., Grizou J., Nguyen S., Depraetre F., et al. Poppy Project: Open-Source Fabrication of 3D Printed Humanoid Robot for Science, Education and Art. Digital Intelligence 2014. Nantes, France. Sep 2014. P. 6.

67. Wang Z., Liu S., Zhang H. Design and Application of Dorabot-hand2 System // In: Robotic Grasping and Manipulation. RGMC 2016. Communications in Computer and Information Science. Vol. 816. Springer, Cham, 2018. https://doi.org/10.1007/978-3-319-94568-2_5

68. Schwarz M. et al. Humanoid TeenSize Open Platform NimbRo-OP // In: RoboCup 2013: Robot World Cup XVII. Lecture Notes in Computer Science. Vol. 8371. Springer, Berlin, Heidelberg, 2014. https://doi.org/10.1007/978-3-662-44468-9_51

69. Ficht G., Allgeuer P., Farazi H., Behnke S. NimbRo-OP2: Grown-up 3D printed open humanoid platform for research // 2017 IEEE-RAS 17th International Conference on Humanoid Robotics (Humanoids). Birmingham, 2017. pp. 669-675. https://doi.org/10.1109/HUMANOIDS.2017.8246944

70. Kim K., Ura T. 3-Dimensional Trajectory Tracking Control of an AUV "ROne Robot" Considering Current Interaction // Proceedings of the Twelfth International Offshore and Polar Engineering Conference. International Society of Offshore and Polar Engineers. 2002.

71. Fujimoto H. et al. Underwater gravimeter on board the R-One robot // Proceedings of the 2000 International Symposium on Underwater Technology. Tokyo, Japan, 2000. pp. 297-300. https://doi.org/10.1109/UT.2000.852559

72. https://salvius.org/

73. Moreno P. et al. Vizzy: A Humanoid on Wheels for Assistive Robotics // In: Robot 2015: Second Iberian Robotics Conference. Advances in Intelligent Systems and Computing. Vol. 417. Springer, Cham, 2016. https://doi.org/10.1007/978-3-319-27146-0_2

74. Autobed: Open Hardware for Accessible Web-based Control of an Electric Bed. [Электронный ресурс]. URL: https://smartech.gatech.edu/handle/1853/56505

75. Autobed: A Web-Controlled Robotic Bed. [Электронный ресурс]. URL: https://smartech.gatech.edu/handle/1853/54531

76. DIY an Arduino-Powered Robotic Vacuum Cleaner. [Электронный ресурс]. URL: https://www.open-electronics.org/diy-an-arduino-powered-robotic-vacuum-cleaner/

77. DIY Vacuum Robot. [Электронный ресурс]. URL: https://www.instructables.com/Build-Your-Own-Vacuum-Robot/

78. LibreRVAC project. [Электронный ресурс]. URL: https://librervac.org/

79. Конструктор Multiplo — создай своего робота. [Электронный ресурс]. URL: https://habr.com/ru/company/makeitlab/blog/243833/

80. Multiplo — Robot Building Kit. [Электронный ресурс]. URL: https://www.seeedstudio.com/Multiplo-Robot-Building-Kit-p-1491.html

81. Vona M., Shekar N. H. Teaching Robotics Software with the Open Hardware Mobile Manipulator // IEEE Transactions on Education. 2013. Vol. 56. No. 1. P. 42-47. https://doi.org/10.1109/TE.2012.2218657

82. Open Automaton Project. [Электронный ресурс]. URL: http ://oap. sourceforge. net/

83. The corpora. Robotic company. [Электронный ресурс]. URL:https://thecorpora.com/

84. Telepresence Robot Kit. [Электронный ресурс]. URL:http://www.cs.cmu.edu/~./terk/robots.html

85. Sparki. [Электронный ресурс]. URL:http://arcbotics.com/products/sparki/

86. Sparky Jr. — DIY Telepresence Robot. [Электронный ресурс]. URL:https://www.instructables.com/Sparky-Jr-DIY-Telepresence-Robot/

87. Openrobothardware. An Initiative for Open Robot Hardware. [Электронный ресурс]. URL:https://www.openrobothardware.org/

88. https://github.com/TKJElectronics/Balanduino

89. Swarm. [Электронный ресурс]. URL:http://orbswarm.com/

90. https://github.com/orbswarm/orbswarm-svn

91. Robot Operating System (ROS). The Complete Reference. Vol. 1. In: Studies in Computational Intelligence book series. [Электронный ресурс]. URL: https://link.springer.com/book/10.1007%2F978-3-319-26054-9

92. Koenig N., Howard A. Design and use paradigms for Gazebo, an open-source multi-robot simulator // 2004 IEEE/RSJ International Conference on Intelli-

gent Robots and Systems (IROS) (IEEE Cat. No.04CH37566). Sendai, 2004. Vol. 3. pp. 2149-2154. https://doi.org/10.1109/IROS.2004.1389727

93. Vaughan R.T., Gerkey B.P. Reusable Robot Software and the Player/Stage Project // In: Software Engineering for Experimental Robotics. Springer Tracts in Advanced Robotics. Vol 30. Springer, Berlin, Heidelberg, 2007. https://doi.org/10.1007/978-3-540-68951-5_16

94. Jackson J. Microsoft robotics studio: A technical introduction // IEEE Robotics & Automation Magazine. 2007. Vol. 14. No. 4. P. 82-87. https://doi.org/10.1109/M-RA.2007.905745

95. Bekele E. T., Lahiri U., Swanson A. R., Crittendon J. A., Warren Z. E., Sarkar N. A Step Towards Developing Adaptive Robot-Mediated Intervention Architecture (ARIA) for Children with Autism // IEEE Transactions on Neural Systems and Rehabilitation Engineering. 2013. Vol. 21. No. 2. P. 289-299. https://doi.org/10.1109/ TNSRE.2012.2230188

96. Magnenat S., Rétornaz P., BonaniM., Longchamp V., Mondada F. ASEBA: A Modular Architecture for Event-Based Control of Complex Robots // IEEE/ASME Transactions on Mechatronics. 2011. Vol. 16. No. 2. P. 321-329. https://doi.org/10.1109/TMECH.2010.2042722

97. Montemerlo M., Roy N., Thrun S. Perspectives on standardization in mobile robot programming: the Carnegie Mellon Navigation (CARMEN) Toolkit // Proceedings 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2003). Las Vegas, NV, USA, 2003. Vol. 3. pp. 2436-2441. https://doi.org/10.1109/IROS.2003.1249235

98. Рядчиков И.В., Гусев А.А., Сеченев С.И., Никульчев Е.В. Генетический алгоритм поиска параметров ПИД-регуляторов системы стабилизации шагающего робота // Труды НГТУ им. Р. Е. Алексеева. 2019. № 1(124). С. 52-60.

99. EPOS2 Positioning Controllers Application Notes: документация. [Электронный ресурс]. URL: https://www.maxonmotor.com/medias/sys_master/ root/8823581507614/EPOS2-Application-Notes-Collection-En.pdf

100. AN3371 Application Notes. [Электронный ресурс]. URL: https://www.st.com/content/ccc/resource/technical/document/application_note/7a/9c/ de/da/84/e7/47/8a/DM00025071 .pdf/files/DM00025071 .pdf/jcr:content/translations/ en.DM00025071.pdf

101. Feuer A., Goodwin G. Sampling in digital signal processing and control. Springer Science & Business Media, 2012.

102. Nilsson J. et al. Real-time control systems with delays. 1998.

103. Wilamowski B. M., Irwin J. D. (ed.). Industrial communication systems. CRC Press, 2016.

104. Wang H. et al. Design and simulation of LQR controller with the linear inverted pendulum // Electrical and Control Engineering (ICECE), 2010 International Conference on. IEEE, 2010. pp. 699-702.

105. Hamza M. et al. Real-time control of an inverted pendulum: A comparative study // 2011 Frontiers of Information Technology. IEEE, 2011. pp. 183-188.

106. Рядчиков И. В., Сеченев С. И., Русаков А. М., Никульчев Е. В. Модельное исследование и реализация стабилизирующего комплекса шагающего робота AnyWalker // Cloud of science. 2018. Т. 5. № 3. C. 498-515.

107. Brooks Rodney A., Lozano-Perez T. A subdivision algorithm in configuration space for findpath with rotation // IEEE Transactions on Systems, Man, and Cybernetics. 1985. Vol. SMC-15. Iss. 2. P. 224-233.

108. Сеченев С.И. Методика разработки облачной архитектуры распределенных вычислительных комплексов мобильных роботов // Cloud of Science. 2020 Т. 7. № 4. С. 926-935.

109. Рядчиков И.В., Гусев А.А., Сеченев С.И. Динамическая стабилизация шагающего робота с помощью генетического алгоритма // XXI век: итоги прошлого и проблемы настоящего плюс. 2018. Т. 7. № 4 (44). С. 14-18.

110. Ryadchikov I., Sechenev S., Mikhalkov N., Biryuk A., Svidlov A., Gusev A., Sokolov D., Nikulchev E. Feedback control with equilibrium revision for CMG-

actuated inverted pendulum // Smart Innovation, Systems and Technologies. 2020. Vol. 154. P. 431-440.

111. Deryugina O., Nikulchev E., Ryadchikov I., Sechenev S., Shmalko E. Analysis of the anywalker software architecture using the UML refactoring tool // Procedia Computer Science. 2019. Vol. 150. P. 743-750.

112. Ryadchikov I.V., Gusev A.A., Sechenev S.I., Prutskiy A.S., Nikulchev E. Genetic algorithm and simulation for selecting PID-controllers parameters in the walking robot // IOP Conference Series: Materials Science and Engineering. 2019. Vol. 476. P. 012023

113. Ryadchikov I., Sokolov D., Biryuk A., Sechenev S., Svidlov A., Volkodav P., Mamelin Y., Popko K., Nikulchev E. Stabilization of a hopper with three reaction wheels // Conference proceedings 50th International Symposium on Robotics. — VDE, 2018. P. 1-4.

114. Ryadchikov I., Sechenev S., Drobotenko M., Svidlov A., Volkodav P., Vishnykov R., Sokolov D., Nikulchev E. Stabilization system of a bipedal non-anthropomorphic robot Anywalker // Journal of Engineering Science and Technology Review. 2018. Vol. 11. No. 5. P. 128-133.

115. Ryadchikov I., Sechenev S., Nikulchev E., Drobotenko M., Svidlov A., Volkodav P., Vishnykov R. Control and stability evaluation of the bipedal walking robot Anywalker // International Review of Automatic Control. 2018. Vol. 11. No. 4. P. 160-165.

116. Ryadchikov I., Sechenev S., Svidlov A., Sinitsa S., Volkodav P., Mamelin Yu., Popko K., Nikulchev E. Project-based integration of robotics platforms into educational process in universities // The European Proceedings of Social & Behavioural Sciences. 2017. Vol. 33. C. 299-303.

117. Ryadchikov I., Sechenev S., Svidlov A., Sinitsa S., Nikulchev E. Development of a self-stabilizing robotic chassis for industry // MATEC Web of Conferences. 2017. Vol. 99. P. 02007.

118. Ryadchikov I., Sechenev S., Sinitsa S., Svidlov A., Volkodav P., Feshin A., Alotaki A., Bolshakov A., Drobotenko M., Nikulchev E. Design and control of self-stabilizing angular robotics Anywalker // International Journal of Advanced Computer Science and Applications. 2017. Vol. 8. No. 9. P. 29-34.

119. Riadchykov I., Sechenev S., Sinitsa S., Nikulchev E. Constructive solution of the robotic chassis Anywalker // ITM Web of Conferences. 2016. Vol. 6. P. 01003.

120. Рядчиков И.В., Сеченев С.И., Свидлов А.А., Бирюк А.Э., Прутский А.С., Гусев А.А., Никульчев Е.В. Разработка конструкции шагающего робота anywalker // XIII Всероссийское совещание по проблемам управления ВСПУ-2019. Сб. тр. — М.: ИРУ РАН, 2019. С. 1215-1219.

121. Рядчиков И.В., Никульчев Е.В., Сеченев С.И., Синица С.Г., Большаков А.В., Фешин А.А., Алотаки А.М., Смирнов А.Н., Волкодав П.П. Проектирование и управление самостабилизирующего шагающего робота Anywalker // Экстремальная робототехника. 2017. Т. 1. № 1. С. 344-352.

122. Синица С.Г., Сеченев С.И., Рядчиков И.В., Мамелин Ю.В. Разработка модели боевой робототехнической системы для участия в робототехниче-ских соревнованиях // Экстремальная робототехника. 2015. Т. 1. № 1. С. 275279.

123. Синица С.Г., Рядчиков И.В., Волкодав П.П., Данилов А.С., Мамелин Ю.В., Прутский А.С., Алотаки А.М., Свидлов А.А., Сеченев С.И., Усманова А.Т., Шуткин И.Ю. Управление сервоприводами по протоколу dynamixel / Свидетельство о регистрации программы для ЭВМ RU 2018613397, 13.03.2018.

124. Рядчиков И.В., Синица С.Г., Сеченев С.И., Мамелин Ю.В., Гусев А.А., Прутский А.С. Программа стабилизации не антропоморфного робота с внешним вычислителем на базе ROS и MATLAB Simulink / Свидетельство о регистрации программы для ЭВМ RU 2018666915, 24.12.2018.

125. Рядчиков И.В., Бубнов Г.Г., Плужник Е.В., Сеченев С.И. Устройство для стабилизации положения объемного тела в пространстве с силовой компенсацией отклоняющих воздействий / Патент на полезную модель Ш 160949 и1, 10.04.2016.

126. Рядчиков И.В., Бубнов Г.Г., Плужник Е.В., Сеченев С.И. Двуногий шагающий робот / Патент на полезную модель RU 164528 и1, 10.09.2016.

Список сокращений

ЦВК - Цифровой вычислительный комплекс

ЭБУ - Электронный блок управления

ИИУ - Инерциальное измерительное устройство

БИУС - Бортовая информационно-управляющая система

МКИО - Мультиплексный канал информационного обмена

БИНС - Бесплатформенная инерциальная навигационная система

Приложение 1. Управляющая программа главного контроллера Ап^а1кег

Листинг 1. Файл таш.И

#ifhdef_МЛГК_И

#аеГте __МЛГК_И

#ifdef_ср1шр1ш

ех1ет "С" { #ehdif

#ihc1ude "81ш32£7хх_Ьа1.Ь"

void Error_Hahd1er(void);

#defihe SPГ4_NSS_Pih ОРЮ_РГ1Ч_2

#defihe SPI4_NSS_GPIO_Port ОРЮЕ

#defihe GPIO_Leg_ON_Pih GPIO_PIN_1

#defihe GPIO_Leg_ON_GPIO_Port GPIOF

#defihe GPIO_Maxoh_ON_Pih GPIO_PГN_2

#defihe GPIO_Maxoh_ON_GPIO_Port GPIOF

#defihe ЛDC_Vih_Pih GPIO_PГN_3

#defihe ЛDC_Vih_GPIO_Port GPIOF

#defihe RMП_MDC_Pih GPIO_PГN_1

#define RMП_MDC_GPIO_Port GPIOC

#defihe RMП_REF_CLK_Pih GPIO_PГN_1

#defihe RMП_REF_CLK_GPIO_Port GPIOЛ

#defihe RMП_MDЮ_Pin GPIO_PГN_2

#defihe RMП_MDIO_GPIO_Port GPIOЛ

#defihe USЛRT6_RS485_MODE_Pih GPIO_PГN_5

#defihe USЛRT6_RS485_MODE_GPIO_Port GPIOЛ

#defihe RMП_CRS_DV_Pih GPIO_PГN_7

#defihe RMП_CRS_DV_GPЮ_Port GPIOЛ

#defihe RMП_RXD0_Pih GPIO_PГN_4

#define RMП_RXD0_GPIO_Port GPIOC

#defihe RMП_RXD1_Pih GPIO_PГN_5

#defihe RMП_RXD1_GPIO_Port GPIOC

#defihe RMП_TXD1_Pin GPIO_PГN_13

#defihe RMП_TXD1_GPIO_Port GPIOB

#define LD3_Pih GPIO_PГN_14

#defihe LD3_GPIO_Port GPIOB

#defihe BUZZER_Pih GPIO_PГN_8

#defihe BUZZER_GPIO_Port GPIOC

#defihe UЛRT5_RS485_MODE_Pih GPIO_PГN_15

#defihe UЛRT5_RS485_MODE_GPIO_Port GPIOЛ

#defihe RMП_TX_EN_Pin GPIO_PГN_11

#defihe RMП_TX_EN_GPIO_Port GPIOG

#defihe RMП_TXD0_Pin GPIO_PГN_13

#defihe RMП_TXD0_GPIO_Port GPIOG

#define LD2 Pih GPIO PГN 7

#define LD2_GPIO_Port GPIOB

#ifdef_cplusplus

}

#endif

#endif /*_MAIN_H */

Листинг 2. Файл main.c

#include "main.h"

#include "adc.h"

#include "can.h"

#include "lwip.h"

#include "spi.h"

#include "tim.h"

#include "usart.h"

#include "gpio.h"

#include "dynamixel_driver.h

#include "MPU9250.h"

#include "udp_server.h"

void SystemClock_Config(void);

extern fifo_t fifo_server_buffer; extern fifo_t fifo_dynamixel_buffer; extern uint8_t fifo_server_len; extern uint8_t fifo_dynamixel_len;

extern Leg left_leg; extern Leg right_leg;

float battery_voltage; // Напряжения бортовой сети

uint8_t flag_low_battery = 0; // Флаг низкого напряжения бортовой сети

uint8_t counter_low_battery = 0; // Защита от погрешностей АЦП

int main(void) {

dxInit();

udp_server_init(); initMPU(&hspi4);

uint32_t timeout_update_regs = HAL_GetTick(); // Таймаут считывания позиции с сервоприводов

uint32_t timeout_server_process = HAL_GetTick(); // Таймаут парсинга пакетов, принятых сервером

uint32_t timeout_dx_process = HAL_GetTick(); // Таймаут управления сервоприводами uint32_t timeout_voltage_check = HAL_GetTick(); // Таймаут проверки напряжения бортовой сети

// Коэффициенты для конвертирования значений АЦП в вольты

const float v_bat_factor = 10.0;

const uint16_t servo_voltage_coef = 3323;

while (1) {

MX_LWIP_Process();

if (HAL_GetTick() - timeout_update_regs >= 5 && leg_power) { updateDxReg(&right_leg); updateDxReg(&left_leg);

timeout_update_regs = HAL_GetTick();

}

parseData(&left_leg, &right_leg, fifo_dynamixel_buffer, &fifo_dynamixel_len);

if (HAL_GetTick() - timeout_server_process >= 2) {

fifoParseData(&left_leg, &right_leg, fifo_server_buffer, &fifo_server_len); timeout_server_process = HAL_GetTick();

}

if (HAL_GetTick() - timeout_dx_process >= 5 && leg_power) { dxProcess(&left_leg); dxProcess(&right_leg); timeout_dx_process = HAL_GetTick();

}

if (HAL_GetTick() - timeout_voltage_check >= 1000 && left_leg.flag_end_position_task && right_leg.flag_end_position_task)

{

HAL_ADC_Start(&hadc3); HAL_ADC_PollForConversion(&hadc3, 100);

uint 16_t adc = HAL_ADC_GetValue(&hadc3);

HAL_ADC_Stop(&hadc3);

battery_voltage = ( v_bat_factor * servo_voltage_coef * adc / 4095) / (1000) + 0.4;

if (battery_voltage < 20) { counter_low_battery++;

}

timeout_voltage_check = HAL_GetTick();

}

if (counter_low_battery > 10) { flag_low_battery = 1;

}

}

}

void Error_Handler(void) {

Листинг 3. Файл udp_server.h

#ifndef_UDP_SERVER_H__

#define_UDP_SERVER_H__

#include <stdint.h> #include "dynamixel_driver.h" #include "FIFO.h"

void udp_server_init(void);

#define NREGS 170 // Количество регистров на сервере #define ANSWER_BUF_SIZE 100 // Размер ответного буффера #define RECV_PACK_SIZE 200 // Размер буффера приема

uint8_t fifo_server_len; // Длина текущего размера FIFO буффера на сервере fifo_t fifo_server_buffer; // FIFO буффер пакетов с инструкцией на запись

extern uint8_t serverBuf[NREGS]; // Буффер регистров /**

* Перечисление номеров регистров на сервере

*/

enum registers {

IMU_PITCH = 0U,

IMU_ROLL = 4U,

IMU_YAW = 8U,

IMU_GZ = 12U,

SERVO_ POS_ L1 = 16U,

SERVO_ POS_ L2 = 20U,

SERVO_ POS_ L3 = 24U,

SERVO_ POS_ L4 = 28U,

SERVO_ POS_ L5 = 32U,

SERVO_ POS_ L6 = 36U,

SERVO_ POS_ R1 = 40U,

SERVO_ POS_ R2 = 44U,

SERVO_ POS_ R3 = 48U,

SERVO_ POS_ R4 = 52U,

SERVO_ POS_ R5 = 46U,

SERVO_ POS_ R6 = 60U,

SERVO_ TASK POS L1 = 64U,

SERVO_ TASK POS L2 = 68U,

SERVO_ TASK POS L3 = 72U,

SERVO_ TASK POS L4 = 76U,

SERVO_ TASK POS L5 = 80U,

SERVO_ TASK_POS_ L6 = 84U,

SERVO_ TASK POS R1 = 88U,

SERVO_ TASK POS R2 = 92U,

SERVO_ TASK POS R3 = 96U,

SERVO_ TASK POS R4 = 100U,

SERVO_TASK_POS_R5 = 104U, SERVO_TASK_POS_R6 = 108U,

SERVO_ TASK SPEED_ L1 = 112U,

SERVO_ TASK SPEED_ L2 = 116U,

SERVO_ TASK SPEED_ "L3 = 120U,

SERVO_ TASK SPEED_ L4 = 124U,

SERVO_ TASK SPEED_ L5 = 128U,

SERVO_ TASK_ SPEED_ ~L6 = 132U,

SERVO_ TASK SPEED_ R1 = 136U,

SERVO_ TASK SPEED_ R2 = 140U,

SERVO_ TASK SPEED_ R3 = 144U,

SERVO_ TASK SPEED_ R4 = 148U,

SERVO_ TASK SPEED_ R5 = 152U,

SERVO_ TASK SPEED_ R6 = 156U,

AW_SHUTDOWN = 160U, AW_TORQUE = 161U,

AW_BUFFER = 162U,

AW_SPEED_KOEF = 164U, AW_LEG_POWER = 165U, AW_MAXON_POWER = 166U, AW_BATTERY = 167U

};

/**

* Перечисление номеров инструкций пакетов

*/

enum incoming_request{ READ_RANGE = 1U, READ_SELECT, WRITE_RANGE

};

/**

* Функция обновления значений на сервере для подготовки их к отправке

*/

void updatelnputRegs(void);

/**

* Функция распределения по номеру регистров значений

*/

void processHoldingReg(uint16_t);

/**

* Функция обработки принятых пакетов с инструкцией записи

*/

void fifoParseData(Leg*, Leg*, fifo_t, uint8_t*); #endif /* TCP ECHOSERVER */

Листинг 4. Файл udp_server.c

#include "udp_server.h"

#include "ip_addr.h" #include "stats.h" #include "udp.h" #include "main.h" #include "MPU9250.h"

#define FIFO_SERVER_MAX_SIZE 5

/**

* Структура принятого пакета

*

* Описание полей структуры:

* command - вид инструкции {READ_RANGE - 1, READ_SELECT - 2, WRITE_RANGE - 3}

* data - инструкция

*

* Описание инструкций:

* READ_RANGE:

* 11|начальный регистр|кол-во байт|

* READ_SELECT:

* |2|кол-во регистров|перечисление регистров ...|

* WRITE_RANGE:

* |3| начальный регистр|кол-во байт| перечисление данных ...|

*/

typedef struct CommandStruct { uint8_t command; uint8_t data[RECV_PACK_SIZE]; } CommandStruct;

extern uint8_t fifo_server_len; extern fifo_t fifo_server_buffer; extern Leg left_leg, right_leg;

extern float battery_voltage;

uint8_t recvPack[RECV_PACK_SIZE]; // Принятый пакет uint8_t answerBuf[ANSWER_BUF_SIZE] = {}; // Буффер ответа uint8_t serverBuf[NREGS] = {}; // Буффер сервера

// Сырые значения гироскопа с гироскопа int16_t imu_Gx, imu_Gy, imu_Gz;

// Обработанные значения с гироскопа float imu_pitch, imu_roll, imu_yaw;

// Размер буффера ответа uint16_t answer_size;

/**

* Функция проверки принадлежности значения числовому промежутку.

* Возвращает true, если значение принадлежит числовому промежутку,

* и false в обратном случае.

*

* Входные данные:

* value - значение

* left - левая граница промежутка

* right - правая граница промежутка

*/

static bool in_range(uint8_t value, uint8_t left, uint8_t right) { return (left <= value && value <= right);

}

/**

* Функция проверки принятого пакета на выключение управления роботом.

* Возвращает true если пакет содержит команду выключения управления

* роботом, и false в обратном случае.

*

* Входные данные:

* recv - принятый пакет

*/

static bool check_shutdown(uint8_t* recv) { bool res = false;

if (recv[0] == READ_RANGE || recv[0] == READ_SELECT)

return false; if (recv[1] == AW_SHUTDOWN)

res = true; return res;

/**

* Функция проверки принятого пакета на включение/выключение питания

* на маховик/сервоприводы. При принятии данного пакета, включаем/выключаем

* питание на маховике/сервоприводах.

*

* Входные данные:

* recv - принятый пакет

*/

static bool check_change_power(uint8_t* recv) {

if (recv[0] == READ_RANGE || recv[0] == READ_SELECT) return false;

if (recv[1] == AW_LEG_POWER) { setLegPower(recv[3]); return true;

}

if (recv[1] == AW_MAXON_POWER) { setMaxonPower(recv[3]); return true;

}

return false;

}

* Фукнция получения размера значения в регистре в байтах

*

* Входные данные:

* reg - номер регистра

*/

static uint8_t len_register(enum registers reg) {

if ((IMU_PITCH <= reg && reg <= SERVO_TASK_SPEED_R6) || reg == AW_BATTERY)

return 4; if (reg == AW_BUFFER) return 2;

if ((AW_SHUTDOWN <= reg && reg <= AW_TORQUE) || (AW_SPEED_KOEF <= reg && reg <= AW_MAXON_POWER)) return 1; return 0;

}

/**

* Прототип функции обработки принятого пакета. Если пришла инструкция на считывание, то

* запрошенные регистры сразу отправляются в ответ. Если пришла инструкция на запись, то

* инструкция записывается в FIFO, для дальнейшей обработки.

*

* Входные данные:

* arg - пользовательские параметры

*

upcb - указатель на структуру управления UDP протоколом

* p - указатель на принятый пакет

* addr - IP адрес с которого пришел пакет

Обратите внимание, представленные выше научные тексты размещены для ознакомления и получены посредством распознавания оригинальных текстов диссертаций (OCR). В связи с чем, в них могут содержаться ошибки, связанные с несовершенством алгоритмов распознавания. В PDF файлах диссертаций и авторефератов, которые мы доставляем, подобных ошибок нет.