14 #include <Eigen/Dense>
26 std::shared_ptr<CarPose>
get_new_pose(std::shared_ptr<CarPose>
const p_currentPoseSPtr,
float p_carWheelbase,
float p_distance,
float p_yawDiff);
34 float m_crossAngleErrorWeight = 0;
35 float m_crossLineMarkingErrorWeight = 0;
37 float m_carWheelbase = 0.205f;
38 float m_errorIncraseFactor = 5;
40 float m_lastYawRate = 0;
41 float m_currentVelocity = 0;
42 float m_horizonStepTimeSec = 0.5f;
51 TwoAndAHalfCarrots(std::shared_ptr<std::vector<float>>
const p_yawStepsSPtr,
float p_horizonStepTimeSec = 0.5,
int p_horizon = 2,
int p_errorAccuracyStepsPerHorizon = 4,
float p_carWheelbase = 0.205f,
float p_errorIncraseFactor = 3);
52 void set_horizon(
int p_horizon);
53 bool set_horizon_step_time(
float valueSec);
54 bool set_error_factor_first_horizon(
float factor);
55 bool set_error_accuracy_steps_per_horizon(
int value);
56 void set_cross_angle_error_weight(
float val);
57 void set_cross_line_marking_error_weight(
float val);
65 float calculate_best_yaw_rate(std::shared_ptr<PolySpline> p_referenceTrajectorySPtr,
66 std::shared_ptr<line_markings_reference_t> p_lineMarkings,
71 std::shared_ptr<CarPoseSeries> get_pose_series(std::shared_ptr<CarPose>
const p_currentPoseSPtr,
float p_distance,
float p_yawRate,
int p_steps);
73 std::shared_ptr<CarPoseSeries const> get_last_first_poseseries()
const;
74 std::shared_ptr<CarPoseSeries const> get_last_second_poseseries()
const;
75 float get_last_best_yaw_rate()
const;
80 #endif // _CONTROL_HPP_