SWD Software Ltd. - официальный дистрибьютор QNX на территории России и стран бывшего СССР Операционная система реального времени QNX
Инструменты для создания надёжных встраиваемых систем и
интеллектуальных устройств любой сложности
QNX Software Systems - разработчик встраиваемой операционной системы QNX
Информационные брошюры
Статьи и публикации
Обзоры
Операционные системы
Графические интерфейсы
Средства разработки
Прикладные системы на базе ОС QNX
Разное
Конкурсные статьи
Техническая литература
Материалы конференций QNX-Россия
Полезные ссылки
Блог QNX
Главная страница > Материалы > Статьи и публикации > Прикладные системы на базе ОС QNX > Разработка мобильной роботизированной платформы в студенческом проекте Сделать страницу стартовой Послать ссылку коллеге Версия для печати

Разработка мобильной роботизированной платформы в студенческом проекте

С.А. МИНЕЕВ (к. ф.-м. н.), Г.А. ФИДЕЛИН (м. н. с.)
(Нижегородский государственный университет им. Н. И. Лобачевского)

Курс производственной практики “Автономная мобильная платформа для доставки датчиков по пересеченной местности” был разработан и внедрен в Нижегородском государственном университете им. Н. И. Лобачевского на кафедре “Информационные технологии в физических исследованиях” физического факультета. Данный курс относится к категории образовательных программ проектного обучения (обучение через выполнение проекта). Направление специальности, для которого была разработана и успешно применена программа, - специалитет физико-математического образования.

Основная цель - развитие у студентов навыков, актуальных для современной жизни, через самостоятельную исследовательскую и практическую деятельность.

Цель в контексте специальности “Информационные технологии в физических исследованиях” – закрепление курсов:

  1. Технология программирования;
  2. Информатика;
  3. Электротехника и электроника;
  4. Информационные технологии;
  5. Теория информационных процессов и систем;
  6. Моделирование систем;
  7. Архитектура ЭВМ и систем;
  8. Компьютерная геометрия и графика.

Цель в контексте кафедры “Информационные технологии в физических исследованиях” – наработка задела для расширения практики проектного обучения, выхода на уровень участия в Российских и международных студенческих конкурсах и соревнованиях.

Цель в контексте физического факультета – информирование потенциальных абитуриентов о преимуществах обучения на факультете, информирование работодателей о потенциале выпускников.

Цель в контексте университета – привлечение внимания к проблемам проектного обучения, расширение практики проектного обучения, организация межфакультетских робототехнических соревнований и конкурсов.

За 3,5 месяца две группы студентов должны создать мобильную платформу, на которой размещается полезная нагрузка, а сама платформа, ориентируясь по навигационному полю GPS и датчикам окружения, стремится попасть в заданную точку, обходя препятствия (возвышения, углубления, водные преграды, др.). Группы работают в атмосфере конкуренции, отчетное мероприятие проводится в форме соревнования.

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

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

На кафедре “Информационные технологии в физических исследованиях”, преподаётся широкий набор, фундаментальных дисциплин, теорий обработки информации и численных методов, в рамках которых изучаются способы и алгоритмы решения широкого круга задач. Введение курса проектного обучения, для студентов является демонстрацией того, какая работа отделяет идею от ее внедрения в виде аппаратно-программного комплекса. Акцентируется внимание и на том, какие ограничения и требования (к размеру приложения, к быстродействию, к использованию ресурсов) предъявляются к встраиваемым системам.

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

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

При проектировании и создании мобильных робототехнических систем большое внимание уделяется бортовым шинам данных как средству интеграции различных периферийных устройств и датчиков с вычислительными/управляющими узлами. На сегодняшний день имеется несколько вариантов стандартизированных шин данных, применяемых в качестве бортовых: мультиплексный канал обмена MIL 1553 (авиация, космическая техника), CANbus (автомобили, малые суда), промышленный Ethernet (крупные суда), SpaceWire (космическая техника). Все перечисленные шины малопригодны для небольших робототехнических устройств (длиной несколько десятков сантиметров) из-за габаритных размеров оборудования, сравнимых с габаритами самих систем, ограниченного спектра доступного периферийного оборудования, поддерживающего такие интерфейсы, высокой стоимости, как самого оборудования, так и сопутствующих отладочных средств. Особенно стесненными в выборе технических средств оказываются учебные и исследовательские проекты в области робототехники. Возникла парадоксальная ситуация – на рынке доступно множество различной малогабаритной микропроцессорной техники, а средства объединения этой техники в рамках робототехнических систем отсутствуют.

На начальном этапе студенческого проекта предполагалось, что робот будет оснащен модулем GPS-навигации, средством радиосвязи, датчиками обнаружения препятствий, системой управления движением, процессорным блоком. Встал вопрос о типе бортовой шины. После короткого обзора доступных аппаратных средств выбор был сделан в пользу шины USB. Сразу же удалось составить список оборудования, которое и было закуплено:

  1. плата AS9200 ф. Аргуссофт c микроконтроллером AT91RM9200 (процессорный блок);
  2. радиомодуль Wi-Fi ZyXEL GE 202 (средство радиосвязи);
  3. ANTARIS SuperSenseR EvalKit (модуль GPS-навигации);
  4. ЛА-20USB ф. Руднев-Шиляев (система подкл. датчиков, исполнит. механизмов);
  5. WEB-камера DLink DSB-C120;
  6. USB-hub на четыре порта (средство подключения периферии к процессорному модулю).

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

Разработку программного обеспечения микроконтроллера AT91RM9200 ф. Atmel было решено выполнять на базе ядра ОСРВ QNX Neutrino 6.3.2. Применение встраиваемой операционной системы было продиктовано необходимостью использования готовой и отлаженной программной инфраструктуры – системы обработки прерываний, файловой системы, средств поддержки многопоточности, широком наборе библиотек и утилит. Выбор в пользу QNX был сделан, во-первых, по причине её компактности (образ готовой ОС может занимать менее 1Мб) и модульности, во-вторых, благодаря специальным средствам в этой системе удается достичь высоких показателей надежности работы комплексных программных систем (менеджеры ресурсов, менеджер высокой доступности).

Программное обеспечение процессорного блока AS9200 было разработано с помощью среды разработки QNX Momentics. Применение данной среды разработки позволило решать проблемы отладки встроенных приложений, уточнять протоколы, тестировать отдельные модули, работая на стационарном ПК, не нуждаясь в наличии самого контроллера. В результате процесс разработки роботов удалось распараллелить – студенты получили возможность одновременной работы над различными элементами роботов.

Основной проблемой при разработке ПО было отсутствие драйверов USB-устройств для операционной системы QNX. Данная проблема была успешно решена с помощью специализированного блока USB EXPLORER 200 ф. Ellysys, позволившего перехватить USB-потоки и расшифровать их протоколы. При расшифровке протокола ЛА-50USB (наиболее сложный протокол) успех был достигнут при помощи информации, предоставленной фирмой-изготовителем устройства (Руднев-Шиляев).

Итогом проекта было создание студенческими группами двух мобильных роботов, способных двигаться объезжая препятствия, фиксировать свои пространственные координаты, делать снимки окружающей обстановки. Данный проект показал перспективность применения шины USB в качестве бортовой объединительной магистрали исследовательских робототехнических систем. В будущих проектах планируется подключить к процессорному блоку USB HDSPA-модем, USB акустическую систему, USB-мышь (в качестве оптического датчика). Разработанные в рамках студенческого проекта мобильные роботы могут служить примером использования доступной элементной базы, что открывает путь к созданию простых в разработке, недорогих автоматизированных систем для широкого спектра применения. Программа производственной практики размещена на сайте каф. ИТФИ физического факультета ННГУ им. Н. И. Лобачевского http://nifti.unn.ru/itfi/documents.

Схема электрооборудования роботизированной платформы
Рис. 1. Схема электрооборудования роботизированной платформы.

После успешной защиты производственной практики было принято решение о доработке одной из созданных студентами роботизированных платформ до уровня, позволяющего принять участие в Первом Всероссийском робототехническом фестивале (см. http://www.robosport.ru). В рамках доработки робот был оснащен еще одной платой AS9200 c микроконтроллером AT91RM9200. Одна из процессорных плата была целиком отдана под задачу обработки видеоинформации, поступающей с камеры DLink DSB-C120, другая плата использовалась как управляющий контроллер (управление маршевым двигателем, изменение направления движения, контроль времени, отведенного на выполнение задания). Взаимодействие процессорных плат осуществлялось по общему для всей платформы «бортовому» USB-интерфейсу. Плата видеообработки реализовывала интерфейсы USB-устройство и USB-host (для взаимодействия с камерой), плата контроллера – USB-host. Схема электрооборудования роботизированной платформы приведена на рис. 1.

Работы по доработке велись параллельно двумя группами по направлениям: разработка алгоритмов обработки видеоизображений и разработка алгоритмов управления движением. Разработка и отладка производилась на ПЭВМ с помощью инструментария QNX Momentics IDE. В процессе работы студентами был изучены и практически освоены стандарт USB (управление периферийными устройствами USB в Full Speed режиме), API QNX, технология создания менеджеров устройств QNX, технология кросс-разработки и отладки встраиваемых приложений.

Возможности нового роботы были продемонстрированы на Первом Всероссийском робототехническом фестивале 2009. Команда «Волга» Нижегородского государственного университета им. Н. И. Лобачевского завоевала 2-е место в состязаниях класса «Свободный».

Рассказать друзьям:

Rambler's Top100           Рейтинг@Mail.ru