parameter_status.h 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #ifndef PARAMETER_STATUS_H
  2. #define PARAMETER_STATUS_H
  3. #include <boost.h>
  4. #include <cstdint>
  5. #include <boost/serialization/singleton.hpp>
  6. #include <common/vv7.h>
  7. namespace iv {
  8. namespace decition {
  9. class ParameterStatus : public boost::noncopyable
  10. {
  11. public:
  12. /*****************
  13. * **** speed control *****
  14. * ***************/
  15. float speed_kp=0.5;
  16. float speed_kd=0.3;
  17. float speed_ki=0;
  18. float speed_kp_t=10;
  19. float speed_kd_t=0;
  20. float speed_ki_t=0;
  21. float speed_increase_limite_switch=1;
  22. float speed_decline_limite_switch=1;
  23. float speed_max_increase=5;
  24. float speed_max_decline=10;
  25. /*****************
  26. * **** ttc control *****
  27. * ***************/
  28. float ttc_emc=0.8;
  29. float ttc_urgent=1.6;
  30. float ttc_early=10;
  31. float brakeIntMax_emc=10;
  32. float brakeIntMax_urgent=5;
  33. float brakeIntMax_early=3;
  34. /*****************
  35. * **** wheel control *****
  36. * ***************/
  37. float wheel_p_eang=14;
  38. float wheel_p_epos=10;
  39. float wheel_d_eang=5;
  40. float wheel_d_epos=5;
  41. float wheel_i_eang=0;
  42. float wheel_i_epos=0;
  43. float wheel_previewDistance_coefficient=0.6;
  44. float wheel_previewDistance_min=5;
  45. float wheel_change_limit_switch=0;
  46. float wheel_max_change=10;
  47. /*****************
  48. * **** path planning *****
  49. * ***************/
  50. float road_width = 3.5; //道路宽度
  51. int now_road_num = 0; //车辆当前所在道路编号
  52. /*****************
  53. * **** frenet path planning *****
  54. * ***************/
  55. double MAX_SPEED = 50.0 / 3.6; // 最大速度 [m/s]
  56. double MAX_ACCEL = 10; // 最大加速度[m/ss]
  57. double MAX_CURVATURE = 10; // 最大曲率 [1/m]
  58. double MIN_ROAD_OFFSET = -3.5; // 最小道路偏移度 [m]。可以为负数。
  59. double MAX_ROAD_WIDTH = 3.5; // 最大道路宽度 [m]。过小可能不具有避障功能。
  60. double D_ROAD_W = 3.5; // 道路宽度采样间隔 [m]
  61. double DT = 0.2; // Delta T [s]。总的预测时间的增量。
  62. double MAXT = 4.0; // 最大预测时间 [s]
  63. double MINT = 2.0; // 最小预测时间 [s]
  64. double D_POINT_T = 0.04; // 时间增量 [s]。用于控制每条轨迹生成轨迹点的密度。
  65. double TARGET_SPEED = 30.0 / 3.6; // 目标速度(即纵向的速度保持) [m/s]
  66. double D_T_S = 5.0 / 3.6; // 目标速度采样间隔 [m/s]
  67. double N_S_SAMPLE = 1; // sampling number of target speed
  68. double ROBOT_RADIUS = 2.0; // robot radius [m]
  69. // 损失函数权重
  70. double KJ = 0.1;
  71. double KT = 0.1;
  72. double KD = 1.0;
  73. double KLAT = 1.0;
  74. double KLON = 1.0;
  75. };
  76. typedef boost::serialization::singleton<iv::decition::ParameterStatus> ParameterStatusSingleton;
  77. }
  78. #define ServiceParameterStatus iv::decition::ParameterStatusSingleton::get_mutable_instance()
  79. }
  80. #endif // PARAMETER_STATUS_H