A Python framework for building UMAA-compliant unmanned maritime systems on RTI Connext DDS.
Full documentation — walkthroughs, guides, and API reference.
If you don't have an RTI Connext license, request a free evaluation at https://www.rti.com/free-trial — RTI will auto-respond to your email with a license file. Then point Connext to it:
export RTI_LICENSE_FILE=/path/to/rti_license.datcd python/
pip install -e .Requires Python ≥ 3.8.
cd examples/autopilot/
./start_autopilot.shimport asyncio
from rtiumaapy import DDSContext, set_timestamp
from rtiumaapy.services.so import HealthReportProvider
from rtiumaapy.datamodel.HealthReportType import (
UMAA_SO_HealthReport_HealthReportType as HealthReportType,
)
async def main():
ctx = DDSContext(domain_id=0) # 1. Create a DDS context
provider = HealthReportProvider(ctx) # 2. Create a pre-wired provider
sample = HealthReportType(source=ctx.source_id) # 3. Build a sample
set_timestamp(sample) # 4. Stamp it
provider.write(sample) # 5. Publish
await ctx.run_until_shutdown()
asyncio.run(main())For questions or issues, email services_community@rti.com.
Thanks to Devon at Penn State ARL for
early UMAA RTI Python explorations that helped inform this project.
The JHU APL and Penn State ARL C++ implementations
from the UMAA SDK
were used as reference throughout development.
See LICENSE for details.