Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Add a Reference design document page to provide example designs using autoware #525

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ For detailed documents of Autoware Universe components, see [Autoware Universe D
- [Tutorials](tutorials) pages explain several tutorials that you should try after installation.
- [How-to guides](how-to-guides) pages explain advanced topics that you should read after you get used to Autoware.
- [Design](design) pages explain the design concept of Autoware.
- [Reference Design](reference-design) pages explain the reference design of Autoware-based autonomous vehicles.
- [Contributing](contributing) pages explain how to contribute to Autoware.
- [Datasets](datasets) pages contain information about datasets that can be used with Autoware.
- [Support](support) pages explain several support resources.
Expand Down
2 changes: 2 additions & 0 deletions docs/reference-design/.pages
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
nav:
- index.md
Binary file added docs/reference-design/AutowareCar.webp
Binary file not shown.
Binary file added docs/reference-design/DanLawAV/DanLawAV_Meta.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/reference-design/DanLawAV/DanLawAV_Tech.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
92 changes: 92 additions & 0 deletions docs/reference-design/DanLawAV/ReferenceDesignforDanLawAV.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# Overview

This document elaborates the hardware and software configurations for using Autoware for autonomous driving. Hence, it will serve as a guideline to select hardware and software components to build autonomous vehicles. However, this document is NOT prepared as neither step-by-step instructions nor Q&A books, which will be provided as a reference link if available.

# Design Overview

![Meta Chart for DanLaw's AV Design](DanLawAV_Meta.png)
![Tech Chart for DanLaw's AV Design](DanLawAV_Tech.png)

# Who should read

One is interested in building your autonomous racing cars or low-cost platforms to learn Autoware, and looks for the place to start with.

# References and Resources

- Complete F1Tenth documents: [link](https://f1tenth.readthedocs.io/en/foxy_test/getting_started/intro.html)
- Step-By-Step Instructions to deploy Autoware on F1Tenth: [link](https://f1tenth.readthedocs.io/en/foxy_test/autoware/intro.html)

# Contributors: [complete list](https://f1tenth.readthedocs.io/en/foxy_test/support/acknowledgment.html#contributors)

## Core Developers

- Firstname Lastname

Check warning on line 23 in docs/reference-design/DanLawAV/ReferenceDesignforDanLawAV.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (Firstname)

Check warning on line 23 in docs/reference-design/DanLawAV/ReferenceDesignforDanLawAV.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (Lastname)

## Contributors

- Firstname Lastname

Check warning on line 27 in docs/reference-design/DanLawAV/ReferenceDesignforDanLawAV.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (Firstname)

Check warning on line 27 in docs/reference-design/DanLawAV/ReferenceDesignforDanLawAV.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (Lastname)

# Community Outreach

- Firstname Lastname

Check warning on line 31 in docs/reference-design/DanLawAV/ReferenceDesignforDanLawAV.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (Firstname)

Check warning on line 31 in docs/reference-design/DanLawAV/ReferenceDesignforDanLawAV.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (Lastname)

# Targeted Use Cases

| Use Cases: | Education | Racing | PoC | Open AD Kit | Commercial Services/Production |
| :--------: | :-------------------------------: | :-------------------------------: | :---------------------------------: | :---------------------------------: | :---------------------------------: |
| F1Tenth | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> |

# ODD

| ODD | Cargo | Bus | RoboTaxi | Low Speed (Utility) Vehicle | Delivery Robot |
| :-----: | :---------------------------------: | :--------------------------------: | :---------------------------------: | :---------------------------------: | :---------------------------------: |
| F1Tenth | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> |

# Automation Level

| Automation Level | 0 | 1 | 2 | 3 | 4 | 5 |
| :--------------: | :--------------------------------: | :--------------------------------: | :-------------------------------: | :---------------------------------: | :---------------------------------: | :---------------------------------: |
| F1Tenth | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> |

# System Architecture

F1Tenth can be used for racing and education purpose. The simplest use case is to avoid colliding into the obstacle on a racing track. Meanwhile, one can also develop the SLAM algorithm to build the map on the fly and finishes the loop in short time.

![[f1tenth_NX.webp]]

# Hardware Configuration

## Chassis

- Traxxas Slash 4x4 Premium: [link to purchase](https://www.amainhobbies.com/traxxas-slash-4x4-ultimate-rtr-4wd-short-course-truck-orange-tra68077-4-orng/p858530)

Check warning on line 61 in docs/reference-design/DanLawAV/ReferenceDesignforDanLawAV.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (Traxxas)
- VESC Speed Controllers: # VESC 6 MK III

Check warning on line 62 in docs/reference-design/DanLawAV/ReferenceDesignforDanLawAV.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (VESC)

Check warning on line 62 in docs/reference-design/DanLawAV/ReferenceDesignforDanLawAV.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (VESC)

## Sensors

- Lidar: choose one
- Hokuyo UTM-30LX

Check warning on line 67 in docs/reference-design/DanLawAV/ReferenceDesignforDanLawAV.md

View workflow job for this annotation

GitHub Actions / spell-check-differential

Unknown word (Hokuyo)
- Hokuyo 10LX
- Camera (optional):
- ZED 2
- Intel Real Sense

## Computing Platforms

- NVIDIA Jetson Xavier NX
- USB Hub (4 ports)
- (DEPRECATED) NVIDIA Jetson TX2

![[together_NX_00.jpeg]]

# Software Configuration

- Software on the car:
- Operating System: Linux 20.04
- ROS: [ROS2 galactic](https://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Debians.html)
- GPU Driver: nVidia: JetPack 5.1.1 (rev. 1)
- [Autoware](https://github.com/autowarefoundation/autoware.git)
- SLAM Toolbox to create and edit map: ros-galactic-slam-toolbox
- Tools:
- Simulator: [f1tenth simulator](https://f1tenth.readthedocs.io/en/foxy_test/going_forward/simulator/index.html)
- VESC Tool for motor control: [link](https://vesc-project.com/vesc_tool)
- Version Control tool: [vcstool](https://github.com/dirk-thomas/vcstool)
Binary file added docs/reference-design/F1Tenth/F1Tenth_Meta.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/reference-design/F1Tenth/F1Tenth_Tech.png
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.
101 changes: 101 additions & 0 deletions docs/reference-design/F1Tenth/ReferenceDesignforF1TenthwithAutoware.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
# Overview

This document elaborates the hardware and software configurations for using Autoware for autonomous driving. Hence, it will serve as a guideline to select hardware and software components to build autonomous vehicles. However, this document is NOT prepared as neither step-by-step instructions nor Q&A books, which will be provided as a reference link if available.

# Design Overview

![Meta Chart for F1Tenth Design](F1Tenth_Meta.png)
![Tech Chart for F1Tenth Design](F1Tenth_Tech.png)

# Who should read

One is interested in building your autonomous racing cars or low-cost platforms to learn Autoware, and looks for the place to start with.

# References and Resources

- Complete F1Tenth documents: [link](https://f1tenth.readthedocs.io/en/foxy_test/getting_started/intro.html)
- Step-By-Step Instructions to deploy Autoware on F1Tenth: [link](https://f1tenth.readthedocs.io/en/foxy_test/autoware/intro.html)

# Contributors: [complete list](https://f1tenth.readthedocs.io/en/foxy_test/support/acknowledgment.html#contributors)

## F1TENTH Core Developers

- Hongrui (Billy) Zheng
- Johannes Betz

## Contributors

- Matthew O’Kelly
- Kim Luong
- Haoru Xue
- Joshua Whitley
- F1TENTH Lehigh and Rosa Zheng
- F1TENTH UCSD and Jack Silberman
- Jim Benson

# Community Outreach

- Rahul Mangharam
- F1TENTH Clemson and Venkat Krovi
- Jaroslav Klapálek

# Targeted Use Cases

| Use Cases: | Education | Racing | PoC | Open AD Kit | Commercial Services/Production |
| :--------: | :-------------------------------: | :-------------------------------: | :---------------------------------: | :---------------------------------: | :---------------------------------: |
| F1Tenth | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> |

# ODD

| ODD | Cargo | Bus | RoboTaxi | Low Speed (Utility) Vehicle | Delivery Robot |
| :-----: | :---------------------------------: | :--------------------------------: | :---------------------------------: | :---------------------------------: | :---------------------------------: |
| F1Tenth | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> |

# Automation Level

| Automation Level | 0 | 1 | 2 | 3 | 4 | 5 |
| :--------------: | :--------------------------------: | :--------------------------------: | :-------------------------------: | :---------------------------------: | :---------------------------------: | :---------------------------------: |
| F1Tenth | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> |

# System Architecture

F1Tenth can be used for racing and education purpose. The simplest use case is to avoid colliding into the obstacle on a racing track. Meanwhile, one can also develop the SLAM algorithm to build the map on the fly and finishes the loop in short time.

![[f1tenth_NX.webp]]

# Hardware Configuration

## Chassis

- Traxxas Slash 4x4 Premium: [link to purchase](https://www.amainhobbies.com/traxxas-slash-4x4-ultimate-rtr-4wd-short-course-truck-orange-tra68077-4-orng/p858530)
- VESC Speed Controllers: # VESC 6 MK III

## Sensors

- Lidar: choose one
- Hokuyo UTM-30LX
- Hokuyo 10LX
- Camera (optional):
- ZED 2
- Intel Real Sense

## Computing Platforms

- NVIDIA Jetson Xavier NX
- USB Hub (4 ports)
- (DEPRECATED) NVIDIA Jetson TX2

![[together_NX_00.jpeg]]

# Software Configuration

- Software on the car:
- Operating System: Linux 20.04
- ROS: [ROS2 galactic](https://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Debians.html)
- GPU Driver: nVidia: JetPack 5.1.1 (rev. 1)
- [Autoware](https://github.com/autowarefoundation/autoware.git)
- SLAM Toolbox to create and edit map: ros-galactic-slam-toolbox
- Tools:
- Simulator: [f1tenth simulator](https://f1tenth.readthedocs.io/en/foxy_test/going_forward/simulator/index.html)
- VESC Tool for motor control: [link](https://vesc-project.com/vesc_tool)
- Version Control tool: [vcstool](https://github.com/dirk-thomas/vcstool)
Binary file added docs/reference-design/F1Tenth/f1tenth_NX.webp
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/reference-design/GoKart/GoKart_Meta.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/reference-design/GoKart/GoKart_Tech.png
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.
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# Overview

This document elaborates the hardware and software configurations for using Autoware for autonomous driving. Hence, it will serve as a guideline to select hardware and software components to build autonomous vehicles. However, this document is NOT prepared as neither step-by-step instructions nor Q&A books, which will be provided as a reference link if available.

# Design Overview

![Meta-Info Radar Chart for Go-Kart Design](MetaRadarChart-GoKart.png)

## Note

- Maturity: Currently the go-kart has only been tested by us in closed regions. HUMDA is replicating our vehicle and will be testing in closed regions once they finish building (maturity will become 1).
- Hardware Requirement: The current design uses a laptop for computing though we are considering the options of switching to a Jetson Orin Nano or an OpenAD Kit enabled platform.
- Software Requirement: No containerization is required.

![Tech Feature Radar Chart for Go-Kart Design](TechRadarChart-GoKart.png)

## Note

- Distance between Disengagement: We have not specifically tested the distance between disengagement. In a closed track it may go indefinitely until the battery runs out.
- Power Consumption: Typical power consumption in our test is less than 1000W though the vehicle can technically go much faster and draw more power. The best we have achieved was having no disengagement for 5 laps at the Purdue Grand Prix Track ( > 2km total distance) at the competition. We stopped the vehicle because it reached the lap limit though it could go farther if not stopped."

# Who should read

One is interested in building your small size autonomous vehicles and looks for the place to start with.

# References and Resources

- Complete Go-Kart with Autoware documents: [link](https://go-kart-upenn.readthedocs.io/en/latest/)
- ROS2 Foxy setup and autonomous code: [link](https://github.com/mlab-upenn/gokart-sensor/tree/ros2_foxy_purepursuit)

- ROS2 Humble setup and autonomous code: [Link](https://github.com/mlab-upenn/gokart-sensor/tree/ros2_humble_purepursuit)

- STM32 nucleo controller code: [link](https://github.com/mlab-upenn/gokart-mechatronics/tree/main/STM32%20Control)

# Contributors

- Autoware Center of Excellence (under Prof. Rahul Mangharam)

# Targeted Use Cases

| Use Cases: | Education | Racing | PoC | Open AD Kit | Commercial Services/Production |
| :--------: | :-------------------------------: | :-------------------------------: | :--------------------------------: | :---------------------------------: | :---------------------------------: |
| F1Tenth | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> |

# ODD

| ODD | Cargo | Bus | RoboTaxi | Low Speed (Utility) Vehicle | Delivery Robot |
| :-----: | :---------------------------------: | :--------------------------------: | :---------------------------------: | :---------------------------------: | :---------------------------------: |
| F1Tenth | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> |

# Automation Level

| Automation Level | 0 | 1 | 2 | 3 | 4 | 5 |
| :--------------: | :--------------------------------: | :--------------------------------: | :-------------------------------: | :--------------------------------: | :---------------------------------: | :---------------------------------: |
| F1Tenth | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> |

# System Architecture

Autonomous Go-Kart is a one-third scale autonomous go-kart autonomous vehicle for development and prototyping purpose. It can be used for developing and testing software components in Autoware.

![System-Architecture](avev_gokart.png)

# Hardware Configuration

## Chassis

- TopKart: [link to purchase]()

## Sensors

- Lidar: Ouster LIDAR OS1 and Velodyne M1600
- Camera: OAK-D camera
- GNSS: RTK-GNSS

## Computing Platforms

- X86 laptop with nVidia GPU

![GoKart-ComputeSensing.png](GoKart-ComputeSensing.png)

# Software Configuration

The Go-Kart project has significant planning and other high level navigation components which require understanding of the compute system and how it’s setup. The required software includes the following:

- SolidWorks
- VSCode or editor of your choice
- STM32CubeIDE
- VESC tool
- Altium Designer
- 3D printer software like MakerBot

The complete software configuration can be found at [this page](https://go-kart-upenn.readthedocs.io/en/latest/Build-the-Kart/Software/index.html)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/reference-design/GoKart/avev_gokart.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/reference-design/GoKart/avev_gokart.webp
Binary file not shown.
Binary file added docs/reference-design/ITRIBus/ITRIBus_Meta.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/reference-design/ITRIBus/ITRIBus_Tech.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
56 changes: 56 additions & 0 deletions docs/reference-design/ITRIBus/ReferenceDesignforITRIBus.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Overview

This document elaborates the hardware and software configurations for using Autoware for autonomous driving. Hence, it will serve as a guideline to select hardware and software components to build autonomous vehicles. However, this document is NOT prepared as neither step-by-step instructions nor Q&A books, which will be provided as a reference link if available.

# Design Overview

![Meta Chart for ITRI Bus Design](ITRIBus_Meta.png)
![Tech Chart for ITRI Bus Design](ITRIBus_Tech.png)

# Who should read

One is interested in building your autonomous bus, and looks for the place to start with.

# References and Resources

- (To-be-added)

# Contributors: [complete list]()

- (To-be-added)

# Targeted Use Cases

| Use Cases: | Education | Racing | PoC | Open AD Kit | Commercial Services/Production |
| :--------: | :-------------------------------: | :-------------------------------: | :---------------------------------: | :---------------------------------: | :---------------------------------: |
| ITRI Bus | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> |

# ODD

| ODD | Cargo | Bus | RoboTaxi | Low Speed (Utility) Vehicle | Delivery Robot |
| :------: | :---------------------------------: | :--------------------------------: | :---------------------------------: | :---------------------------------: | :---------------------------------: |
| ITRI Bus | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> |

# Automation Level

| Automation Level | 0 | 1 | 2 | 3 | 4 | 5 |
| :--------------: | :--------------------------------: | :--------------------------------: | :-------------------------------: | :---------------------------------: | :---------------------------------: | :---------------------------------: |
| ITRI Bus | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" checked /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> | <input type="checkbox" disabled /> |

# System Architecture

(To-be-Added)

# Hardware Configuration

## Chassis

- (To-be-added)

## Sensors

- (To-be-added)

## Computing Platforms

# Software Configuration
Binary file added docs/reference-design/LeoTaxi/LeoTaxi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/reference-design/LeoTaxi/LeoTaxi_Meta.png
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.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/reference-design/LeoTaxi/LeoTaxi_Tech.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading