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

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

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) https://drive.google.com/file/d/1LVw0...

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) https://drive.google.com/file/d/1PNgg...

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