Is Stage simulator holonomic odometry bugged?

asked 2021-03-18 18:38:55 -0500

KnowHow gravatar image

Hi, I'm using stage_ros package together with amcl. The robot is holonomic and I control it with joystick. When I move it sideways (along axis y in robot's coordinate frame) amcl thinks it moves the other way. There is no problem with movement along x axis (in robot's frame). The problem exists regardless of robot's angular orientation in global frame.

Is Stage odometry bugged?

My hypothesis is that sign in y component when computing displacement is wrong, I think it should be:

delta_global_x = (speed_x * cos(theta) - speed_y * sin(theta)) * dt delta_global_y = (speed_x * sin(theta) + speed_y * cos(theta)) * dt

While probably it is:

delta_global_x = (speed_x * cos(theta) + speed_y * sin(theta)) * dt delta_global_y = (speed_x * sin(theta) - speed_y * cos(theta)) * dt

Unfortunately, I didn't find Stage source code, is it available? Any thoughts? Maybe there is another reason I don't see?

Cheers

edit retag flag offensive close merge delete