Getting MAP -> ODOM transformation in a unknown map
Hey ROS forum,
my problem is that my robot needs to navigate in a unknown environment. Here, it uses a RL algo to navigate from a start position to a goal position. For that navigation, it constantly measures the distance from start to goal but also the heading. Here it would be nice to get a good estimation of the robots pose because only using the odom data is getting worse with time. Thats why I need the tranformation from map to odom to be "good" again.
I thought about using the AMCL, but here I need a given map to be able to use it (unknown environment). I also thought about merging the encoder data together with the IMU data in the laser_scan_matcher. Would that be an acceptable idea?
Is there any other chance to get the absolut position in the map frame or the transformation MAP -> ODOM?
Best regards and thanks in advance!
What it sounds like is you want to use a SLAM algorithm to create a map of your unknown area. Then as you move around it should correct the odom->map for drift in odometry
Yes. That was one solution I thought about. But for example amcl needs a map that is already known or is there a opportunity to transfer an updated map while moving the robot through the environement time by time?
You could try using an EKF to combine different sensor sources. From your description it indeed sounds like you need some kind of SLAM algorithm (you could have a look at hector_mapping). Simultaneous Localization And Mapping does what the name implies. You could also map first using hector_mapping, save that map and feed it into AMCL. I'm not sure if there is a way to combine the two at runtime.
There isn’t a need for AMCL when you’re using SLAM. All you’re looking for is a map to odom transform based on the current knowledge of the environment, which it will do.
But when I use slam I already need some good position data to have the algo working. But if I use that data, the SLAM Map will be not exact as well, right?
I’m not sure what you’re talking about there. My advise is to try it for yourself and tinker around. SLAM doesn’t require any priors.