# MoveIt 2: attached body tutorial

Official MoveIt 2 native main example for attached body tutorial. Inspect the pinned source and upstream setup before use.

ID: `moveit2-doc-examples-interactivity-src-attached-body-tutorial-cpp`

Record version: `source-8a7367166b41d20e808746d8d54765003f633c5c25a2e01463a9939838c81c0e`

Hub commit: `3a81abb601c3b4b8fcb9a8bed5ca270e546f5f1a`

## Access

Fetch the pinned repository, verify this source checksum, and use upstream installation and invocation. This record does not install or execute code.

Hub preparation adapter: **false**. Runtime verification: **not_run**.

Upstream setup: https://github.com/moveit/moveit2_tutorials/blob/e1b3727d4bbd22a57f17120ec423a4171f4bdc66/README.md

## Source and license

- Repository: https://github.com/moveit/moveit2_tutorials
- Pinned source: https://github.com/moveit/moveit2_tutorials/blob/e1b3727d4bbd22a57f17120ec423a4171f4bdc66/doc/examples/interactivity/src/attached_body_tutorial.cpp
- Revision: `e1b3727d4bbd22a57f17120ec423a4171f4bdc66`
- Path: `doc/examples/interactivity/src/attached_body_tutorial.cpp`
- Source SHA256: `8a7367166b41d20e808746d8d54765003f633c5c25a2e01463a9939838c81c0e`
- Source bytes: 7350
- Original authors: See pinned upstream source and license notices.
- License: [BSD-3-Clause](https://github.com/moveit/moveit2_tutorials/blob/e1b3727d4bbd22a57f17120ec423a4171f4bdc66/LICENSE.txt)
- License scope: Selected example source code only; preserve upstream copyright and per-file notices. Robot models, datasets, weights, simulator binaries and third-party dependencies retain their separate licenses.

License SHA256: `fc64969d5899b2a89b72a8db8b0e99ad82f456540e133c30e30395013f89a443`

## Requirements

```json
{
  "python": "ROS 2 Python/C++ versions matching the pinned upstream workspace",
  "packages": [
    "MoveIt 2 and moveit2_tutorials from the pinned ROS 2 source workspace"
  ],
  "display": "Requires a configured robot model, SRDF, controllers and sourced ROS workspace; many tutorials use RViz. Follow the pinned tutorial setup.",
  "execution_domain": "simulation-or-hardware",
  "source_imports": [
    "interactivity/interactive_robot.h",
    "interactivity/pose_string.h",
    "moveit/collision_detection/collision_tools.h",
    "moveit/collision_detection_fcl/collision_robot_fcl.h",
    "moveit/collision_detection_fcl/collision_world_fcl.h",
    "moveit/planning_scene/planning_scene.h",
    "moveit/robot_model/robot_model.h",
    "moveit/robot_state/robot_state.h",
    "ros/ros.h"
  ]
}
```

## Invocation

```json
{
  "entrypoint": "Native main: doc/examples/interactivity/src/attached_body_tutorial.cpp; build the target declared by the pinned upstream build files",
  "notes": "Requires a configured robot model, SRDF, controllers and sourced ROS workspace; many tutorials use RViz. Follow the pinned tutorial setup. No Hub preparation adapter or measured runtime success is claimed."
}
```

## Compatibility

```json
[]
```

Missing environment fields remain unknown. Source discovery labels do not establish robot compatibility.

## Evidence

Level: **source_reviewed**. Runtime verification: **not_run**.

Fetched and SHA-256 checked this immutable source; statically parsed Python or located native main; verified pinned license bytes and checked explicit per-file license identifiers. No upstream code executed.

Source review and contributor reports do not establish task completion. Preserve upstream attribution and licenses.
