예제 #1
0
 def addPlanAndExecute(name, planFunc):
     old_folder = self.folder
     addFolder(name, parent=self.folder)
     addFunc(name, planFunc)
     addTask(robottasks.DelayTask(name='wait', delayTime=0.25))
     addTask(robottasks.CheckPlanInfo())
     addFunc('execute', self.planner.commitManipPlan)
     addFunc('wait for execute', self.planner.waitForExecute)
     self.folder = old_folder
예제 #2
0
 def addManipulation(func, name, parent=None, confirm=False):
     group = self.taskTree.addGroup(name, parent=parent)
     addFunc(func, name='plan motion', parent=group)
     addTask(rt.CheckPlanInfo(name='check manip plan info'), parent=group)
     addFunc(v.commitManipPlan, name='execute manip plan', parent=group)
     addTask(rt.WaitForManipulationPlanExecution(name='wait for manip execution'),
             parent=group)
     if confirm:
         addTask(rt.UserPromptTask(name='Confirm execution has finished', message='Continue when plan finishes.'),
                 parent=group)
예제 #3
0
        def addManipTask(name, planFunc, userPrompt=False):

            prevFolder = self.folder
            addFolder(name, prevFolder)
            addFunc('plan', planFunc)
            if not userPrompt:
                addTask(rt.CheckPlanInfo(name='check manip plan info'))
            else:
                addTask(rt.UserPromptTask(name='approve manip plan', message='Please approve manipulation plan.'))
            addFunc('execute manip plan', self.switchPlanner.commitManipPlan)
            addTask(rt.WaitForManipulationPlanExecution(name='wait for manip execution'))
            self.folder = prevFolder