qrk::mUrgCtrl Class Reference

モニタ対応の URG 制御 More...

#include <mUrgCtrl.h>

Inheritance diagram for qrk::mUrgCtrl:
Inheritance graph
[legend]

List of all members.

Public Types

enum  { DefaultBaudrate = 115200, Infinity = 0 }
 

オプション用パラメータ

More...

Public Member Functions

int capture (std::vector< long > &data, long *timestamp=NULL)
 Get data.
RangeCaptureMode captureMode (void)
int captureWithIntensity (std::vector< long > &data, std::vector< long > &intensity_data, long *timestamp=NULL)
bool connect (const char *device, long baudrate=DefaultBaudrate)
 Connection.
Connectionconnection (void)
 Get connection object.
void disconnect (void)
 Disconnect.
double index2rad (const int index) const
 Radian to angle conversion of data index.
bool isConnected (void) const
 Returns connection status.
bool loadParameter (void)
long maxDistance (void) const
 Get valid maximum distance.
int maxScanLines (void) const
 Get Max scan index.
long minDistance (void) const
 Get valid minimum distance.
 mUrgCtrl (int argc, char *argv[])
 コンストラクタ
RangeSensorParameter parameter (void) const
 Get URG parameter.
int rad2index (const double radian) const
 radian Convert angle in radian to data index
void reboot (void)
size_t remainCaptureTimes (void)
void reset (void)
int scanMsec (void) const
void setCaptureFrameInterval (size_t interval)
void setCaptureMode (RangeCaptureMode mode)
void setCaptureRange (int begin_index, int end_index)
void setCaptureSkipLines (size_t skip_lines)
void setCaptureTimes (size_t times)
void setConnection (Connection *con)
 Specifies the connection object.
bool setLaserOutput (bool on)
void setParameter (const RangeSensorParameter &parameter)
 Update URG parameter.
void setRetryTimes (size_t times)
bool setTimestamp (int ticks=0, int *response_msec=NULL, int *force_delay_msec=NULL)
 Sets the timestamp value. Sensor returs this timestamp value.
void stop (void)
bool versionLines (std::vector< std::string > &lines)
const char * what (void) const
 Returns internal status.
 ~mUrgCtrl (void)

Private Member Functions

 mUrgCtrl (const mUrgCtrl &rhs)
 mUrgCtrl (void)
mUrgCtrloperator= (const mUrgCtrl &rhs)

Private Attributes

std::auto_ptr< pImpl > pimpl

Detailed Description

モニタ対応の URG 制御

Definition at line 18 of file mUrgCtrl.h.


Member Enumeration Documentation

anonymous enum

オプション用パラメータ

Enumerator:
DefaultBaudrate 

接続時のデフォルトボーレート

Infinity 

無限回のデータ取得

Definition at line 26 of file mUrgCtrl.h.


Constructor & Destructor Documentation

qrk::mUrgCtrl::mUrgCtrl ( void   )  [private]
qrk::mUrgCtrl::mUrgCtrl ( const mUrgCtrl rhs  )  [private]
qrk::mUrgCtrl::mUrgCtrl ( int  argc,
char *  argv[] 
) [explicit]

コンストラクタ

動作モードを指定する

  • Record モード (-r 指定)
    • 取得データをログファイルに書き出す
  • Play モード (-p 指定)
    • ログファイルのデータを取得データとして扱う

使用例

// プログラム実行時の引数に -r, -p を指定することで動作が変わる。
//
// % ./a.exe -r    データを取得しつつ、記録する
// % ./a.exe -p    記録済みのデータを再生する
//
// ただし、記録時と再生時では同じプログラムを使うこと。

#include <mUrgCtrl.h>

using namespace qrk;
using namespace std;


int main(int argc, char *argv[])
{
  mUrgCtrl urg(argc, argv);

  if (! urg.connect("COM4")) {
    ...
  }

  long timestamp = 0;
  vector<long> data;
  urg.capture(data, &timestamp);

  ...
} 
See also:
UrgCtrl
qrk::mUrgCtrl::~mUrgCtrl ( void   ) 

Member Function Documentation

int qrk::mUrgCtrl::capture ( std::vector< long > &  data,
long *  timestamp = NULL 
) [virtual]

Get data.

Get data and store it in buffer.

Parameters:
[out] data Buffer to store data
[out] timestamp Time stamp
Returns:
Number of data recieved.
Return values:
<0 Receiving failed

Implements qrk::RangeSensor.

RangeCaptureMode qrk::mUrgCtrl::captureMode ( void   )  [virtual]

Implements qrk::RangeSensor.

int qrk::mUrgCtrl::captureWithIntensity ( std::vector< long > &  data,
std::vector< long > &  intensity_data,
long *  timestamp = NULL 
) [virtual]

Implements qrk::RangeSensor.

bool qrk::mUrgCtrl::connect ( const char *  device,
long  baudrate = DefaultBaudrate 
) [virtual]

Connection.

Parameters:
[in] device Connected device name
[in] baudrate Baudrate
Return values:
true Success
false Failure

Example

const char device[] = "/dev/ttyACM0";
const long baudrate = 115200;
UrgCtrl sensor;

// Connect to specified device
if (! sensor.connect(device, baudrate)) {
  printf("connect: %s\n", sensor.what());
  exit(1);
} 

Implements qrk::RangeSensor.

Connection* qrk::mUrgCtrl::connection ( void   )  [virtual]

Get connection object.

Returns:
Connection object

Implements qrk::RangeSensor.

void qrk::mUrgCtrl::disconnect ( void   )  [virtual]

Disconnect.

Implements qrk::RangeSensor.

double qrk::mUrgCtrl::index2rad ( const int  index  )  const [virtual]

Radian to angle conversion of data index.

Front of sensor is considered as 0.0 in radians.

Parameters:
[in] index Data index
Returns:
angle [radian]
sensor_radian.png

upper view

See also:
index2deg(), rad2index(), deg2index()

Implements qrk::RangeSensor.

bool qrk::mUrgCtrl::isConnected ( void   )  const [virtual]

Returns connection status.

Return values:
true If connected.
false if disconnected.

Implements qrk::RangeSensor.

bool qrk::mUrgCtrl::loadParameter ( void   ) 
long qrk::mUrgCtrl::maxDistance ( void   )  const [virtual]

Get valid maximum distance.

Returns:
Valid maximum distance

Implements qrk::RangeSensor.

int qrk::mUrgCtrl::maxScanLines ( void   )  const [virtual]

Get Max scan index.

Returns:
Max scan index

Implements qrk::RangeSensor.

long qrk::mUrgCtrl::minDistance ( void   )  const [virtual]

Get valid minimum distance.

Returns:
valid minimum distance

Implements qrk::RangeSensor.

mUrgCtrl& qrk::mUrgCtrl::operator= ( const mUrgCtrl rhs  )  [private]
RangeSensorParameter qrk::mUrgCtrl::parameter ( void   )  const [virtual]

Get URG parameter.

Returns:
URG parameter

Implements qrk::RangeSensor.

int qrk::mUrgCtrl::rad2index ( const double  radian  )  const [virtual]

radian Convert angle in radian to data index

Front of sensor is considered as 0.0 in radians.

Parameters:
[in] radian angle [radian]
Returns:
Data index
See also:
deg2index(), index2rad(), index2deg()

Implements qrk::RangeSensor.

void qrk::mUrgCtrl::reboot ( void   ) 
size_t qrk::mUrgCtrl::remainCaptureTimes ( void   ) 
void qrk::mUrgCtrl::reset ( void   ) 
int qrk::mUrgCtrl::scanMsec ( void   )  const [virtual]

Implements qrk::RangeSensor.

void qrk::mUrgCtrl::setCaptureFrameInterval ( size_t  interval  ) 
void qrk::mUrgCtrl::setCaptureMode ( RangeCaptureMode  mode  )  [virtual]

Implements qrk::RangeSensor.

void qrk::mUrgCtrl::setCaptureRange ( int  begin_index,
int  end_index 
)
void qrk::mUrgCtrl::setCaptureSkipLines ( size_t  skip_lines  ) 
void qrk::mUrgCtrl::setCaptureTimes ( size_t  times  ) 
void qrk::mUrgCtrl::setConnection ( Connection con  )  [virtual]

Specifies the connection object.

Parameters:
[in] con Connection object

Implements qrk::RangeSensor.

bool qrk::mUrgCtrl::setLaserOutput ( bool  on  )  [virtual]

Implements qrk::RangeSensor.

void qrk::mUrgCtrl::setParameter ( const RangeSensorParameter parameter  )  [virtual]

Update URG parameter.

Parameters:
[in] parameter data used to update URG parameter

Implements qrk::RangeSensor.

void qrk::mUrgCtrl::setRetryTimes ( size_t  times  ) 
bool qrk::mUrgCtrl::setTimestamp ( int  timestamp = 0,
int *  response_msec = NULL,
int *  force_delay_msec = NULL 
) [virtual]

Sets the timestamp value. Sensor returs this timestamp value.

Sets the time stamp that can be acquired with capture().

Parameters:
[in] ticks Set value of time stamp at that time
[out] response_msec Response time for sending and receiving message [msec]
[in] force_delay_msec Forced delay
Return values:
true Success
false Failure

Implements qrk::RangeSensor.

void qrk::mUrgCtrl::stop ( void   ) 
bool qrk::mUrgCtrl::versionLines ( std::vector< std::string > &  lines  ) 
const char* qrk::mUrgCtrl::what ( void   )  const [virtual]

Returns internal status.

Returns:
String that represent internal status

Example

UrgCtrl sensor;
if (! sensor.connect(device, baudrate)) {
  // Displays error message when connection is failed.
  printf("connect: %s\n", sensor.what());
  exit(1);
} 

Implements qrk::RangeSensor.


Member Data Documentation

std::auto_ptr<pImpl> qrk::mUrgCtrl::pimpl [private]

Definition at line 19 of file mUrgCtrl.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Friends Defines


libhokuyo_urg
Author(s): Alexander Bubeck
autogenerated on Fri Jan 11 09:14:15 2013