Giter Site home page Giter Site logo

v2i_interface's Introduction

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.

v2i_interface's People

Contributors

hiroaki-ishikawa-t4 avatar masaakiwatanabetier4 avatar sfukuta avatar yn-mrse avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.