omniwheel lib
Dependents: NHK2017_octopus NHK2017_octopus2 NHK2017_octopus2_drive 2018NHK_gakugaku_robo ... more
omni_wheel.h@5:cfec945ea421, 2019-01-21 (annotated)
- 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?
User | Revision | Line number | New 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 |