isaac_ros_apriltag
Source code on GitHub.
Quickstart
Set up your development environment by following the instructions here.
Clone
isaac_ros_common
and this repository under${ISAAC_ROS_WS}/src
.cd ${ISAAC_ROS_WS}/src
git clone -b release-3.1 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common.git isaac_ros_common
git clone -b release-3.1 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_apriltag.git isaac_ros_apriltag
Pull down a ROS Bag of sample data:
cd ${ISAAC_ROS_WS}/src/isaac_ros_apriltag && \ git lfs pull -X "" -I "resources/rosbags/quickstart.bag"
Launch the Docker container using the
run_dev.sh
script:cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
Install this package’s dependencies.
sudo apt-get install -y ros-humble-isaac-ros-apriltag
Run the following launch files to spin up a demo of this package:
ros2 launch isaac_ros_apriltag isaac_ros_apriltag.launch.py
Open a second terminal inside the docker container:
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
Run the rosbag file to simulate an image stream:
ros2 bag play --loop src/isaac_ros_apriltag/resources/rosbags/quickstart.bag
Open a third terminal inside the docker container:
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
Observe the AprilTag detection output
/tag_detections
on a separate terminal with the command:ros2 topic echo /tag_detections
Note
You will need to calibrate the intrinsics of your camera if you want the node to determine 3D poses for tags instead of just detection and corners as 2D pixel coordinates. See here for more details.
Try More Examples
To continue your exploration, check out the following suggested examples:
Troubleshooting
Isaac ROS Troubleshooting
For solutions to problems with Isaac ROS, please check here.
API
Usage
ros2 launch isaac_ros_apriltag isaac_ros_apriltag.launch.py
Replacing apriltag_ros
with isaac_ros_apriltag
Add a dependency on
isaac_ros_apriltag
toyour_package/package.xml
andyour_package/CMakeLists.txt
. The originalapriltag_ros
dependency may be removed entirely.Change the package and plugin names in any
*.launch.py
launch files to useisaac_ros_apriltag
andnvidia::isaac_ros::apriltag::AprilTagNode
, respectively.
Supported Packages
At this time, the packages under the standard apriltag_ros
have the
following support:
Existing Package |
Isaac ROS Alternative |
---|---|
|
See |
|
See |
ROS Parameters
ROS Parameter |
Type |
Default |
Description |
---|---|---|---|
|
|
|
The tag edge size in meters, assuming square markers. More details here. E.g. |
|
|
|
The maximum number of tags to be detected. E.g. |
|
|
|
Tile/window size used for adaptive thresholding in pixels. E.g. |
ROS Topics Subscribed
ROS Topic |
Interface |
Description |
---|---|---|
|
The input camera stream. |
|
|
The input camera intrinsics stream. |
ROS Topics Published
ROS Topic |
Type |
Description |
---|---|---|
|
The detection message array. |
|
|
Pose of all detected AprilTags ( |