ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Unknown rotation error inside move_base when using rosstage

asked 2011-04-14 18:13:03 -0500

BlackManta gravatar image

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 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

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2011-06-17 11:45:16 -0500

tfoote gravatar image

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.

edit flag offensive delete link more
0

answered 2011-04-18 16:18:32 -0500

BlackManta gravatar image

I apologize for re-posting but I am really stopped here does anyone have any idea?

Cheers, BM

edit flag offensive delete link more

Question Tools

Stats

Asked: 2011-04-14 18:13:03 -0500

Seen: 1,202 times

Last updated: Jun 17 '11