[Solved] ROSbot: Setting initial theta before starting a move_base action


I am currently working on a project where ROSbot should successfully find the exit of a maze.

My maze controller initially uses resets the odometry and the map, which set its position to (x=0, y=0, theta=0).

However, The way I actually use the coordinate system is that ROSbot should look along the y-axis, and do its first movement on that axis when having a (x=0, y=1) for instance.

After doing the resets, how can I set my theta to pi/2, to make sure the robot knows its looking along the y-axis?

Thanks in advance,

Hello Erinc,

Setting ROSbot initial position to a non-zero value would require to implement custom methods to overwrite current odometry.

Could you specify why do you need ROSbot to move along Y axis? Would it be possible for you to change coordinate system?


Hi Łukasz,

Since my initial plans were to have ROSbot face NORTH in the beginning, all my directional models were built based on that orientation, and I wanted the /map coordinate system to fit that in the conventional orientation (+y points north).

In order to avoid messing with the current odometry, I decided to change the coordinate system instead, so now +x points north, but it was no big deal.