# OMPL: Bouncing Ball Planning

Official OMPL native main example for Bouncing Ball Planning. Inspect the pinned source and upstream setup before use.

ID: `ompl-demos-bouncingballplanning-cpp`

Record version: `source-b08019faacad973ae9121d70ab5e352e62fa84e8019c230703fd377977e64033`

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/ompl/ompl/blob/1ae6ac0bf7e9cb67d8994a8b8742833f813fdd39/README.md

## Source and license

- Repository: https://github.com/ompl/ompl
- Pinned source: https://github.com/ompl/ompl/blob/1ae6ac0bf7e9cb67d8994a8b8742833f813fdd39/demos/BouncingBallPlanning.cpp
- Revision: `1ae6ac0bf7e9cb67d8994a8b8742833f813fdd39`
- Path: `demos/BouncingBallPlanning.cpp`
- Source SHA256: `b08019faacad973ae9121d70ab5e352e62fa84e8019c230703fd377977e64033`
- Source bytes: 11847
- Original authors: See pinned upstream source and license notices.
- License: [BSD-3-Clause](https://github.com/ompl/ompl/blob/1ae6ac0bf7e9cb67d8994a8b8742833f813fdd39/LICENSE)
- 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: `f1b0b41dbea7d46f34a723e827b5ef50070d006b34d5463f77a0a06d3dccdf2d`

## Requirements

```json
{
  "python": "Python/C++ toolchain compatible with pinned OMPL 2.0.2",
  "packages": [
    "OMPL 2.0.2 pinned source",
    "CMake/compiler and optional Python bindings/dependencies per selected demo"
  ],
  "display": "Build the selected native demo target or install matching Python bindings. Planning demos need their state-space/validity assumptions and optional meshes/data; a solution path is not automatically a controller.",
  "execution_domain": "computation-or-simulation",
  "source_imports": [
    "ompl/base/StateSpace.h",
    "ompl/base/spaces/HybridStateSpace.h",
    "ompl/control/ODESolver.h",
    "ompl/control/planners/rrt/HyRRT.h",
    "ompl/control/spaces/RealVectorControlSpace.h"
  ]
}
```

## Invocation

```json
{
  "entrypoint": "Native main: demos/BouncingBallPlanning.cpp; build the target declared by the pinned upstream build files",
  "notes": "Build the selected native demo target or install matching Python bindings. Planning demos need their state-space/validity assumptions and optional meshes/data; a solution path is not automatically a controller. 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.
