Closed dzxbiubiubiu closed 4 years ago
Hi!
Thanks for getting in touch. I just checked and unfortunately I've purged all my bags couple of weeks ago. The bags used for that blog post were also there :(
Can you tell me what are you plotting in your graphs? How did you derive the data?
Hi! Thank's for your reply and then I will try to describe my work to you as detailed as possible.
Firstly, I build two model rooms with the gazebo and the robot model is the turtlebot3.
Secondly, I run the slam algorithm. Like this:roslaunch slam_lidarr slam.launch slam_methods:=cartographer_vlp16
.Or roslaunch slam_lidar slam.launch slam_methods:=cartographer
and so on.
Finally, I make the turtlebot3 cruise the room to collect enough data.
roslaunch omtb_map_extension_plugin automove.launch room_name:=room_z
Then I get the rosbag file, it records some topics such that 'odom' /'clock'/'tf'/'tf_static'/'scan'/'imu'/'map'.
Then,I find the evo project. I can plot the trajectory of nav_msgs/Odometry topic. As you see it works very well. But it is meaningless to just get the odom topic.
And fortunately I found yor work in your blog. Firstly I get the filtered bag like this:
rosbag filter room_l1.bag bag_filtered_l1.bag "topic == '/clock' or topic == '/robot1/joint_states' or topic == '/robot1/odom/filtered' or topic == '/scan' or (topic=='/tf' and m.transforms[0].header.frame_id != '/robot1/map') or topic=='/tf_static'"
Secondly, I run the script https://github.com/msadowski/ros_web_tutorial/issues/url like this: And after that I get a bag that record the tf as posestamp.
Finally I merge the two bag by the script which you wrote in your blog.
And then I plot the trajectory of the merge bag by the evo. and the ''base_footprint'' and the ''base link'' are the same thing in my system. So you can thinf of the "base_footprint" as "base_link".You can see the difference between them.
And then I run the cartographer 2d slam algorithm to get the different result like this: You can see the 2d algorithm perform very well and it has the perfectly coincident trajectory with the odom.
These are all my work. I get a bad result but I can't find the resolution to the question. What puzzles me most is that the 2d algorithm perform very well and the 3d algorithm perform very bad.Though things went to two extremes , I can't resolve it.
I am not sure my steps are right.I am going crazy because of this problem.
Thanks for your anything that can tell me to solve the problem. I am sorry that I write so much thing to you.Anyway, thanks very much!
I am looking forward to your reply!
If I were you for the time being I would stick to using a single map for now until you are happy with the results, only then I would move to experimenting with other environments etc. I'm not sure how much my insights will help you as the problem is complex but here they are:
One thing you can try out is running the 2D slam with slam_toolbox - I found it much better than Cartographer out of the box.
I'll have some further thinking about your issue and will let you know if I come up with something else. In the mean time I would advise you to use rviz for debugging issue and only if you are happy with everything I would start looking into evo.
Hi , I am so glad to recieve your reply. In fact, I have recorded the transform between map and odom. Unfortunately, the transform isn't 0, and it moves around quite a lot. It also can be see in my tf tree.
OK, then here is what I would do:
You will be looking at something similar to UMBMark: http://www-personal.umich.edu/~johannb/Papers/umbmark.pdf (that's a great read, highly recommend it).
This is how I would go about it. It'll probably take some time to set up but that's what I've been doing for the past couple of years and this method hasn't failed me yet.
Good luck!
Hi, sorry to reply to you so late. Thanks for your answer to this question. I will try to resolve this question as you say.
Anyway, Thank you for everything!
Hi:) Recently, I am using the evo https://michaelgrupp.github.io/evo/ to evaluate my slam algorithm(cartographer 3d).But I just can plot the trajectory of odom.Fortunately, I find your work in your blog https://msadowski.github.io/Comparing-SLAM-with-ROS-evo/. But when I run the script https://github.com/MichaelGrupp/evo/blob/master/contrib/record_tf_as_posestamped_bag.py, it doesn't perform well.
Could you give me some questions or could you give me your bagfile that I can try it by your data. Sorry to contact you here, but I can't find your contact information in your blog. Thanks! I am looking forward to your reply!