Skip to content

Commit

Permalink
update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
RoyaLxPole committed Nov 26, 2024
1 parent 2cba1bd commit a29c0ca
Show file tree
Hide file tree
Showing 5 changed files with 66 additions and 18 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
48 changes: 30 additions & 18 deletions doc/general/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,24 @@
**Summary:** This page gives an overview over the planned general architecture of the vehicle agent.
The document contains an overview over all [nodes](#overview) and [topics](#topics).

- [Planned architecture of vehicle agent](#planned-architecture-of-vehicle-agent)
- [Overview](#overview)
- [Perception](#perception)
- [Obstacle Detection and Classification](#obstacle-detection-and-classification)
- [Traffic Light Detection](#traffic-light-detection)
- [Localization](#localization)
- [Planning](#planning)
- [Global Planning](#global-planning)
- [Decision Making](#decision-making)
- [Local Planning](#local-planning)
- [Collision Check](#collision-check)
- [ACC](#acc)
- [Motion Planning](#motion-planning)
- [Acting](#acting)
- [Path following with Steering Controllers](#path-following-with-steering-controllers)
- [Velocity control](#velocity-control)
- [Vehicle controller](#vehicle-controller)
- [Visualization](#visualization)
- [Overview](#overview)
- [Perception](#perception)
- [Obstacle Detection and Classification](#obstacle-detection-and-classification)
- [Traffic Light Detection](#traffic-light-detection)
- [Localization](#localization)
- [Lane Detection](#lane-detection)
- [Planning](#planning)
- [Global Planning](#global-planning)
- [Decision Making](#decision-making)
- [Local Planning](#local-planning)
- [Collision Check](#collision-check)
- [ACC](#acc)
- [Motion Planning](#motion-planning)
- [Acting](#acting)
- [Path following with Steering Controllers](#path-following-with-steering-controllers)
- [Velocity control](#velocity-control)
- [Vehicle controller](#vehicle-controller)
- [Visualization](#visualization)

## Overview

Expand Down Expand Up @@ -99,6 +99,18 @@ Publishes:

- ```ego_position``` ([nav_msgs/Odometry Message](http://docs.ros.org/en/noetic/api/nav_msgs/html/msg/Odometry.html))

### Lane Detection

Provides a mask and an image where the lane is drawn in.

Subscriptions:

- ```rgb_camera``` ([sensor_msgs/Image](https://docs.ros.org/en/api/sensor_msgs/html/msg/Image.html))

Publishes:

- ```lane_detection_mask``` ([sensor_msgs/Image](https://docs.ros.org/en/api/sensor_msgs/html/msg/Image.html))
- ```lane_detection_image``` ([sensor_msgs/Image](https://docs.ros.org/en/api/sensor_msgs/html/msg/Image.html))
## Planning

The planning uses the data from the [Perception](#Perception) to find a path on which the ego vehicle can safely reach
Expand Down
36 changes: 36 additions & 0 deletions doc/perception/lane_detection_node.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Lane Detection

**Summary:** This page gives an overview over the implementation of the lane detection.

- [Input](#input)
- [Detection](#detection)
- [OpenCV Model](#opencv-model)
- [Model](#model)
- [Outputs](#outputs)


## Input

The input is the image of the "center" camera, which is used to detect the lanes.

## Detection

### OpenCV Model

#### Model

The lane detection algorithm involves preprocessing the input image to enhance lane visibility, converting it to grayscale, and applying edge detection (Canny edge detection).
Next, it isolates the region of interest, by masking the lane area using a trapezoidal shape.
The algorithm then uses the Hough Line Transform to detect lines corresponding to the lanes and filters them based on their slopes and positions. Finally, it overlays the detected lanes on the original image.

![OpenCV Lane Detection flow](../assets/perception/OpenCV_lane_detection_flow.png)

#### Outputs

The mask contains the left and right line of the lane. The mask is an array of type uint8

![OpenCV Lane Detection Mask](../assets/perception/OpenCV_Lane_Detection_Mask.png)

This model also outputs an image with already drawn in lines

![OpenCV Lane Detection Image](../assets/perception/OpenCV_Lane_Detection_Image.png)

0 comments on commit a29c0ca

Please sign in to comment.