Skip to content

eve-autonomy/v2i_interface

Repository files navigation

Vehicle to infrastructure (V2I) interface

Overview

This module converts V2I communication between the Autoware of ROS2 interface and UDP which is outside of ROS2 interface.

This converter acts with a single external device on a vehicle.

It is necessary to prepare a user-defined broadcasting device, which connects to number of infrastructure devices.

Input and Output

Node Graph

v2i interface module external specifications

external specifications of node graph

v2i interface module internal specifications

internal specifications of node graph

UDP protocol

Broadcasting device must meet the following specifications.

V2I command: infrastructure_commands

{
  "seq_num" : uint32,
  "time": {
    "sec": uint64,
    "nanosec": unit32,
  },
  "request_array": [
    {
      "id": uint8,
      "request": uint8
    },
    ...
  ]
}
Item description

High level description

Name Description
seq_num Increment from 0 for each output.
time UNIX time at the time of output.
request_array Control commands for multiple V2I controllers.

Details of items in request_array

Name Description
id ID of the V2I infrastructure.
request Control command for the V2I infrastructure such as "open / close" and "turn on / off". The lower 4 bits and the upper 4 bits correspond to the states of 4 outputs and 4 inputs, respectively.

V2I status: infrastructer_states

{
  "seq_num" : uint32,
  "time": {
    "sec": uint64,
    "nanosec": unit32,
  },
  "id": uint8,
  "status": uint8,
  "detail": uint32.
  "reply_array": [
    {
      "id": uint8,
      "time": {
        "sec": uint64,
        "nanosec": unit32,
      },
      "status" : uint8,
      "packet_time" : {
        "sec" : uint64,
        "msec" : uint16,
      },
      "gpio" : uint8,
      "detail" : uint32,
      "vehicle": {
        "id" : uint8,
        "request" : uint8,
        "delay" : uint16,
        "rssi" : int8,
      },
      "rssi" : int8
    },
    ...
  ]
}
Item description

High level description

This is mainly about the status of broadcasting device.

Name Description
seq_num Increment from 0 for each output.
time UNIX time at the time of output.
id ID of the broadcasting device.
status Error status; 0: Normal, 1: Near the end of life, 2: Error
detail Error code for details.
reply_array The status of all connected V2I controller.

Details of items in reply_array

This is about the status of each V2I controller.

Name Description
id ID of the V2I infrastructure.
time UNIX time at the time of output.
status Error status; 0: Normal, 1: Near the end of life, 2: Error
packet_time Unix time when the status of the V2I infrastructure was detected.
gpio The operating status of the V2I infrastructure such as "open / close" and "turn on / off". The lower 4 bits and the upper 4 bits correspond to the states of 4 outputs and 4 inputs, respectively.
detail Error code for details.
veihcle Sender status of the most recently sent V2I infrastructure control command.
rssi Received signal strength indicator from V2I controller to vehicle.

Details of items in vehicle

This is the sender status of the most recently sent V2I infrastructure control command.

Name Description
id ID of the broadcasting device.
request The copy of the control command.
delay Response time to control (msec).
rssi Received signal strength indicator from vehicle to V2I controller.

Vector map configuration

Add every optional tags below to virtual traffic light object.

Name Range Description
type eva_beacon_system Fixed value(To identify from other VirtualTrafficLight objects.)
eva_beacon_system:id 1-254 ID which set to the equipment side beacon device.
eva_beacon_system:ref:section REQUESTING Selects a section that enables V2I control.
- REQUESTING: start_line to ref_line
- (Empty): start_line to end_line
eva_beacon_system:ref:permit_state DRIVING Selects vehicle states which enables V2I control.
- DRIVING: During driving
- (Empty): Do not care the vehicle states
* This can't specify the behivior before a route supplied.
eva_beacon_system:ref:request_bit 0x0-0x0f Value to be output by GPIO when the V2I control enabled.
eva_beacon_system:ref:expect_bit 0x0-0x0f Expected value which use with stop control specified by response_type.
eva_beacon_system:ref:response_type ALWAYS
AND
MATCH
Specifies how the beacon system allow the vehicle to pass.
- ALWAYS: Always allows without calculation of value_bit and expect_bit.
- AND: Allows when expect_bit & value_bit ≠0
- MATCH: Allows when expect_bit = value_bit
eva_beacon_system:ref:mode FIXED_VALUE
TURN_DIRECTION
- FIXED_VALUE
Use request_bit and expect_bit as specified.
- TURN_DIRECTION
Calculate request_bit and expect_bit based on turn_direction value of VirtualTrafficLight lanelet object.
※bit0: Straight, bit1: Turn right, bit2: Turn left

Add every optional tags below to lane object.

Name Range Description
inparking_loading 0-254 Set infrastructure ID
inparking_engage 1 this tag is auto engage

Launch Test mode

This module has a test mode. This link on how to enable test mode.