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で更新されています。この関数では、最後に更新された値を取得することが可能です。

引数

  1. sensor_data : センサデータを格納するためのバッファへのポインタ

戻り値

  • AI_OK - 初期化成功
  • その他 - 何らかのエラー

aiMini4wdSensorRegisterCapturedCallback

最新のセンサデータを取得したときに呼ばれるコールバック関数の登録

定義

int aiMini4wdSensorRegisterCapturedCallback(AiMini4wdCapturedSensorDataCb cb);

説明

AIミニ四駆キットには3軸のジャイロ、加速度センサ及び、タイヤの回転数を計測するエンコーダが搭載されています。 これらの値は、52Hzで更新されています。この関数では、最新のセンサデータが取得できた際にコールバックされる関数を 登録することが可能です。

この関数を使用することで、取りこぼすことなくセンサデータを扱う事が可能になります。 aiMini4wdSensorGrabLastData() を用いるよりも、この関数を使用してコールバックでセンサの値を取得することを 推奨しています。

引数

  1. 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を用いてマシンの速度を知ることが可能になります。

引数

  1. mm : タイヤサイズ[mm]

戻り値

  • AI_OK - 初期化成功
  • その他 - 何らかのエラー