diff --git a/docs/_site/feed.xml b/docs/_site/feed.xml index d8c7c14dd..3263dd6df 100644 --- a/docs/_site/feed.xml +++ b/docs/_site/feed.xml @@ -1,4 +1,4 @@ -Jekyll2022-09-21T23:08:27-05:00http://localhost:8083/navigator/feed.xmlNavigatorNavigator is an open-source autonomous driving system developed by Nova, an applied research group at UT Dallas.Welcome to Jekyll!2022-09-05T21:27:33-05:002022-09-05T21:27:33-05:00http://localhost:8083/navigator/jekyll/update/2022/09/05/welcome-to-jekyll<p>You’ll find this post in your <code class="language-plaintext highlighter-rouge">_posts</code> directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run <code class="language-plaintext highlighter-rouge">jekyll serve</code>, which launches a web server and auto-regenerates your site when a file is updated.</p> +Jekyll2022-09-21T23:16:01-05:00http://localhost:8083/navigator/feed.xmlNavigatorNavigator is an open-source autonomous driving system developed by Nova, an applied research group at UT Dallas.Welcome to Jekyll!2022-09-05T21:27:33-05:002022-09-05T21:27:33-05:00http://localhost:8083/navigator/jekyll/update/2022/09/05/welcome-to-jekyll<p>You’ll find this post in your <code class="language-plaintext highlighter-rouge">_posts</code> directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run <code class="language-plaintext highlighter-rouge">jekyll serve</code>, which launches a web server and auto-regenerates your site when a file is updated.</p> <p>Jekyll requires blog post files to be named according to the following format:</p> diff --git a/docs/_site/system-overview.html b/docs/_site/system-overview.html index 2e4f79071..a02f34073 100644 --- a/docs/_site/system-overview.html +++ b/docs/_site/system-overview.html @@ -1 +1 @@ - System overview - Navigator System overview | Navigator Skip to main content Link Search Menu Expand Document (external link)

System overview

Maintained by Will Heitman

Table of contents

  1. Design
  2. Subsystems
    1. Example

Design

Navigator is designed to be:

  • Simple, with components that are easy to use an extend
    • When a more powerful but complex algorithm is used, a simpler alternative should also be present
  • Modular, with nodes that can be swapped, added, and updated with the help of ROS2
    • Since nodes are all built using standard C++ and Python libraries, code is future-proofed.
  • Open source, with all of our code licensed under the highly permissable MIT license
    • Our dependencies are also open-source

Subsystems

Navigator's general structure

Navigator is split into five main subsystems:

  • Sensing, where raw sensor data from cameras, GNSS, and more is filtered before being passed along
  • Perception, which uses the filtered sensor data to build a rich understanding of the car’s surroundings
  • Planning, which uses this rich understanding, plus the desired destination, to decide how the car should act on a high level
  • Controls, where the desired action is compared to the car’s current state and low-level action is calculated
  • Interface, where the low-level action is sent to the steering wheel and pedals.

We also have some important code to support testing, visualization, and simulation. Simulation plays a big role in our development, and you can find an overview of it here.

Example

Our sensing system takes in a red blob from our front camera and does some white balancing to make the image more clear. The perception system identifies this red blob as a stop sign and generates a bounding box with the coordinates of the stop sign relative to the car. The planning system determines that we must set our speed to zero at the stop sign. The controls system notes that our car is still moving, and calculates that we must decelerate a certain amount. Finally, our actuation system converts this desired deceleration into a brake pedal command, which is sent out to the pedal’s motor.

+ System overview - Navigator System overview | Navigator Skip to main content Link Search Menu Expand Document (external link)

System overview

Maintained by Will Heitman

Table of contents

  1. Design
  2. Subsystems
    1. Example

Design

Navigator is designed to be:

  • Simple, with components that are easy to use an extend
    • When a more powerful but complex algorithm is used, a simpler alternative should also be present
  • Modular, with nodes that can be swapped, added, and updated with the help of ROS2
    • Since nodes are all built using standard C++ and Python libraries, code is future-proofed.
  • Open source, with all of our code licensed under the highly permissable MIT license
    • Our dependencies are also open-source

Subsystems

Navigator's general structure

Navigator is split into five main subsystems:

  • Sensing, where raw sensor data from cameras, GNSS, and more is filtered before being passed along
  • Perception, which uses the filtered sensor data to build a rich understanding of the car’s surroundings
  • Planning, which uses this rich understanding, plus the desired destination, to decide how the car should act on a high level
  • Controls, where the desired action is compared to the car’s current state and low-level action is calculated
  • Interface, where the low-level action is sent to the steering wheel and pedals.

We also have some important code to support testing, visualization, and simulation. Simulation plays a big role in our development, and you can find an overview of it here.

Example

Our sensing system takes in a red blob from our front camera and does some white balancing to make the image more clear. The perception system identifies this red blob as a stop sign and generates a bounding box with the coordinates of the stop sign relative to the car. The planning system determines that we must set our speed to zero at the stop sign. The controls system notes that our car is still moving, and calculates that we must decelerate a certain amount. Finally, our actuation system converts this desired deceleration into a brake pedal command, which is sent out to the pedal’s motor.

diff --git a/docs/system-overview.md b/docs/system-overview.md index b7b4dad5a..ed238fb2c 100644 --- a/docs/system-overview.md +++ b/docs/system-overview.md @@ -37,7 +37,7 @@ Navigator is split into five main subsystems: - [**Controls**](/navigator/controls/controls-overview), where the desired action is compared to the car's current state and low-level action is calculated - [**Interface**](/navigator/interface/interface-overview), where the low-level action is sent to the steering wheel and pedals. -We also have some important code to support testing, visualization, and simulation. Simulation plays a big role in our development, and you can find an overview of it [here](/navigator/interfaces/interfaces-overview). +We also have some important code to support testing, visualization, and simulation. Simulation plays a big role in our development, and you can find an overview of it [here](/navigator/simulation/simulation-overview). #### Example Our **sensing** system takes in a red blob from our front camera and does some white balancing to make the image more clear. The **perception** system identifies this red blob as a stop sign and generates a bounding box with the coordinates of the stop sign relative to the car. The **planning** system determines that we must set our speed to zero at the stop sign. The **controls** system notes that our car is still moving, and calculates that we must decelerate a certain amount. Finally, our **actuation** system converts this desired deceleration into a brake pedal command, which is sent out to the pedal's motor. \ No newline at end of file