• 検索結果がありません。

つくばチャレンジ2008プログラム Robot Design and Control Lab urg

N/A
N/A
Protected

Academic year: 2018

シェア "つくばチャレンジ2008プログラム Robot Design and Control Lab urg"

Copied!
26
0
0

読み込み中.... (全文を見る)

全文

(1)

リファレンスマニュアル

作成: Doxygen 1.5.5

Fri Mar 6 22:57:57 2009

(2)
(3)

Contents

1 URGセンサコンポーネント 1

2 構成索引 3

2.1 構成 . . . 3

3 ファイル索引 5 3.1 ファイル一覧 . . . 5

4 クラス 7 4.1 クラスCSerial . . . 7

4.2 クラスurg. . . 11

5 ファイル 15 5.1 serial.cpp . . . 15

5.2 serial.h. . . 16

5.3 urg.cpp . . . 17

5.4 urg.h . . . 19

5.5 urgComp.cpp . . . 20

(4)
(5)

Chapter 1

URG センサコンポーネント

URGセンサ(北陽電機TopURG, HighURG)により周囲の距離を取得するコンポーネントです。 つくばチャレンジ用に作成したプログラムです。

バグが残っていると思いますが、何かの役に立てばと思い公開します。

注意:

このプログラムによって発生した損害は補償しません。 あくまでもサンプルとお考えください。

日付:

2008.03.03 作者:

Chiba Institute of Technology

(6)
(7)

Chapter 2

構成索引

2.1 構成

クラス、構造体、共用体、インタフェースの説明です。

CSerial (シリアル通信(テキスト)を行うクラス) . . . 7 urg(URGセンサのデータを取得するコンポーネント) . . . 11

(8)
(9)

Chapter 3

ファイル索引

3.1 ファイル一覧

これはファイル一覧です。

serial.cpp(シリアル通信(テキスト)を行うクラス) . . . 15

serial.h(シリアル通信(テキスト)を行うクラス) . . . 16

urg.cpp(URGセンサからデータを取得するためのクラス) . . . 17

urg.h(URGセンサからデータを取得するためのコンポーネント) . . . 19

urgComp.cpp(URGのデータを取得するコンポーネント) . . . 20

(10)
(11)

Chapter 4

クラス

4.1 クラス CSerial

シリアル通信(テキスト)を行うクラス

#include <serial.h>

Public メソッド

ˆ CSerial () コンストラクタ

ˆ ∼CSerial() デストラクタ

ˆ FILE ∗getDevice () デバイスの取得

ˆ intgetBaudRate() ボーレートの取得

ˆ char ∗ getPortName() ポート名の取得

ˆ intOpen(const char ∗port_name, int aSpeed) シリアル通信デバイスをオープンする

ˆ intClose()

シリアル通信デバイスをクローズする

ˆ intSend(const char ∗data, unsigned int len) テキストデータを送信する

(12)

8 クラス

ˆ intRecv(char ∗data, int max_len) テキストデータを受信する

ˆ intClearRecvBuf()

バッファに溜まったデータをクリアする

ˆ speed_tbitrate(int aBR)

ビットレートを定数に変換する関数

4.1.1 説明

シリアル通信(テキスト)を行うクラス

4.1.2 コンストラクタとデストラクタ

4.1.2.1 CSerial::CSerial ()

コンストラクタ

デバイスとボーレートの初期化

戻り値: 無し

4.1.2.2 CSerial::∼CSerial ()

デストラクタ

4.1.3 関数

4.1.3.1 FILE∗ CSerial::getDevice () [inline]

デバイスの取得

戻り値:

デバイスのポインタ

Fri Mar 6 22:57:57 2009に生成されました。Doxygen

(13)

4.1 クラス CSerial 9 4.1.3.2 int CSerial::getBaudRate () [inline]

ボーレートの取得

戻り値:

ボーレート

4.1.3.3 char∗ CSerial::getPortName () [inline]

ポート名の取得

戻り値:

ポート名のポインタ

4.1.3.4 int CSerial::Open (const char ∗ port_name, int aSpeed)

シリアル通信デバイスをオープンする デバイスとボーレートの初期化

引数:

← port_name ポートの名称

← aSpeed ボーレート

戻り値:

1:成功0:失敗

4.1.3.5 int CSerial::Close ()

シリアル通信デバイスをクローズする

戻り値: 1

4.1.3.6 int CSerial::Send (const char ∗ data, unsigned int len) テキストデータを送信する

Fri Mar 6 22:57:57 2009に生成されました。Doxygen

(14)

10 クラス

引数:

← data 送信するデータのポインタ

← len データのバイト数

戻り値:

送信したデータのバイト数(0:失敗)

4.1.3.7 int CSerial::Recv (char ∗ data, int max_len)

テキストデータを受信する

引数:

→ data 受信するデータのポインタ

← max_len データのバイト数の最大値

戻り値:

受信したデータの文字数(-1:失敗)

4.1.3.8 int CSerial::ClearRecvBuf (void)

バッファに溜まったデータをクリアする

戻り値: 1

4.1.3.9 speed_t CSerial::bitrate (int aBR) [inline]

ビットレートを定数に変換する関数

引数:

← aBR ボーレート

戻り値:

ボーレートの定数

このクラスの説明は次のファイルから生成されました:

ˆ serial.h

ˆ serial.cpp

Fri Mar 6 22:57:57 2009に生成されました。Doxygen

(15)

4.2 クラス urg 11

4.2 クラス urg

URGセンサのデータを取得するコンポーネント

#include <urg.h>

Public メソッド

ˆ urg(RTC::Manager ∗manager)

ˆ ∼urg ()

ˆ virtual RTC::ReturnCode_t onInitialize() URGセンサの初期化

ˆ virtual RTC::ReturnCode_t onFinalize() コンポーネントを終了するときに呼び出される関数

ˆ virtual RTC::ReturnCode_t onActivated(RTC::UniqueId ec_id) コンポーネントをアクティベートするときに呼ばれる関数

ˆ virtual RTC::ReturnCode_t onDeactivated(RTC::UniqueId ec_id) コンポーネントをデアクティベートするときに呼ばれる関数

ˆ virtual RTC::ReturnCode_t onExecute(RTC::UniqueId ec_id) アクティベート中に定期的に呼ばれる関数

Protected 変数

ˆ std::stringm_devName シリアル通信のデバイス名

ˆ unsigned shortm_type

URGのタイプ(1:TopURG,2:HighURG)

ˆ TimedShortSeqm_urgData

URGのデータ配列(コンポーネント出力)

ˆ OutPort< TimedShortSeq >m_urgDataOut

4.2.1 説明

URGセンサのデータを取得するコンポーネント

4.2.2 コンストラクタとデストラクタ

Fri Mar 6 22:57:57 2009に生成されました。Doxygen

(16)

12 クラス 4.2.2.1 urg::urg (RTC::Manager ∗ manager)

4.2.2.2 urg::∼urg ()

4.2.3 関数

4.2.3.1 RTC::ReturnCode_t urg::onInitialize () [virtual] URGセンサの初期化

オープンするデバイスを設定 コンポーネントの出力の設定

戻り値: RTC_OK

4.2.3.2 RTC::ReturnCode_t urg::onFinalize () [virtual]

コンポーネントを終了するときに呼び出される関数 シリアル通信デバイスをクローズする

戻り値: RTC_OK

4.2.3.3 RTC::ReturnCode_t urg::onActivated (RTC::UniqueId ec_id) [virtual] コンポーネントをアクティベートするときに呼ばれる関数

URGのタイプに応じて出力データサイズを設定する

シリアル通信デバイスをオープンする データの受信領域を確保する

また、GPSセンサに初期化のデータを送信する 戻り値:

RTC_OK:成功、RTC_ERROR:失敗

Fri Mar 6 22:57:57 2009に生成されました。Doxygen

(17)

4.2 クラス urg 13

4.2.3.4 RTC::ReturnCode_t urg::onDeactivated (RTC::UniqueId ec_id) [virtual]

コンポーネントをデアクティベートするときに呼ばれる関数 データの受信領域を開放する

戻り値: RTC_OK

4.2.3.5 RTC::ReturnCode_t urg::onExecute (RTC::UniqueId ec_id) [virtual]

アクティベート中に定期的に呼ばれる関数 URGのデータを受信

データを距離に変更した後、コンポーネントの出力に送る

引数:

→ m_urgData 距離データの配列

戻り値: RTC_OK

4.2.4 変数

4.2.4.1 std::string urg::m_devName [protected] シリアル通信のデバイス名

4.2.4.2 unsigned short urg::m_type [protected] URGのタイプ(1:TopURG,2:HighURG)

4.2.4.3 TimedShortSeq urg::m_urgData [protected] URGのデータ配列(コンポーネント出力)

Fri Mar 6 22:57:57 2009に生成されました。Doxygen

(18)

14 クラス 4.2.4.4 OutPort<TimedShortSeq> urg::m_urgDataOut [protected]

このクラスの説明は次のファイルから生成されました:

ˆ urg.h

ˆ urg.cpp

Fri Mar 6 22:57:57 2009に生成されました。Doxygen

(19)

Chapter 5

ファイル

5.1 serial.cpp

シリアル通信(テキスト)を行うクラス

#include "serial.h"

5.1.1 説明

シリアル通信(テキスト)を行うクラス

日付:

2008.03.03

(20)

16 ファイル

5.2 serial.h

シリアル通信(テキスト)を行うクラス

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#include <sys/termios.h>

#include <unistd.h>

構成

ˆ classCSerial

シリアル通信(テキスト)を行うクラス

5.2.1 説明

シリアル通信(テキスト)を行うクラス

日付:

2008.03.03

Fri Mar 6 22:57:57 2009に生成されました。Doxygen

(21)

5.3 urg.cpp 17

5.3 urg.cpp

URGセンサからデータを取得するためのクラス

#include "urg.h"

マクロ定義

ˆ #deneMAX_DATA_11081 TopURGの取得データ数

ˆ #deneMAX_DATA_2769 HighURGの取得データ数

関数

ˆ void urgInit(RTC::Manager ∗manager)

5.3.1 説明

URGセンサからデータを取得するためのクラス

日付:

2008.03.03

作者:

T.Hayashi Y.Hayashibara

5.3.2 マクロ定義

5.3.2.1 #dene MAX_DATA_1 1081 TopURGの取得データ数

5.3.2.2 #dene MAX_DATA_2 769 HighURGの取得データ数

Fri Mar 6 22:57:57 2009に生成されました。Doxygen

(22)

18 ファイル

5.3.3 関数

5.3.3.1 void urgInit (RTC::Manager ∗ manager)

Fri Mar 6 22:57:57 2009に生成されました。Doxygen

(23)

5.4 urg.h 19

5.4 urg.h

URGセンサからデータを取得するためのコンポーネント

#include <rtm/Manager.h>

#include <rtm/DataFlowComponentBase.h>

#include <rtm/CorbaPort.h>

#include <rtm/DataInPort.h>

#include <rtm/DataOutPort.h>

#include <rtm/idl/BasicDataTypeSkel.h>

#include "serial.h"

構成

ˆ classurg

URGセンサのデータを取得するコンポーネント

関数

ˆ void urgInit(RTC::Manager ∗manager)

5.4.1 説明

URGセンサからデータを取得するためのコンポーネント

日付:

2008.03.03

作者:

T.Hayashi Y.Hayashibara

5.4.2 関数

5.4.2.1 void urgInit (RTC::Manager ∗ manager)

Fri Mar 6 22:57:57 2009に生成されました。Doxygen

(24)

20 ファイル

5.5 urgComp.cpp

URGのデータを取得するコンポーネント

#include <rtm/Manager.h>

#include <iostream>

#include <string>

#include <stdlib.h>

#include "urg.h"

関数

ˆ void MyModuleInit(RTC::Manager ∗manager)

ˆ intmain (int argc, char ∗∗argv)

5.5.1 説明

URGのデータを取得するコンポーネント

日付:

2008.03.03

作者:

T.Hayashi Y.Hayashibara

5.5.2 関数

5.5.2.1 int main (int argc, char ∗∗ argv)

5.5.2.2 void MyModuleInit (RTC::Manager ∗ manager)

Fri Mar 6 22:57:57 2009に生成されました。Doxygen

(25)

Index

∼CSerial CSerial,8

∼urgurg,12 bitrate

CSerial,10 ClearRecvBuf

CSerial,10 Close

CSerial,9 CSerial,7

∼CSerial,8 bitrate,10 ClearRecvBuf,10 Close,9

CSerial,8 getBaudRate,8 getDevice,8 getPortName,9 Open,9

Recv,10 Send,9 getBaudRate

CSerial,8 getDevice

CSerial,8 getPortName

CSerial,9 m_devName

urg,13 m_type

urg,13 m_urgData urg,13 m_urgDataOut

urg,13

mainurgComp.cpp,20 MAX_DATA_1

urg.cpp,17 MAX_DATA_2

urg.cpp,17

MyModuleInit urgComp.cpp,20 onActivated

urg,12 onDeactivated

urg,12 onExecute

urg,13 onFinalize

urg,12 onInitialize urg,12 OpenCSerial,9 RecvCSerial,10

SendCSerial,9 serial.cpp,15 serial.h,16 urg,11

∼urg,12

m_devName,13 m_type,13 m_urgData,13 m_urgDataOut,13 onActivated,12 onDeactivated,12 onExecute,13 onFinalize,12 onInitialize,12 urg,11

urg.cpp,17

MAX_DATA_1,17 MAX_DATA_2,17 urgInit,18

urg.h,19 urgInit,19 urgComp.cpp,20

main,20

MyModuleInit,20 urgInit

(26)

22 INDEX

urg.cpp,18 urg.h,19

Fri Mar 6 22:57:57 2009に生成されました。Doxygen

参照

関連したドキュメント

に関して言 えば, は つのリー群の組 によって等質空間として表すこと はできないが, つのリー群の組 を用いればクリフォード・クラ イン形

In order to do so, we prove a structure theorem for covers between Seifert fiber spaces (see Proposition 4.4), which reduces the question to classifying all covers between

これはつまり十進法ではなく、一進法を用いて自然数を表記するということである。とは いえ数が大きくなると見にくくなるので、.. 0, 1,

この chart の surface braid の closure が 2-twist spun terfoil と呼ばれている 2-knot に ambient isotopic で ある.4個の white vertex をもつ minimal chart

ここで, C ijkl は弾性定数テンソルと呼ばれるものであり,以下の対称性を持つ.... (20)

荒天の際に係留する場合は、1つのビットに 2 本(可能であれば 3

国際仲裁に類似する制度を取り入れている点に特徴があるといえる(例えば、 SICC

優越的地位の濫用は︑契約の不完備性に関する問題であり︑契約の不完備性が情報の不完全性によると考えれば︑