Skip to content

Commit

Permalink
Merge pull request #45 from una-auxme/11-research-Acting-paf21_1-and-…
Browse files Browse the repository at this point in the history
…Autoware

Research results for Acting of  PAF21_1 and Autoware
  • Loading branch information
robertik10 authored Nov 17, 2023
2 parents 245786d + a71827a commit fbcae9e
Show file tree
Hide file tree
Showing 2 changed files with 71 additions and 0 deletions.
36 changes: 36 additions & 0 deletions doc/03_research/01_acting/autoware_acting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Research: [Autoware Acting](https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/control/#autoware-control-design)

## Inputs

* Odometry (position and orientation, from Localization module)
* Trajectory (output of Planning)
* Steering Status (current steering of vehicle, from Vehicle Interface)
* Actuation Status (acceleration, steering, brake actuations, from Vehicle Interface)
* (“vehicle signal commands” directly into Vehicle Interface -> Handbrake, Hazard Lights, Headlights, Horn, Stationary Locking, Turn Indicators, Wipers etc.)

### General Component Architecture

![Node diagram](https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/components/images/Control-Bus-ODD-Architecture.drawio.svg)

### With the Control Module

![control-component](https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/control/image/control-component.drawio.svg)

## [Trajectory Follower](https://autowarefoundation.github.io/autoware.universe/main/control/trajectory_follower_base/)

* generates control command to follow reference trajectory from Planning
* computes lateral (steering) and longitudinal (velocity) controls separately
* lateral controller: mpc (model predictive) or pure pursuit
* longitudinal: “currently only” PID controller

## Vehicle Command Gate

* filters control commands to prevent abnormal values
* sends commands to [Vehicle Interface](https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-interfaces/components/vehicle-interface/)

## Outputs

* steering angle
* steering torque
* speed
* acceleration
35 changes: 35 additions & 0 deletions doc/03_research/01_acting/paf21_1_Acting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Research: PAF21_1 Acting

## Inputs

* waypoints of the planned route
* general odometry of the vehicle

## Curve Detection

* Can detect curves on the planned trajectory
* Calculates the speed in which to drive the detected Curve
![Curve](https://github.com/ll7/paf21-1/raw/master/imgs/curve.PNG)

## Speed Control

* [CARLA Ackermann Control](https://carla.readthedocs.io/projects/ros-bridge/en/latest/carla_ackermann_control/)
* Speed is forwarded to the CARLA vehicle via Ackermann_message, which already includes a PID controller for safe driving/accelerating etc.
* no further controlling needed -> speed can be passed as calculated

## Steering Control

### Straight Trajectories

* **Stanley Steering Controller**
* Calculates steering angle from offset and heading error
* includes PID controller
![Stanley Controller](https://github.com/ll7/paf21-1/raw/master/imgs/stanley.png)

### Detected Curves

* **Naive Steering Controller** (close to pure pursuit)
* uses Vehicle Position + Orientation + Waypoints
* Calculate direction to drive to as vector
* direction - orientation = Steering angle at each point in time
* speed is calculated in Curve Detection and taken as is

0 comments on commit fbcae9e

Please sign in to comment.