Продолжаем историю создания робота-планетохода Скорпи-1, начатую мной в предыдущих статьях. Тех кто не знаком может прочесть с первой статьи.
Поставив на робота клешню-манипулятор с датчиками касания к объекту и его визуализации, начался процесс коммутации. В качестве контроллера был выбран Arduino UNO 328. Были сомнения, что не хватит портов на все датчики, но практически нам удалось справиться с этой задачей.
Какие задачи планировалось выполнять создаваемым устройством:
- ориентирование в пространстве с помощью машинного зрения
- оценка габаритов предметов для захвата манипулятором роботом-сборщиком полезных ископаемых
- подзарядка на базовой станции
- обмен информацией с базовой станцией
- получение новых алгоритмов работы в режиме “standby”
И если с задачей оценки габаритов предметов для захвата манипулятором удалось справиться с помощью микровыключателей и датчиков идентификации, то с ориентированием в пространстве и возвращение на базовую станцию для подзарядки возникли сложности, растянувшиеся на несколько месяцев поиска решений и реализации.
Машинное зрение - это общее понимание способности ориентирования робота в пространстве, глазами которого являются несколько специализированных датчиков:
- датчик обнаружения препятствия (инфракрасные датчики) для получения первичной информации о наличии препятствий перед роботом
- датчики линии - система обнаружения и движения по линии. Необходимость в ней возникла уже на этапе заезда на базовую станцию, где других способов ориентирования было сложно придумать, и были использованы помимо датчиков линии еще и датчики препятствия для контроля за заездом на базу.
- видео-камера для визуальной обнаружения объектов, их идентификации для использования в системе ориентирования при движении к базе и при сборе образцов грунта (в том числе способности автономной работы в отборе разных по цвету предметов для загрузки нужных в контейнер на роботе).
Мы не стали использовать LIDAR для построения карты местности, посчитав это решение достаточно дорогим и надеялись, что сможем решить поставленные задачи без применения лазерной системы измерения.
Первично было желание поставить камеру и делать обработку изображений на Ардуино, но быстро отказались от этой идеи, поскольку скорость обработки малая, да и задачи, решаемые контроллером Ардуино заключаются в системе управления различными устройствами на основе получаемых данных с сенсоров.
Для обработки видео-потока был взят контроллер ESP32 CAM способного делать обработку до 25 fps. В реалии обработка системы видеоидентификации изображений (лица) встроенным процессором происходили на скорости 2-4 fps.
12 апреля нам предстояло показать нашего робота-планетохода на выставке, а впереди еще было столько незавершенных задач...
О том как прошла презентация нашего робота-планетохода с выполнением заложенных в нем миссий читайте в следующей статье.
С уважением к читателям и подписчикам канала,
Михалев СИ, руководитель конструкторского бюро и лабораторий детской робототехники