move_base goal 的actionlib服务

引入

 from move_base_msgs.msg import MoveBaseGoal, MoveBaseAction

定义

ac = SimpleActionClient('move_base', MoveBaseAction)  

等待服务

self.ac.wait_for_server()  

发送goal

goal = MoveBaseGoal()
ac.send_goal(goal, done_cb=None, active_cb=None, feedback_cb=None)    

发送后可以指定完成函数,激活函数和回调函数

等待

ac.wait_for_result()

阻塞,直到返回结果

返回结果

ac.get_result()

获取状态get_state

状态返回的是数字,数字代表的含义在actionlib_msgs/GoalStatus.msg中定义了

GoalID goal_id
uint8 status
uint8 PENDING         = 0   # The goal has yet to be processed by the action server
uint8 ACTIVE          = 1   # The goal is currently being processed by the action server
uint8 PREEMPTED       = 2   # The goal received a cancel request after it started executing
                            #   and has since completed its execution (Terminal State)
uint8 SUCCEEDED       = 3   # The goal was achieved successfully by the action server (Terminal State)
uint8 ABORTED         = 4   # The goal was aborted during execution by the action server due
                            #    to some failure (Terminal State)
uint8 REJECTED        = 5   # The goal was rejected by the action server without being processed,
                            #    because the goal was unattainable or invalid (Terminal State)
uint8 PREEMPTING      = 6   # The goal received a cancel request after it started executing
                            #    and has not yet completed execution
uint8 RECALLING       = 7   # The goal received a cancel request before it started executing,
                            #    but the action server has not yet confirmed that the goal is canceled
uint8 RECALLED        = 8   # The goal received a cancel request before it started executing
                            #    and was successfully cancelled (Terminal State)
uint8 LOST            = 9   # An action client can determine that a goal is LOST. This should not be
                            #    sent over the wire by an action server

#Allow for the user to associate a string with GoalStatus for debugging
string text

你可能感兴趣的:(move_base goal 的actionlib服务)