first
Dependents: 17robo_fuzi 17robo_tokyo_kaede
Diff: mecanum.h
- Revision:
- 0:f3c5ba43a1aa
diff -r 000000000000 -r f3c5ba43a1aa mecanum.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mecanum.h Sun Sep 24 05:24:12 2017 +0000 @@ -0,0 +1,55 @@ +/* +Mecanum mecanum + +Sbdbtの入力 +y↑ -y↓ +x→ -x← +.setupdeg([float]Deg) //角度センサの初期値設定 +.sbdbt_cal([float]Vx, [float]Vy, [int]con_rl, [int]con_l1, [float]w, [float]angle) //使わない部分は0を代入 +.xy_cal([float]Vx, [float]Vy) //xyの代入値(-1.0 ~ 1.0) + +.v1 //(返り値[float] -1.0 ~ 1.0) モータ1用出力 +.v2 //(返り値[float] -1.0 ~ 1.0) モータ2用出力 +.v3 //(返り値[float] -1.0 ~ 1.0) モータ3用出力 +.v4 //(返り値[float] -1.0 ~ 1.0) モータ4用出力 + +メカナム設置図 + ↑→ →↓ + O---O + O---O + ←↑ ↓← + + +*/ + +#define rotaPower 0.6 +#define rotaStickPower 0.35 +#define boost_A 0.5 +#define boost_K 0.9 +#define PI 3.141592 + +#ifndef MBED_MECANUM_H +#define MBED_MECANUM_H + +#include "mbed.h" + +class Mecanum{ + public: + void sbdbt_cal(float Vx, float Vy, int r1, int l1,float w, float angle); + void setupdeg(float Deg); + void boost(); + void boost_forward(); + void boost_back(); + void boost_right(); + void boost_left(); + void xy_cal(float Vx, float Vy); + float v1(); + float v2(); + float v3(); + float v4(); + float VX(); + float VY(); + private: + float V1, V2, V3, V4, vx, vy; + float first_deg, rad; +}; + +#endif \ No newline at end of file