春ロボ2019 経路追従プログラム(ver.2)
Dependencies: CruizCore_R1370P
Fork of PathFollowing1 by
Diff: PathFollowing1.h
- Revision:
- 0:3d9101dd0061
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/PathFollowing1.h Wed Oct 31 09:56:08 2018 +0000 @@ -0,0 +1,50 @@ +#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(num,&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 \ No newline at end of file