Introduction
As part of our efforts to support other FSAE teams as they embark on their driverless journeys, we have open-sourced our workspace at our GitHub and documented them here.
Controls is one element of our software stack, coming in after Perceptions and Path Planning.
We recommend heading to Overview for a top-down deep dive into how the controller works. You can stop at any level of abstraction you prefer. While we only assume basic programming knowledge, feel free to read more into the software that the controller depends on, namely C++, ROS2 Humble, CUDA, and Thrust. We also provide a cheat sheet of common Terminology.
If you’re part of the team, looking to contribute or learn more about implementation details, check out File Structure
to understand how the codebase in driverless/driverless_ws/src/controls
is laid out, then refer to the API Reference
Have fun and enjoy the ride!
Contents:
- Overview
- API Reference
- Class ControllerNode
- Class mppi::MppiController
- Class mppi::MppiController_Impl
- Class state::StateEstimator
- Class state::StateEstimator_Impl
- Class state::StateProjector
- File functors.cuh
- File model.cuh
- File constants.hpp
- File types.hpp
- File types.cuh
- File cuda_globals.cuh
- File cuda_utils.cuh
- File cuda_constants.cuh
- File helpers.cuh
- File gl_utils.hpp
- Explainers
- Terminology
Back to CMR Driverless Landing page.
Learn more about the Perceptions Pipeline.
Learn more about the Path Planning Pipeline.
Learn more about the Software Architecture Pipeline.
Learn more about the DV Mechanical Pipeline.
Learn more about the DV Electrical Pipeline.