URGInterface Class Reference

URG 操作の純粋仮想関数. More...

#include <urgInterface.h>

Inheritance diagram for URGInterface:

Inheritance graph
[legend]

List of all members.

Classes

struct  urgParams_t
 レンジセンサのスペック More...

Public Member Functions

virtual urgParams_tgetParameters (void)=0
 センサのパラメータ情報を返す
virtual long * getLengthData (void)=0
 測定データが格納された配列へのポインタを返す
virtual const char * what (void)=0
 エラー状態を示す文字列を返す
virtual int connect (const char *device, long baudrate=URG::DefaultBaudrate, bool autoCapture=URG::AutoCapture)=0
 デバイスを指定してセンサ接続を行う
virtual int connect (int argc, char *argv[], bool autoCapture=URG::AutoCapture)=0
 引数、および b5conf.txt の内容を評価してセンサへの接続を行う
virtual void disconnect (void)=0
 センサとの接続を切断する
virtual int capture (int first_index, int last_index, int group=1)=0
 センサデータの取得
virtual int capture (int group=1)=0
virtual double index2rad (int index)
 センサデータのインデックス・角度変換
virtual int rad2index (double radian)
 センサデータの角度・インデックス変換


Detailed Description

URG 操作の純粋仮想関数.

Definition at line 30 of file urgInterface.h.


Member Function Documentation

virtual urgParams_t& URGInterface::getParameters ( void   )  [pure virtual]

センサのパラメータ情報を返す

Todo:
説明を記述

Implemented in URGCtrl.

Referenced by index2rad(), and rad2index().

virtual long* URGInterface::getLengthData ( void   )  [pure virtual]

測定データが格納された配列へのポインタを返す

Todo:
説明を記述

Implemented in URGCtrl.

virtual const char* URGInterface::what ( void   )  [pure virtual]

エラー状態を示す文字列を返す

Todo:
説明を記述、各 what での説明を統一
Returns:
センサ状態を示す文字列
使用例
    URGCtrl urg;
    if (urg.connect(argc, argv, URG::AutoCapture) < 0) {
      // 接続に失敗した場合、エラーメッセージを表示して終了
      printf("URGCtrl::connect: %s\n", urg.what());
      exit(1);
    }
    ...

Implemented in URGCtrl.

Referenced by VXV::initConnection().

virtual int URGInterface::connect ( const char *  device,
long  baudrate = URG::DefaultBaudrate,
bool  autoCapture = URG::AutoCapture 
) [pure virtual]

デバイスを指定してセンサ接続を行う

Todo:
説明を記述
Parameters:
autoCapture [i] 接続の際の urg_capture_mode_page を指定
device [i] 接続デバイス名
baudrate [i] 接続ボーレート
Return values:
0 正常終了
戻り値 < 0 エラー

Implemented in URGCtrl.

Referenced by VXV::initConnection().

virtual int URGInterface::connect ( int  argc,
char *  argv[],
bool  autoCapture = URG::AutoCapture 
) [pure virtual]

引数、および b5conf.txt の内容を評価してセンサへの接続を行う

引数は、argv[1] から評価される

Todo:
説明を記述
Parameters:
argc [i] 引数の個数
argv [i] 引数文字列を格納した配列
autoCapture [i] 接続の際の urg_capture_mode_page を指定

Implemented in mURGCtrl, and URGCtrl.

virtual void URGInterface::disconnect ( void   )  [pure virtual]

センサとの接続を切断する

Todo:
説明を記述

Implemented in URGCtrl.

virtual int URGInterface::capture ( int  first_index,
int  last_index,
int  group = 1 
) [pure virtual]

センサデータの取得

URGCapture::capture の説明を参照のこと

Parameters:
first_index [i] 測定データの要求開始位置
last_index [i] 測定データの要求終了位置
group [i] グルーピングを行うデータ個数
Return values:
戻り値 > 0 取得したデータ配列の添え字の最大値
戻り値 < 0 エラー

Implemented in URGCtrl.

virtual int URGInterface::capture ( int  group = 1  )  [pure virtual]

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

Parameters:
group [i] グルーピングを行うデータ個数

Implemented in URGCtrl.

virtual double URGInterface::index2rad ( int  index  )  [inline, virtual]

センサデータのインデックス・角度変換

測定データの角度を、測定データ配列の添字の値から radian単位系の値に変換する

Parameters:
index [i] 測定データ配列の添字
Return values:
radian radian単位系における向きの値 (-M_PI, +M_PI)
Todo:
使用例を記述
Examples:
stopToObstacle.cpp.

Definition at line 155 of file urgInterface.h.

References URGInterface::urgParams_t::cycle_step_max, URGInterface::urgParams_t::first_step, getParameters(), and URGInterface::urgParams_t::rotate_direction.

Referenced by URGCtrl::convert().

virtual int URGInterface::rad2index ( double  radian  )  [inline, virtual]

センサデータの角度・インデックス変換

測定データの角度を、radian単位系の値から測定データ配列の添字の値に変換する

Parameters:
radian [i] 測定データの radian単位系での向き (-M_PI, +M_PI)
Return values:
index 測定データ配列の添字の値
Attention:
戻り値の値が適切かどうかの判定は、呼び出し元で行うこと
使用例
    URGCtrl urg;
    urg.connect(URG::ManualCapture, "/dev/ttyACM0");
    int n = urg.capture();

    // 指定角度の値の測定データを、取得データの配列内かを判定してから表示
    int index = urg.rad2index(M_PI/2.0);
    if ((index >= 0) && (index < n)) {
      printf("length: %d\n", urg.length[index]);
    }
Examples:
stopToObstacle.cpp.

Definition at line 186 of file urgInterface.h.

References URGInterface::urgParams_t::cycle_step_max, URGInterface::urgParams_t::first_step, and getParameters().


The documentation for this class was generated from the following file:

Generated on Mon Apr 13 22:52:07 2009 by  doxygen 1.5.7.1