Skip to content

Mod:add soma support#91

Open
Chenyantt wants to merge 1 commit into
syswonder:devfrom
Chenyantt:dev
Open

Mod:add soma support#91
Chenyantt wants to merge 1 commit into
syswonder:devfrom
Chenyantt:dev

Conversation

@Chenyantt

Copy link
Copy Markdown

Add soma system service support, including:

Soma — raw body YAML and URDF service

Soma loads one or more deployment directories, caches each deployment's raw
soma.ymal and referenced URDF text, then exposes them to other Robonix
components over gRPC.

This simplified version does not render or interpret a self-description. Pilot
calls robonix/system/soma/get_ymal to receive the original YMAL string, and
other services call robonix/system/soma/get_urdf to receive the corresponding
URDF XML string.

Config

atlas_endpoint: 127.0.0.1:50051
listen: 127.0.0.1:50091
provider_id: soma
robonix_root: ../../
default_robot: test_ci_robot
start_packages: false
rbnx_bin: rbnx
deployments:
  - examples/test_ci

Relative robonix_root is resolved from the config file directory. Relative
deployments entries are then resolved from that Robonix root. For example,
when the config file is system/soma/config.ymal, robonix_root: ../../ and
deployments: [examples/test_ci] point at <repo>/examples/test_ci no matter
which directory cargo run -p robonix-soma -- --config <path> is launched from.
If robonix_root is omitted, Soma tries ROBONIX_SOURCE_PATH, ROBONIX_ROOT,
then searches upward from the current directory for the Robonix repository root.

Each deployment directory must contain:

  • robonix_manifest.yaml
  • soma.ymal or compatible names such as robonix.soma.yaml
  • the URDF file referenced by urdf.path

Run

cargo run -p robonix-soma -- --config ./soma.local.yaml

At startup Soma reads every deployment, optionally runs each local primitive and
skill package with rbnx start -p <package_dir> --endpoint <atlas>, prints a
startup report, registers itself in Atlas, and serves gRPC on --listen.

@enkerewpo enkerewpo requested a review from Copilot June 20, 2026 16:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@enkerewpo enkerewpo requested a review from lhw2002426 June 20, 2026 16:16
Comment thread system/soma/src/main.rs Outdated
use robonix_soma::launcher::PackageLauncher;
use robonix_soma::pb::contracts::{
robonix_system_soma_get_urdf_server::RobonixSystemSomaGetUrdfServer,
robonix_system_soma_get_ymal_server::RobonixSystemSomaGetYmalServer,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be yaml_server?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fix it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants