12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #ifndef IVPARK_SIMPLE_H
- #define IVPARK_SIMPLE_H
- #include "ivif_park.h"
- #include "gps_type.h"
- class ivpark_simple : public ivif_park
- {
- public:
- ivpark_simple();
- public:
- virtual bool IsBocheEnable(double fLon, double fLat, double fHeading);
- virtual int GetBocheDecision(double fLon,double fLat,double fHeading,double fSpeed,double & fAcc,double & fWheel,int & nshift,double & fdSpeed,double & fdSecSpeed,VehState & xvehstate,bool bbocheMode);
- private:
- iv::GPS_INS maimgps;
- VehState mlastvehstate;
- double mCircleWheel = 0;
- private:
- /*
- 垂直泊车过程:
- 直倒-圆弧倒车-直倒-抵达
- 侧方泊车过程:
- 直倒-第一段圆弧倒车-直倒-第二段圆弧倒车-直倒-抵达
- */
- void reversingcarFun(iv::GPS_INS nowgps,double fSpeed,double & fAcc,double & fWheel,int & nshift,double & fdSpeed,double & fdSecSpeed,VehState & xvehstate); //直倒
- void reverseCircleFun(iv::GPS_INS nowgps,double fSpeed,double & fAcc,double & fWheel,int & nshift,double & fdSpeed,double & fdSecSpeed,VehState & xvehstate);// 圆弧
- void reverseDirectFun(iv::GPS_INS nowgps,double fSpeed,double & fAcc,double & fWheel,int & nshift,double & fdSpeed,double & fdSecSpeed,VehState & xvehstate); // 直倒
- void reverseArrFun(iv::GPS_INS nowgps,double fSpeed,double & fAcc,double & fWheel,int & nshift,double & fdSpeed,double & fdSecSpeed,VehState & xvehstate); // 抵达
- void dRever0Fun(iv::GPS_INS nowgps,double fSpeed,double & fAcc,double & fWheel,int & nshift,double & fdSpeed,double & fdSecSpeed,VehState & xvehstate); // 直倒
- void dRever1Fun(iv::GPS_INS nowgps,double fSpeed,double & fAcc,double & fWheel,int & nshift,double & fdSpeed,double & fdSecSpeed,VehState & xvehstate); // 第一段弧
- void dRever2Fun(iv::GPS_INS nowgps,double fSpeed,double & fAcc,double & fWheel,int & nshift,double & fdSpeed,double & fdSecSpeed,VehState & xvehstate); // 连接直倒
- void dRever3Fun(iv::GPS_INS nowgps,double fSpeed,double & fAcc,double & fWheel,int & nshift,double & fdSpeed,double & fdSecSpeed,VehState & xvehstate); // 第二段弧
- private:
- double GetDistance(iv::GPS_INS p1,iv::GPS_INS p2);
- };
- #endif // IVPARK_SIMPLE_H
|