Приложение позволяет управлять роботом под управлением Kaspersky OS посредством распознования его по видеопотоку. Управления роботом происходит путем распознавания точки базирования робота, точки назаначения, а также самого робота. На основе этих данных формируются и отправляются команды управления роботом по каналу MQTT для достижения им заданной цели. Начало движения робота инициализируется по команде пользователя посланную через Telegram бота.
+---------------+ +---------------+ +---------------+
| | | | | |
| kos_abot | <- MQTT -> | control | <- MQTT -> | telegrab_bot |
| | | | | |
+---------------+ +---------------+ +---------------+
Модуль по убравлению роботом разработанный MrQuaters Проект kos-abot написан для операционной системы Kaspersky OS.
- В файле pwm_controller.cpp:
void pwm_controller::goLeft(int perc) {
set_pins(perc, 1, 0, 1, 0);
}
void pwm_controller::goRight(int perc) {
set_pins(perc, 0, 1, 0, 1);
}
void pwm_controller::goForward(int perc) {
set_pins(perc, 1, 0, 0, 1);
}
void pwm_controller::goBack(int perc) {
set_pins(perc, 0, 1, 1, 0);
}
- В файле server.c изменены конфигурационные данные для подключения к MQTT брокеру.
Модуль осуществляющий распознования робота в пространстве по изображеию с камеры, путем его обработки алгритмами содержащимися в библиотеке OpenCV. После распознования формируются команды для управления роботом (вперед, влево, вправо) передаваемые модулю kos-abot по протоколу MQTT.
Распознование ключевых точек таких как: робот, точка назначения, точка базирования. Осуществляются путем распознавания контрастных однотонных цветов, расположенных в данных ключевых точках.
Цвета заданы в формате HSV и задаются файле main.cpp:
det->set_color_bot_rear(0, 0, 0);
det->set_color_bot_front(0, 0, 0);
det->set_color_target(0, 0, 0);
det->set_color_home(0, 0, 0);Конфигруационные данные для подключения к MQTT брокеру расположены также в файле main.cpp:
#define mqtt_host "192.168.1.4"
#define mqtt_port 1883Telegram бот необходим для взаимодействия пользователя и модуля Control. У пользователя есть возможность передать команду для движения робота к цели и команду для отправления его обратно на базу.
Конфигруационные данные для подключения к MQTT брокеру расположены в файле main.cpp модуля telegram_bot:
#define mqtt_host "192.168.1.4"
#define mqtt_port 1883Также в этом файле необходимо изменить токен телеграм бота:
string token = "YOUR_TOKEN";