scenario_simulator_v2 C++ API
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
traffic_simulator::follow_trajectory::PredictedEntityStatus Struct Reference

#include <follow_waypoint_controller.hpp>

Public Member Functions

 PredictedEntityStatus (const traffic_simulator_msgs::msg::EntityStatus &status)
 
 PredictedEntityStatus (const traffic_simulator_msgs::msg::EntityStatus &status, const double traveled_distance, const double travel_time)
 
template<typename UpdateEntityStatusFunc , typename DistanceAlongLaneletFunc >
auto step (const double step_acceleration, const double step_time, const UpdateEntityStatusFunc &update_entity_status, const DistanceAlongLaneletFunc &distance_along_lanelet) -> void
 Advance simulation by one time step with given acceleration. More...
 
auto getEntityStatus () const -> const traffic_simulator_msgs::msg::EntityStatus &
 
auto getSpeed () const -> double
 
auto getAcceleration () const -> double
 
auto isImmobile (const double tolerance) const -> bool
 

Public Attributes

double traveled_distance
 
double travel_time
 

Static Public Attributes

static constexpr bool use_distance_along_lanelet = false
 

Constructor & Destructor Documentation

◆ PredictedEntityStatus() [1/2]

traffic_simulator::follow_trajectory::PredictedEntityStatus::PredictedEntityStatus ( const traffic_simulator_msgs::msg::EntityStatus status)
inlineexplicit

◆ PredictedEntityStatus() [2/2]

traffic_simulator::follow_trajectory::PredictedEntityStatus::PredictedEntityStatus ( const traffic_simulator_msgs::msg::EntityStatus status,
const double  traveled_distance,
const double  travel_time 
)
inlineexplicit

Member Function Documentation

◆ getAcceleration()

auto traffic_simulator::follow_trajectory::PredictedEntityStatus::getAcceleration ( ) const -> double
inline

◆ getEntityStatus()

auto traffic_simulator::follow_trajectory::PredictedEntityStatus::getEntityStatus ( ) const -> const traffic_simulator_msgs::msg::EntityStatus &
inline

◆ getSpeed()

auto traffic_simulator::follow_trajectory::PredictedEntityStatus::getSpeed ( ) const -> double
inline

◆ isImmobile()

auto traffic_simulator::follow_trajectory::PredictedEntityStatus::isImmobile ( const double  tolerance) const -> bool
inline

◆ step()

template<typename UpdateEntityStatusFunc , typename DistanceAlongLaneletFunc >
auto traffic_simulator::follow_trajectory::PredictedEntityStatus::step ( const double  step_acceleration,
const double  step_time,
const UpdateEntityStatusFunc &  update_entity_status,
const DistanceAlongLaneletFunc &  distance_along_lanelet 
) -> void
inline

Advance simulation by one time step with given acceleration.

If use_distance_along_lanelet=false (default): Uses 1D kinematic model with trapezoidal integration. Speed and acceleration updated directly. Distance integrated using average speed (exact for constant acceleration).

If use_distance_along_lanelet=true: Uses lanelet-aware distance calculation for high accuracy. Requires update_entity_status and distance_along_lanelet functions.

Parameters
step_accelerationAcceleration to apply [m/s²]
step_timeTime step duration [s]
update_entity_statusFunction to update entity status (used when use_distance_along_lanelet=true)
distance_along_laneletFunction to compute distance along lanelet (used when use_distance_along_lanelet=true)
Note
pitch is negated to match the convention: positive pitch = upward motion

Member Data Documentation

◆ travel_time

double traffic_simulator::follow_trajectory::PredictedEntityStatus::travel_time

◆ traveled_distance

double traffic_simulator::follow_trajectory::PredictedEntityStatus::traveled_distance

◆ use_distance_along_lanelet

constexpr bool traffic_simulator::follow_trajectory::PredictedEntityStatus::use_distance_along_lanelet = false
staticconstexpr
Note
compile-time flag to switch between 1D kinematics (false) and lanelet-aware distance (true) set to true for high-accuracy validation/debugging, default false for production performance

The documentation for this struct was generated from the following file: