GlobalPlanner : Undesired "maneuver" depending on the orientation of my robot

asked 2022-06-08 03:18:51 -0600

thomzem gravatar image

Hello everyone, I am working with the navigation stack and use amcl and move_base for my 4 wheeled omnidirectional robot (mecanum wheel). I have implemented my own "local planner" and it follows the local path without dealing with the orientation/yaw of my robot (it's only translation on x and y, it's ok, that's what I want to achieve for the moment). My problem is that it seems that the global planners that are implemented in move_base mind the orientation of my robot and compute a "maneuver" at the beginning of the global path. (as seen in the image linked below)

It makes a little arched turn at the beginning of path, just like it would like my robot to head to the goal by facing it, and that is not something I require.

It's comprosing because, given that I do only translations (no yaw rotation), if I'm not facing the given Goal in the beginning then the small arc never disappears and my robot tends to follow a trajectory that is a lot "wider" than the first one expected, especially when the Goal is in the back or on the side of the robot.(as seen in the video linked below)

The current global planner that I am using is Navfn. I'd like to know if there is a way to either tell to global planner that i don't need to face the Goal (with a particular parameter?) or maybe an other global planner that do not considerate the orientation of my robot when calculating its path.

If anybody have ideas to lead to a solution and i'd be glad to hear them. Thank you for the time you are ready to grant to answer me. I am on ROS noetic on ubuntu 20.04.

edit retag flag offensive close merge delete