Assessing whether IMU data is being used correctly

149 views
Skip to first unread message

Li Brus

unread,
May 12, 2023, 4:22:47 AM5/12/23
to tagslam
Hi Bernd,
  I tried to input IMU data into tagslam. The first image below shows the visualization using IMU data, while the second image shows the visualization without using IMU data. 
I want to test the situation where tagslam is performing SLAM using only IMU data without the presence of tags. I want to test the situation where tagslam is performing SLAM using only IMU data without the presence of tags.It is obvious that the top left corner of the second image is missing odometry information of the rig.()
Based on this, I have the following two questions.
withimu.png
withouimu.png
  1/ How can we determine if the IMU data has been correctly passed into tagslam and is being used properly? After integrating the IMU data, I observed that the path in tagslam suddenly jumps, as shown in the figure below.
1.png
2/ The content of the odom topic I'm publishing is as follows. Is this feasible?
By the way,why is it that even with the addition of IMU data, in the absence of tags, there is no odometry message for the rig in RViz, only path message?
 odom.png
Looking forward to your reply.
Best,

Bernd Pfrommer

unread,
May 12, 2023, 10:55:10 PM5/12/23
to Li Brus, tagslam
Unfortunately tagslam cannot handle IMU data directly. It needs to be odometry data, i.e derived from IMU + GPS or camera such that the worst drift has been compensated for.

--
You received this message because you are subscribed to the Google Groups "tagslam" group.
To unsubscribe from this group and stop receiving emails from it, send an email to tagslam+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/tagslam/178b4a80-591d-47da-80a3-b1d2e03ac229n%40googlegroups.com.

Bernd Pfrommer

unread,
May 12, 2023, 10:58:13 PM5/12/23
to Li Brus, tagslam
Oh, and the odometry messages must be time synced with the tag detections. This is usually the case if you run a VIO package where the Odom is derived from the same images as your tag detections.

Li Brus

unread,
May 14, 2023, 10:14:57 PM5/14/23
to tagslam
bernd,In the tagslam code, does it include synchronization of tags and odom messages from different packages as shown in the figure below? Do I only need to use the function MakeTopics() to store the topics that need to be synchronized?sync.png

Bernd Pfrommer

unread,
May 15, 2023, 8:04:02 AM5/15/23
to tagslam
Yes, in theory it should (approximately) synchronize between messages from different packages. However the messages all must have a standard ROS header with a time stamp field.

Li Brus

unread,
May 15, 2023, 11:10:06 AM5/15/23
to tagslam
Thank you for patiently answering my questions.I have printed the timestamps of the tags and odom topics, as shown in the image below.
时间戳.png
Does this satisfy the condition of approximate equality?
But why is pwn false in the publishBodyOdom() function after losing the tag?

Bernd Pfrommer

unread,
May 16, 2023, 7:44:32 AM5/16/23
to tagslam
The algorithm I implemented for the approximate time sync is pretty much exactly described here:
If you read this carefully you will notice that there is no exact cutoff time. Rather, the sync algorithm tries to group time stamps together in a sensible way.
As to why pwn is false in publishBodyOdom(): without any further data (no console output, no input file, no bag files, nothing), how am I possibly supposed to answer that?

Li Brus

unread,
May 17, 2023, 5:15:59 AM5/17/23
to tagslam
I apologize for the inconvenience, sir. I was too eager to find the problem.I have sent the bag to your email.

Bernd Pfrommer

unread,
May 17, 2023, 5:22:48 PM5/17/23
to tagslam
Your odometry data looks strange, with huge values in the position, and NaNs in the quaternion.

nav_msg.png

Li Brus

unread,
Jun 1, 2023, 8:12:37 AM6/1/23
to tagslam
Dear Bernd
Thank you for your patient response. I wanted to inform you that I have successfully rebuilt the external odometry using a laser-based system. I have subscribed to the odometry topic using tagslam. However, it seems that the odometry data does not seem to have any effect within tagslam. Specifically, when a tag is lost, tagslam no longer sends the odometry information and trajectory data.
I have taken the liberty of sending the recorded bag file to your email address for your perusal. It contains relevant data that might aid in understanding the issue at hand. Your expertise and insights would be greatly appreciated in reviewing the bag file and providing any recommendations on how to integrate additional sensors effectively. My intention is to enable tagslam to be applied in larger scenarios.
I understand that you are knowledgeable in this field and would greatly value your assistance. If there are any further details or specific information you require, please do not hesitate to let me know.
Thank you for your time and support. I look forward to hearing from you.
Best regards,
Brus
tagslam.yaml
cameras.yaml

Bernd Pfrommer

unread,
Jun 1, 2023, 12:01:57 PM6/1/23
to tagslam
Right now your odom header looks like this:
header:
  seq: 534
  stamp:
    secs: 1685618561
    nsecs: 885661400
  frame_id: "body_rig"
child_frame_id: ""


Can you please change frame_id to be "odom", and child_frame_id to be "body_rig", then send me another bag.
Please realize that "odom" is like a transform. It gives the pose of the child frame ("body_rig") with respect to a world frame ("odom").
You should visualize your odom data using "rviz" to check that it is correct.

Here is an example on how to publish odom.

Li Brus

unread,
Jun 4, 2023, 12:21:08 AM6/4/23
to tagslam

Dear Mr. Brend,

I am writing to express my profound gratitude for your valuable guidance. Following your recommendation, I have made the necessary changes to the name and I am pleased to report that I am now able to observe the phenomenon of TagSLAM issuing odometer readings in the absence of tags. This represents a significant advancement for me, and I am deeply appreciative of your help in reaching this point.

Your advice has been instrumental in improving my understanding and utilization of TagSLAM. I intend to continue acting on your guidance, and in the coming period, I will focus on fine-tuning the parameters to achieve more accurate results. I look forward to any further suggestions and direction you may be able to provide during this process.

Thank you once again for your assistance and support. Wishing you all the best in your endeavors.

Sincerely,

Brus

Li Brus

unread,
Jul 30, 2023, 6:00:28 AM7/30/23
to tagslam
Hello, Doctor Bernd
I encountered an error while adding odometry information to TagSLAM. Can you help me with it?
微信图片_20230730174850.png
在2023年6月2日星期五 UTC+8 00:01:57<bernd.p...@gmail.com> 写道:
tagslam.yaml
camera_poses.yaml
cameras.yaml

Li Brus

unread,
Jul 30, 2023, 9:34:27 AM7/30/23
to tagslam

Thank you, Doctor. I have resolved this issue. It was a formatting problem.
Reply all
Reply to author
Forward
0 new messages