asyncapi: 2.4.0
channels:
  OR2WCID_new_path:
    publish:
      message:
        description: a new path to reach the target point has been computed
        name: new_path
        payload:
          properties:
            globalPath:
              description: sequence of waypoints to visit
              items:
                properties:
                  x:
                    description: X coordinate.
                    type: number
                  'y':
                    description: Y coordinate.
                    type: number
                  yaw:
                    description: yaw angle.
                    type: number
                required:
                  - x
                  - y
                type: object
              type: array
            message:
              description: reason of the change
              type: string
            targetPoint:
              description: position of the target point
              properties:
                x:
                  description: X coordinate.
                  type: number
                'y':
                  description: Y coordinate.
                  type: number
                yaw:
                  description: yaw angle.
                  type: number
              required:
                - x
                - y
              type: object
            timestamp:
              description: Timestamp of the message.
              format: date-time
              type: string
            wheelchairID:
              description: ID of the wheelchair.
              type: string
          required:
            - globalPath
            - targetPoint
            - message
          type: object
  OR2WCID_stop_message:
    publish:
      message:
        description: a dangerous event can occur, then a stop of at least x seconds must be done
        name: stop_message
        payload:
          properties:
            message:
              description: reason for the stop
              type: string
            stopTime:
              description: stop time in seconds
              type: number
            timestamp:
              description: Timestamp of the message.
              format: date-time
              type: string
            wheelchairID:
              description: ID of the wheelchair.
              type: string
          required:
            - message
            - stopTime
            - timestamp
          type: object
  WCID2OR_pose_status:
    publish:
      message:
        description: pose and path status
        name: pose_status
        payload:
          properties:
            currentSpeed:
              description: current speed of the wheelchair in km/h
              type: number
            globalPath:
              description: sequence of waypoints yet to be visited
              items:
                properties:
                  x:
                    description: X coordinate.
                    type: number
                  'y':
                    description: Y coordinate.
                    type: number
                  yaw:
                    description: yaw angle.
                    type: number
                required:
                  - x
                  - y
                type: object
              type: array
            nominalSpeed:
              description: nominal speed of the wheelchair in km/h
              type: number
            pose:
              description: pose of the wheelchair.
              properties:
                x:
                  description: X coordinate.
                  type: number
                'y':
                  description: Y coordinate.
                  type: number
                yaw:
                  description: yaw angle.
                  type: number
              required:
                - x
                - y
                - yaw
              type: object
            targetPoint:
              description: position of the target point
              properties:
                x:
                  description: X coordinate.
                  type: number
                'y':
                  description: Y coordinate.
                  type: number
                yaw:
                  description: yaw angle.
                  type: number
              required:
                - x
                - y
              type: object
            timestamp:
              description: Timestamp of pose.
              format: date-time
              type: string
            wheelchairID:
              description: ID of the wheelchair.
              type: string
          required:
            - pose
            - globalPath
            - targetPoint
          type: object
  WCID2OR_target_reached:
    publish:
      message:
        description: communication that the target point has been reached
        name: target_reached
        payload:
          properties:
            timestamp:
              description: Timestamp of the message.
              format: date-time
              type: string
            wheelchairID:
              description: ID of the wheelchair.
              type: string
          type: object
info:
  description: |-
    Messages between the orchestrator and the wheelchairs. There will be dedicated channels to each wheelchair. For instance, each wheelchair will have its own channel to communicate its current position to the orchestrator. Therefore, the name of the channels in this document are not the real ones.
    **NOTE**: Commit: c2d59e1 Date: 2024.07.03_10:54:52
  title: Messages between the orchestrator and the wheelchairs
  version: 1.0.0
