0

I am using ros nav stack in conjunction with google cartographer (Mapping and localization) to navigate the robot through a known map. Right now, the robot follows the path generated with acceptable accuracy. But,often, once the path has been generated, the robot reverses at the highest speed set in the params file (escape_velocity parameter), and then starts to move forward correctly on the genrated path.

I have attached images of all my param file: 1.Praram Files-1 2. Param Files-2. The name of each parameter file is mentioned at the top. But to avoid confusion, they are in the order:

A. Param Files-1: 1. Global Costmap Params 2. Local Costmap Params 3. Common Costmap Params 4. Global Plnner Params 5. Local Planner Params

B. Param Files-2: Move Base Params

This is a link to a video of how it looks on rviz. https://vimeo.com/320040685

The thinner line in green is the plan generated by ros nav stack. The thicker line seen later in the video is the actual robot movement. You can see that the robot first reverses and then starts moving forward.

I am new to this forum so please let me know if I need to give anymore data for anyone to answer this

Has anyone else has this problem? Will appreciate any tips on fixing this! Thanks in advance!

P.S: I am using ROS Indigo on Ubuntu 14.04

2 Answers2

0

This is a list of observation that may help you to find the problem:

  1. Your robot seem not sure of is position at the beginning. Try to improve that to get a better navigation.

  2. (I think it's your problem) Your robot start in the inflation layer of the local costmap. I don't see your local planner file but by default the robot will avoid to be in this place. Have a look at : Inflation Costmap Plugin

  3. Check if your robot radius, obstacle avoidance and all that config match to your robot.

  4. Navfn is quite old, it should works on your project but it might be nice to use global planner. Another local planner could also be tried.

Hope this help.

Have a nice day!

  • The base-local_planner file, which is the 3rd file in the 2nd column in ‘Param Files-1’ image, is the local planner file. Also, the globl planner is giving a forward path, whereas the robot decides to generate trajectory to reverse. I will test with starting point outside of any obstacle/inflation and update observations. – kllysin Mar 01 '19 at 19:40
0

The only time the robot goes into the escape mode is if it is unable to find a viable forward path to get to a low cost region and closer to the required path. A couple things to check would be:
1. Does localization work accurately, does the robot know where it is accurately?
2. Turn on debug mode so you might be able to get more clues from the nodes, you can enable debugging as described here at http://wiki.ros.org/rosconsole#Configuration
3. Finally, in your videos the green line is jumping around between two different paths. Any chance you have two nodes processing the same data and giving out conflicting messages?

Vik
  • 690
  • 7
  • 22