scenario_simulator_v2 C++ API
Todo List
Member common::junit::SimpleTestCase::operator<< (pugi::xml_node node, const SimpleTestCase &testcase) -> pugi::xml_node

implement skipped element in junit.

implement system-out element in junit.

implement system-err element in junit.

Namespace concealer
: pzyskowski : use conditional variables to wait for new messages instead of sleep_for
Member entity_behavior::ActionNode::calculateUpdatedEntityStatus (const double local_target_speed, const traffic_simulator_msgs::msg::DynamicConstraints &) const -> traffic_simulator::EntityStatus
it will be moved to route::moveAlongLaneletPose(...)
Member entity_behavior::ActionNode::calculateUpdatedEntityStatusInWorldFrame (const double local_target_speed, const traffic_simulator_msgs::msg::DynamicConstraints &) const -> traffic_simulator::EntityStatus
first determine global desired_velocity, calculate position change using it then pass the same global desired_velocity to updatePositionForLaneletTransition()
Member entity_behavior::pedestrian::FollowPolylineTrajectoryAction::calculateObstacle (const traffic_simulator_msgs::msg::WaypointsArray &) -> const std::optional< traffic_simulator_msgs::msg::Obstacle >
If you implement obstacle avoidance for this action, implement this virtual function to return the location of any obstacles blocking the path of this action's actor. However, this virtual function is currently used only for the visualization of obstacle information, so the obstacle avoidance algorithm does not necessarily need to use this virtual function.
Member entity_behavior::vehicle::FollowPolylineTrajectoryAction::calculateObstacle (const traffic_simulator_msgs::msg::WaypointsArray &) -> const std::optional< traffic_simulator_msgs::msg::Obstacle > override
If you implement obstacle avoidance for this action, implement this virtual function to return the location of any obstacles blocking the path of this action's actor. However, this virtual function is currently used only for the visualization of obstacle information, so the obstacle avoidance algorithm does not necessarily need to use this virtual function.
Member entity_behavior::vehicle::LaneChangeAction::tick () override
traffic_simulator::lanelet_wrapper::pose::alongLaneletPose(...) will be moved to traffic_simulator::route::moveAlongLaneletPose(...)
Member traffic_simulator::API::spawn (const std::string &name, const Pose &pose, const traffic_simulator_msgs::msg::VehicleParameters &parameters, const std::string &behavior=VehicleBehavior::defaultBehavior(), const std::string &model3d="")
Should be filled from function API
Member traffic_simulator::entity::VehicleEntity::requestFollowTrajectory (const std::shared_ptr< traffic_simulator_msgs::msg::PolylineTrajectory > &) -> void override
such a protection most likely makes sense, but test scenario RoutingAction.FollowTrajectoryAction-star has waypoints outside lanelet2
Member traffic_simulator::follow_trajectory::FollowWaypointController::getAcceleration (const double remaining_time_source, const double remaining_distance, const double acceleration, const double speed) const -> double
Member traffic_simulator::lanelet_pose::CanonicalizedLaneletPose::alignOrientationToLanelet () -> void
it will be changed to route::toSpline(...)
Member traffic_simulator::lanelet_wrapper::pose::toLaneletPose (const Pose &map_pose, const bool include_crosswalk, const double matching_distance=1.0) -> std::optional< LaneletPose >
Add doxygen comments as soon as you know the meaning and rationale of the value.
Member traffic_simulator::lanelet_wrapper::route::route (const lanelet::Id from_lanelet_id, const lanelet::Id to_lanelet_id, const RoutingConfiguration &routing_configuration=RoutingConfiguration()) -> lanelet::Ids
improve architecture in terms of access to cache of the graph
Member traffic_simulator::pose::boundingBoxRelativeLaneletPose (const CanonicalizedLaneletPose &from, const traffic_simulator_msgs::msg::BoundingBox &from_bounding_box, const CanonicalizedLaneletPose &to, const traffic_simulator_msgs::msg::BoundingBox &to_bounding_box, const RoutingConfiguration &routing_configuration, const std::shared_ptr< hdmap_utils::HdMapUtils > &hdmap_utils_ptr) -> LaneletPose
HdMapUtils will be removed when lanelet_wrapper::distance is added
Member traffic_simulator::pose::isAtEndOfLanelets (const CanonicalizedLaneletPose &canonicalized_lanelet_pose, const std::shared_ptr< hdmap_utils::HdMapUtils > &hdmap_utils_ptr) -> bool
HdMapUtils will be removed when lanelet_wrapper::distance is added
Member traffic_simulator::pose::isInLanelet (const CanonicalizedLaneletPose &canonicalized_lanelet_pose, const lanelet::Id lanelet_id, const double tolerance, const std::shared_ptr< hdmap_utils::HdMapUtils > &hdmap_utils_ptr) -> bool
HdMapUtils will be removed when lanelet_wrapper::distance is added
Member traffic_simulator::pose::relativeLaneletPose (const CanonicalizedLaneletPose &from, const CanonicalizedLaneletPose &to, const RoutingConfiguration &routing_configuration, const std::shared_ptr< hdmap_utils::HdMapUtils > &hdmap_utils_ptr) -> LaneletPose
HdMapUtils will be removed when lanelet_wrapper::distance is added
Member traffic_simulator::pose::toCanonicalizedLaneletPose (const geometry_msgs::msg::Pose &map_pose, const bool include_crosswalk) -> std::optional< CanonicalizedLaneletPose >
here matching_distance should be passed
Member traffic_simulator::speed_change::Constraint::LONGITUDINAL_ACCELERATION
Add DISTANCE constraint type.
Member traffic_simulator::speed_change::LINEAR
Add CUBIC transition.
Member traffic_simulator::speed_change::STEP
Add SINUSOIDAL transition.
Member vehicle_simulation::EgoEntitySimulation::calculateAccelerationBySlope () const -> double
why there is a need to recalculate orientation using getLaneletPose? status_.getMapPose().orientation already contains the orientation