NagaokaRoboticsClub_mbedTeam / omni_wheel

Dependents:   NHK2017_octopus NHK2017_octopus2 NHK2017_octopus2_drive 2018NHK_gakugaku_robo ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers omni_wheel.h Source File

omni_wheel.h

00001 #ifndef OMNI_WHEEL_H
00002 #define OMNI_WHEEL_H
00003 
00004 #include "mbed.h"
00005 #include "wheel.h"
00006 
00007 /**
00008  * 汎用オムニホイール駆動用クラス
00009  */
00010 class OmniWheel {
00011 public:
00012 
00013 
00014     Wheel *wheel;
00015 
00016     /**
00017      * デフォルトコンストラクタ
00018      */
00019     OmniWheel();
00020 
00021     /**
00022      * コンストラクタ
00023      * @param wheelNumber 車輪数
00024      */
00025     OmniWheel(int wheelNumber);
00026 
00027     /**
00028      * XY平行移動ベクトル、回転中心とモーメントで出力を計算
00029      * @param X      平行移動X
00030      * @param Y      平行移動Y
00031      * @param gX     回転中心座標X
00032      * @param gY     回転中心座標Y
00033      * @param moment 回転量
00034      */
00035     void computeXY(double X, double Y, double gX, double gY, double moment);
00036 
00037     /**
00038      * XY平行移動ベクトル、モーメントで出力を計算
00039      * @param X      平行移動X
00040      * @param Y      平行移動Y
00041      * @param moment 回転量
00042      */
00043     void computeXY(double X, double Y, double moment);
00044 
00045     /**
00046      * rθ平行移動ベクトル、回転中心とモーメントで出力を計算
00047      * @param r      平行移動スピード
00048      * @param theta  平行移動角度
00049      * @param gX     回転中心X
00050      * @param gY     回転中心Y
00051      * @param moment 回転量
00052      */
00053     void computeCircular(double r, double theta, double gX, double gY, double moment);
00054 
00055     /**
00056      * rθ平行移動ベクトル、モーメントで出力を計算
00057      * @param r      平行移動スピード
00058      * @param theta  平行移動角度
00059      * @param moment モーメント
00060      */
00061     void computeCircular(double r, double theta, double moment);
00062 private:
00063     int wheelNumber;
00064 protected:
00065 };
00066 
00067 #endif//OMNI_WHEEL_H