Skip to content

Interface specifications

Matheus V. C. Cogo edited this page Jan 30, 2024 · 3 revisions

API/Topics specification

  • PREFIX1: conceptio
  • PREFIX2:
    • unit: information related to units
    • arena: information related to the arena
    • terrain: information related to the terrain
    • Note: PREFIX3, PREFIX4, ROOT and SUFFIX1 are only applicable to unit.
  • PREFIX3: name of the unit domain
    • air
    • ground
    • maritime
    • space
    • cyberspace
  • PREFIX4: entity scope (digital triplets)
    • real
    • virtual
    • model
  • ROOT: unique name for the unit
    • Topics:
    • heartbeat is a topic inside ROOT that publishes the entities heartbeats.
    • tasks is a topic inside ROOT that receives tasks and executes them using VR-Forces
  • SUFFIX1: data
    • Topics:
    • kinematics

Topic naming structure for units: PREFIX1/PREFIX2/PREFIX3/PREFIX4/ROOT/SUFFIX1

Examples:

conceptio/unit/air/real/dji_1/heartbeat: contains heartbeat information for the dji_1 unit.

conceptio/unit/air/real/dji_1/data/kinematics: contains kinematic information for the dji_1 unit.

For the arena prefix, there is only one subtopic: entities, where information about connected entities is shared. This is the topic that remote ROS2 entities need to subscribe, as for every new entity new subscriptions need to be set up using the mqtt_client services.

The MQTT topic structure follows that of the ROS2 due to the mqtt_mirror node from the conceptio_bridges package, that replicates known topics and serializes them into ROS2 topics and messages.

Message definitions

Full list here

conceptio/arena/entities

  • Type: conceptio_interfaces/ArenaEntities

MQTT topic that periodically shares the updated list of arena entities. ROS2 remote entities need this information in order to set up new bridge mappings.

ROOT/heartbeat

  • Type: conceptio_interfaces/ArenaHeartbeat

Mandatory message that periodically sends information about an arena entity.

ROOT/data/kinematics

  • Type: conceptio_interfaces/ArenaKinematics

Message that updates a given entity position and rotation (x, y, z, yaw, pitch, roll).

Service definitions

Clone this wiki locally