Isaac ROS AprilTag ros1_bridge
Tutorial
Overview
This tutorial walks you through a graph to estimate the 6DOF pose of AprilTags
using isaac_ros_apriltag running ROS 2 and a ROS 1 rosbag containing images.
The image data will be published from the ROS 1 bag and sent to ROS 2
for computation and the tag detections result will be visualized in ROS 1 using the command line
rostopic echo
tool.
Tutorial Walkthrough
Complete the quickstart here.
Complete the Isaac ROS ros1_bridge Setup Guide.
Start the
Noetic
container:docker run -it --cap-add=SYS_PTRACE --privileged --network host --pid host --runtime nvidia --entrypoint /usr/local/bin/scripts/workspace-entrypoint.sh --name nitros_bridge --rm nitros_bridge:latest /bin/bash
Source
ros1_noetic
and runroscore
:source /opt/ros/noetic/setup.bash && \ roscore
Attach the second terminal to the
Noetic
docker container:docker exec -it nitros_bridge /bin/bash
Clone
isaac_ros_apriltag
into theNoetic
container:cd /tmp && \ git clone https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_apriltag.git
Pull down a ROS 1 rosbag of sample data:
cd /tmp/isaac_ros_apriltag/ && \ git lfs pull -X "" -I "resources/rosbags/ros1_bridge_apriltag.bag"
Inside the container, build and source the workspace:
cd /workspaces/isaac_ros-dev/ && \ source install/setup.bash && \ export ROS_MASTER_URI=http://localhost:11311 && \ ros2 run ros1_bridge dynamic_bridge --bridge-all-topics
Attach the third terminal to the
Noetic
docker container:docker exec -it nitros_bridge /bin/bash
Play the AprilTag ROS1 rosbag in a loop:
source /opt/ros/noetic/setup.bash && \ cd /tmp/isaac_ros_apriltag/resources/rosbags && \ rosbag play -l ros1_bridge_apriltag.bag
Launch the
Isaac ROS Dev
Docker container using therun_dev.sh
script:
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh -d ${HOME}/workspaces -a --pid=host
Run the
isaac_ros_apriltag
node:cd /workspaces/isaac_ros-dev && \ source install/setup.bash && \ ros2 launch isaac_ros_apriltag isaac_ros_apriltag.launch.py
Attach the forth terminal to the
Noetic
docker container:docker exec -it nitros_bridge /bin/bash
Use
rostopic echo
to print the tag detections in the container:cd /workspaces/isaac_ros_1-dev && \ source install_isolated/setup.bash && \ rostopic echo /tag_detections