omniwheel lib

Dependents:   NHK2017_octopus NHK2017_octopus2 NHK2017_octopus2_drive 2018NHK_gakugaku_robo ... more

Committer:
shinjitakano
Date:
Mon Jan 21 17:57:44 2019 +0900
Revision:
5:cfec945ea421
Parent:
1:e9b590a5b27a
wheel.cpp???????

Who changed what in which revision?

UserRevisionLine numberNew contents of line
UCHITAKE 0:952a0ff1bf46 1 #ifndef OMNI_WHEEL_H
UCHITAKE 0:952a0ff1bf46 2 #define OMNI_WHEEL_H
UCHITAKE 0:952a0ff1bf46 3
UCHITAKE 0:952a0ff1bf46 4 #include "mbed.h"
UCHITAKE 0:952a0ff1bf46 5 #include "wheel.h"
UCHITAKE 0:952a0ff1bf46 6
UCHITAKE 1:e9b590a5b27a 7 /**
UCHITAKE 1:e9b590a5b27a 8 * 汎用オムニホイール駆動用クラス
UCHITAKE 1:e9b590a5b27a 9 */
UCHITAKE 0:952a0ff1bf46 10 class OmniWheel {
UCHITAKE 0:952a0ff1bf46 11 public:
UCHITAKE 1:e9b590a5b27a 12
UCHITAKE 1:e9b590a5b27a 13
UCHITAKE 0:952a0ff1bf46 14 Wheel *wheel;
UCHITAKE 1:e9b590a5b27a 15
UCHITAKE 1:e9b590a5b27a 16 /**
UCHITAKE 1:e9b590a5b27a 17 * デフォルトコンストラクタ
UCHITAKE 1:e9b590a5b27a 18 */
UCHITAKE 0:952a0ff1bf46 19 OmniWheel();
UCHITAKE 1:e9b590a5b27a 20
UCHITAKE 1:e9b590a5b27a 21 /**
UCHITAKE 1:e9b590a5b27a 22 * コンストラクタ
UCHITAKE 1:e9b590a5b27a 23 * @param wheelNumber 車輪数
UCHITAKE 1:e9b590a5b27a 24 */
UCHITAKE 0:952a0ff1bf46 25 OmniWheel(int wheelNumber);
UCHITAKE 1:e9b590a5b27a 26
UCHITAKE 1:e9b590a5b27a 27 /**
UCHITAKE 1:e9b590a5b27a 28 * XY平行移動ベクトル、回転中心とモーメントで出力を計算
UCHITAKE 1:e9b590a5b27a 29 * @param X 平行移動X
UCHITAKE 1:e9b590a5b27a 30 * @param Y 平行移動Y
UCHITAKE 1:e9b590a5b27a 31 * @param gX 回転中心座標X
UCHITAKE 1:e9b590a5b27a 32 * @param gY 回転中心座標Y
UCHITAKE 1:e9b590a5b27a 33 * @param moment 回転量
UCHITAKE 1:e9b590a5b27a 34 */
UCHITAKE 0:952a0ff1bf46 35 void computeXY(double X, double Y, double gX, double gY, double moment);
UCHITAKE 1:e9b590a5b27a 36
UCHITAKE 1:e9b590a5b27a 37 /**
UCHITAKE 1:e9b590a5b27a 38 * XY平行移動ベクトル、モーメントで出力を計算
UCHITAKE 1:e9b590a5b27a 39 * @param X 平行移動X
UCHITAKE 1:e9b590a5b27a 40 * @param Y 平行移動Y
UCHITAKE 1:e9b590a5b27a 41 * @param moment 回転量
UCHITAKE 1:e9b590a5b27a 42 */
UCHITAKE 0:952a0ff1bf46 43 void computeXY(double X, double Y, double moment);
UCHITAKE 1:e9b590a5b27a 44
UCHITAKE 1:e9b590a5b27a 45 /**
UCHITAKE 1:e9b590a5b27a 46 * rθ平行移動ベクトル、回転中心とモーメントで出力を計算
UCHITAKE 1:e9b590a5b27a 47 * @param r 平行移動スピード
UCHITAKE 1:e9b590a5b27a 48 * @param theta 平行移動角度
UCHITAKE 1:e9b590a5b27a 49 * @param gX 回転中心X
UCHITAKE 1:e9b590a5b27a 50 * @param gY 回転中心Y
UCHITAKE 1:e9b590a5b27a 51 * @param moment 回転量
UCHITAKE 1:e9b590a5b27a 52 */
UCHITAKE 0:952a0ff1bf46 53 void computeCircular(double r, double theta, double gX, double gY, double moment);
UCHITAKE 1:e9b590a5b27a 54
UCHITAKE 1:e9b590a5b27a 55 /**
UCHITAKE 1:e9b590a5b27a 56 * rθ平行移動ベクトル、モーメントで出力を計算
UCHITAKE 1:e9b590a5b27a 57 * @param r 平行移動スピード
UCHITAKE 1:e9b590a5b27a 58 * @param theta 平行移動角度
UCHITAKE 1:e9b590a5b27a 59 * @param moment モーメント
UCHITAKE 1:e9b590a5b27a 60 */
UCHITAKE 0:952a0ff1bf46 61 void computeCircular(double r, double theta, double moment);
UCHITAKE 0:952a0ff1bf46 62 private:
UCHITAKE 0:952a0ff1bf46 63 int wheelNumber;
UCHITAKE 0:952a0ff1bf46 64 protected:
UCHITAKE 0:952a0ff1bf46 65 };
UCHITAKE 0:952a0ff1bf46 66
UCHITAKE 0:952a0ff1bf46 67 #endif//OMNI_WHEEL_H