native_sdk_reference_sensor - aks3g/ai_mini_4wd_kit GitHub Wiki
Sensor処理用関数
定数一覧
型定義一覧
名前 | 概要 |
---|---|
AiMini4wdSensorData | センサーから得られた値を格納する構造体 |
AiMini4wdCapturedSensorDataCb | 新しいセンサデータが得られた際に呼ばれるコールバック関数 |
関数名一覧
名前 | 概要 |
---|---|
aiMini4wdSensorGrabLastData | バッファされている最新のセンサデータを取得します |
aiMini4wdSensorRegisterCapturedCallback | 新しいセンサデータが取得された際に呼ばれるコールバック関数の登録 |
aiMini4wdSensorGetCurrentRpm | 現在の回転数を取得する |
aiMini4wdSensorGetSpeed | 現在の速度[km/s]を取得する |
aiMini4wdSensorSetTireSize | マシンのタイヤサイズを設定する |
型定義
AiMini4wdSensorData
センサーから得られた値を格納するための構造体
定義
typedef struct AiMini4wdSensorData_t
{
struct {
float accel_f[3];
float gyro_f[3];
} imu;
float rpm;
} AiMini4wdSensorData;
メンバー
- accel_f - 加速度センサの値(3軸) [mg]
- gyro_f - ジャイロセンサの値(3軸)[mdegree/sec]
- rpm - タイヤの回転数[rpm]
AiMini4wdCapturedSensorDataCb
新しいセンサデータが得られた時に呼ばれるコールバック関数
定義
typedef void (*AiMini4wdCapturedSensorDataCb)(AiMini4wdSensorData *sensor_data);
引数
- sensor_data - 新しいセンサデータへのポインタ
戻り値
なし
関数定義
aiMini4wdSensorGrabLastData
最新のセンサデータを取得する
定義
int aiMini4wdSensorGrabLastData(AiMini4wdSensorData *sensor_data);
説明
AIミニ四駆キットには3軸のジャイロ、加速度センサ及び、タイヤの回転数を計測するエンコーダが搭載されています。 これらの値は、52Hzで更新されています。この関数では、最後に更新された値を取得することが可能です。
引数
- sensor_data : センサデータを格納するためのバッファへのポインタ
戻り値
- AI_OK - 初期化成功
- その他 - 何らかのエラー
aiMini4wdSensorRegisterCapturedCallback
最新のセンサデータを取得したときに呼ばれるコールバック関数の登録
定義
int aiMini4wdSensorRegisterCapturedCallback(AiMini4wdCapturedSensorDataCb cb);
説明
AIミニ四駆キットには3軸のジャイロ、加速度センサ及び、タイヤの回転数を計測するエンコーダが搭載されています。 これらの値は、52Hzで更新されています。この関数では、最新のセンサデータが取得できた際にコールバックされる関数を 登録することが可能です。
この関数を使用することで、取りこぼすことなくセンサデータを扱う事が可能になります。 aiMini4wdSensorGrabLastData() を用いるよりも、この関数を使用してコールバックでセンサの値を取得することを 推奨しています。
引数
- cb : センサデータ取得に呼ばれるコールバック関数へのポインタ
戻り値
- AI_OK - 初期化成功
- その他 - 何らかのエラー
aiMini4wdSensorGetCurrentRpm
現在のタイヤの回転数を取得します
定義
float aiMini4wdSensorGetCurrentRpm(void);
説明
現在のタイヤの回転数[rpm]を取得します。
引数
なし
戻り値
- タイヤの回転数[rpm]
aiMini4wdSensorGetSpeed
タイヤの回転数から計算されるマシンの速度[km/h]を取得します。
定義
float aiMini4wdSensorGetSpeed(void);
説明
現在のタイヤの回転数と、タイヤのサイズからマシンの速度(時速[km/h])を計算し、その結果を返します。 この関数を使用するためには、aiMini4wdSensorSetTireSizeを使用してマシンのタイヤサイズを設定しておく必要があります。
引数
なし
戻り値
- マシンの速度[km/h]
aiMini4wdSensorSetTireSize
マシンのタイヤサイズを設定
定義
int aiMini4wdSensorSetTireSize(float mm);
説明
マシンの速度を知る為に、タイヤの回転数とタイヤのサイズが必要になります。 タイヤの回転数はセンサで取得しますが、タイヤのサイズはプログラム的に設定する必要があります。
この関数を使用してマシンのタイヤサイズを設定することで、SDKを用いてマシンの速度を知ることが可能になります。
引数
- mm : タイヤサイズ[mm]
戻り値
- AI_OK - 初期化成功
- その他 - 何らかのエラー