Skip to main content

Isaac ROS AprilTag

前置条件

在部署 AprilTag 之前,请确保 Isaac ROS 基础环境已在您的 reComputer 上成功设置完成 安装指南。如果尚未安装 ROS2,请参考 此文档

Isaac ROS AprilTag 包的主题

订阅的主题:

ROS 主题接口描述
imagesensor_msgs/Image输入摄像头流。
camera_infosensor_msgs/CameraInfo输入摄像头内参流。

发布的主题:

ROS 主题类型描述
tag_detectionsisaac_ros_apriltag_interfaces/AprilTagDetectionArrayAprilTag 检测消息数组。
tftf2_msgs/TFMessage检测到的 AprilTag(TagFamily:ID)相对于摄像头 frame_id 的位姿。

1. Isaac ROS AprilTag 环境设置

创建工作空间(如果已完成可跳过)

mkdir -p ~/workspaces/isaac_ros-dev/src
echo "export ISAAC_ROS_WS=${HOME}/workspaces/isaac_ros-dev/" >> ~/.bashrc
source ~/.bashrc

克隆包和 ROS Bag 数据

cd ${ISAAC_ROS_WS}/src
git clone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_apriltag.git
cd ${ISAAC_ROS_WS}/src/isaac_ros_apriltag && \
git lfs pull -X "" -I "resources/rosbags/quickstart.bag"

进入 Docker 容器

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

2. 使用 ROS Bag 数据进行测试

安装 AprilTag 包(在 Docker 内)

sudo apt-get install -y ros-humble-isaac-ros-apriltag

启动 AprilTag 节点

ros2 launch isaac_ros_apriltag isaac_ros_apriltag.launch.py

打开新终端(在 Docker 内)

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh

播放 ROS Bag

ros2 bag play --loop src/isaac_ros_apriltag/resources/rosbags/quickstart.bag

在 RViz2 中可视化

在本地终端打开 RViz2,并添加 ImageTF 组件:

ros2 run rviz2 rviz2

3. 使用 USB 摄像头进行测试

确保本地已安装 ROS2。

创建 USB 摄像头工作空间

cd ~/
mkdir -p usbcam/src
cd usbcam/src

克隆并构建 usb_cam

git clone https://github.com/ros-drivers/usb_cam.git
cd ..
colcon build
echo "source ~/usbcam/install/setup.bash" >> ~/.bashrc
source ~/.bashrc

检查摄像头格式

连接摄像头并验证其设备路径(例如 /dev/video*)。测试命令:

cd ~/usbcam
ros2 run usb_cam usb_cam_node_exe

支持的像素格式:

rgb8, yuyv, yuyv2rgb, uyvy, uyvy2rgb, m4202rgb, mono8, mono16, y102mono8, raw_mjpeg

配置摄像头

  1. 修改 /usbcam/src/usb_cam/config/params_1.yaml 中的 pixel_format
  1. 调整 frame_id(默认值:camera)。
  2. /usbcam/src/usb_cam/launch/camera_config.py 中修改主题名称(第 58 和 62 行),以匹配 AprilTag 的要求(/image/camera_info)。

重新构建并启动摄像头

cd ~/usbcam
colcon build
ros2 launch usb_cam camera.launch.py

运行 AprilTag 节点(在 Docker 内)

cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
./scripts/run_dev.sh
ros2 launch isaac_ros_apriltag isaac_ros_apriltag.launch.py

在 RViz2 中可视化

Fixed Frame 设置为摄像头的 frame_id,添加订阅 /imageImage 组件,并启用 TF
注意:此测试使用 200mm × 200mm 的 AprilTag。

技术支持与产品讨论

感谢您选择我们的产品!我们为您提供多种支持渠道,以确保您使用我们的产品时体验顺畅。我们提供多种沟通方式,以满足不同的偏好和需求。

Loading Comments...