Problem with 180 degree turn

asked 2017-01-09 19:52:23 -0500

Dharmateja Kadem gravatar image

updated 2017-01-11 18:38:47 -0500

Hi everyone,

Whenever I give a goal exactly opposite to the robot i.e., 180 degree to the robot, the robot is not able to turn and moving straight with velocity of 0.1m/s untill it reaches any obstacle and getting stuck. This is happening only when i give goal exactly opposite to the robot. If the angle is less than 180 degrees, it is able to turn. I went through DWA local planner but not able to find any solution. Can someone explain how to solve this problem?

I am attaching the link for the video

https://youtu.be/H_TVDymJ55c

I am using ROS Indigo, Ubuntu 14.04 and dwa as local planner

Update:

I am attaching the photo of rostopic echo rosout/msg

image description

Update 2:

Attaching the image of /move_base/DWAPlannerROS/cost_cloud in rviz

image description

edit retag flag offensive close merge delete

Comments

Can you also post the output of rosout/msg when you gave a goal opposite to the robot?

DavidN gravatar image DavidN  ( 2017-01-09 20:29:10 -0500 )edit

Hi David, thanks for the reply. I attached the output of rosout/msg, please review it and let me know if you need any other details.

Dharmateja Kadem gravatar image Dharmateja Kadem  ( 2017-01-10 10:55:52 -0500 )edit

Hm... cant say much from the rosout. What if you turn on the /move_base/DWAPlannerROS/cost_cloud in RVIZ when you give the opposite goal. Please post this photo of costcloud

DavidN gravatar image DavidN  ( 2017-01-10 20:43:27 -0500 )edit

Hi David, I added the image of rviz by turning on the cost cloud, i don't see any difference when i turn on the costcloud. Do i have to make any other changes to notify the costcloud?

Dharmateja Kadem gravatar image Dharmateja Kadem  ( 2017-01-11 18:39:58 -0500 )edit

I have a similar problem to you where my robot navigates fine for every other goal other than ones behind it that require it to turn 180. In my case the robot doesn't move forward but instead it gets stuck rotating left, right, left, right... until it breaks a threshold and goes to the goal.

Kachimaru gravatar image Kachimaru  ( 2017-03-03 19:23:55 -0500 )edit

However, in my case I have set the values for min_vel_x and min_trans_x both to be 0, as I want to allow my robot to do in place rotations, otherwise I expect I may have the same behaviour as you. I believe it is related to the symmetry between how good turning left and right are.

Kachimaru gravatar image Kachimaru  ( 2017-03-03 19:25:57 -0500 )edit

I have the same problem. Studying the behavior and a little bit the code I think the problem is the lack of a cost for facing in the wrong direction. Therefore all in-place rotations have the same cost and the cost for moving straight or in an arc is almost the same. But I'm not sure if I'm correct.

senfti gravatar image senfti  ( 2018-02-15 06:53:45 -0500 )edit

@Kachimaru how have you solved the problem?

taun gravatar image taun  ( 2020-10-18 04:01:09 -0500 )edit