def __init__(self, name):
super(Task, self).__init__(name, rospy.Rate(50))
self.nb_blackboard = NeedybotBlackboard()
self.lock = threading.Lock()
# Flags
self.active = False
self.completed = False
self.did_fail = False
self.current_step = None
self.name = name
self.subscribers = []
self.step_timer = None
self.steps = {}
self.task_latcher = TaskLatcher()
self.task_latcher.register_task()
self.step_load_time = None
self.paused_time = None
self.paused = False
self.register_services([
('abort', AbortTask),
('step_name', Message),
('next_step', NextStep),
('task_payload', TaskPayload),
('reset', Empty),
('status', TaskStatus),
('step', StepTask)
])
self.add_steps([
TaskStep(
'load',
failure_step='abort',
success_step='complete',
entered_handler=self.load_entered
),
TaskStep(
'complete',
entered_handler=self.complete_entered
),
TaskStep(
'abort',
entered_handler=self.abort_entered,
blocking=True
),
])
评论列表
文章目录