merger.py
Go to the documentation of this file.
1 #! /usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 
4 from moveit.task_constructor import core, stages
5 from py_binding_tools import roscpp_init
6 import time
7 
8 roscpp_init("mtc_tutorial")
9 
10 # use the joint interpolation planner
11 planner = core.JointInterpolationPlanner()
12 
13 # the task will contain our stages
14 task = core.Task()
15 task.name = "merger"
16 
17 # start from current robot state
18 currentState = stages.CurrentState("current state")
19 task.add(currentState)
20 
21 # [initAndConfigMerger]
22 # the merger plans for two parallel execution paths
23 merger = core.Merger("Merger")
24 
25 # first simultaneous execution
26 moveTo1 = stages.MoveTo("Move To Home", planner)
27 moveTo1.group = "hand"
28 moveTo1.setGoal("close")
29 merger.insert(moveTo1)
30 
31 # second simultaneous execution
32 moveTo2 = stages.MoveTo("Move To Ready", planner)
33 moveTo2.group = "panda_arm"
34 moveTo2.setGoal("extended")
35 merger.insert(moveTo2)
36 
37 # add the merger stage to the task hierarchy
38 task.add(merger)
39 # [initAndConfigMerger]
40 
41 if task.plan():
42  task.publish(task.solutions[0])
43 time.sleep(1)
moveit::task_constructor


demo
Author(s): Robert Haschke , Simon Goldstein , Henning Kayser
autogenerated on Sat May 3 2025 02:40:30