File Structure
This is how the controls subdirectory of is laid out.
Folder |
File Name |
Description |
---|---|---|
/ |
constants.hpp |
Various CPU constants for controller, notably tuning parameters. |
cuda_constants.cuh |
A few constants for CUDA code. |
|
types.hpp |
Type definitions for CPU code, such as ROS messages. |
|
nodes |
controller.hpp |
Definition of |
controller.cpp |
Implementation of |
|
mppi |
mppi.hpp |
Definition of abstract class |
mppi.cuh |
Definition of |
|
mppi.cu |
Implementation of |
|
functors.cuh |
Helper functors (C++ function objects) to be used in Thrust higher-order functions in MPPI. |
|
types.cuh |
Definition of types used in MPPI. |
|
state |
state_estimator.hpp |
Definition of abstract class |
state_estimator.cuh |
Definition of |
|
state_estimator.cu |
Implementation of |
|
cuda_globals |
cuda_globals.cuh |
Symbols that exist in GPU global memory, namely inertial state and curvilinear lookup table. |
cuda_globals.cu |
Initialization of read-only symbols, such as covariance matrix for MPPI’s Brownian generation. |
|
helpers.cuh |
Helpers to work with the cuda_globals, specifically to utilize the lookup table. |
|
model |
slipless/model.cuh |
Slipless dynamics model. Currently used by mppi and state. |
bicycle/model.cuh |
Bicycle model that assumes wheel slip. Currently unused. |
|
dummy/model.cuh |
Very basic dummy model to test MPPI. Currently unused. |
|
two_track/* |
Complex and slow model. Currently unused. |
|
utils |
cuda_utils.cuh |
Utilities for CUDA/Thrust code |
gl_utils.hpp |
Declarations of utilities for OpenGL code. |
|
gl_utils.cpp |
Implementation of |
|
display |
display.hpp |
Declaration of functions for the debugging display (built with -D) |
display.cpp |
Implementation of |
Namespaces
Namespaces roughly correspond to the file structure
nodes: Code concerning the overall controller ROS node.
mppi: Code concerning MPPI, including helper functors.
state: Code concerning state estimation.
model: Code concerning the dynamics model. Currently only the inner namespace slipless is used.
cuda_globals: Code concerning anything on GPU global memory. CUDA code only.
utils: Miscellaneous utilities.