Skip to main content
added 3 characters in body
Source Link

I am currently working on a mobile robot using ROS2 Jazzy with the Navigation2 docking server, along with Ros_ArUco_Opencv for ARTag pose recognition. I am seeing a delay between movement of the ARTag and the detected pose, but only in specific ways.

When the robot is stationary, and the tag is moving, the detected pose has almost no delay, and keeps up with the laser data, as shown here: Tag Moving VideoTag Moving Video

When the reference frame is base_link, and the robot is moving while the tag is stationary, there is also no delay.

But, when the reference frame is either odom or map, and the robot moves with a stationary tag, there is significant delay between the movement of the tag in the camera and the detected pose, shown here: Robot Moving Video

This causes issues with docking as when the robot approaches the dock tag, it constantly over-corrects, reacting to the delayed dock pose.

Full TF Tree shown here: TF Graph

When running tf2_monitor, I am seeing that the average delay for the marker publish is ~0.8-1.3 seconds. Full output here, as the ~3000 second delay readings are also strange, this number increases as the nodes continue to run.

RESULTS: for all Frames

Frames:
Frame: base_footprint, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: base_link, published by <no authority available>, Average Delay: 0.00892203, Max Delay: 0.0240092
Frame: base_link_offset, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: camera, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: drivewhl_l_link, published by <no authority available>, Average Delay: 0.00492064, Max Delay: 0.482618
Frame: drivewhl_r_link, published by <no authority available>, Average Delay: 0.00492276, Max Delay: 0.482621
Frame: laser, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: laser2, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: marker_1, published by <no authority available>, Average Delay: 0.803176, Max Delay: 0.834151
Frame: odom, published by <no authority available>, Average Delay: -0.183419, Max Delay: 0

My questions are as follows:

  1. Is there any way to reduce the delay shown in the transform between the detected tags and the odom frame?
  2. Are there other options for dock pose detection that would not have this delay? I have tried the apriltags ros package as well as another aruco tag detector.

Any help is greatly appreciated!

I am currently working on a mobile robot using ROS2 Jazzy with the Navigation2 docking server, along with Ros_ArUco_Opencv for ARTag pose recognition. I am seeing a delay between movement of the ARTag and the detected pose, but only in specific ways.

When the robot is stationary, and the tag is moving, the detected pose has almost no delay, and keeps up with the laser data, as shown here: Tag Moving Video

When the reference frame is base_link, and the robot is moving while the tag is stationary, there is also no delay.

But, when the reference frame is either odom or map, and the robot moves with a stationary tag, there is significant delay between the movement of the tag in the camera and the detected pose, shown here: Robot Moving Video

This causes issues with docking as when the robot approaches the dock tag, it constantly over-corrects, reacting to the delayed dock pose.

Full TF Tree shown here: TF Graph

When running tf2_monitor, I am seeing that the average delay for the marker publish is ~0.8-1.3 seconds. Full output here, as the ~3000 second delay readings are also strange, this number increases as the nodes continue to run.

RESULTS: for all Frames

Frames:
Frame: base_footprint, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: base_link, published by <no authority available>, Average Delay: 0.00892203, Max Delay: 0.0240092
Frame: base_link_offset, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: camera, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: drivewhl_l_link, published by <no authority available>, Average Delay: 0.00492064, Max Delay: 0.482618
Frame: drivewhl_r_link, published by <no authority available>, Average Delay: 0.00492276, Max Delay: 0.482621
Frame: laser, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: laser2, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: marker_1, published by <no authority available>, Average Delay: 0.803176, Max Delay: 0.834151
Frame: odom, published by <no authority available>, Average Delay: -0.183419, Max Delay: 0

My questions are as follows:

  1. Is there any way to reduce the delay shown in the transform between the detected tags and the odom frame?
  2. Are there other options for dock pose detection that would not have this delay? I have tried the apriltags ros package as well as another aruco tag detector.

Any help is greatly appreciated!

I am currently working on a mobile robot using ROS2 Jazzy with the Navigation2 docking server, along with Ros_ArUco_Opencv for ARTag pose recognition. I am seeing a delay between movement of the ARTag and the detected pose, but only in specific ways.

When the robot is stationary, and the tag is moving, the detected pose has almost no delay, and keeps up with the laser data, as shown here: Tag Moving Video

When the reference frame is base_link, and the robot is moving while the tag is stationary, there is also no delay.

But, when the reference frame is either odom or map, and the robot moves with a stationary tag, there is significant delay between the movement of the tag in the camera and the detected pose, shown here: Robot Moving Video

This causes issues with docking as when the robot approaches the dock tag, it constantly over-corrects, reacting to the delayed dock pose.

Full TF Tree shown here: TF Graph

When running tf2_monitor, I am seeing that the average delay for the marker publish is ~0.8-1.3 seconds. Full output here, as the ~3000 second delay readings are also strange, this number increases as the nodes continue to run.

RESULTS: for all Frames

Frames:
Frame: base_footprint, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: base_link, published by <no authority available>, Average Delay: 0.00892203, Max Delay: 0.0240092
Frame: base_link_offset, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: camera, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: drivewhl_l_link, published by <no authority available>, Average Delay: 0.00492064, Max Delay: 0.482618
Frame: drivewhl_r_link, published by <no authority available>, Average Delay: 0.00492276, Max Delay: 0.482621
Frame: laser, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: laser2, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: marker_1, published by <no authority available>, Average Delay: 0.803176, Max Delay: 0.834151
Frame: odom, published by <no authority available>, Average Delay: -0.183419, Max Delay: 0

My questions are as follows:

  1. Is there any way to reduce the delay shown in the transform between the detected tags and the odom frame?
  2. Are there other options for dock pose detection that would not have this delay? I have tried the apriltags ros package as well as another aruco tag detector.

Any help is greatly appreciated!

Source Link

ROS2 Jazzy TF2 delay causing docking pathing issues

I am currently working on a mobile robot using ROS2 Jazzy with the Navigation2 docking server, along with Ros_ArUco_Opencv for ARTag pose recognition. I am seeing a delay between movement of the ARTag and the detected pose, but only in specific ways.

When the robot is stationary, and the tag is moving, the detected pose has almost no delay, and keeps up with the laser data, as shown here: Tag Moving Video

When the reference frame is base_link, and the robot is moving while the tag is stationary, there is also no delay.

But, when the reference frame is either odom or map, and the robot moves with a stationary tag, there is significant delay between the movement of the tag in the camera and the detected pose, shown here: Robot Moving Video

This causes issues with docking as when the robot approaches the dock tag, it constantly over-corrects, reacting to the delayed dock pose.

Full TF Tree shown here: TF Graph

When running tf2_monitor, I am seeing that the average delay for the marker publish is ~0.8-1.3 seconds. Full output here, as the ~3000 second delay readings are also strange, this number increases as the nodes continue to run.

RESULTS: for all Frames

Frames:
Frame: base_footprint, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: base_link, published by <no authority available>, Average Delay: 0.00892203, Max Delay: 0.0240092
Frame: base_link_offset, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: camera, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: drivewhl_l_link, published by <no authority available>, Average Delay: 0.00492064, Max Delay: 0.482618
Frame: drivewhl_r_link, published by <no authority available>, Average Delay: 0.00492276, Max Delay: 0.482621
Frame: laser, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: laser2, published by <no authority available>, Average Delay: 3165.24, Max Delay: 3165.24
Frame: marker_1, published by <no authority available>, Average Delay: 0.803176, Max Delay: 0.834151
Frame: odom, published by <no authority available>, Average Delay: -0.183419, Max Delay: 0

My questions are as follows:

  1. Is there any way to reduce the delay shown in the transform between the detected tags and the odom frame?
  2. Are there other options for dock pose detection that would not have this delay? I have tried the apriltags ros package as well as another aruco tag detector.

Any help is greatly appreciated!