delphyne
RightOfWaySystem< T > Class Template Referencefinal

Detailed Description

template<typename T>
class delphyne::RightOfWaySystem< T >

RightOfWaySystem evaluates the current RightOfWayRule state that applies to the agent's location.

It acts interfering the target velocity that is expected to be injected to the speed controller.

  • The velocity output is zero when the rule indicates to stop.
  • The velocity output pass through the input velocity when the rule indicates to go.

Assumptions: 1) Only "Stop" and "Go" states are targeted.

Input Port 0: a LaneDirection representing the requested lane and direction of travel. (InputPort getter: lane_state_input())

Input Port 1: A PoseVector for the ego car. (InputPort getter: pose_input())

Input Port 2: The target velocity to be injected to the plant. (InputPort getter: velocity_input())

Output Port 0: Filtered velocity that could be either zero or velocity_input depending on the state of the right-of-way rule. (OutputPort getter: velocity_output())

#include <src/systems/right_of_way_system.h>

Inheritance diagram for RightOfWaySystem< T >:
[legend]

Public Member Functions

 RightOfWaySystem (maliput::api::RoadNetwork *road_network)
 Constructs a RightOfWaySystem. More...
 
 RightOfWaySystem ()=delete
 
 ~RightOfWaySystem () override=default
 
const drake::systems::InputPort< T > & lane_state_input () const
 
const drake::systems::InputPort< T > & velocity_input () const
 
const drake::systems::InputPort< T > & pose_input () const
 
const drake::systems::OutputPort< T > & velocity_output () const
 

Protected Member Functions

void CalcOutputVelocity (const drake::systems::Context< T > &context, drake::systems::BasicVector< T > *output) const
 

Constructor & Destructor Documentation

◆ RightOfWaySystem() [1/2]

RightOfWaySystem ( maliput::api::RoadNetwork road_network)
explicit

Constructs a RightOfWaySystem.

Parameters
road_networkPointer to a maliput::api::RoadNetwork.
Exceptions
std::invalid_argumentWhen road_network is nullptr.

◆ RightOfWaySystem() [2/2]

RightOfWaySystem ( )
delete

◆ ~RightOfWaySystem()

~RightOfWaySystem ( )
overridedefault

Member Function Documentation

◆ CalcOutputVelocity()

void CalcOutputVelocity ( const drake::systems::Context< T > &  context,
drake::systems::BasicVector< T > *  output 
) const
protected

◆ lane_state_input()

const drake::systems::InputPort< T > & lane_state_input

◆ pose_input()

const drake::systems::InputPort< T > & pose_input

◆ velocity_input()

const drake::systems::InputPort< T > & velocity_input

◆ velocity_output()

const drake::systems::OutputPort< T > & velocity_output

The documentation for this class was generated from the following files: