template<typename T>
class delphyne::RailFollower< T >
RailFollower models an entity that follows a maliput::api::Lane as if it were on rails and neglecting all physics.
Parameters:
Continuous State:
Abstract state:
Input Port Accessors:
Output Port Accessors:
- Template Parameters
-
Instantiated templates for the following ScalarTypes are provided:
#include <src/systems/rail_follower.h>
|
static constexpr double | kLaneEndEpsilon {1e-12} |
| Defines a distance that is "close enough" to the end of a lane for the modelled entity to transition to an ongoing branch. More...
|
|
static constexpr double | kTimeEpsilon {1e-12} |
| Defines a time interval that is used to ensure a desired update time is always greater than (i.e., after) the current time. More...
|
|
◆ RailFollower() [1/2]
The constructor.
- Parameters
-
initial_lane_direction | The initial lane and direction of travel. |
◆ RailFollower() [2/2]
Constructor that initialises all variables in the system that will be placed on the context.
This includes the continuous state, parameters and non-continuous state variables.
- Parameters
-
[in] | initial_lane_direction | The initial lane and direction of travel. |
[in] | initial_context_state | The continuous state variables |
[in] | initial_context_parameters | The parameters |
◆ command_input()
const drake::systems::InputPort< T > & command_input |
Getter methods for input and output ports.
◆ get_mutable_parameters()
RailFollowerParams< T > & get_mutable_parameters |
( |
drake::systems::Context< T > * |
context | ) |
const |
Returns a mutable reference to the parameters in the given context
.
◆ lane_state_output()
const drake::systems::OutputPort< T > & lane_state_output |
◆ pose_output()
const drake::systems::OutputPort< T > & pose_output |
◆ simple_car_state_output()
const drake::systems::OutputPort< T > & simple_car_state_output |
◆ state_output()
const drake::systems::OutputPort< T > & state_output |
◆ velocity_output()
const drake::systems::OutputPort< T > & velocity_output |
◆ kLaneEndEpsilon
constexpr double kLaneEndEpsilon {1e-12} |
|
staticconstexpr |
Defines a distance that is "close enough" to the end of a lane for the modelled entity to transition to an ongoing branch.
The primary constraint on the selection of this variable is the application's degree of sensitivity to position state discontinuity when the modelled entity "jumps" from its current lane to a lane in an ongoing branch. A smaller value results in a smaller spatial discontinuity. If this value is zero, the spatial discontinuity will be zero. However, it will trigger the use of kTimeEpsilon, which results in a temporal discontinuity.
◆ kTimeEpsilon
constexpr double kTimeEpsilon {1e-12} |
|
staticconstexpr |
Defines a time interval that is used to ensure a desired update time is always greater than (i.e., after) the current time.
Despite the spatial window provided by kLaneEndEpsilon, it is still possible for the vehicle to end up precisely at the end of its current lane (e.g., it could be initialized in this state). In this scenario, the next update time will be equal to the current time. The integrator, however, requires that the next update time be strictly after the current time, which is when this constant is used. The primary constraint on the selection of this constant is the application's sensitivity to the modelled entity being "late" in its transition to an ongoing branch once it is at the end of its current lane. The smaller this value, the less "late" the transition will occur. This value cannot be zero since that will violate the integrator's need for the next update time to be strictly after the current time.
The documentation for this class was generated from the following files: