Проекты

Дистанционно управляемый мобильный робот общего назначения (ДУМРОН)

Работа призёра открытой городской научно-практической конференции «Курчатовский проект – от знаний к практике, от практики к результату» в секции «Идея» среди работ учащихся 10−11 классов

Направление работы: Робототехника
Авторы работы: ГБОУ "Курчатовская школа"
Предметы: Физика, Информатика
Классы: 10 класс
Мероприятия: Открытая городская научно-практическая конференция «Курчатовский проект – от знаний к практике, от практики к результату» 2020 года

Актуальность

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

Цель

Создание дистанционно управляемого мобильного робота, способного подбирать и перевозить небольшие предметы.

Оснащение и оборудование, использованное при создании работы

  • Фольгированный односторонний стеклотекстолит
  • Пенокартон
  • Термоклей
  • Паяльное оборудование
  • Бытовая химия
  • Электронные модули
  • Лабораторный блок питания
  • Ноутбук
  • Программатор

Описание

Для начала, автору нужно было определиться, каким должен быть функционал системы в целом, затем выбрать электронные модули, нарисовать принципиальные схемы робота и пульта, затем сделать разводку печатных плат (для этого использовался сервис EasyEDA).

Далее следовало изготовление плат методом ЛУТ и монтаж компонентов. После этого создавались корпуса для обоих устройств и размещение электронных компонентов в них, в том числе и китайской WIFI-FPV камеры, снятой со старого гексакоптера.

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

Автору нужно было изучить техническую документацию на выбранные микроконтроллеры(STM32F103C8T6 и STM8S105K4T6C), электронные модули(NRF24L01+, PCD8544, HC-SR04, DS18B20) и программные фреймворки (FreeRTOS и CMSIS-RTOS).

Также нужно было выбрать средства разработки. Для разработки ПО пульта использовался единственный доступный под Linux компилятор, способный компилировать код для STM8 - SDCC, графический конфигуратор STM8CubeMX текстовый редактор Geany и загрузочная утилита stm8flash; для разработки ПО робота использовалась кроссплатформенная бесплатная среда STM32CubeIDE и загрузочная утилита st-flash.

Также в ходе разработки ПО использовалась система контроля версий Git.

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

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

Результаты работы, выводы

Описание проекта на Github: https://github.com/Danya0x07/DUMRON

Видео демонстрация на YouTube:

• от третьего лица: https://youtu.be/q4d6lPmVnV0

• с бортовой камеры: https://youtu.be/5-sbeBdcPqg

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

Был получен опыт использования микроконтроллеров STM32 и STM8.

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

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

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

Перспективы использования результатов работы

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

Награды/достижения

Призёр конференций “Поиск-НИТ” и “Инженеры будущего” (в этом году).

Мнение автора

“Автор считает сильной стороной своей работы её реализацию. В отличие от большинства школьников, использующих Arduino или RaspberryPI и не вникающих в детали взаимодействия с электронными модулями и в концепции разработки и программирования электронных устройств в целом, автор, во-первых, старался сделать устройства максимально дешёвыми (использовал современные микроконтроллеры, а они дешевле тех, что в Arduino), а с точки зрения производства инженер должен мыслить именно так, и во-вторых, позаботился об энергосбережении и поддерживаемости программного кода, что в будущем позволит расширять функционал системы. Конечно, нельзя назвать реализацию абсолютно идеальной во всех аспектах, всегда найдётся что-то такое, что можно было бы сделать лучше. К сожалению, автору показалось, что на научно-практических конференциях для школьников имеют вес более внешние характеристики: оформление, навороченность и понятность созданного продукта, а не профессионализм и эффективность реализации. Тем не менее, автору понравилось участвовать в конференциях, и он ещё вернётся”