omniwheel lib
Dependents: NHK2017_octopus NHK2017_octopus2 NHK2017_octopus2_drive 2018NHK_gakugaku_robo ... more
Diff: wheel.h
- Revision:
- 1:e9b590a5b27a
- Parent:
- 0:952a0ff1bf46
- Child:
- 2:9d972b2dad0f
diff -r 952a0ff1bf46 -r e9b590a5b27a wheel.h --- a/wheel.h Thu Sep 14 05:51:25 2017 +0000 +++ b/wheel.h Sat Sep 30 05:22:22 2017 +0000 @@ -5,19 +5,94 @@ class Wheel { public: + + /** + * デフォルトコンストラクタ + */ Wheel(); + + /** + * コンストラクタ + * @param radian 車輪角 + */ Wheel(double radian); + + /** + * コンストラクタ + * @param radian 車輪角 + * @param distance 車輪距離 + */ Wheel(double radian, double distance); + + /** + * コピーコンストラクタ + * @param a wheelmember + */ Wheel(const Wheel &a); + + /** + * 代入演算子 + * @return wheeel member + */ Wheel &operator=(const Wheel &a); + + /** + * 代入演算子 + * @return 計算結果 + */ Wheel &operator=(double value); + + /** + * キャスト演算子 + * @return 計算結果 + */ operator double(); + + /** + * キャスト演算子 + * @return 計算結果 + */ operator float(); + + /** + * 車輪の角度を設定 + * @param tRadian dadian + */ void setRadian(double tRadian); + + /** + * 車輪の距離を設定 + * @param tDistance distance + */ void setDistance(double tDistance); + + /** + * 出力値を設定 + * @param value output + */ void setOutput(double value); + + /** + * 平行移動出力計算 + * @param r 距離 + * @param theta 角度 + * @return 出力値 + */ double calculateShift(double r, double theta); + + /** + * 回転移動出力計算 + * @param X 回転中心X + * @param Y 回転中心Y + * @param value 回転量 + * @return 出力値 + */ double calculateRotate(double X, double Y, double value); + + /** + * 出力値を取得 + * @return 出力値(計算結果) + */ double getOutput(); private: