ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Robot initial pose accuracy

asked 2022-09-30 15:26:42 -0500

altpebush gravatar image

updated 2022-10-03 01:48:14 -0500

Hi, I have a robot. I use imu sensor and odometry for localization on map. But the initial pose of robot in real life and simulation are not same. Imagine I put robot at the starting point of the map in real life and in RVIZ I put robot at the starting point. But in real I might put it a few centimeter in real life away from position in simulation. I hope I did tell my trouble.

edit retag flag offensive close merge delete


It is not clear what your question is.

Also, it is not correct to believe that a robot in simulation will behave EXACTLY like a robot in the physical world. It won't because of limitations in the simulation.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-10-02 10:23:38 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted

answered 2022-10-03 02:37:04 -0500

ljaniec gravatar image

updated 2022-10-03 09:55:50 -0500

I believe you described your problem of how to minimize the discrepancy between the real robot's actual positioning on the map and its simulated version in the simulation (or in general, how to account for the error of the initial pose in robot control).

One way of solving this problem is AMCL (but this node works only with laser scans from robot's lidar and laser maps):

amcl is a probabilistic localization system for a robot moving in 2D.

It implements the adaptive (or KLD-sampling) Monte Carlo localization approach (as described by Dieter Fox), which uses a particle filter to track the pose of a robot against a known map.

AMCL will minimize the location error introduced by an inaccurate initial pose.

Any other approach will likely use something similar - updates from sensors to minimize location error.

Feel free to add more details to your question, so we could help you better :)

edit flag offensive delete link more


@ljaniec I think that "simulation" and "digital twin" are different things.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-10-03 08:27:55 -0500 )edit

@Mike Scheutzow Ok, maybe I exaggerated - it sounded like the OP wanted the same system in real settings and in simulation, controlled simultaneously, where initial localization errors accumulate over time. I'm curious about your definition of a digital twin.

I also tried to rephrase the words in the answer better.

ljaniec gravatar image ljaniec  ( 2022-10-03 09:54:04 -0500 )edit

In our definition, a "digital twin" is displaying the state of real robots within a virtual world. It is the real robot's sensors that are used for localization and collision detect.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-10-03 10:15:52 -0500 )edit

TIL, thank you. I deleted the mention of digital twin for clarity.

ljaniec gravatar image ljaniec  ( 2022-10-03 15:14:02 -0500 )edit

Actually our environment is not 2d then we can not use amcl for it. I mean there is no obstacle in our map. obstacles are lanes just like the roads. In other words, it's not an indoor robot. It is a car moves outdoor

altpebush gravatar image altpebush  ( 2022-10-05 04:56:36 -0500 )edit

Maybe robot_localization package will help herewith a GPS integration?

ljaniec gravatar image ljaniec  ( 2022-10-05 07:34:11 -0500 )edit

Actually we already use robot localization package but without gps. I couldn't find any parameter about gps in this package. How can we integrate gps?

altpebush gravatar image altpebush  ( 2022-10-05 11:20:13 -0500 )edit

Check first link above + navsat_transform_node from robot_localization GitHub + its implementation

ljaniec gravatar image ljaniec  ( 2022-10-05 16:37:58 -0500 )edit

Question Tools

1 follower


Asked: 2022-09-30 15:26:42 -0500

Seen: 127 times

Last updated: Oct 03 '22