Автономные роботы - Итоги 2016/2017 учебного года

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

Роботы

Наши роботы должны заменить зарубежные образцы, при этом обладать большим функционалом и значительно меньшей стоимостью. Работа над ими разделилась на три задачи:

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

Микроконтроллер

Для реализации системы управления платформой использован микроконтроллер STM32. Его преимуществами являются высокие характеристики и низкая цена. Программирование осуществлялось в среде Eclipse на языке Си. Удобным вариантом стало использование операционной системы реального времени FreeRTOS, которая позволяет программировать и выполнять на микроконтроллере независимые друг от друга задачи и менять их по ситуации. Реализованы три такие задачи: индикация статуса и заряда аккумуляторной батареи; связь с одноплатным компьютером для получения команд; непрерывный  контроль параметров платформы. Команды от бортового компьютера принимаются по последовательному интерфейсу в строковом формате, и включают команды движения и запроса значения бортовых датчиков.

Бортовой компьютер

В качестве бортового компьютера использован Raspberry Pi 3 под управлением операционной системы Linux. Для этого компьютера разработан специальный сервер автономного и удаленного управления роботом. Веб-интерфейс удаленного управления включает поле для трансляции видео с бортовой камеры, кнопки управления движением и индикацию показания датчиков. Для его создания использованы языки HTML, JavaScript, Python и векторная графика в формате SVG. Модуль автономной навигации основан на расчете координат робота на плоскости в зависимости от команд движения и их длительности. Выходные данные этого модуля затем использованы для автономного движения робота в точку с указанными ему координатами.

Итоги

  • Два созданных робота.
  • Третье место в секции робототехника на Балтийском научно-инженерном конкурсе, Санкт-Петербург, 2017.
  • Второе место в школьной секции "Инженерное конструирование" конференции МНСК, Новосибирск, 2017.
  • Третье и пятое место на районном этапе научно-практической конференции НОУ "Сибирь", Новосибирск, 2016.
  • Принятый доклад на международную научную конференцию "Проблемы управления и моделирования в сложных системах", Самара, 2017.

 

Ксения

Роботы