|
akreon-control
Optimal and robust control and state estimation in C++26.
|
#include <concepts>#include <cstdint>#include <tuple>#include "akreon/linalg/space/space_concepts.hpp"Go to the source code of this file.
Classes | |
| struct | control::Port< RoleT, OffsetT, SizeT > |
| Port specification. More... | |
| struct | control::PortLayout< Channels > |
| Port layout over either the state-space input or output axis. More... | |
| struct | control::ss_traits< StateSpace< Type, PlantIn, ControlIn, OutputIn > > |
| explicit type traits for state space More... | |
| struct | control::plant_traits< PlantModel< SS, InputPortsT, OutputPortsT > > |
| explicit type traits for plant model More... | |
Namespaces | |
| namespace | control |
Concepts | |
| concept | control::PortLike |
| concept | control::StateSpaceLike |
| StateSpace concept. | |
| concept | control::ContinuousStateSpaceLike |
| ContinuousStateSpace concept. | |
| concept | control::DiscreteStateSpaceLike |
| ContinuousStateSpace concept. | |
| concept | control::PlantModelLike |
| PlantModel concept. | |
| concept | control::ContinuousPlantModelLike |
| ContinuousPlantModel concept. | |
| concept | control::DiscretePlantModelLike |
| DiscretePlantModel concept. | |
Typedefs | |
| template<typename StateSpace > | |
| using | control::ss_type_t = typename ss_traits< linalg::remove_cvref_t< StateSpace > >::T |
| extract scalar type from ss | |
| template<typename StateSpace > | |
| using | control::ss_plant_t = typename ss_traits< linalg::remove_cvref_t< StateSpace > >::Plant |
| ss plant type | |
| template<typename StateSpace > | |
| using | control::ss_control_t = typename ss_traits< linalg::remove_cvref_t< StateSpace > >::Control |
| ss control type | |
| template<typename StateSpace > | |
| using | control::ss_output_t = typename ss_traits< linalg::remove_cvref_t< StateSpace > >::Output |
| ss output type | |
| template<typename StateSpace > | |
| using | control::state_vec_t = typename ss_traits< linalg::remove_cvref_t< StateSpace > >::State |
| extract state vector | |
| template<typename StateSpace > | |
| using | control::input_vec_t = typename ss_traits< linalg::remove_cvref_t< StateSpace > >::Input |
| extract input vector | |
| template<typename StateSpace > | |
| using | control::output_vec_t = typename ss_traits< linalg::remove_cvref_t< StateSpace > >::OutVec |
| extract output vector | |
| template<typename Plant > | |
| using | control::plant_type_t = typename plant_traits< linalg::remove_cvref_t< Plant > >::T |
| extract scalar type from plant | |
| template<typename Plant > | |
| using | control::plant_state_space_t = typename plant_traits< linalg::remove_cvref_t< Plant > >::StateSpace |
| extract state-space type from plant | |
| template<typename Plant > | |
| using | control::plant_input_ports_t = typename plant_traits< linalg::remove_cvref_t< Plant > >::InputPorts |
| extract input port layout type from plant | |
| template<typename Plant > | |
| using | control::plant_output_ports_t = typename plant_traits< linalg::remove_cvref_t< Plant > >::OutputPorts |
| extract output port layout type from plant | |
| template<typename Plant > | |
| using | control::plant_state_vec_t = typename plant_traits< linalg::remove_cvref_t< Plant > >::State |
| extract state vector from plant | |
| template<typename Plant > | |
| using | control::plant_input_vec_t = typename plant_traits< linalg::remove_cvref_t< Plant > >::Input |
| extract full input vector from plant | |
| template<typename Plant > | |
| using | control::plant_output_vec_t = typename plant_traits< linalg::remove_cvref_t< Plant > >::Output |
| extract full output vector from plant | |
Enumerations | |
| enum struct | control::PortRole : uint8_t { control::EXOGENOUS , control::CONTROL , control::PERFORMANCE , control::MEASUREMENT } |
| Plant port role. More... | |
| enum struct | control::TimeDomainType : uint8_t { control::CONTINUOUS = 0 , control::DISCRETE } |
| time domain type More... | |
Variables | |
| template<typename StateSpace > | |
| constexpr bool | control::is_continuous_v |
| check if continuous or not | |
| template<typename Plant > | |
| constexpr bool | control::plant_is_continuous_v |
| check if plant model is continuous | |