1 of 1

Project Overview

LiDAR Detection

  • Roadside intersections pose significant safety risks for vulnerable road users - pedestrians and cyclists lack V2X devices, making them invisible to connected vehicles
  • Designed and currently developing an end-to-end V2X safety system that:

Roadside LIDAR Perception and V2X Communication for Enhanced Collision Prediction and Roadside Safety

Presenter: Yongha Cho | Mentor: Rusheng Zhang

University of Michigan Transportation Research Institute

System Architecture

Vehicle-side System Design

Next Steps

V2X Messages

  • No standard V2X method currently exists for roadside-to-vehicle collision warnings - we designed a communication approach based on existing SAE J2735 protocols
  • Encoding pipeline converts structured detection data into J2735-compliant hex bitstrings using pycrate's ASN.1 UPER bit-packing - incorporated into the open- source pyv2xlib repository
  • Decoding pipeline parses transmitted hex bitstreams back into human-readable Python dictionaries, validating all fields against J2735 schema constraints
  • Message types designed for each road user scenario:

                  • Detects vehicles and pedestrians using dual roadside LiDAR sensors at 10 Hz
                  • Encodes detections into SAE J2735-compliant V2X messages (ICA, RSA, PSM, TIM)
                  • Broadcasts encoded messages from RSU to nearby vehicles at the intersection
                  • Decodes broadcast messages to display real-time alerts to the driver through an on-board UI
  • System is built on MSight - an edge-cloud roadside intelligence framework developed by UMTRI and currently performing field tests at Mcity facility
  • Mcity 4-lane test facility uses two LiDAR sensors with overlapping fields of view to eliminate blind spots - each sensor captures ~35,000 points/frame, producing ~73,5000 points/frame after merging
  • Developed a LiDAR merging node that synchronizes frames from both sensors (+150ms timestamp tolerance in default) and applies a precomputed 4x4 transformation matrix to align both coordinate frames into a single unified point cloud

+ =

  • PSM (Personal Safety Message) – conveys the presence and location of vulnerable road users such as pedestrian or cyclists to nearby vehicles
  • ICA (Intersection Collision Avoidance) - conveys intersection geometry/movement data to support collision-risk detection at intersections
  • RSA (Road-Side Alert) - broadcasts hazard/advisory information (ex. obstacles, weather events) to nearby vehicle
  • TIM (Traveler Information Message) – broadcasts advisory information such as road conditions, construction zones, or weather events to vehicles, supporting multiple event announcements

  • Detection node uses PointPillar (3D LiDAR object detection model) that processes merged point cloud data and detects vehicles and pedestrians using a .pth model file trained on annotated point cloud frames via NVIDIA TAO
  • Visualization node overlays 3D bounding boxes on merged point cloud, rendered in Open3D in either grayscaled or colored mode

LiDAR sensor 1

LiDAR sensor 2

LiDAR merged sensor

LiDAR Detection Visualization

• red – vehicle

• green – pedestrian

  • Developed a real-time web-based driver UI built with Flask and SocketIO - displays a live satellite map of the intersection with detected objects
  • Vehicles rendered as oriented bounding boxes (blue) and vulnerable road users (VRUs) as circles (green) - objects involved in a conflict turn red with a “CONFLICT WARNING” banner and optional voice alarm
  • Integrate developed LiDAR fusion and detection node into the existing MSight repository
  • Develop a collision prediction algorithm to integrate with the vehicle-side UI for more accurate conflict warning messages
  • Conduct a field test at the Mcity facility using the newly developed point cloud detection node to collect additional training data

Receiver Node

Fusion Node

Detection Node

Event Identifier

Encoder Node

IFM (Infrastructure-to-Field Module)

UDP

Server

Decoder

SocketIO

UI

Vehicle-side

Road-side

Flask

LiDAR

RSU

(Roadside Unit)

OBU

(On-board unit)

Driver

Backend

Road-side Edge Compute

Vehicle-side System Design

  • Receives and merges dual LiDAR point cloud data into a single unified point cloud
  • Detects vehicles and pedestrians using PointPillar deep learning model
  • Encodes detections into J2735 V2X messages and forwards to RSU
  • Fixed V2X radio hardware mounted at intersections
  • Broadcasts encoded messages to all V2X-equipped vehicles within range
  • Vehicle-mounted wireless message receiver
  • Receives broadcast messages and forwards raw bytes to vehicle backend
  • UDP server receives raw V2X bytes and passes to decoder
  • Decoder extracts warning type, location, and event severity from J2735 hex string
  • Flask + SocketIO backend pushes decoded warnings to driver UI via WebSocket in real time
  • UI displays alert warning to driver

MSight repo

pyv2xlib repo