omniwheel lib
Dependents: NHK2017_octopus NHK2017_octopus2 NHK2017_octopus2_drive 2018NHK_gakugaku_robo ... more
wheel.h@5:cfec945ea421, 2019-01-21 (annotated)
- Committer:
- shinjitakano
- Date:
- Mon Jan 21 17:57:44 2019 +0900
- Revision:
- 5:cfec945ea421
- Parent:
- 2:9d972b2dad0f
wheel.cpp???????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
UCHITAKE | 0:952a0ff1bf46 | 1 | #ifndef WHEEL_H |
UCHITAKE | 0:952a0ff1bf46 | 2 | #define WHEEL_H |
UCHITAKE | 0:952a0ff1bf46 | 3 | |
UCHITAKE | 0:952a0ff1bf46 | 4 | #include "mbed.h" |
UCHITAKE | 0:952a0ff1bf46 | 5 | |
UCHITAKE | 0:952a0ff1bf46 | 6 | class Wheel { |
UCHITAKE | 0:952a0ff1bf46 | 7 | public: |
UCHITAKE | 1:e9b590a5b27a | 8 | |
UCHITAKE | 1:e9b590a5b27a | 9 | /** |
UCHITAKE | 1:e9b590a5b27a | 10 | * デフォルトコンストラクタ |
UCHITAKE | 1:e9b590a5b27a | 11 | */ |
UCHITAKE | 0:952a0ff1bf46 | 12 | Wheel(); |
UCHITAKE | 1:e9b590a5b27a | 13 | |
UCHITAKE | 1:e9b590a5b27a | 14 | /** |
UCHITAKE | 1:e9b590a5b27a | 15 | * コンストラクタ |
UCHITAKE | 1:e9b590a5b27a | 16 | * @param radian 車輪角 |
UCHITAKE | 1:e9b590a5b27a | 17 | */ |
UCHITAKE | 0:952a0ff1bf46 | 18 | Wheel(double radian); |
UCHITAKE | 1:e9b590a5b27a | 19 | |
UCHITAKE | 1:e9b590a5b27a | 20 | /** |
UCHITAKE | 1:e9b590a5b27a | 21 | * コンストラクタ |
UCHITAKE | 1:e9b590a5b27a | 22 | * @param radian 車輪角 |
UCHITAKE | 1:e9b590a5b27a | 23 | * @param distance 車輪距離 |
UCHITAKE | 1:e9b590a5b27a | 24 | */ |
UCHITAKE | 0:952a0ff1bf46 | 25 | Wheel(double radian, double distance); |
UCHITAKE | 1:e9b590a5b27a | 26 | |
UCHITAKE | 1:e9b590a5b27a | 27 | /** |
UCHITAKE | 1:e9b590a5b27a | 28 | * コピーコンストラクタ |
UCHITAKE | 1:e9b590a5b27a | 29 | * @param a wheelmember |
UCHITAKE | 1:e9b590a5b27a | 30 | */ |
UCHITAKE | 0:952a0ff1bf46 | 31 | Wheel(const Wheel &a); |
UCHITAKE | 1:e9b590a5b27a | 32 | |
UCHITAKE | 1:e9b590a5b27a | 33 | /** |
UCHITAKE | 1:e9b590a5b27a | 34 | * 代入演算子 |
UCHITAKE | 1:e9b590a5b27a | 35 | * @return wheeel member |
UCHITAKE | 1:e9b590a5b27a | 36 | */ |
UCHITAKE | 0:952a0ff1bf46 | 37 | Wheel &operator=(const Wheel &a); |
UCHITAKE | 1:e9b590a5b27a | 38 | |
UCHITAKE | 1:e9b590a5b27a | 39 | /** |
UCHITAKE | 1:e9b590a5b27a | 40 | * 代入演算子 |
UCHITAKE | 1:e9b590a5b27a | 41 | * @return 計算結果 |
UCHITAKE | 1:e9b590a5b27a | 42 | */ |
UCHITAKE | 0:952a0ff1bf46 | 43 | Wheel &operator=(double value); |
uchitake |
2:9d972b2dad0f | 44 | /** |
uchitake |
2:9d972b2dad0f | 45 | * 代入演算子 |
uchitake |
2:9d972b2dad0f | 46 | * @return 計算結果 |
uchitake |
2:9d972b2dad0f | 47 | */ |
uchitake |
2:9d972b2dad0f | 48 | Wheel &operator=(float value); |
UCHITAKE | 1:e9b590a5b27a | 49 | |
UCHITAKE | 1:e9b590a5b27a | 50 | /** |
UCHITAKE | 1:e9b590a5b27a | 51 | * キャスト演算子 |
UCHITAKE | 1:e9b590a5b27a | 52 | * @return 計算結果 |
UCHITAKE | 1:e9b590a5b27a | 53 | */ |
UCHITAKE | 0:952a0ff1bf46 | 54 | operator double(); |
UCHITAKE | 1:e9b590a5b27a | 55 | |
UCHITAKE | 1:e9b590a5b27a | 56 | /** |
UCHITAKE | 1:e9b590a5b27a | 57 | * キャスト演算子 |
UCHITAKE | 1:e9b590a5b27a | 58 | * @return 計算結果 |
UCHITAKE | 1:e9b590a5b27a | 59 | */ |
UCHITAKE | 0:952a0ff1bf46 | 60 | operator float(); |
UCHITAKE | 1:e9b590a5b27a | 61 | |
UCHITAKE | 1:e9b590a5b27a | 62 | /** |
UCHITAKE | 1:e9b590a5b27a | 63 | * 車輪の角度を設定 |
UCHITAKE | 1:e9b590a5b27a | 64 | * @param tRadian dadian |
UCHITAKE | 1:e9b590a5b27a | 65 | */ |
UCHITAKE | 0:952a0ff1bf46 | 66 | void setRadian(double tRadian); |
UCHITAKE | 1:e9b590a5b27a | 67 | |
UCHITAKE | 1:e9b590a5b27a | 68 | /** |
UCHITAKE | 1:e9b590a5b27a | 69 | * 車輪の距離を設定 |
UCHITAKE | 1:e9b590a5b27a | 70 | * @param tDistance distance |
UCHITAKE | 1:e9b590a5b27a | 71 | */ |
UCHITAKE | 0:952a0ff1bf46 | 72 | void setDistance(double tDistance); |
UCHITAKE | 1:e9b590a5b27a | 73 | |
UCHITAKE | 1:e9b590a5b27a | 74 | /** |
UCHITAKE | 1:e9b590a5b27a | 75 | * 出力値を設定 |
UCHITAKE | 1:e9b590a5b27a | 76 | * @param value output |
UCHITAKE | 1:e9b590a5b27a | 77 | */ |
UCHITAKE | 0:952a0ff1bf46 | 78 | void setOutput(double value); |
UCHITAKE | 1:e9b590a5b27a | 79 | |
UCHITAKE | 1:e9b590a5b27a | 80 | /** |
UCHITAKE | 1:e9b590a5b27a | 81 | * 平行移動出力計算 |
UCHITAKE | 1:e9b590a5b27a | 82 | * @param r 距離 |
UCHITAKE | 1:e9b590a5b27a | 83 | * @param theta 角度 |
UCHITAKE | 1:e9b590a5b27a | 84 | * @return 出力値 |
UCHITAKE | 1:e9b590a5b27a | 85 | */ |
UCHITAKE | 0:952a0ff1bf46 | 86 | double calculateShift(double r, double theta); |
UCHITAKE | 1:e9b590a5b27a | 87 | |
UCHITAKE | 1:e9b590a5b27a | 88 | /** |
UCHITAKE | 1:e9b590a5b27a | 89 | * 回転移動出力計算 |
UCHITAKE | 1:e9b590a5b27a | 90 | * @param X 回転中心X |
UCHITAKE | 1:e9b590a5b27a | 91 | * @param Y 回転中心Y |
UCHITAKE | 1:e9b590a5b27a | 92 | * @param value 回転量 |
UCHITAKE | 1:e9b590a5b27a | 93 | * @return 出力値 |
UCHITAKE | 1:e9b590a5b27a | 94 | */ |
UCHITAKE | 0:952a0ff1bf46 | 95 | double calculateRotate(double X, double Y, double value); |
UCHITAKE | 1:e9b590a5b27a | 96 | |
UCHITAKE | 1:e9b590a5b27a | 97 | /** |
UCHITAKE | 1:e9b590a5b27a | 98 | * 出力値を取得 |
UCHITAKE | 1:e9b590a5b27a | 99 | * @return 出力値(計算結果) |
UCHITAKE | 1:e9b590a5b27a | 100 | */ |
UCHITAKE | 0:952a0ff1bf46 | 101 | double getOutput(); |
UCHITAKE | 0:952a0ff1bf46 | 102 | |
UCHITAKE | 0:952a0ff1bf46 | 103 | private: |
UCHITAKE | 0:952a0ff1bf46 | 104 | double radian; |
UCHITAKE | 0:952a0ff1bf46 | 105 | double distance; |
UCHITAKE | 0:952a0ff1bf46 | 106 | protected: |
UCHITAKE | 0:952a0ff1bf46 | 107 | double outputShift; |
UCHITAKE | 0:952a0ff1bf46 | 108 | double outputRotate; |
UCHITAKE | 0:952a0ff1bf46 | 109 | double output; |
UCHITAKE | 0:952a0ff1bf46 | 110 | }; |
UCHITAKE | 0:952a0ff1bf46 | 111 | |
UCHITAKE | 0:952a0ff1bf46 | 112 | #endif |