scenario_simulator_v2 C++ API
Public Member Functions | Static Public Member Functions | List of all members
entity_behavior::vehicle::LaneChangeAction Class Reference

#include <lane_change_action.hpp>

Inheritance diagram for entity_behavior::vehicle::LaneChangeAction:
Inheritance graph
[legend]
Collaboration diagram for entity_behavior::vehicle::LaneChangeAction:
Collaboration graph
[legend]

Public Member Functions

 LaneChangeAction (const std::string &name, const BT::NodeConfiguration &config)
 
bool checkPreconditions () override
 
BT::NodeStatus doAction () override
 
const traffic_simulator_msgs::msg::WaypointsArray calculateWaypoints () override
 
const std::optional< traffic_simulator_msgs::msg::Obstacle > calculateObstacle (const traffic_simulator_msgs::msg::WaypointsArray &waypoints) override
 
void getBlackBoardValues () override
 
- Public Member Functions inherited from entity_behavior::VehicleActionNode
 VehicleActionNode (const std::string &name, const BT::NodeConfiguration &config)
 
 ~VehicleActionNode () override=default
 
void getBlackBoardValues () override
 
auto calculateUpdatedEntityStatus (double target_speed) const -> traffic_simulator::EntityStatus
 
auto calculateUpdatedEntityStatusInWorldFrame (double target_speed) const -> traffic_simulator::EntityStatus
 
- Public Member Functions inherited from entity_behavior::ActionNode
 ActionNode (const std::string &name, const BT::NodeConfiguration &config)
 
 ~ActionNode () override=default
 
auto getFrontEntityName (const math::geometry::CatmullRomSplineInterface &spline) const -> std::optional< std::string >
 
auto calculateStopDistance (const traffic_simulator_msgs::msg::DynamicConstraints &) const -> double
 
auto getDistanceToFrontEntity (const math::geometry::CatmullRomSplineInterface &spline) const -> std::optional< double >
 
auto getFrontEntityNameAndDistanceByTrajectory (const std::vector< geometry_msgs::msg::Point > &waypoints, const double width, const std::size_t num_segments) const -> std::optional< std::pair< std::string, double >>
 
auto getYieldStopDistance (const lanelet::Ids &following_lanelets) const -> std::optional< double >
 
auto stopEntity () const -> void
 
auto getHorizon () const -> double
 
auto getOtherEntitiesCanonicalizedLaneletPoses () const -> std::vector< traffic_simulator::CanonicalizedLaneletPose >
 
auto getOtherEntitiesCanonicalizedEntityStatuses () const -> std::vector< traffic_simulator::CanonicalizedEntityStatus >
 
auto executeTick () -> BT::NodeStatus override
 throws if the derived class return RUNNING. More...
 
void halt () override final
 
auto getEntityStatus (const std::string &target_name) const -> const traffic_simulator::CanonicalizedEntityStatus &
 
auto setCanonicalizedEntityStatus (const traffic_simulator::EntityStatus &entity_status) -> void
 
auto calculateUpdatedEntityStatus (const double local_target_speed, const traffic_simulator_msgs::msg::DynamicConstraints &) const -> traffic_simulator::EntityStatus
 
auto calculateUpdatedEntityStatusInWorldFrame (const double local_target_speed, const traffic_simulator_msgs::msg::DynamicConstraints &) const -> traffic_simulator::EntityStatus
 

Static Public Member Functions

static BT::PortsList providedPorts ()
 
- Static Public Member Functions inherited from entity_behavior::VehicleActionNode
static BT::PortsList providedPorts ()
 
- Static Public Member Functions inherited from entity_behavior::ActionNode
static BT::PortsList providedPorts ()
 

Additional Inherited Members

- Protected Member Functions inherited from entity_behavior::ActionNode
auto tick () -> BT::NodeStatus override
 
- Protected Attributes inherited from entity_behavior::VehicleActionNode
traffic_simulator_msgs::msg::VehicleParameters vehicle_parameters
 
std::shared_ptr< math::geometry::CatmullRomSplinereference_trajectory
 
std::unique_ptr< math::geometry::CatmullRomSubsplinetrajectory
 
- Protected Attributes inherited from entity_behavior::ActionNode
traffic_simulator::behavior::Request request_
 
std::shared_ptr< traffic_simulator::TrafficLightsBasetraffic_lights_
 
std::shared_ptr< traffic_simulator::CanonicalizedEntityStatuscanonicalized_entity_status_
 
double current_time_
 
double step_time_
 
double default_matching_distance_for_lanelet_pose_calculation_
 
std::optional< double > target_speed_
 
EntityStatusDict other_entity_status_
 
lanelet::Ids route_lanelets_
 
traffic_simulator_msgs::msg::BehaviorParameter behavior_parameter_
 
std::optional< double > lateral_collision_threshold_
 
std::shared_ptr< EuclideanDistancesMapeuclidean_distances_map_
 

Constructor & Destructor Documentation

◆ LaneChangeAction()

entity_behavior::vehicle::LaneChangeAction::LaneChangeAction ( const std::string &  name,
const BT::NodeConfiguration &  config 
)

Member Function Documentation

◆ calculateObstacle()

const std::optional< traffic_simulator_msgs::msg::Obstacle > entity_behavior::vehicle::LaneChangeAction::calculateObstacle ( const traffic_simulator_msgs::msg::WaypointsArray &  waypoints)
overridevirtual

◆ calculateWaypoints()

const traffic_simulator_msgs::msg::WaypointsArray entity_behavior::vehicle::LaneChangeAction::calculateWaypoints ( )
overridevirtual

◆ checkPreconditions()

bool entity_behavior::vehicle::LaneChangeAction::checkPreconditions ( )
overridevirtual

Reimplemented from entity_behavior::ActionNode.

◆ doAction()

BT::NodeStatus entity_behavior::vehicle::LaneChangeAction::doAction ( )
overridevirtual

Force changing speed in order to fulfill constraint.

Changing linear speed and try to fulfill constraint.

Note
Hard coded parameter, -10.0 is a minimum linear velocity of the entity.

Implements entity_behavior::ActionNode.

◆ getBlackBoardValues()

void entity_behavior::vehicle::LaneChangeAction::getBlackBoardValues ( )
overridevirtual

Reimplemented from entity_behavior::ActionNode.

◆ providedPorts()

static BT::PortsList entity_behavior::vehicle::LaneChangeAction::providedPorts ( )
inlinestatic

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