#include "cpp_extern_macro.h"
#include "detect_os.h"
Go to the source code of this file.
Enumerations | |
enum | { URG_BAUDRATE = 115200, URG_DATA_SIZE = 769, NO_FILE_ERROR = -2, URG_BAUDRATE_ADJUST_ERROR = -3, URG_PRODUCT_MISMATCH_ERROR = -4 } |
測域センサ操作の定数 More... | |
Functions | |
int | initURGCtrl (int argc, char *argv[]) |
センサへの接続を行う | |
char * | urg_getError (void) |
エラーメッセージを返す | |
int | urg_capture (long *data, int from, int to, int group) |
センサからデータ取得 | |
int | deg2index (const int degree) |
degree角度をデータ配列のindex値に変換 | |
int | index2deg (const int index) |
データ配列のindex値をdegree角度に変換 | |
double | index2rad (const int index) |
データ配列のindex値をradian角度に変換 | |
double | deg2rad (const int degree) |
degree角度をradian角度に変換 | |
Variables | |
BEGIN_C_DECLS | |
END_C_DECLS |
$Id$
Definition in file urg_ctrl.h.
anonymous enum |
測域センサ操作の定数
URG_BAUDRATE | 標準の接続ボーレート |
URG_DATA_SIZE | 受信データの最大個数 (1024.0*270/360)+1 |
URG_BAUDRATE_ADJUST_ERROR | 通信速度の調整に失敗 |
URG_PRODUCT_MISMATCH_ERROR | ドライバ未対応の製品に接続 |
Definition at line 20 of file urg_ctrl.h.
int initURGCtrl | ( | int | argc, | |
char * | argv[] | |||
) |
センサへの接続を行う
プログラム実行時の引数で指定されたデバイスへの接続を試みる。接続に失敗した場合、接続するデバイスを、
引数で指定できる項目は以下の通り
意味を持つ環境変数は以下の通り
argc | [i] main()の argc | |
argv | [i] main()の argv |
< 0 エラー
Definition at line 243 of file urg_ctrl.c.
References URG_BAUDRATE.
char* urg_getError | ( | void | ) |
エラーメッセージを返す
なし |
Definition at line 307 of file urg_ctrl.c.
int urg_capture | ( | long * | data, | |
int | from, | |||
int | to, | |||
int | group | |||
) |
センサからデータ取得
データが格納される配列には、センサ全面を 0[degree]とした場合の -135[degree]が index の 0 に、135[degree]が index の 768 に対応する。
配列に格納されるデータと角度の関係(センサ真上からの図)
// 全く同じ測定データが帰ってくる環境だと仮定する long data[URG_DATA_SIZE]; urg_capture(data, 0, URG::DATA_SIZE, 1); // 格納されるデータ: { 21, 22, 24, 23, 25, 26,...}; urg_capture(data, 0, URG::DATA_SIZE, 2); // 格納されるデータ: { 21, 21, 23, 23, 25, 26,...}, 受信サイズが 1/2 に urg_capture(data, 0, URG::DATA_SIZE, 3); // 格納されるデータ: { 21, 21, 21, 24, 24, 24,...}, 受信サイズが 1/3 に
data | [o] データが格納される配列 | |
from | [i] 測距開始index | |
to | [i] 測距終了index | |
group | [i] グルーピングを行うデータ数 |
URG::DATA_MAX | 配列のデータ個数 | |
< | 0 取得エラー |
Definition at line 362 of file urg_ctrl.c.
References URG_DATA_SIZE.
int deg2index | ( | const int | degree | ) |
degree角度をデータ配列のindex値に変換
角度とURGCapturecapture() のデータ配列との変換を行う
degree | [i] degree角度 |
Definition at line 467 of file urg_ctrl.c.
References URG_DATA_SIZE.
int index2deg | ( | const int | index | ) |
データ配列のindex値をdegree角度に変換
角度とURGCapturecapture() のデータ配列との変換を行う
index | [i] 配列のindex値 |
Definition at line 492 of file urg_ctrl.c.
double index2rad | ( | const int | index | ) |
データ配列のindex値をradian角度に変換
角度とURGCapturecapture() のデータ配列との変換を行う
index | [i] 配列のindex値 |
Definition at line 505 of file urg_ctrl.c.
double deg2rad | ( | const int | degree | ) |
degree角度をradian角度に変換
degree | [i] degree角度 |
Definition at line 525 of file urg_ctrl.c.