Skip to content

ulstu/autonet18plus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Робототехническая платформа для участников соревнований "Autonet 18+"

Важные ссылки

Скрипты для установки решения

  • install.sh - прописываются символические ссылки из папки проекта в папку с исхдоными кодами решений ROS (обычно catkin_ws)
  • run.sh - запуск решения

Публикация сообщений для движения робота

rostopic pub -1 /cmd_vel geometry_msgs/Twist -- '[1.0, 0.0, 0.0]' '[0.0, 0.0, 0.0]'

Телеуправление роботом можно осуществить с использованием библиотеки teleop_twist_keyboard.

Для запуска перемещения робота используется топик 'cmd_vel'. Сообщения передаются в формате Twist, имеющим два свойства linear и angular с типом Vector3, соответствующие линейной и угловой скорости.

Т.к. используется робот с обычной автомобильной кинематикой, то можно устанавливать свойство x для линейной скорости и свойство z для угловой. Значения для linear.x и angular.z должны быть в интервале [-1;1]:

  • -1 для линейной скорости - это движение назад с максимальной скоростью, ограниченной программными средствами (~9 км/ч);
  • 1 для линейной скорости - движение вперед с максимальной скоростью;
  • 0 для линейной скорости - остановка робота;
  • -1 для угловой скорости - поворот колес на максимально допустимый угол вправо;
  • 1 для угловой скорости - поворот колес на максимально допустимый угол влево;
  • 0 для угловой скорости - колеса направлены вдоль оси робота (движение вперед).

Пример публикации сообщений типа Twist для python и для C++. Необходимо помнить про названия топиков (в текущем решении это 'cmd_vel').

Изображения с камеры

Изображения с камеры публикуются в формате Image в два топика: image_top и image_bottom:

  • image_top это изображение с камеры, которая "смотрит" на дорожные знаки и светофор.
  • image_bottom это изображение с камеры, которая "смотрит" на линии дорожной разметки.

Для преобразования сообщения Image в тип изображения OpenCV используется библиотка cv_bridge. Ее особенность в том, что она не всегда стабильно работает на python3, при этом на python2 проблем не возникает. Версии python конкретного файла можно указывать в заголовке каждого python скрипта (shebang):

Python2:

#!/usr/bin/python
# -*- coding: utf-8 -*-

Python3:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

Пример на C++ и на Python

Кнопки запуска

На роботе предусмотрено две кнопки: зеленая для подачи команды на старт выполнения роботом задания и красная для экстренной остановки робота.

Участникам понадобится только зеленая кнопка, она двухпозиционная. При ее включении генерируется сообщение с текстом 'START' в топике 'cmd' и при ее отключении генерируется сообщение 'STOP' в этом же топике.

Робот не начнет движение ни при каких условиях, пока не нажата зеленая кнопка. Участникам соревнований необходимо предусмотреть средства для запуска своих алгоритмов при нажатии на зеленую кнопку. Пример есть в файле move_node.py.

Работа с записанныи данными

Для того, чтобы можно было тестировать свои алгоритмы распознавания на реальных данных с робота, предлагается использовать bag файлы, хранящие запись со всех топиков робота в процессе его тестового запуска. Данный механизм реализован в библиотеке rosbag.

Тестовые rosbag файлы выкладываются тут: https://yadi.sk/d/APE45bWswA_2UA.

  • 2020-08-12-09-26-15.bag.zip - тестовый проезд по корридору. Работают 2 камеры и лидар.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published