0
$\begingroup$

Rosanswers logo

I apologize in advance if this is a dumb question, but I have been stuck on it for about two weeks and I can't find any post on it.

I am using python and trying to get move_base to integrate with rosstage. After battling with the actionclient API a little bit I got things talking with each other. I am basically trying to make the stage robot move left and up 1 meter. When I run the goal move_base receives it and then gives me this error:

[ERROR] [1302846443.035666337, 35.000000000]: Rotate recovery can't rotate in place because there is a potential collision. Cost: -1.00

When I try to run it again (after fiddling with values I get these two errors):

[ERROR] [1302846508.867209499, 100.800000000]: Rotate recovery can't rotate in place because there is a potential collision. Cost: -1.00 [ERROR] [1302846509.798151787, 101.700000000]: Aborting because a valid plan could not be found. Even after executing all recovery behaviors

The problem is that the robot is not in a collision state and it has at least two meters to the wall? I am kind of lost as to what may be causing this? I am guessing it is somewhere in my costmap yaml files but I don't see what variable would be causing it.

Here is my action client code:

class MyAC2(ActionClient):
def __init__(self, ns, ActionSpec):
    ActionClient.__init__(self,ns,ActionSpec)
def transform(self,msg):
    print("THIS IS THE TRANSITION\n\n")
    print(msg)

def resulter(self,msg,msg2):
    print("This is the FEEDBACK!")
    print(msg)
    print("THIS is message 2")
    print(msg2)

g1 = MoveBaseGoal(PoseStamped(Header(frame_id = 'base_link'),Pose(Point(-1,1, 0),Quaternion(0, 0, 0, 1))))
g2 = MoveBaseGoal(PoseStamped(Header(frame_id = 'base_link'),Pose(Point(2, 2, 0),Quaternion(0, 0, 0, 1))))
client = MyAC2('/move_base', MoveBaseAction)
client.wait_for_server(rospy.Duration(100.0))
h1 = client.send_goal(g1,client.transform,client.resulter)
print(client.wait_for_server(rospy.Duration(100.0)))
for i in range (0,3,1):
    print(client.wait_for_server(rospy.Duration(100.0)))
    rospy.sleep(5)

Anyway I can post the costmap yaml stuff but I figured if anyone had seen this error before they would know how to fix it. Also if any of you have suggestions on how to use python action clients I am all ears. The above code was the only way I could get move_base to receive goals.

Any help would be greatly appreciated, ~BM


Originally posted by BlackManta on ROS Answers with karma: 56 on 2011-04-14

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Is the robot sensing itself? Look closely at the obstacle map and see what obstacles are there. Especially look under the robot. Are there past obstacles remembered in it's current location? Possibly caused by bad localization or phantom obstacles observed incorrectly and never cleared.


Originally posted by tfoote with karma: 58457 on 2011-06-17

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.