安装
1、下载安装包
cd ~/catkin_ws/src
git clone https://github.com/pal-robotics/aruco_ros.git
2、安装
cd ..
catkin_make install
3、安装相机USB驱动
sudo apt-get install ros-melodic-usb-cam(我的ROS版本是melodic,如果是kenitic版本改成自己的版本)
4、配置环境变量
.source install/setup.bash
5、修改launch文件
vim src/aruco_ros/aruco_ros/launch/single.launch
修改aruco_ros下的single.launch文件,修改节点。
如果使用usb摄像头可以通过usb_cam节点发布的image和camera_info主题。
如果使用kinect摄像头,改成kinect相应的节点。
将以下粗体字复制到相应位置,不要全部复制,全部复制注意中英文字符。
<remap from=”/camera_info” to=”/usb_cam/camera_info“/>
<remap from=/image” to=”/usb_cam/image_raw” />
使用
1.启动ROS:
roscore
2.启动相机:
roslaunch usb_cam usb_cam-test.launch
3.检测Marker,运行launch文件:
cd ~/catkin_ws/src/aruco_ros/aruco_ros/launch/
roslaunch single.launch
4.启动窗口,可视化检测结果:
rosrun image_view image_view image:=/aruco_single/result(检测marker点)
5.查看位置:
rostopic echo /aruco_single/pose(查看位姿)
其中,左上角的窗口/aruco_single/result显示了检测到了ID为33的Marker,并且以Marker中心为原点画出了xyz坐标系,右上角的窗口/aruco_single/pose显示了相机的位姿,包括三维空间中的坐标和以四元数表示的姿态。
疑惑
这里只检测到了一个Marker。
猜测
因为我们启动的single.launch只包含一个Marker的信息,其同级目录下还有double.launch,所以我猜测还要根据实际需求,自定义Marker的数量和尺寸等信息。
、
参考:
使用USB网络摄像头和ROS跟踪ArUco Markers
https://blog.csdn.net/learning_tortosie/article/details/83147232
Aruco_ros安装及使用
https://www.jianshu.com/p/2f0830fa4294
ROS kinetic 下单目摄像机的标定
https://blog.csdn.net/xu1129005165/article/details/52948992
github源代码
https://github.com/pal-robotics/aruco_ros
ros使用usb摄像头追踪ArUco markers
https://blog.csdn.net/qq_38288618/article/details/78174577?locationNum=8&fps=1