Product Catalog
Reach
ReachPy
Make your code reach the robot. Reach replaces the usual scatter of ROS 2 config files with a single reach.toml and a small CLI—hot reload included.
GitHub Repositoryopen_in_newv1.0.0 Released
Traditional vs Reach
Traditional ROS 2Reach
package.xml[project] in reach.toml
setup.py / install rules[nodes] paths
XML launch files[launch.<pipeline>]
Manual ros2 run loopsreach run / reach launch
Commands
reach create <name>Create a new ReachPy workspacereach doctorDiagnose ROS 2, Python, workspace, and nodesreach configPrint resolved reach.tomlreach run [profile|node...]Run nodes with hot reloadreach launch <pipeline>Run a launch pipeline with ordering and depsExample reach.toml
[project]
name = "my-robot"
version = "0.1.0"
python = "3.11"
[nodes]
detector = "src/detector.py"
controller = "src/controller.py"
[launch.default]
nodes = [
{ name = "detector" },
{ name = "controller", delay = 1.0, depends_on = "detector" },
]
[dev]
hot_reload = true
hot_reload_ignore = ["config/", "models/"]Requirements
Rust
2021 edition — build the reach CLI
Python 3.x
Node scripts
ROS 2
Humble, Iron, or Jazzy
Install Reach
git clone https://github.com/ascii-robotics/ros-config-reduction.git
cd ros-config-reduction
cargo build --release
# binary: target/release/reachOpen on GitHub