Reference
Config schema
The vehicle config is one YAML document with these top level keys:
Key |
Required |
Meaning |
|---|---|---|
|
yes |
the root part everything hangs off |
|
no ( |
prefix of every part topic: |
|
no ( |
the parts to fit: slot entries and free placements |
|
no |
extra mount points the parts do not declare themselves |
|
no |
appended verbatim to the generated bridge config |
base takes type (required), name (default base_link) and
collision (default true).
Fitting a part
Entries under parts: come in two shapes. A slot entry drops a part
into a slot some part already declares; a free placement has no
slot: key and bolts the part to a parent at a pose you give.
Key |
Slot entry |
Free placement |
|---|---|---|
|
the slot to fill |
- |
|
instance carrying the slot (default |
- |
|
- |
link to attach to (default the base) |
|
an accepted type, or |
required |
|
default: the slot name |
required |
|
offset from the slot pose |
|
|
optional |
optional |
|
parts with topics only |
parts with topics only |
Instance names must be unique across the vehicle.
Warning
The instance key is of:, not on:. YAML reads a bare on as the
boolean true, so the entry silently means something else.
Ad hoc slots
Entries under slots: add a mount point that no part declares, then fill
it like any other: of (instance, default base_link), name, xyz,
rpy, accepts, default, joint, collision.
Errors
A key outside the schema is reported as a typo rather than ignored, and the message names the offending key alongside the ones that were expected. Any error fails the build or the launch instead of producing a half assembled vehicle.
Parts catalog
Type |
What |
Notes |
|---|---|---|
|
X500 V2 frame kit as one body |
the assembly root; declares every slot |
|
1345 propellers with motor bell |
carry the drive table; continuous joints |
|
4S LiPo pack |
box placeholder |
|
RPi 4 / Jetson class computer |
box placeholder |
|
GPS module on a mast |
|
|
A8 mini class gimbal camera |
box placeholder |
Topics
See the X500 Sensors and
Actuators pages. /clock and
/joint_states are always bridged; every part topic follows
/<namespace>/<instance>/<suffix> on both sides.
Packages
Package |
Purpose |
|---|---|
|
the part library, the assembly dispatcher and the config check |
|
the X500 assembled from the parts; RViz view |
|
composed Gazebo model, worlds, sim launch, generated bridge |