Aruco是一种类似于二维码的定位标记系统,它通过在环境中布置特定的标记(Markers),为机器人提供了一种有效的定位辅助手段。
1.安装Realsense的SDK:
下载安装包
git clone https://github.com/IntelRealSense/librealsense.git
cd librealsense
更新依赖
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
按照所需依赖(成功多少是多少,不一定所有版本都有)
sudo apt-get install python3-colcon-common-extensions
sudo apt-get install ros-iron-desktop python3-argcomplete
sudo apt-get install ros-dev-tools
sudo apt-get install libudev-dev pkg-config libgtk-3-dev
sudo apt-get install libusb-1.0-0-dev pkg-config
sudo apt-get install libglfw3-dev
sudo apt-get install libssl-dev
运行Intel Realsense许可脚本(此时需要解除相机连接)
sudo apt install v4l-utils
./scripts/setup_udev_rules.sh
下载并编译内核模块
./scripts/patch-realsense-ubuntu-lts.sh
编译Realsense SDK2.0
cd librealsense
mkdir build
cd build
cmake ../ -DBUILD_EXAMPLES=true
make
sudo make install
测试,打开realsense-viewer,有UI界面并能调用相机
realsense-viewer
2.安装realsense-ros
#建立workspace(或放在已经有的ws下),推荐添加环境变量,机器人系统中相机调用很频繁:
gedit ~/.bashrc
source ~/<ros2_ws_name>/install/setup.bash
source ~/.bashrc
在/src下载源程序
cd src
git clone https://github.com/IntelRealSense/realsense-ros.git
安装依赖
rosdep install -r --from-paths . --ignore-src --rosdistro $ROS_DISTRO -y
编译ROS包
cd ~/ros2_ws
colcon build(或colcon build --symlink-install)
测试(运行节点,查看图像)
ros2 launch realsense2_camera rs_launch.py
ros2 run rviz2 rviz2
或
ros2 launch realsense2_camera rs_pointcloud_launch.py
节点参数查看和调试:
ros2 run rqt_reconfigure rqt_reconfigure
查看运行话题信息:
ros2 topic echo /camera/camera/color/camera_info
查看具体节点某参数:
ros2 param get /camera/camera pointcloud.enable
按需求修改和创建launch.py,如果是colcon build记得修改后编译。
3.安装arcuo_ros
在工作空间/src下载源程序,选择合适版本
cd src
git clone https://github.com/pal-robotics/aruco_ros.git
编译
cd ~/ros2_ws
colcon build --symlink-install
找到需要修改launch.py,根据Aruco Marker参数和相机话题修改launch文件
colcon_cd aruco_ros
cd launch
打印marker标记:在线生成,注意不要缩放
4.功能实现
启动realsense相机
ros2 launch realsense2_camera rs_launch.py
(rviz看图像:ros2 run rviz2 rviz2)
(节点参数查看和调试:ros2 run rqt_reconfigure rqt_reconfigure)
启动aruco识别
ros2 launch aruco_ros single.launch.py
查看识别图像效果
ros2 run image_view image_view image:=/aruco_single/result
或 rqt(rqt -->plugins-->image view ;选择图像话题:aruco_single/result)
查看aruco的pose话题数据
ros2 topic list
ros2 topic echo /aruco_single/pose
5.参考