JetPackJoyRide
ROS2 Lane keeping workspace

Overview

This ROS2-based system runs on a Jetson Nano and processes camera input to detect lane markings and control vehicle motion accordingly. The system consists of multiple nodes that handle image capture, lane detection, motion control, and visualization.

High-Level System Flow:

  1. Camera Node: Captures and publishes raw image data.
  2. Vision Processing Nodes: Extract lane markings and publish lane position data.
  3. Motion Control Node: Estimates lane distance and adjusts steering.
  4. Lane Visualization Node: Publishes processed lane data for visualization in Rviz.

Software architecture

System Diagram

Node Descriptions

1. Camera Node (camera)

Function: Captures image frames and publishes them.

2. Classic Vision Node (classic_vision)

Function: Processes raw images to detect lane markings using OpenCV.

3. Classic Vision Node (classic_vision)

Function: Processes raw images to detect lane markings using TensorRT.

4. Image Publisher Node (image_publisher)

Function: Auxiliary node for testing image data flow.

5. Lane Messages (lane_msgs)

Function: Defines custom message types for lane detection data.

6. Lane Visualization (lane_visualization)

Function: Publishes visual representation of lane_position.

7. Motion Control Node (motion_control)

Function: Computes steering commands based on lane position.