| feat: add task_dispatch framework for unified task-level execution
Add a unified task execution framework (task_dispatch) that bridges
task-level planners (visual_grasp, VoxPoser, etc.) and the existing
MoveIt motion execution layer (moveit_gateway + ros2_control).
Architecture overview:
Planners → ExecuteTaskPlan action → TaskExecutorNode
TaskExecutorNode dispatches:
MOVE_TO_POSE → /moveit_gateway/move_to_pose service
GRIPPER → gripper trajectory controller
WAIT → timed delay
New packages:
- task_dispatch: TaskExecutorNode with ExecuteTaskPlan action server
New message types (ibrobot_msgs):
- msg/TaskStep.msg: single step in a task plan (pose/gripper/wait)
- action/ExecuteTaskPlan.action: execute a sequence of TaskSteps
- srv/MoveToPose.srv: synchronous move-to-pose via MoveIt gateway
Modified packages:
- robot_moveit: moveit_gateway gains MoveToPose service + motion_status
- robot_config: launch_builders/task_execution.py auto-launches
task_executor for moveit-based control modes
- robot.launch.py: section 11.5 integrates task executor launch
This framework is the counterpart to action_dispatch:
action_dispatch = joint-level streaming (ACT/VLA, 100Hz)
task_dispatch = task-level sequencing (MoveIt planners, event-driven)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: XiaoqiangWu <wuxiaoqiang.rtos@huawei.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| 1 个月前 |