Как мы делали робота-интегратора

admin   02.05.2020   Комментарии к записи Как мы делали робота-интегратора отключены

integrator_info
Однажды, после очередной новости про чрезвычайное происшествие (большой пожар), мы обратили внимание на такую характеристику, как площадь этого происшествия: площадь пожара, площадь разлития ядовитых веществ из цистерны, площадь радиактивного заражения и т.п. И у нас возникла математическая ассоциация: площадь — это геометрический смысл интеграла.
И почему-бы не сделать робота, который сможет определять площадь (интеграл) происшествия в небезопасных для человека местах (ситуациях)?
Наш робот собран из LEGO EV3 и использует следующие датчики:
1) 2 датчика цвета для определения цвета поверхности.
2) Ультразвуковой датчик расстояния для остановки робота.
3) Гироскопический датчик для орентации робота в пространстве (поворотов).

На первом этапе нам нужно было построить алгоритм для обхода заданной «территории» с максимальным покрытием. Этого мы добились использую обход поверхности зигзагом. Для обеспечения маскимального покрытия поверхности и четкого движения мы использовали гироскопический датчик, чтобы робот поворачивался на 90 градусов.

На втором этапе нам было необходимо определить, сколько «точек измерений» робот сделает на эталонной фигуре. Для этого мы напечатали черный прямоугольник известного размера. Мы провели более 20 опытов, чтобы собрать показания датчиков цвета и получить среднее количество «черных точек» на один опыт. После этого мы посчитали коэффициент, который позволяет нам пересчитать количество точек в площадь (в квадратных сантиметрах).
Далее мы провели ряд опытов (5 заездов на каждую фигуру) на фигурах разного вида.


Вот что у нас получилось.

Фигура S (см^2) S робота (см^2) Погрешность (%)
Прямоугольник 580 613 6
Круг 305 313 3
Треугольник 203 213 5
Кляска 248 242 2,5
Украина 255 267 5


Для прототипа, как нам кажется, мы получили достаточно неплохую точность. Чтобы увеличить качество измерений можно:
1) Уменьшить скорость движения робота, тем самым повысив количество точек измерения на единицу пройденного расстояния;
2) Изменить «шаг зигзага» (уменьшить), чтобы улучшить покрытие поверхности;
3) Улучшить точность поворота робота, чтобы траектории обхода были параллельны. Иногда мы наблюдали неточность работы гироскопического датчика, что приводило к диагональным траекториям;
4) Подобрать лимит «черного цвета», чтобы избежать подсчета серых оттенков.
А вот так выглядят траектории обхода (сканирования) территории.

int_rectangle int_circle
int_triangle int_klaksa
int_ukraine

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