Подлючение сенсора осуществляется в соответсвии с его документацией (раздел "ссылки", Техническое описание LS2D). Основные пункты, на которые стоит обратить внимание:
- Мощность датчика
- Поляронсь подлкючения
- Параметры IPv4
- Установите docker при необходимости. Склонируйте репозиторий и перейдите в его основную папку:
git clone https://github.com/I1sh/RTC_PRAK.git
- Для работы с docker-окружением доступны следующие скрипты:
docker/build_docker.sh - сборка контейнера
docker/run_docker.sh - запуск контейнера
docker/into_docker.sh - запуск bash в контейнерере
В случае, если на вашем ПК используется видеокарта от nvidia, то скрипты сборки и запуска следует исполнять с параметром -n
или --nvidia
.
Соответственно, для начала работы соберите и запустите контейнер выполнив последовательно следующие команды:
bash <path-to-this-rep>/docker/build_docker.sh
bash <path-to-this-rep>/docker/run_docker.sh
- При первом входе в контейнер требуется собрать пакеты в директории
catkin_ws
, для этого внутри контейнера выполните:
cd /catkin_ws
catkin_make
- Склонируйте репозиторий и перенесите пакет в ваше окружение:
git clone https://github.com/I1sh/RTC_PRAK.git
mv RTC_PRAK/catkin_ws/src/ls2d <path-to-your-ws/src>
- Установите библиотеку boost:
sudo apt-get install libboost-all-dev
- Перейдите в ваш воркспейс и соберите пакет:
rosdep install --from-paths src --ignore-src -r -y
catkin_make
source devel/setup.bash
Пакет содержит ноду ls2d_init_node
, которая подлючается к датчику и публикует данные с датчика в топик point_cloud
, тип сообщения sensor_msgs/PointCloud2.msg
. Данные об иницализации датчика публикуются в топик sensor_info
, тип сообщения ls2d/Sensor_info.msg
.
Для запуска всех нижеописаных пакетов одной командой можно воспользоваться launch файлом:
roslaunch ls2d ls2d.launch
- Для запуска визуализации данных в rviz нужно оперделить tf для фрейма датчика
/sensor_base_link
. При запуске датчика отдельно можно воспользоваться командой:
rosrun tf static_transform_publisher 0 0 0 0 0 0 map sensor_base_link 50
В общем случае же необходимо определить static_tf
между роботом и датчиком.
- Для преобразования получаемого с датчика облака точек к сообщению типа
sensor_msgs/LaserScan.msg
нужно запусить лаунч файл point_cloud_to_lazerscan.launch из этого пакета. При необходимости в нём можно задать имя фрейма сенсора, параметры сканирования (высоту, ширину, угол сканирования), названия топиков для входого облака точек (по умолчанию /point_cloud) и выходного сообщения laserscan(по умолчанию /scan_msgs).
roslaunch ls2d point_cloud_to_lazerscan.launch
- В rviz необходимо добавить визуализацию LaserScan и указать имя топика из которого чиать сообщеня соответсвующего типа.
License: APACHE LICENSE, VERSION 2.0.
**Author: Ivan Shevtsov [email protected] **
Пакет тестировался и разробатывался под [ROS] Noetic и ubuntu 20.04.