/uav_cv_control

UAV Line Following and Obstacle Avoidance through IBVS (ROS + OpenCV)

Primary LanguageC++

Важные замечания

  • Желаемая высота полета квадрокоптера в различных тестовых сценариях задается посредством рос-параметра altitude_desired в момент запуска рос-пакета. Участник должен реализовать соответствующий функционал.

  • Движение квадрокоптера по трассе должно осуществляться по часовой стрелке. Модель квадрокоптера создается в сцене так, что "перед" квадрокоптера направлен в том направлении трассы, куда должно быть начато движение. (Т.е. при создании модели квадрокоптера в сцене ось X системы координат base_link квадрокоптера направлена в сторону движения по трассе по часовой стрелке)

  • При реализации алгоритмов управления рекомендуется использоваться время симуляции rostime

  • Решение участника должно запускаться вызовом единствевнного ros-launch файла launch/solution.launch.

quadrator_track_1

Репозиторий содержит программное обеспечение для подготовки и сдачи задания категории Бакалавриат направления Робототехники олимпиады Я - Профессионал.

Данный репозиторий будет использоваться для проведения оценки заданий участников.

Предоставляемое программное обеспечение включает ROS-пакет, содержащий пример управления квадрокоптером и получения изображения с его бортовой камеры в симуляторе gazebo.

Работа с пакетом предполагается из docker-контейнера предоставляемого участникам в составе основного репозитория олимпиады и совместно с репозиторием с описанием сцены и квадрокоптера для симулятора, соответственно, предоставляемые далее инструкции требуют предварительно выполнить инструкции, представленные в обозначенных репозиториях.

Установка программного обеспечения

  1. В новом терминале вне docker-контейнера перейдите в корневую директорию основного репозитория олимпиады и склонируйте данный репозиторий в рабочее окружение выполнив:

     cd workspace/src
     git clone https://gitlab.com/beerlab/iprofi2022/profi2022_bachelor_solution.git
    
  2. Откройте bash-сессию внутри контейнера, перейдите в смонтированное рабочее окружение и соберите все пакеты:

     bash docker/into_docker.sh
     cd /workspace
     catkin build
    

Описание программного обеспечения

  1. Репозиторий представляет собой ROS-пакет, который участникам олимпиады предстоит использовать для представления своего решения для оценки. Пакет включает в себя пример управления квадрокоптером и получения изображения с его бортовых камер.

  2. Перед запуском примера убедитесь, что программное обеспечение из репозитория с описанием сцены и квадрокоптера для симулятора установленно корректно.

    Запустите симулятор выполнив:

     roslaunch profi2022_bachelor_scene start_scene.launch
    

    Дождитесь окончания загрузки симулятора и появления квадрокоптера на сцене. Для запуска примера в новой bash-сессии внутри контейнера выполните:

     roslaunch profi2022_bachelor_solution solution.launch
    

    При успешном выполнении всех выше обозначенных действий должно появиться дополнительное окно с выводом изображения с бортовой камеры квадрокоптера, сам квадрокоптер осуществит взлет на некоторую высоту и начнет исполнять траекторию в форме восьмерки:

    Исходный код примера находится в scripts/simple_move.py (src/simple_move.cpp) и представляет собой ROS-узел /quadrator_simple_move. Узел подписывается на два топика: топик с изображением /image1 с камеры робота направленной вниз,топик с изображением /image2 с камеры робота направленной вперед, запускает двигатели квадрокоптера используя сервис /enable_motors и публикует желаемую скорость робота в топик /cmd_vel.