AprilTag的Tag识别,定位以及跟随

AprilTag的Tag识别,定位以及跟随

Author lifuguan
E-mail [email protected]
开源链接 https://github.com/lifuguan/AprilTag_Localization
个人博客 https://lifuguan.github.io/apriltag/ros/2019/05/28/apriltag_localization/

目录

  • 基于AprilTag的ROS定位系统(摄像头型号 :mvBlueFOX-MLC200wc)
  • 直接通过apriltag+OpenCV(使用mp4或者其他USB摄像头)
  • Gazebo仿真环境下的Aprilag目标跟随

基于AprilTag的ROS定位系统(摄像头型号:mvBlueFOX-MLC200wc)


AprilTag的Tag识别,定位以及跟随_第1张图片

!此摄像头不通用于普通USB摄像头(必须通过调用自带的SDK)

  1. SDK地址,敬请食用
  2. 无法使用OpenCV中的VideoCapture cap(0);读取cam的信息
  3. 无法使用ROSusb_cam等常用包进行读取

ROS调用简介

AprilTag的Tag识别,定位以及跟随_第2张图片

bluefox2

驱动摄像头,笔者的cam ID为 : /mv_26806946

image_proc

代入标定数据矫正frame : /cam_id/image_raw --> /cam_id/image_rect

apriltag_ros

识别在/config/tags.yml里标记了的tag

在这里插入图片描述

使用方式(假设已经安装成功)

方法一

使用集成了的launch文件

roslaunch apriltag_ros my_continuous_detection.launch

注意
需要自行修改arg中的camera_name

方法二

  1. roslaunch bluefox2 single_node.launch
  2. ROS_NAMESPACE= your_cam_id rosrun image_proc image_proc
  3. roslaunch apriltag_ros continuous_detection.launch

直接通过apriltag+OpenCV(使用mp4或者其他USB摄像头)


源码地址 opencv_demo.cc

使用方式

cmake . 
sudo make install
opencv_demo

相对于官方的修改

  1. 增加openmp多线程处理 (此处修改了CMakeLists.txt

  2. 加入pose_estimation

  3. 默认取消debug模式

Gazebo仿真环境下的Aprilag目标跟随


AprilTag的Tag识别,定位以及跟随_第3张图片

  • 包名称apriltag_localization_simulations
  • 使用模型car.urdf

使用步骤

roslaunch apriltag_localization_simulation gazebo_detect_simulation.launch

rosrun  apriltag_localization_simulation tag_tf_listener.cpp

tag_tf_listener.cpp

监听 /tag_0/camera 之间的relative position,并转化成cmd_vel广播出去

car.urdf

tf树
AprilTag的Tag识别,定位以及跟随_第4张图片

你可能感兴趣的:(c++,ROS,apriltag)