ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Hello!I met the same problem. It is the problem of B)unable to find a rotation command without forward motion. You can change the EPSILON variable to a larger number to allow a slow forward motion.
OK...That is my old answer. In my case, the real reason why it cannot rotate to the goal is because of the lookahead time parameter and the scale of RotateToGoal. I have a lookahead_time=0.1, with scale=1000, then it works pretty good. For changing lookahead_time, its better to check the source code of RotateToGoal cost function definition. For scale, I choose it by observation and experiments. After robot reaches the position of goal, what we only want is that the robot can reach the goal attitude. What it need to do is only rotation: we only care about its theta velocity. However, sometimes other cost function value will be different. In order to let RotateToGoal cost function dominate the total cost, I choose scale1000 (100 sometimes doesn't work), or even larger.