春ロボ2019 経路追従プログラム(ver.3)
Dependencies: CruizCore_R1370P
Fork of PathFollowing1-ver2 by
PathFollowing1.h
- Committer:
- yuki0701
- Date:
- 2018-11-01
- Revision:
- 2:cd72726e166f
- Parent:
- 0:3d9101dd0061
File content as of revision 2:cd72726e166f:
#ifndef HARUROBO2019_PATHFOLLOWING_H #define HARUROBO2019_PATHFOLLOWING_H #include <EC.h> #include <R1370P.h> class pathfollowing1 : public Ec { private: double p_out,r_out; double Kvq_p,Kvq_d,Kvr_p,Kvr_d; double diff,diff_old,diffangle,diffangle_old; double out_dutyQ,out_dutyR; double now_angle,target_angle; double now_timeQ,old_timeQ,now_timeR,old_timeR; protected: public: double now_x, now_y; void XYRmotorout(double plot_x1, double plot_y1, double plot_x2, double plot_y2, double *ad_x_out, double *ad_y_out, double *ad_r_out); //出発地点、目標地点の座標から機体のx軸方向、y軸方向、旋回の出力を算出する関数 /* *⒈main分内でx_out,y_out,r_outをdouble型で定義 *⒉XYRmotorout関数使用時は、num番目のx、y座標、num+1番目のx,y座標に加えx_out,y_out,r_outのアドレス(&x_out,&y_out,&r_out)を渡す→(XYRmotorout(座標×4つ,&x_out,&y_out,&r_out)) */ void set_p_out(double p); //ベクトルABに平行方向の出力値設定関数 void q_setPDparam(double q_p,double q_d); //ベクトルABに垂直な方向の誤差を埋めるPD制御のパラメータ設定関数 void r_setPDparam(double r_p,double r_d); //機体角度と目標角度の誤差を埋めるPD制御のパラメータ設定関数 void set_r_out(double r); //旋回時の最大出力値設定関数 void set_target_angle(double t); //機体目標角度設定関数 }; #endif