Skip to content

Add drone primitive contracts - #252

Open
1020559180 wants to merge 2 commits into
syswonder:devfrom
1020559180:feat/drone-contracts
Open

1020559180 wants to merge 2 commits into
syswonder:devfrom
1020559180:feat/drone-contracts

Conversation

@1020559180

Copy link
Copy Markdown

Summary

Add a drone primitive contract area to the framework so drone packages
(e.g. a DJI MSDK flight driver) can declare standard flight / mission
primitives instead of shipping SDK-specific contracts.

Contracts added

Namespace robonix/primitive/drone/* — kind = primitive, mode = rpc:

capability idl purpose
driver lifecycle/srv/Driver.srv lifecycle bootstrap (CMD_INIT)
takeoff drone/srv/Takeoff.srv take off and hover at altitude (m)
land drone/srv/Land.srv land
hover drone/srv/Hover.srv hover in place
rth drone/srv/Rth.srv return to home
state drone/srv/State.srv flight status (mission_state / operation_mode / altitude / sdk_registered / …)
invoke drone/srv/Invoke.srv generic passthrough to the flight controller
list_capabilities drone/srv/ListCapabilities.srv dynamic capability discovery
  • 8 contract TOMLs under capabilities/primitive/drone/ (Schema A:
    [contract] id/version/kind/idl/description + [mode] type=rpc).
  • 7 SRV files under capabilities/lib/drone/srv/; responses use
    std_msgs/String status.
  • Removes a stale drone.proto placeholder that was previously in
    capabilities/primitive/drone/.

Note

Contract layer only. The DJI MSDK driver implementation lives in a separate
package repo (robonix.primitive.dji.msdk.flight) and will be registered in
the package catalog after this merges.

@github-actions github-actions Bot added the comp:capabilities capabilities/ contracts label Sep 16, 2026
@enkerewpo

Copy link
Copy Markdown
Member

https://github.com/syswonder/robonix/actions/runs/35055362607/job/104667256785?pr=252

please use English inside robonix code repo.

thanks for adding drone primitives!

version = "1"
kind = "primitive"
idl = "drone/srv/Land.srv"
description = "Land in place (the APK has no such endpoint yet; use rth to return and land instead)."

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.

what's this "APK"?

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

Labels

comp:capabilities capabilities/ contracts

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants