28 #include "modules/canbus/proto/chassis.pb.h" 40 const TaskConfig& config,
41 const std::shared_ptr<DependencyInjector>& injector);
50 void InterpolateTrajectory(
54 void UpdateVehicleInfo();
57 std::string*
const encoding);
59 bool CheckTrajTraversed(
const std::string& trajectory_encoding_to_check);
61 void UpdateTrajHistory(
const std::string& chosen_trajectory_encoding);
64 std::vector<TrajGearPair>* partitioned_trajectories);
66 void LoadTrajectoryPoint(
const common::TrajectoryPoint& trajectory_point,
67 const bool is_trajectory_last_point,
68 const canbus::Chassis::GearPosition& gear,
74 const canbus::Chassis::GearPosition& gear,
75 const size_t trajectories_size,
76 const size_t trajectories_index,
77 size_t* current_trajectory_index,
78 size_t* current_trajectory_point_index);
80 bool UseFailSafeSearch(
81 const std::vector<TrajGearPair>& partitioned_trajectories,
82 const std::vector<std::string>& trajectories_encodings,
83 size_t* current_trajectory_index,
size_t* current_trajectory_point_index);
85 bool InsertGearShiftTrajectory(
86 const bool flag_change_to_next,
const size_t current_trajectory_index,
87 const std::vector<TrajGearPair>& partitioned_trajectories,
90 void GenerateGearShiftTrajectory(
91 const canbus::Chassis::GearPosition& gear_position,
94 void AdjustRelativeTimeAndS(
95 const std::vector<TrajGearPair>& partitioned_trajectories,
96 const size_t current_trajectory_index,
97 const size_t closest_trajectory_point_index,
102 OpenSpaceTrajectoryPartitionConfig open_space_trajectory_partition_config_;
103 double heading_search_range_ = 0.0;
104 double heading_track_range_ = 0.0;
105 double distance_search_range_ = 0.0;
106 double heading_offset_to_midpoint_ = 0.0;
107 double lateral_offset_to_midpoint_ = 0.0;
108 double longitudinal_offset_to_midpoint_ = 0.0;
109 double vehicle_box_iou_threshold_to_midpoint_ = 0.0;
110 double linear_velocity_threshold_on_ego_ = 0.0;
112 common::VehicleParam vehicle_param_;
113 double ego_length_ = 0.0;
114 double ego_width_ = 0.0;
115 double shift_distance_ = 0.0;
116 double wheel_base_ = 0.0;
118 double ego_theta_ = 0.0;
123 double vehicle_moving_direction_ = 0.0;
127 const std::pair<std::pair<size_t, size_t>,
double>& left,
128 const std::pair<std::pair<size_t, size_t>,
double>& right)
const {
129 return left.second <= right.second;
133 bool operator()(
const std::pair<size_t, double>& left,
134 const std::pair<size_t, double>& right) {
135 return left.second <= right.second;
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
Definition: discretized_trajectory.h:32
Planning module main class. It processes GPS and IMU as input, to generate planning info...
Definition: trajectory_optimizer.h:33
std::pair< DiscretizedTrajectory, canbus::Chassis::GearPosition > TrajGearPair
Definition: open_space_info.h:48
Rectangular (undirected) bounding box in 2-D.
Definition: box2d.h:52
Definition: open_space_trajectory_partition.h:37
Implements a class of 2-dimensional vectors.
Definition: vec2d.h:42
Linear interpolation functions.
~OpenSpaceTrajectoryPartition()=default
A general class to denote the return status of an API call. It can either be an OK status for success...
Definition: status.h:43
OpenSpaceTrajectoryPartition(const TaskConfig &config, const std::shared_ptr< DependencyInjector > &injector)