手頭有個專案需要檢測apriltag,ROS的這個包看起來能滿足我的要求,記錄一下。

apriltag_ros:

mkdir -p ~/catkin_ws/src # Make a new workspace

cd ~/catkin_ws/src # Navigate to the source space

git clone https://github。com/AprilRobotics/apriltag。git # Clone Apriltag library

git clone https://github。com/AprilRobotics/apriltag_ros。git # Clone Apriltag ROS wrapper

cd ~/catkin_ws # Navigate to the workspace

rosdep install ——from-paths src ——ignore-src -r -y # Install any missing packages

catkin build # Build all packages in the workspace (catkin_make_isolated will work also)

相機驅動cv_camera:

cd ~/catkin_ws/src

git clone https://github。com/OTL/cv_camera

catkin build

相機標定:

rosdep install camera_calibration

1。 開啟相機

可透過ls /dev/video*檢視相機裝置

apriltag_ros的使用

我的robot的相機是video2

設定並開啟相機驅動,

rosparam set cv_camera/device_id 2 #set camera

rosrun cv_camera cv_camera_node

檢視topic list

apriltag_ros的使用

其中

/cv_camera/image_raw是相機抓到的圖片

/cv_camera/image_info是相機的引數

這兩個topic要用於接下來的apriltag_ros 。

2。 標定相機

rosrun camera_calibration cameracalibrator。py ——size 11x9 ——square 0。100 image:=/cv_camera/image_raw camera:=/cv_camera

解釋一下其中的引數,11*9代表我用的標定版是11*9的,size是每個正方形格子的邊長大小,單位是m,image和camera一定要對映到自己的驅動。

apriltag_ros的使用

上下左右移動,等calibrate亮了就可以計算相機的引數了,之後save以及commit自動儲存。

3。 Apriltag生成

openmv下載

sudo chmod +x openmv-ide-linux-x86_64-2。6。5。run

。/openmv-ide-linux-x86_64-2。6。5。run

工具-機器視覺-ApirlTag生成器-TAG36H11

apriltag_ros的使用

AprilTag

apriltag_ros的使用

4。 執行apriltag_ros

要點參考官方wiki,各個檔案修改時的注意事項。

修改launch檔案,主要是camera_name和image_topic要改成對應相機的topic

<!—— set to value=“gdbserver localhost:10000” for remote debugging ——>

<!—— Set parameters ——>

<!—— Remap topics from those used in code to those on the ROS network ——>

<!—— default: false ——>

修改settings。yaml檔案,採用何種apriltags二維碼

修改tags。yaml檔案,主要是自己的AprilTag

tag_bundles:

{

name: ‘CUSTOM_BUNDLE_NAME’,

layout:

{id: 0, size: 0。146, x: 0, y: 0, z: 0, qw: 1。0, qx: 0。0, qy: 0。0, qz: 0。0},

}

好了,接下來我們就可以運行了。

roslaunch apriltags2_ros continuous_detection。launch

可以透過topic list看到新的topic,其中/tag_detection就是我們的檢測結果了。

apriltag_ros的使用

rostopic echo /tag_detection

apriltag_ros的使用

能看到apriltag的位姿。

apriltag_ros的使用

最後給大家看一下我小飛機的靚照,這個專案後續的部分我也會繼續更新的。

apriltag_ros的使用