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 commands

  • GlobalVectorControlConsumer — sends GlobalVector commands

  • HealthReportProvider — publishes health reports

  • HealthReportConsumer — 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
)