Faults

OCP monitors many things in the system and raises faults if things are not nominal. There are a number of different faults that OCP can raise. Faults are self-recovering and will clear once the issue has been resolved.

Operator side faults

  • InputLost: Lost connection to the gamepad controller.

  • NoFeedbackMessage: Raised if no feedback message has been received from the Streamer in over 1000 milliseconds. A feedback message is an internal message that contains information from the streamer to the player; user data from the vehicle is contained in this.

  • VehicleControlInactive: OCP can only send control signal to one vehicle at the time and this fault is raised for all other vehicles that is not selected. Which vehicle that is selected is determined by the active_vehicle value; if active_vehicle is not set while multiple vehicles are connected, this fault is raised on all of them. This is not relevant if input is handle outside of OCP and send through client_data, the fault can still be used to determined which vehicle that is selected.

Vehicle side faults

  • CameraLost: At least one camera has not received a new frame in 200 milliseconds (configurable through the drop detector in Oden Streamer). To exempt a camera from triggering the fault, turn off the drop detector.

  • VehicleNoResponse: Raised if the TCP server has no connection.

  • NoControlMessage: Raised if control messages arrive with more than 1000 milliseconds between them.

  • StreamerSlow: Raised if the last Oden Streamer frame took more than 500 milliseconds to process.

  • HighLatency: Raised if the round-trip latency exceeds a configurable threshold (default 500ms, set via the latency_limit argument). The round-trip latency is measured on the vehicle side: OCP embeds a timestamp (ack_time) in each outgoing video frame, this timestamp travels to the operator and is returned in the control message, and OCP computes current_time - returned_ack_time. This means the measured latency includes network time in both directions plus any processing delay in the vehicle integration code (see Vehicle Side Integration).

  • OperatorStationHasError: Raised if the operator station has raised any of its faults.