4 This action server node will wait for 3 MoveBaseGoals and handle each differently:
5 - succeed the first one
7 - just ignore the 3rd one
14 from move_base_msgs.msg
import MoveBaseAction, MoveBaseResult
17 if __name__ ==
"__main__":
18 rospy.init_node(
'move_base_fake')
20 succeeded = MoveBaseResult()
23 result_delay = rospy.get_param(
"~result_delay", 5)
25 timeout = rospy.get_param(
"~timeout",
None)
27 pub_transform = rospy.get_param(
"~pub_transform",
True)
29 move_base =
ScriptableMoveBase(rospy.get_name(), MoveBaseAction, default_result_delay=result_delay, pub_transform=pub_transform)
31 rospy.loginfo(
"fake move base running")
35 move_base.reply(succeeded, marker=
'1: succeeded', timeout=timeout)
39 move_base.reply(move_base.ABORT_GOAL, marker=
'2: Aborted', reply_delay=0, timeout=timeout)
43 move_base.reply(move_base.IGNORE_GOAL, marker=
'3: Ignored', reply_delay=0, timeout=timeout)
44 except AssertionError
as assertion_err:
45 rospy.logerr(assertion_err)