first

Dependents:   17robo_fuzi 17robo_tokyo_kaede

mecanum.h

Committer:
echo_piyo
Date:
2017-09-24
Revision:
0:f3c5ba43a1aa

File content as of revision 0:f3c5ba43a1aa:

/*
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