# intrinsic-ai/intrinsic-moveit architecture

> Architecture diagram of the GitHub repository intrinsic-ai/intrinsic-moveit, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/intrinsic-ai/intrinsic-moveit
- Repository: https://github.com/intrinsic-ai/intrinsic-moveit

## Overview

This repository provides ROS 2 motion and grasp planning for MoveIt, with Intrinsic Core skills as client entry points. Users submit motion requests or grasp candidates; the service plans against its MoveIt scene and returns trajectories or ranked grasps. Its documented supporting capabilities include World-to-scene synchronization, TF streaming, health monitoring, and UR5e/Hand-E/camera configuration. Internal edges are limited to relationships shown in sampled source references or excerpts; other documented capabilities are retained without speculative wiring.

Main entry points: [`moveit_planning_service/src/moveit_planning_node.cpp`](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/moveit_planning_node.cpp) (Planning node), [`moveit_planning_service/src/grasp_planning_pipeline.cpp`](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/grasp_planning_pipeline.cpp) (Grasp planning), [`moveit_planning_service/src/moveit_scene_synchronizer.cpp`](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/moveit_scene_synchronizer.cpp) (Scene synchronizer), [`moveit_planning_service/src/status_monitor.cpp`](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/status_monitor.cpp) (Health monitor)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_clients["Planning clients"]
  node_motion_skill["Motion skill"]
  node_grasp_skill["Grasp skill"]
end

subgraph group_service["Planning service"]
  node_interfaces["ROS interfaces"]
  node_planning_node["Planning node"]
  node_grasp_pipeline["Grasp planning"]
  node_pose_generator["Box grasp poses"]
  node_object_geometry["Object geometry"]
end

subgraph group_scene["Scene and robot"]
  node_scene_sync["Scene synchronizer"]
  node_world[("Intrinsic World")]
  node_tf_stream["TF / joint state"]
  node_static_tf["Static transforms"]
  node_robot_description["Robot description<br/>[robot.urdf.xacro]"]
  node_moveit_config["MoveIt configuration"]
end

subgraph group_ops["Operations"]
  node_status_monitor["Health monitor<br/>[status_monitor.cpp]"]
  node_flowstate_bridge["Flowstate bridge"]
end

node_user(("User / Core"))

node_user -->|"invokes"| node_motion_skill
node_user -->|"invokes"| node_grasp_skill
node_motion_skill -->|"requests motion plan"| node_planning_node
node_grasp_skill -->|"requests grasp plan"| node_planning_node
node_planning_node -->|"serves ROS endpoints"| node_interfaces
node_planning_node -->|"dispatches grasp planning"| node_grasp_pipeline
node_grasp_pipeline -->|"uses pose generator"| node_pose_generator
node_grasp_pipeline -->|"computes bounds"| node_object_geometry
node_planning_node -->|"initializes synchronizer"| node_scene_sync
node_scene_sync -->|"fetches scene objects"| node_world
node_scene_sync -->|"tracks transforms"| node_tf_stream
node_planning_node -->|"publishes frame links"| node_static_tf
node_planning_node -.->|"uses robot model"| node_robot_description
node_planning_node -.->|"uses planning configuration"| node_moveit_config
node_status_monitor -.->|"checks planning endpoints"| node_planning_node
node_status_monitor -.->|"triggers synchronization"| node_flowstate_bridge

click node_motion_skill "https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_plan_motion_skill/src/moveit_plan_motion_skill/moveit_plan_motion_skill.cpp"
click node_grasp_skill "https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_plan_grasp_skill/src/moveit_plan_grasp_skill/moveit_plan_grasp_skill.cpp"
click node_interfaces "https://github.com/intrinsic-ai/intrinsic-moveit/tree/main/moveit_planning_interfaces"
click node_planning_node "https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/moveit_planning_node.cpp"
click node_grasp_pipeline "https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/grasp_planning_pipeline.cpp"
click node_pose_generator "https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/generate_box_grasp_poses.cpp"
click node_object_geometry "https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/object_geometry.cpp"
click node_scene_sync "https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/moveit_scene_synchronizer.cpp"
click node_static_tf "https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/publish_static_transforms.cpp"
click node_robot_description "https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/robot_hardware_description/urdf/robot.urdf.xacro"
click node_moveit_config "https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/third_party/robot_hardware_moveit_config/config/robot_hardware.srdf"
click node_status_monitor "https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/status_monitor.cpp"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_motion_skill,node_grasp_skill,node_user toneBlue
class node_interfaces,node_planning_node,node_grasp_pipeline,node_pose_generator,node_object_geometry toneAmber
class node_scene_sync,node_world,node_tf_stream,node_static_tf,node_robot_description,node_moveit_config toneMint
class node_status_monitor,node_flowstate_bridge toneRose
```

## Components

### Planning clients

- [Motion skill](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_plan_motion_skill/src/moveit_plan_motion_skill/moveit_plan_motion_skill.cpp): `moveit_plan_motion_skill/src/moveit_plan_motion_skill/moveit_plan_motion_skill.cpp`
- [Grasp skill](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_plan_grasp_skill/src/moveit_plan_grasp_skill/moveit_plan_grasp_skill.cpp): `moveit_plan_grasp_skill/src/moveit_plan_grasp_skill/moveit_plan_grasp_skill.cpp`

### Planning service

- [ROS interfaces](https://github.com/intrinsic-ai/intrinsic-moveit/tree/main/moveit_planning_interfaces): `moveit_planning_interfaces`
- [Planning node](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/moveit_planning_node.cpp): `moveit_planning_service/src/moveit_planning_node.cpp`
- [Grasp planning](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/grasp_planning_pipeline.cpp): `moveit_planning_service/src/grasp_planning_pipeline.cpp`
- [Box grasp poses](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/generate_box_grasp_poses.cpp): `moveit_planning_service/src/generate_box_grasp_poses.cpp`
- [Object geometry](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/object_geometry.cpp): `moveit_planning_service/src/object_geometry.cpp`

### Scene and robot

- [Scene synchronizer](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/moveit_scene_synchronizer.cpp): `moveit_planning_service/src/moveit_scene_synchronizer.cpp`
- **Intrinsic World**
- **TF / joint state**
- [Static transforms](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/publish_static_transforms.cpp): `moveit_planning_service/src/publish_static_transforms.cpp`
- [Robot description](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/robot_hardware_description/urdf/robot.urdf.xacro): `robot_hardware_description/urdf/robot.urdf.xacro`
- [MoveIt configuration](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/third_party/robot_hardware_moveit_config/config/robot_hardware.srdf): `third_party/robot_hardware_moveit_config/config/robot_hardware.srdf`

### Operations

- [Health monitor](https://github.com/intrinsic-ai/intrinsic-moveit/blob/main/moveit_planning_service/src/status_monitor.cpp): `moveit_planning_service/src/status_monitor.cpp`
- **Flowstate bridge**

### Other components

- **User / Core**

## Connections

- User / Core → Motion skill: invokes (evidence: `README.md`)
- User / Core → Grasp skill: invokes (evidence: `README.md`)
- Motion skill → Planning node: requests motion plan (evidence: `README.md`)
- Grasp skill → Planning node: requests grasp plan (evidence: `README.md`)
- Planning node → ROS interfaces: serves ROS endpoints (evidence: `README.md`)
- Planning node → Grasp planning: dispatches grasp planning (evidence: `moveit_planning_service/src/moveit_planning_node.cpp`)
- Grasp planning → Box grasp poses: uses pose generator (evidence: `moveit_planning_service/src/grasp_planning_pipeline.cpp`)
- Grasp planning → Object geometry: computes bounds (evidence: `moveit_planning_service/src/grasp_planning_pipeline.cpp`)
- Planning node → Scene synchronizer: initializes synchronizer (evidence: `moveit_planning_service/src/moveit_planning_node.cpp`)
- Scene synchronizer → Intrinsic World: fetches scene objects
- Scene synchronizer → TF / joint state: tracks transforms
- Planning node → Static transforms: publishes frame links (evidence: `moveit_planning_service/src/moveit_planning_node.cpp`)
- Planning node → Robot description: uses robot model
- Planning node → MoveIt configuration: uses planning configuration
- Health monitor → Planning node: checks planning endpoints
- Health monitor → Flowstate bridge: triggers synchronization
