|
simple_planner v1.4.0
|
#include <simple_planner.hpp>
Classes | |
| struct | DiagnosticStatus |
| Diagnostic status indicating node health. More... | |
| struct | FollowRoutePlan |
Public Member Functions | |
| SimplePlannerNode () | |
| Creates a SimplePlannerNode node. | |
Private Types | |
| enum | InterpolationType { LINEAR = 0 , SPLINE = 1 } |
| enum class | PlannerState { NoPublish , Standstill , SafeStop , FollowRoute } |
Private Member Functions | |
| template<typename T > | |
| void | declareAndLoadParameter (const std::string &name, T ¶m, const std::string &description, const bool add_to_auto_reconfigurable_params=true, const bool is_required=false, const bool read_only=false, const std::optional< double > &from_value=std::nullopt, const std::optional< double > &to_value=std::nullopt, const std::optional< double > &step_value=std::nullopt, const std::string &additional_constraints="") |
| Declares a ROS parameter, loads its value and optionally registers it for runtime updates. | |
| rcl_interfaces::msg::SetParametersResult | parametersCallback (const std::vector< rclcpp::Parameter > ¶meters) |
| Handles reconfiguration when a parameter value is changed. | |
| void | setup () |
| Sets up subscribers, publishers, etc. to configure the node. | |
| void | egoDataCallback (const perception_msgs::msg::EgoData::UniquePtr msg) |
| Stores the latest ego data message. | |
| void | objectListCallback (const perception_msgs::msg::ObjectList::UniquePtr msg) |
| Stores the latest perceived object list including object predictions. | |
| void | routeCallback (const route_planning_msgs::msg::Route::UniquePtr msg) |
| Stores the latest route message and extracts the route path. | |
| void | gridMapCallback (const nav_msgs::msg::OccupancyGrid::UniquePtr msg) |
| Stores the latest occupancy grid map message. | |
| void | publishTimerCallback () |
| This callback is invoked every period seconds by the timer. | |
| PlannerState | determinePlannerState (const rclcpp::Time &stamp) |
| Determines the current planner state from input freshness and route availability. | |
| trajectory_planning_msgs::msg::Trajectory | createTrajectory (PlannerState state, const rclcpp::Time &stamp) |
| Creates a trajectory for the already determined planner state. | |
| trajectory_planning_msgs::msg::Trajectory | buildTrajectoryFromSimplePath (const SimplePath &path) |
| Builds a trajectory message from a simple path. | |
| void | clearObjectInteractionMarkers (const std_msgs::msg::Header &target_header) |
| Deletes the currently published object interaction markers. | |
| void | publishObjectInteractionMarkers (const std_msgs::msg::Header &target_header, const std::optional< ConflictSample > &conflict) |
| Publishes RViz markers for the current object interaction conflict. | |
| SimplePath | buildSafeStopPath (const std_msgs::msg::Header &target_header) |
| Builds the initial safe-stop path for the current cycle. | |
| FollowRoutePlan | buildRoutePlan (const std_msgs::msg::Header &target_header) |
| Builds the complete route-following plan including stop and turn information. | |
| bool | hasValidGridMap (const rclcpp::Time &stamp) const |
| Checks whether a fresh, structurally valid grid map is currently available. | |
| void | applyObjectConstraints (const std_msgs::msg::Header &target_header, const std::vector< SimplePathPoint > &base_path_points, FollowRoutePlan &route_plan) |
| Applies trajectory-based object conflict constraints to a follow-route plan. | |
| void | applyGridMapConstraints (const std_msgs::msg::Header &target_header, std::vector< SimplePathPoint > &base_path_points, FollowRoutePlan &route_plan) |
| Applies occupancy-grid-based stop constraints to the base route path. | |
| std::optional< double > | findFirstGridMapStopS (const std_msgs::msg::Header &target_header, const std::vector< SimplePathPoint > &base_path_points) |
| Finds the last safe grid-map sample before the first blocked pose. | |
| std::vector< ObjectTrajectory > | buildObjectTrajectories (const perception_msgs::msg::ObjectList &tf_object_list, const rclcpp::Time &stamp) const |
| Reduces the perceived object list (in vehicle frame) to timed bounding-box trajectories. | |
| std::optional< ConflictSample > | firstConflict (const std::vector< SimplePathPoint > &ego_path, const std::vector< ObjectTrajectory > &object_trajectories) const |
| Returns the first conflict between the (time-sampled) ego path and any object trajectory. | |
| void | resetObjectState (const std_msgs::msg::Header &target_header) |
| Resets the remembered object speed cap / hysteresis state and clears interaction markers. | |
| void | appendRoutePoints (const route_planning_msgs::msg::Route &tf_route, FollowRoutePlan &route_plan, std::map< uint64_t, uint64_t > &lane_change_indices_map) |
| Appends route-derived path points and stop metadata for the follow-route case. | |
| bool | tryRegisterLaneChange (const route_planning_msgs::msg::Route &tf_route, size_t route_element_idx, std::map< uint64_t, uint64_t > &lane_change_indices_map, uint8_t &suggested_turn_signal) |
| Detects and stores the start/end window of a lane change. | |
| void | updateForTrafficLights (const route_planning_msgs::msg::Route &tf_route, size_t route_element_idx, const route_planning_msgs::msg::LaneElement &suggested_lane, const SimplePathPoint &simple_path_point, double t_total, bool &stop_at_end, double &offset_to_stop_line) |
| Updates stop-at-end and stop-line offset state for traffic-light regulatory elements. | |
| std::vector< SimplePathPoint > | mergeLaneChangeSegments (const route_planning_msgs::msg::Route &tf_route, const std::vector< SimplePathPoint > &route_points, const std::map< uint64_t, uint64_t > &lane_change_indices_map) |
| Merges interpolated lane-change segments into the base route path. | |
| void | applyIndicatorRequest (uint8_t suggested_turn_signal) |
| Requests the appropriate indicator state for the current route plan. | |
| std::vector< SimplePathPoint > | resamplePath (const std::vector< SimplePathPoint > &path, bool stop_at_end, double offset_to_stop_line=0.0, const double *speed_cap=nullptr) |
| Resamples a path into trajectory time steps and applies optional stopping behavior. | |
| std::vector< SimplePathPoint > | generateLaneChangePath (size_t start_idx, size_t turn_idx, const route_planning_msgs::msg::Route &route) |
| Generates interpolated points for a lane-change section of the route. | |
| SimplePath | calculateSafeStopAlongEgoHeading (const perception_msgs::msg::EgoData &ego_data, const double safe_stop_distance, const std_msgs::msg::Header &target_header) |
| Creates a minimal safe-stop path along the current ego heading. | |
| SimplePath | calculateSafeStopAlongRoute (const SimplePath &path, const double safe_stop_distance) |
| Truncates and resamples an existing path to stop within the safe-stop distance. | |
| SimplePath | transformPath (const SimplePath &path, const std_msgs::msg::Header &target_header) |
| Transforms a simple path into the requested target frame and timestamp. | |
| void | health (diagnostic_updater::DiagnosticStatusWrapper &stat) |
| Function called by diagnostic updater to populate diagnostics status. | |
| void | setHealth (const unsigned char status, const std::string &msg, const std::map< std::string, std::string > &key_value_pairs={}) |
| Sets the health information. | |
Static Private Member Functions | |
| static bool | isMessageOutdated (const std_msgs::msg::Header &header, double timeout, const rclcpp::Time &stamp) |
| Checks whether an input message is older than the configured timeout. | |
| static trajectory_planning_msgs::msg::Trajectory | buildStandstillTrajectory (const std_msgs::msg::Header &target_header) |
| Creates a standstill trajectory for the current planning cycle. | |
| static void | trimPathBehindEgo (SimplePath &path) |
| Removes path points that lie behind the ego vehicle in vehicle frame. | |
| static std::vector< SimplePathPoint > | truncatePathAtS (const std::vector< SimplePathPoint > &path, double stop_s) |
| Returns a path ending exactly at the requested accumulated path coordinate. | |
| static void | recalculateS (std::vector< SimplePathPoint > &path) |
| Recomputes accumulated path distance from point positions. | |
| static bool | requiresTransform (const std_msgs::msg::Header &source_header, const std_msgs::msg::Header &target_header) |
| Checks whether a transform between two stamped frames is required. | |
| static std::string | plannerStateToString (const PlannerState &state) |
| Converts a PlannerState enum to a string representation. | |
| static std::string | turnSignalToString (const uint8_t &turn_signal) |
| Converts a turn signal value to a string representation. | |
Private Attributes | |
| std::unique_ptr< tf2_ros::Buffer > | tf2_buffer_ |
| std::shared_ptr< tf2_ros::TransformListener > | tf2_listener_ |
| rclcpp::Subscription< perception_msgs::msg::EgoData >::SharedPtr | sub_egoData_ |
| rclcpp::Subscription< perception_msgs::msg::ObjectList >::SharedPtr | sub_object_list_ |
| rclcpp::Subscription< route_planning_msgs::msg::Route >::SharedPtr | sub_route_ |
| rclcpp::Subscription< nav_msgs::msg::OccupancyGrid >::SharedPtr | sub_grid_map_ |
| rclcpp::Publisher< trajectory_planning_msgs::msg::Trajectory >::SharedPtr | pub_ |
| rclcpp::Publisher< visualization_msgs::msg::MarkerArray >::SharedPtr | object_interaction_marker_pub_ |
| rclcpp::TimerBase::SharedPtr | publish_timer_ |
| rclcpp::Client< std_srvs::srv::SetBool >::SharedPtr | left_turn_indicator_service_client_ |
| rclcpp::Client< std_srvs::srv::SetBool >::SharedPtr | right_turn_indicator_service_client_ |
| rclcpp::Client< std_srvs::srv::SetBool >::SharedPtr | hazard_lights_service_client_ |
| std::vector< std::tuple< std::string, std::function< void(const rclcpp::Parameter &)> > > | auto_reconfigurable_params_ |
| Auto-reconfigurable parameters for dynamic reconfiguration. | |
| OnSetParametersCallbackHandle::SharedPtr | parameters_callback_ |
| Callback handle for dynamic parameter reconfiguration. | |
| std::string | vehicle_frame_id_ = "base_link" |
| std::string | trajectory_frame_id_ = "base_link" |
| std::string | fixed_over_time_frame_id_ = "map" |
| double | freq_ = 10.0 |
| double | route_timeout_ = 1.0 |
| double | ego_data_timeout_ = 1.0 |
| double | object_timeout_ = 1.0 |
| double | grid_map_timeout_ = 1.0 |
| double | trajectory_horizon_ = 10.0 |
| int | n_states_ = 51 |
| uint8_t | interpolation_type_ = InterpolationType::SPLINE |
| double | v_ref_ = 13.89 |
| double | a_decel_ = -0.5 |
| double | a_max_decel_ = -1.0 |
| bool | trigger_turn_signals_ = true |
| bool | consider_grid_map_ = false |
| int | grid_occupied_threshold_ = 50 |
| bool | consider_out_of_grid_ = false |
| double | grid_longitudinal_safety_distance_ = 1.5 |
| double | grid_lateral_safety_distance_ = 0.0 |
| bool | consider_traffic_lights_ = true |
| double | offset_to_stop_line_ = 0.0 |
| double | ignore_stop_line_threshold_ = 0.5 |
| bool | consider_future_states_ = false |
| bool | consider_objects_ = true |
| double | min_prediction_prob_ = 0.0 |
| double | object_longitudinal_safety_distance_ = 1.5 |
| double | object_lateral_safety_distance_ = 0.0 |
| double | object_interaction_time_window_ = 0.5 |
| double | object_velocity_reduction_step_ = 0.1 |
| double | object_velocity_release_step_ = 0.5 |
| double | object_standstill_speed_threshold_ = 0.2 |
| int | object_velocity_release_hysteresis_cycles_ = 3 |
| bool | publish_object_interaction_markers_ = true |
| double | lane_change_distance_factor_ = 6.0 |
| double | lane_change_min_distance_factor_ = 2.0 |
| perception_msgs::msg::EgoData | ego_data_ |
| perception_msgs::msg::ObjectList | object_list_ |
| route_planning_msgs::msg::Route | route_ |
| nav_msgs::msg::OccupancyGrid | grid_map_ |
| bool | ego_data_init_ = false |
| bool | object_list_init_ = false |
| bool | route_init_ = false |
| bool | grid_map_init_ = false |
| std::optional< double > | safe_stop_distance_ |
| std::optional< double > | last_object_speed_cap_ |
| SimplePath | latest_path_ |
| int | object_conflict_free_cycles_ = 0 |
| double | dt_ |
| diagnostic_updater::Updater | diagnostic_updater_ {this} |
| Diagnostic updater. | |
| struct simple_planner::SimplePlannerNode::DiagnosticStatus | health_ |
| std::unique_ptr< diagnostic_updater::TopicDiagnostic > | ego_data_topic_diagnostic_ |
| TopicDiagnosticConfig | ego_data_topic_diagnostic_config_ {45.45, 55.55, 0.0, 0.002} |
| std::unique_ptr< diagnostic_updater::TopicDiagnostic > | object_list_topic_diagnostic_ |
| TopicDiagnosticConfig | object_list_topic_diagnostic_config_ {9.09, 11.11, 0.0, 0.01} |
| std::unique_ptr< diagnostic_updater::TopicDiagnostic > | route_topic_diagnostic_ |
| TopicDiagnosticConfig | route_topic_diagnostic_config_ {18.18, 22.22, 0.0, 0.005} |
| std::unique_ptr< diagnostic_updater::TopicDiagnostic > | grid_map_topic_diagnostic_ |
| TopicDiagnosticConfig | grid_map_topic_diagnostic_config_ {9.09, 11.11, 0.0, 0.01} |
| std::unique_ptr< diagnostic_updater::DiagnosedPublisher< trajectory_planning_msgs::msg::Trajectory > > | diagnosed_publisher_ |
| TopicDiagnosticConfig | diagnosed_publisher_config_ {9.09, 11.11, 0.0, 0.01} |
Static Private Attributes | |
| static constexpr double | kObjectCollisionCheckDt = 0.05 |
| static constexpr double | kMinObjectWidth = 0.8 |
| static constexpr double | kMinObjectLength = 1.2 |
Definition at line 101 of file simple_planner.hpp.
|
private |
|
strongprivate |
| Enumerator | |
|---|---|
| NoPublish | |
| Standstill | |
| SafeStop | |
| FollowRoute | |
Definition at line 107 of file simple_planner.hpp.
| simple_planner::SimplePlannerNode::SimplePlannerNode | ( | ) |
Creates a SimplePlannerNode node.
Definition at line 32 of file simple_planner.cpp.
|
private |
Appends route-derived path points and stop metadata for the follow-route case.
| [in] | tf_route | Route transformed into vehicle frame. |
| [in,out] | route_plan | Mutable route planning result to extend. |
| [out] | lane_change_indices_map | Output lane-change windows to be merged later. |
Definition at line 643 of file simple_planner.cpp.
|
private |
Applies occupancy-grid-based stop constraints to the base route path.
| [in] | target_header | Current planning header propagated from the timer callback. |
| [in,out] | base_path_points | Route path before time-based resampling. |
| [in,out] | route_plan | Mutable route planning result to be constrained by the grid map. |
Definition at line 39 of file grid_map_handling.cpp.
|
private |
Requests the appropriate indicator state for the current route plan.
| [in] | suggested_turn_signal | Suggested signal derived from route semantics. |
Definition at line 911 of file simple_planner.cpp.
|
private |
Applies trajectory-based object conflict constraints to a follow-route plan.
The object list is transformed into vehicle frame and checked against the already planned ego trajectory. If conflicts are detected, the path is resampled repeatedly with a lower speed cap until it is conflict-free or the speed cap reaches zero.
| target_header | Current planning header propagated from the timer callback. |
| base_path_points | Route path before time-based resampling. |
| route_plan | Mutable route plan to be constrained by dynamic objects. |
Definition at line 227 of file object_handling.cpp.
|
private |
Reduces the perceived object list (in vehicle frame) to timed bounding-box trajectories.
Static objects (without usable prediction) become a single-sample trajectory; otherwise the predictions above the probability threshold (or the most likely one) are sampled.
| [in] | tf_object_list | Object list transformed into vehicle frame. |
| [in] | stamp | Current planning timestamp used to compute relative sample times. |
Definition at line 96 of file object_handling.cpp.
|
private |
Builds the complete route-following plan including stop and turn information.
| [in] | target_header | Vehicle-frame planning header for the generated route plan. |
Definition at line 608 of file simple_planner.cpp.
|
private |
Builds the initial safe-stop path for the current cycle.
| [in] | target_header | Planning header for the generated safe-stop path. |
Definition at line 588 of file simple_planner.cpp.
|
staticprivate |
Creates a standstill trajectory for the current planning cycle.
| [in] | target_header | Output header for the generated trajectory. |
Definition at line 537 of file simple_planner.cpp.
|
private |
Builds a trajectory message from a simple path.
This also trims points behind the ego vehicle and falls back to standstill if no usable forward path remains.
| [in] | path | Path to be converted. |
Definition at line 547 of file simple_planner.cpp.
|
private |
Creates a minimal safe-stop path along the current ego heading.
| [in] | ego_data | Latest ego state. |
| [in] | safe_stop_distance | Distance available for the stop maneuver. |
| [in] | target_header | Target output header for the planning cycle. |
Definition at line 964 of file simple_planner.cpp.
|
private |
Truncates and resamples an existing path to stop within the safe-stop distance.
| [in] | path | Route path to use as stop corridor. |
| [in] | safe_stop_distance | Distance available for the stop maneuver. |
Definition at line 949 of file simple_planner.cpp.
|
private |
Deletes the currently published object interaction markers.
| [in] | target_header | Header used for the marker delete messages. |
Definition at line 28 of file object_handling.cpp.
|
private |
Creates a trajectory for the already determined planner state.
Main function of this node. Creates a reference trajectory based on the current route, vehicle state, and planning parameters.
| [in] | state | Planner state to be executed. |
| [in] | stamp | Current planning timestamp propagated from the timer callback. |
This function generates a trajectory message by processing the current route, transforming it to the appropriate frame, handling special cases (such as route timeouts or empty routes), and considering traffic lights and lane changes. The resulting trajectory is resampled over time and trimmed to fit the configured number of states.
Definition at line 490 of file simple_planner.cpp.
|
private |
Declares a ROS parameter, loads its value and optionally registers it for runtime updates.
| T | Parameter value type. |
| [in] | name | Parameter name. |
| [out] | param | Member variable to store the parameter value. |
| [in] | description | Human-readable parameter description. |
| [in] | add_to_auto_reconfigurable_params | Whether parameter updates automatically update the member variable. |
| [in] | is_required | Whether the node should fail if the parameter is not set. |
| [in] | read_only | Whether the parameter is exposed as read-only. |
| [in] | from_value | Optional lower bound for numeric parameters. |
| [in] | to_value | Optional upper bound for numeric parameters. |
| [in] | step_value | Optional step size for numeric parameters. |
| [in] | additional_constraints | Additional free-form constraint text for the parameter descriptor. |
Definition at line 7 of file utils.hpp.
|
private |
Determines the current planner state from input freshness and route availability.
| [in] | stamp | Current planning timestamp. |
Definition at line 370 of file simple_planner.cpp.
|
private |
Stores the latest ego data message.
This callback is invoked when the subscriber receives a new egoData message.
| msg | Latest ego data message. | |
| [in] | msg | egoData |
Definition at line 316 of file simple_planner.cpp.
|
private |
Finds the last safe grid-map sample before the first blocked pose.
| [in] | target_header | Current planning header propagated from the timer callback. |
| [in] | base_path_points | Route path before time-based resampling. |
Definition at line 69 of file grid_map_handling.cpp.
|
private |
Returns the first conflict between the (time-sampled) ego path and any object trajectory.
| [in] | ego_path | Time-equidistant ego path candidate. |
| [in] | object_trajectories | Object trajectories to check against. |
Definition at line 154 of file object_handling.cpp.
|
private |
Generates interpolated points for a lane-change section of the route.
| [in] | start_idx | Route element index where the lane change starts. |
| [in] | turn_idx | Route element index that indicates the lane-change turn. |
| [in] | route | Route in vehicle frame. |
Definition at line 991 of file simple_planner.cpp.
|
private |
Stores the latest occupancy grid map message.
| msg | Latest occupancy grid map message. |
Definition at line 358 of file simple_planner.cpp.
|
private |
Checks whether a fresh, structurally valid grid map is currently available.
| [in] | stamp | Current planning timestamp. |
Definition at line 20 of file grid_map_handling.cpp.
|
private |
Function called by diagnostic updater to populate diagnostics status.
Definition at line 173 of file utils.hpp.
|
staticprivate |
Checks whether an input message is older than the configured timeout.
| [in] | header | Header of the input message. |
| [in] | timeout | Timeout in seconds. A value of -1.0 disables the timeout. |
| [in] | stamp | Current planning timestamp. |
Definition at line 474 of file simple_planner.cpp.
|
private |
Merges interpolated lane-change segments into the base route path.
The base route points are the already filtered route-following path, while tf_route is still needed to reconstruct the lane geometry for the interpolated lane-change segments.
| [in] | tf_route | Route transformed into vehicle frame and used to derive lane-change geometry. |
| [in] | route_points | Base route points before lane-change insertion. |
| [in] | lane_change_indices_map | Lane-change windows gathered during route processing. |
Definition at line 875 of file simple_planner.cpp.
|
private |
Stores the latest perceived object list including object predictions.
| msg | Latest object list message. |
Definition at line 328 of file simple_planner.cpp.
|
private |
Handles reconfiguration when a parameter value is changed.
| [in] | parameters | Requested parameter updates. |
Definition at line 79 of file utils.hpp.
|
staticprivate |
Converts a PlannerState enum to a string representation.
| state |
Definition at line 188 of file utils.hpp.
|
private |
Publishes RViz markers for the current object interaction conflict.
If marker publishing is disabled or no conflict exists, existing markers are cleared.
| [in] | target_header | Header used for the marker messages. |
| [in] | conflict | Optional conflict sample to visualize. |
Definition at line 48 of file object_handling.cpp.
|
private |
This callback is invoked every period seconds by the timer.
Definition at line 1193 of file simple_planner.cpp.
|
staticprivate |
Recomputes accumulated path distance from point positions.
| [in,out] | path | Path whose s values are updated in-place. |
Definition at line 1069 of file simple_planner.cpp.
|
staticprivate |
Checks whether a transform between two stamped frames is required.
A transform is required if either the frame IDs or timestamps differ. The timestamp comparison ensures that temporal transforms are still applied when source and target use the same moving frame.
| [in] | source_header | Header of the source data. |
| [in] | target_header | Requested target frame and timestamp. |
Definition at line 127 of file utils.hpp.
|
private |
Resamples a path into trajectory time steps and applies optional stopping behavior.
| [in] | path | Input path with accumulated s values. |
| [in] | stop_at_end | Whether the output should brake to a stop at the path end. |
| [in] | offset_to_stop_line | Additional offset used when computing the braking point. |
| [in] | speed_cap | Optional upper velocity limit for all sampled points. |
Definition at line 1079 of file simple_planner.cpp.
|
private |
Resets the remembered object speed cap / hysteresis state and clears interaction markers.
| [in] | target_header | Header used for the cleared marker messages. |
Definition at line 22 of file object_handling.cpp.
|
private |
Stores the latest route message and extracts the route path.
This callback is invoked when the subscriber receives a new route message.
| msg | Latest route message. | |
| [in] | msg | route |
Definition at line 345 of file simple_planner.cpp.
|
private |
|
private |
Sets up subscribers, publishers, etc. to configure the node.
Sets up subscribers, publishers, and more.
Definition at line 194 of file simple_planner.cpp.
|
private |
Transforms a simple path into the requested target frame and timestamp.
| [in] | path | Path to transform. |
| [in] | target_header | Target frame and timestamp. |
Definition at line 140 of file utils.hpp.
|
staticprivate |
Removes path points that lie behind the ego vehicle in vehicle frame.
| [in,out] | path | Path to be trimmed in-place. |
Definition at line 943 of file simple_planner.cpp.
|
staticprivate |
Returns a path ending exactly at the requested accumulated path coordinate.
If stop_s lies between two path points, the final point is linearly interpolated.
| [in] | path | Input path with accumulated s values. |
| [in] | stop_s | Accumulated path coordinate of the new endpoint. |
stop_s. Definition at line 1028 of file simple_planner.cpp.
|
private |
Detects and stores the start/end window of a lane change.
| [in] | tf_route | Route transformed into vehicle frame. |
| [in] | route_element_idx | Index of the current route element. |
| [out] | lane_change_indices_map | Output map of lane-change route indices. |
| [in,out] | suggested_turn_signal | Turn signal selected for the current route plan. |
Definition at line 716 of file simple_planner.cpp.
|
staticprivate |
Converts a turn signal value to a string representation.
| turn_signal |
Definition at line 203 of file utils.hpp.
|
private |
Updates stop-at-end and stop-line offset state for traffic-light regulatory elements.
| [in] | tf_route | Route transformed into vehicle frame. |
| [in] | route_element_idx | Index of the current route element. |
| [in] | suggested_lane | Suggested lane element of the current route element. |
| [in] | simple_path_point | Current path point candidate. |
| [in] | t_total | Accumulated travel time along the partial path. |
| [in,out] | stop_at_end | Whether the path should stop at its current end. |
| [in,out] | offset_to_stop_line | Effective offset used for braking towards the stop line. |
Definition at line 800 of file simple_planner.cpp.
|
private |
Definition at line 576 of file simple_planner.hpp.
|
private |
Definition at line 577 of file simple_planner.hpp.
|
private |
Auto-reconfigurable parameters for dynamic reconfiguration.
Definition at line 556 of file simple_planner.hpp.
|
private |
Definition at line 587 of file simple_planner.hpp.
|
private |
Definition at line 579 of file simple_planner.hpp.
|
private |
Definition at line 588 of file simple_planner.hpp.
|
private |
Definition at line 581 of file simple_planner.hpp.
|
private |
Definition at line 584 of file simple_planner.hpp.
|
private |
Definition at line 643 of file simple_planner.hpp.
|
private |
Definition at line 644 of file simple_planner.hpp.
|
private |
|
private |
Definition at line 615 of file simple_planner.hpp.
|
private |
Definition at line 602 of file simple_planner.hpp.
|
private |
Definition at line 607 of file simple_planner.hpp.
|
private |
Definition at line 569 of file simple_planner.hpp.
|
private |
Definition at line 631 of file simple_planner.hpp.
|
private |
Definition at line 632 of file simple_planner.hpp.
|
private |
Definition at line 566 of file simple_planner.hpp.
|
private |
Definition at line 567 of file simple_planner.hpp.
|
private |
Definition at line 583 of file simple_planner.hpp.
|
private |
Definition at line 582 of file simple_planner.hpp.
|
private |
Definition at line 605 of file simple_planner.hpp.
|
private |
Definition at line 610 of file simple_planner.hpp.
|
private |
Definition at line 571 of file simple_planner.hpp.
|
private |
Definition at line 640 of file simple_planner.hpp.
|
private |
Definition at line 641 of file simple_planner.hpp.
|
private |
Definition at line 580 of file simple_planner.hpp.
|
private |
Definition at line 551 of file simple_planner.hpp.
|
private |
|
private |
Definition at line 586 of file simple_planner.hpp.
|
private |
Definition at line 574 of file simple_planner.hpp.
|
staticconstexprprivate |
Definition at line 120 of file simple_planner.hpp.
|
staticconstexprprivate |
Definition at line 119 of file simple_planner.hpp.
|
staticconstexprprivate |
Definition at line 118 of file simple_planner.hpp.
|
private |
Definition at line 599 of file simple_planner.hpp.
|
private |
Definition at line 600 of file simple_planner.hpp.
|
private |
Definition at line 612 of file simple_planner.hpp.
|
private |
Definition at line 613 of file simple_planner.hpp.
|
private |
Definition at line 549 of file simple_planner.hpp.
|
private |
Definition at line 589 of file simple_planner.hpp.
|
private |
Definition at line 573 of file simple_planner.hpp.
|
private |
Definition at line 614 of file simple_planner.hpp.
|
private |
Definition at line 546 of file simple_planner.hpp.
|
private |
Definition at line 592 of file simple_planner.hpp.
|
private |
Definition at line 591 of file simple_planner.hpp.
|
private |
Definition at line 603 of file simple_planner.hpp.
|
private |
Definition at line 608 of file simple_planner.hpp.
|
private |
Definition at line 634 of file simple_planner.hpp.
|
private |
Definition at line 635 of file simple_planner.hpp.
|
private |
Definition at line 590 of file simple_planner.hpp.
|
private |
Definition at line 595 of file simple_planner.hpp.
|
private |
Definition at line 570 of file simple_planner.hpp.
|
private |
Definition at line 593 of file simple_planner.hpp.
|
private |
Definition at line 596 of file simple_planner.hpp.
|
private |
Definition at line 594 of file simple_planner.hpp.
|
private |
Definition at line 585 of file simple_planner.hpp.
|
private |
Callback handle for dynamic parameter reconfiguration.
Definition at line 561 of file simple_planner.hpp.
|
private |
Definition at line 545 of file simple_planner.hpp.
|
private |
Definition at line 597 of file simple_planner.hpp.
|
private |
Definition at line 548 of file simple_planner.hpp.
|
private |
Definition at line 550 of file simple_planner.hpp.
|
private |
Definition at line 604 of file simple_planner.hpp.
|
private |
Definition at line 609 of file simple_planner.hpp.
|
private |
Definition at line 568 of file simple_planner.hpp.
|
private |
Definition at line 637 of file simple_planner.hpp.
|
private |
Definition at line 638 of file simple_planner.hpp.
|
private |
Definition at line 611 of file simple_planner.hpp.
|
private |
Definition at line 540 of file simple_planner.hpp.
|
private |
Definition at line 543 of file simple_planner.hpp.
|
private |
Definition at line 541 of file simple_planner.hpp.
|
private |
Definition at line 542 of file simple_planner.hpp.
|
private |
Definition at line 537 of file simple_planner.hpp.
|
private |
Definition at line 538 of file simple_planner.hpp.
|
private |
Definition at line 565 of file simple_planner.hpp.
|
private |
Definition at line 572 of file simple_planner.hpp.
|
private |
Definition at line 578 of file simple_planner.hpp.
|
private |
Definition at line 575 of file simple_planner.hpp.
|
private |
Definition at line 564 of file simple_planner.hpp.