maliput
|
Namespaces | |
internal | |
scalar_conversion | |
system_scalar_converter_internal | |
Classes | |
class | AbstractValues |
AbstractValues is a container for non-numerical state and parameters. More... | |
class | AntiderivativeFunction |
A thin wrapper of the ScalarInitialValueProblem class that, in concert with Drake's ODE initial value problem solvers ("integrators"), provide the ability to perform quadrature on an arbitrary scalar integrable function. More... | |
class | BasicVector |
BasicVector is a semantics-free wrapper around an Eigen vector that satisfies VectorBase. More... | |
class | Cache |
(Advanced) Stores all the CacheEntryValue objects owned by a particular Context, organized to allow fast access using a CacheIndex as an index. More... | |
class | CacheEntry |
A CacheEntry belongs to a System and represents the properties of one of that System's cached computations. More... | |
class | CacheEntryValue |
(Advanced) This is the representation in the Context for the value of one of a System's CacheEntry objects. More... | |
class | CompositeEventCollection |
This class bundles an instance of each EventCollection<EventType> into one object that stores the heterogeneous collection. More... | |
class | Context |
Context is an abstract class template that represents all the typed values that are used in a System's computations: time, numeric-valued input ports, numerical state, and numerical parameters. More... | |
class | ContextBase |
Provides non-templatized Context functionality shared by the templatized derived classes. More... | |
class | ContinuousState |
ContinuousState is a view of, and optionally a container for, all the continuous state variables xc of a Drake System. More... | |
class | DenseOutput |
An interface for dense output of ODE solutions, to efficiently approximate them at arbitrarily many points when solving them numerically (see IntegratorBase class documentation). More... | |
class | DependencyGraph |
Represents the portion of the complete dependency graph that is a subgraph centered on the owning subcontext, plus some edges leading to other subcontexts. More... | |
class | DependencyTracker |
Manages value interdependencies for a particular value or set of values in a Context. More... | |
class | Diagram |
class | DiagramCompositeEventCollection |
CompositeEventCollection for a Diagram. More... | |
class | DiagramEventCollection |
A concrete class that holds all simultaneous homogeneous events for a Diagram. More... | |
class | DiscreteUpdateEvent |
This class represents a discrete update event. More... | |
class | DiscreteValues |
DiscreteValues is a container for numerical but non-continuous state and parameters. More... | |
class | Event |
Abstract base class that represents an event. More... | |
class | EventCollection |
There are three concrete event types for any System: publish, discrete state update, and unrestricted state update, listed in order of increasing ability to change the state (i.e., zero to all). More... | |
class | EventData |
Base class for storing trigger-specific data to be passed to event handlers. More... | |
class | EventStatus |
Holds the return status from execution of an event handler function, or the effective status after a series of handler executions due to dispatching of simultaneous events. More... | |
class | ExternalSystemConstraint |
An "external" constraint on a System. More... | |
class | FixedInputPortValue |
A FixedInputPortValue encapsulates a vector or abstract value for use as an internal value source for one of a System's input ports. More... | |
class | HermitianDenseOutput |
A StepwiseDenseOutput class implementation using Hermitian interpolators, and therefore a continuous extension of the solution ๐ฑ(t) (see [Engquist, 2105]). More... | |
class | InitialValueProblem |
A general initial value problem (or IVP) representation class, that allows evaluating the ๐ฑ(t; ๐ค) solution function to the given ODE d๐ฑ/dt = f(t, ๐ฑ; ๐ค), where f : t โจฏ ๐ฑ โ โโฟ, t โ โ, ๐ฑ โ โโฟ, ๐ค โ โแต, provided an initial condition ๐ฑ(tโ; ๐ค) = ๐ฑโ. More... | |
class | InputPort |
An InputPort is a System resource that describes the kind of input a System accepts, on a given port. More... | |
class | InputPortBase |
An InputPort is a System resource that describes the kind of input a System accepts, on a given port. More... | |
class | IntegratorBase |
An abstract class for an integrator for ODEs and DAEs as represented by a Drake System. More... | |
class | LeafCompositeEventCollection |
A CompositeEventCollection for a LeafSystem. More... | |
class | LeafContext |
LeafContext contains all prerequisite data necessary to uniquely determine the results of computations performed by the associated LeafSystem. More... | |
class | LeafEventCollection |
A concrete class that holds all simultaneous homogeneous events for a LeafSystem. More... | |
class | LeafOutputPort |
(Advanced.) Implements an output port whose value is managed by a cache entry in the same LeafSystem as the port. More... | |
class | LeafSystem |
A superclass template that extends System with some convenience utilities that are not applicable to Diagrams. More... | |
class | OutputPort |
An OutputPort belongs to a System and represents the properties of one of that System's output ports. More... | |
class | OutputPortBase |
OutputPortBase handles the scalar type-independent aspects of an OutputPort. More... | |
class | Parameters |
Parameters is a container for variables that parameterize a System so that it can represent a family of related models. More... | |
class | PeriodicEventData |
A token describing an event that recurs on a fixed period. More... | |
struct | PeriodicEventDataComparator |
Structure for comparing two PeriodicEventData objects for use in a map container, using an arbitrary comparison method. More... | |
class | PortBase |
A PortBase is base class for System ports; users will typically use the InputPort<T> or OutputPort<T> types, not this base class. More... | |
class | PublishEvent |
This class represents a publish event. More... | |
class | RungeKutta3Integrator |
A third-order Runge Kutta integrator with a third order error estimate. More... | |
class | ScalarDenseOutput |
A DenseOutput class interface extension to deal with scalar ODE solutions. More... | |
class | ScalarInitialValueProblem |
A thin wrapper of the InitialValueProblem class to provide a simple interface when solving scalar initial value problems i.e. More... | |
class | ScalarViewDenseOutput |
A ScalarDenseOutput class implementation that wraps a DenseOutput class instance and behaves as a view to one of its elements. More... | |
class | State |
State is a container for all the data comprising the complete state of a particular System at a particular moment. More... | |
class | StepwiseDenseOutput |
A DenseOutput class interface extension, geared towards step-wise construction procedures. More... | |
class | Subvector |
Subvector is a concrete class template that implements VectorBase by providing a sliced view of a VectorBase. More... | |
class | System |
Base class for all System functionality that is dependent on the templatized scalar type T for input, state, parameters, and outputs. More... | |
class | SystemBase |
Provides non-templatized functionality shared by the templatized System classes. More... | |
class | SystemConstraint |
A SystemConstraint is a generic base-class for constraints on Systems. More... | |
class | SystemConstraintBounds |
The bounds of a SystemConstraint. More... | |
class | SystemOutput |
Conveniently stores a snapshot of the values of every output port of a System. More... | |
class | SystemScalarConverter |
Helper class to convert a System into a System<T>, intended for internal use by the System framework, not directly by users. More... | |
struct | SystemTypeTag |
A tag object that denotes a System subclass S in function signatures. More... | |
class | SystemVisitor |
Provides a "Visitor Pattern" for System and Diagram. More... | |
class | UnrestrictedUpdateEvent |
This class represents an unrestricted update event. More... | |
struct | UseDefaultName |
(Advanced.) Tag type that indicates a system or port should use a default name, instead of a user-provided name. More... | |
class | ValueProducer |
ValueProducer computes an AbstractValue output based on a ContextBase input. More... | |
class | VectorBase |
VectorBase is an abstract base class that real-valued signals between Systems and real-valued System state vectors must implement. More... | |
class | WitnessFunction |
Class that stores a function that is able to help determine the time and state at which a step of the initial value problem integration of a System should end, which may be done for any number of purposes, including publishing or state reinitialization (i.e., event handling). More... | |
class | WitnessTriggeredEventData |
Class for storing data from a witness function triggering to be passed to event handlers. More... | |
Typedefs | |
using | TriggerTypeSet = std::unordered_set< TriggerType, DefaultHash > |
This set-type alias provides a convenient API vocabulary for systems to specify multiple trigger types. More... | |
using | DependencyTicket = TypeSafeIndex< class DependencyTag > |
Identifies a particular source value or computation for purposes of declaring and managing dependencies. More... | |
using | CacheIndex = TypeSafeIndex< class CacheTag > |
Serves as a unique identifier for a particular CacheEntry in a System and the corresponding CacheEntryValue in that System's Context. More... | |
using | SubsystemIndex = TypeSafeIndex< class SubsystemIndexTag > |
Serves as a local index for a child subsystem within a parent Diagram, or a child subcontext within a parent DiagramContext. More... | |
using | InputPortIndex = TypeSafeIndex< class InputPortTag > |
Serves as the local index for the input ports of a given System. More... | |
using | OutputPortIndex = TypeSafeIndex< class OutputPortTag > |
Serves as the local index for the output ports of a given System. More... | |
using | ContinuousStateIndex = TypeSafeIndex< class ContinuousStateTag > |
Placeholder for future use. More... | |
using | DiscreteStateIndex = TypeSafeIndex< class DiscreteStateTag > |
Serves as the local index for discrete state groups within a given System and its corresponding Context. More... | |
using | AbstractStateIndex = TypeSafeIndex< class AbstractStateTag > |
Serves as the local index for abstract state variables within a given System and its corresponding Context. More... | |
using | NumericParameterIndex = TypeSafeIndex< class NumericParameterTag > |
Serves as the local index for numeric parameter groups within a given System and its corresponding Context. More... | |
using | AbstractParameterIndex = TypeSafeIndex< class AbstractParameterTag > |
Serves as the local index for abstract parameters within a given System and its corresponding Context. More... | |
using | SystemConstraintIndex = TypeSafeIndex< class SystemConstraintTag > |
Serves as the local index for constraints declared on a given System. More... | |
template<typename T > | |
using | ContextConstraintCalc = std::function< void(const Context< T > &, VectorX< T > *value)> |
This is the signature of a stateless function that evaluates the value of the constraint function f: value = f(context) More... | |
template<typename T > | |
using | SystemConstraintCalc = std::function< void(const System< T > &, const Context< T > &, VectorX< T > *value)> |
This is the signature of a stateless function that evaluates the value of the constraint function f: value = f(system, context) More... | |
Enumerations | |
enum | TriggerType { kUnknown, kInitialization, kForced, kTimed, kPeriodic, kPerStep, kWitness } |
Predefined types of triggers for events. More... | |
enum | PortDataType { kVectorValued = 0, kAbstractValued = 1 } |
All system ports are either vectors of Eigen scalars, or black-box AbstractValues which may contain any type. More... | |
enum | InputPortSelection { kNoInput = -1, kUseFirstInputIfItExists = -2 } |
Intended for use in e.g. More... | |
enum | OutputPortSelection { kNoOutput = -1, kUseFirstOutputIfItExists = -2 } |
Intended for use in e.g. More... | |
enum | SystemConstraintType { kEquality = 0, kInequality = 1 } |
The form of a SystemConstraint. More... | |
enum | WitnessFunctionDirection { kNone, kPositiveThenNonPositive, kNegativeThenNonNegative, kCrossesZero } |
Functions | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const Context< T > &context) |
bool | operator== (const std::variant< std::string, UseDefaultName > &value, const UseDefaultName &) |
(Advanced.) Sugar that compares a variant against kUseDefaultName. More... | |
template<typename T > | |
std::ostream & | operator<< (std::ostream &os, const VectorBase< T > &vec) |
Allows a VectorBase<T> to be streamed into a string as though it were a RowVectorX<T>. More... | |
Variables | |
constexpr UseDefaultName | kUseDefaultName = {} |
Name to use when you want a default one generated. More... | |
using AbstractParameterIndex = TypeSafeIndex<class AbstractParameterTag> |
using AbstractStateIndex = TypeSafeIndex<class AbstractStateTag> |
using CacheIndex = TypeSafeIndex<class CacheTag> |
Serves as a unique identifier for a particular CacheEntry in a System and the corresponding CacheEntryValue in that System's Context.
This is an index providing extremely fast constant-time access to both.
using ContextConstraintCalc = std::function<void(const Context<T>&, VectorX<T>* value)> |
This is the signature of a stateless function that evaluates the value of the constraint function f: value = f(context)
Note that in the std::function signature, the computed value is an output parameter, not a return value.
See also SystemConstraintCalc, which offers the System reference.
using ContinuousStateIndex = TypeSafeIndex<class ContinuousStateTag> |
Placeholder for future use.
Currently, the only valid value is zero.
using DependencyTicket = TypeSafeIndex<class DependencyTag> |
Identifies a particular source value or computation for purposes of declaring and managing dependencies.
Unique only within a given subsystem and its corresponding subcontext.
using DiscreteStateIndex = TypeSafeIndex<class DiscreteStateTag> |
using InputPortIndex = TypeSafeIndex<class InputPortTag> |
Serves as the local index for the input ports of a given System.
The indexes used by a subsystem and its corresponding subcontext are the same.
using NumericParameterIndex = TypeSafeIndex<class NumericParameterTag> |
using OutputPortIndex = TypeSafeIndex<class OutputPortTag> |
Serves as the local index for the output ports of a given System.
The indexes used by a subsystem and its corresponding subcontext are the same.
using SubsystemIndex = TypeSafeIndex<class SubsystemIndexTag> |
Serves as a local index for a child subsystem within a parent Diagram, or a child subcontext within a parent DiagramContext.
A subsystem and its matching subcontext have the same SubsystemIndex. Unique only within a given subsystem or subcontext.
using SystemConstraintCalc = std::function<void(const System<T>&, const Context<T>&, VectorX<T>* value)> |
This is the signature of a stateless function that evaluates the value of the constraint function f: value = f(system, context)
Note that in the std::function signature, the computed value is an output parameter, not a return value.
Instances of this function type are expected to work with any instance of the class of System they are designed for. Specifically, they should not capture pointers into an instance of a System, OutputPort, etc. Instead, they should only use the System reference that is passed into this functor.
See also ContextConstraintCalc, which omits the System reference. A value of type ContextConstraintCalc is allowed to assume it's only ever applied to a specific System object.
using SystemConstraintIndex = TypeSafeIndex<class SystemConstraintTag> |
Serves as the local index for constraints declared on a given System.
using TriggerTypeSet = std::unordered_set<TriggerType, DefaultHash> |
This set-type alias provides a convenient API vocabulary for systems to specify multiple trigger types.
|
strong |
|
strong |
enum PortDataType |
All system ports are either vectors of Eigen scalars, or black-box AbstractValues which may contain any type.
Enumerator | |
---|---|
kVectorValued | |
kAbstractValued |
|
strong |
The form of a SystemConstraint.
Enumerator | |
---|---|
kEquality | The constraint is of the form f(x)=0. |
kInequality | The constraint is of the form lower_bound <= f(x) <= upper_bound. |
|
strong |
Predefined types of triggers for events.
Used at run time to determine why the associated event has occurred.
Enumerator | |
---|---|
kUnknown | |
kInitialization | This trigger indicates that an associated event is triggered at system initialization. |
kForced | This trigger indicates that an associated event is triggered by directly calling the corresponding public system API for event handling (e.g. Publish(context)). |
kTimed | This trigger indicates that an associated event is triggered by the system proceeding to a single, arbitrary time. Timed events are commonly created in System::CalcNextUpdateTime(). |
kPeriodic | This type indicates that an associated event is triggered by the system proceeding to a time t โ {tแตข = tโ + p * i} for some period p, time offset tโ, and i is a non-negative integer.
|
kPerStep | This trigger indicates that an associated event is triggered whenever a A Per-step events are most commonly created in System::GetPerStepEvents(). A very common use of such per-step events is to update a discrete or abstract state variable that changes whenever the continuous state advances; examples are computing the "min" or "max" of some state variable, recording a signal in a delay buffer, or publishing. Per-step events are also useful to implement feedback controllers interfaced with physical devices; the controller can be implemented in the event handler, and the "step" would correspond to receiving sensory data from the hardware. |
kWitness | This trigger indicates that an associated event is triggered by the zero crossing of a witness function. |
|
strong |
std::ostream& maliput::drake::systems::operator<< | ( | std::ostream & | os, |
const Context< T > & | context | ||
) |
std::ostream& maliput::drake::systems::operator<< | ( | std::ostream & | os, |
const VectorBase< T > & | vec | ||
) |
Allows a VectorBase<T> to be streamed into a string as though it were a RowVectorX<T>.
This is useful for debugging purposes.
bool maliput::drake::systems::operator== | ( | const std::variant< std::string, UseDefaultName > & | value, |
const UseDefaultName & | |||
) |
(Advanced.) Sugar that compares a variant against kUseDefaultName.
|
constexpr |
Name to use when you want a default one generated.
You should normally give meaningful names to all Drake System entities you create rather than using this.