Pre-Wired Service Library
The SDK includes 350 pre-wired service classes that set all DDS topic names and IDL types automatically. You subclass them and override hooks — no manual type/topic wiring needed.
Import Pattern
# From domain subpackage
from rtiumaapy.services.mo import GlobalVectorControlProvider
from rtiumaapy.services.sa import GlobalPoseReportConsumer
from rtiumaapy.services.so import HealthReportProvider
# From top-level (re-exports all domains)
from rtiumaapy.services import GlobalVectorControlProvider
Naming Convention
Every service follows the pattern {ServiceName}{Role}:
Command services:
{Name}Control{Provider|Consumer}Report services:
{Name}Report{Provider|Consumer}
Examples:
GlobalVectorControlProvider— serves GlobalVector commandsGlobalVectorControlConsumer— sends GlobalVector commandsHealthReportProvider— publishes health reportsHealthReportConsumer— subscribes to health reports
Constructor Patterns
Command Providers require ctx and source_id:
provider = GlobalVectorControlProvider(ctx, source_id=my_identity)
Command Consumers require ctx only (destination set at send time, or passed in constructor):
consumer = GlobalVectorControlConsumer(ctx)
Report Providers require ctx only:
provider = HealthReportProvider(ctx)
Report Consumers require ctx only:
consumer = GlobalPoseReportConsumer(ctx)
Domain Catalog
Common Operations (CO) — 42 classes
Communication channel management, message filtering.
from rtiumaapy.services.co import (
CommsChannelPowerConfigProvider,
CommsChannelPowerConfigConsumer,
CommsChannelReportProvider,
CommsChannelReportConsumer,
CommsChannelSpecsReportProvider,
CommsChannelSpecsReportConsumer,
# ... 36 more
)
Engineering Operations (EO) — 58 classes
Platform hardware: anchors, ballast, engine, fuel, propulsion, UV platform specs.
from rtiumaapy.services.eo import (
EngineControlProvider,
EngineControlConsumer,
EngineReportProvider,
EngineReportConsumer,
UVPlatformSpecsReportProvider,
UVPlatformCapabilitiesReportProvider,
# ... 52 more
)
Mission Management (MM) — 70 classes
Missions, objectives, routes, constraints, conditionals, waveforms.
from rtiumaapy.services.mm import (
ActiveConstraintsControlProvider,
ConditionalAddControlConsumer,
MissionPlanConstraintAddControlConsumer,
ObjectiveExecutorReportConsumer,
# ... 66 more
)
Maritime Operations (MO) — 18 classes
Vehicle motion control: global vector, hover, waypoint, drift, primitive driver.
from rtiumaapy.services.mo import (
GlobalVectorControlProvider,
GlobalVectorControlConsumer,
GlobalHoverControlProvider,
GlobalHoverControlConsumer,
PrimitiveDriverControlProvider,
PrimitiveDriverControlConsumer,
GlobalWaypointControlProvider,
GlobalWaypointControlConsumer,
FreeFloatControlProvider,
FreeFloatControlConsumer,
GlobalDriftControlProvider,
GlobalDriftControlConsumer,
# ... 6 more
)
Situational Awareness (SA) — 66 classes
Sensors, contacts, environment: GPS, pose, speed, velocity, wind, water current.
from rtiumaapy.services.sa import (
GlobalPoseReportProvider,
GlobalPoseReportConsumer,
SpeedReportProvider,
SpeedReportConsumer,
VelocityReportProvider,
VelocityReportConsumer,
WindReportProvider,
WindReportConsumer,
# ... 58 more
)
Sensors (SEM) — 26 classes
Sensor management: calibration, configuration, power.
from rtiumaapy.services.sem import (
SensorCalibrationControlProvider,
SensorCalibrationControlConsumer,
SensorConfigReportProvider,
SensorConfigReportConsumer,
# ... 22 more
)
System Operations (SO) — 70 classes
Health, logging, power, storage, time, watchdog.
from rtiumaapy.services.so import (
HealthReportProvider,
HealthReportConsumer,
LogReportProvider,
LogReportConsumer,
PowerReportProvider,
PowerReportConsumer,
# ... 64 more
)