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

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

N/A
N/A
Protected

Academic year: 2018

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

Copied!
32
0
0

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

全文

(1)

リファレンスマニュアル

作成: Doxygen 1.5.5

Fri Mar 6 23:04:33 2009

(2)
(3)

Contents

1 移動台車(RT-Mover)制御用コンポーネント 1

2 構成索引 3

2.1 構成 . . . 3

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

4 クラス 7 4.1 クラスCMoverComm . . . 7

4.2 クラスmoverComm . . . 11

5 ファイル 19 5.1 ccomm.cpp . . . 19

5.2 ccomm.h . . . 20

5.3 moverComm.cpp . . . 21

5.4 moverComm.h . . . 23

5.5 moverCommComp.cpp . . . 25

(4)
(5)

Chapter 1

移動台車 (RT-Mover) 制御用コンポー

ネント

RT-Mover(千葉工業大学中嶋研究室が開発した不整地移動台車)を制御するコンポーネントです. つくばチャレンジ用に作成したプログラムです。

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

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

日付:

2008.03.04

作者:

Chiba Institute of Technology

(6)
(7)

Chapter 2

構成索引

2.1 構成

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

CMoverComm(UDP/IPのソケット間通信を行うクラス) . . . 7 moverComm(移動台車(RT-Mover)と通信を行うクラス ) . . . 11

(8)
(9)

Chapter 3

ファイル索引

3.1 ファイル一覧

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

ccomm.cpp(UDP/IPのソケット間通信を行うクラス) . . . 19

ccomm.h(UDP/IPのソケット間通信を行うクラス) . . . 20

moverComm.cpp(移動台車(RT-Mover)を制御するクラス) . . . 21

moverComm.h(移動台車(RT-Mover)を制御するクラス) . . . 23

moverCommComp.cpp(移動台車(RT-Mover)を制御するコンポーネント) . . . 25

(10)
(11)

Chapter 4

クラス

4.1 クラス CMoverComm

UDP/IPのソケット間通信を行うクラス

#include <ccomm.h>

Public メソッド

ˆ CMoverComm() コンストラクタ

ˆ ∼CMoverComm () デストラクタ

ˆ bool Initialize(const char ∗, unsigned short, unsigned short) UDP/IPのソケット間通信を行う初期設定

ˆ void Close()

UDP/IPのソケットをクローズする

ˆ intSend(short ∗s_data, int data_len) UDP/IPのソケットにデータを出力する

ˆ intRecv(short ∗r_data)

UDP/IPのソケットにデータを出力する

Public 変数

ˆ intdstSocket

ˆ intdstSocket_rev

ˆ intsrcSocket

(12)

8 クラス

ˆ socklen_t sin_size

ˆ fd_setinputs

ˆ fd_settestfds

ˆ struct timevaltimeout

ˆ struct sockaddr_in dstAddr

ˆ struct sockaddr_in srcAddr

4.1.1 説明

UDP/IPのソケット間通信を行うクラス

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

4.1.2.1 CMoverComm::CMoverComm ()

コンストラクタ

4.1.2.2 CMoverComm::∼CMoverComm ()

デストラクタ

4.1.3 関数

4.1.3.1 bool CMoverComm::Initialize (const char ∗ destination, unsigned short recv_port, unsigned short trans_port)

UDP/IPのソケット間通信を行う初期設定 初期設定を行いソケットをオープンする 引数:

← destination 通信先の IP アドレス

← recv_port 受信ポート

← trans_port 送信ポート

戻り値:

true:成功false:失敗

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(13)

4.1 クラス CMoverComm 9

4.1.3.2 void CMoverComm::Close () UDP/IPのソケットをクローズする

戻り値: 無し

4.1.3.3 int CMoverComm::Send (short ∗ s_data, int data_len) UDP/IPのソケットにデータを出力する

引数:

← s_data 送信するデータ列

← data_len データのバイト数

戻り値:

送信したバイト数

4.1.3.4 int CMoverComm::Recv (short ∗ r_data) UDP/IPのソケットにデータを出力する

引数:

→ r_data 受信したデータの配列

戻り値:

受信したバイト数

4.1.4 変数

4.1.4.1 int CMoverComm::dstSocket

4.1.4.2 int CMoverComm::dstSocket_rev

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(14)

10 クラス

4.1.4.3 int CMoverComm::srcSocket

4.1.4.4 socklen_t CMoverComm::sin_size

4.1.4.5 fd_set CMoverComm::inputs

4.1.4.6 fd_set CMoverComm::testfds

4.1.4.7 struct timeval CMoverComm::timeout [read]

4.1.4.8 struct sockaddr_in CMoverComm::dstAddr [read]

4.1.4.9 struct sockaddr_in CMoverComm::srcAddr [read]

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

ˆ ccomm.h

ˆ ccomm.cpp

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(15)

4.2 クラス moverComm 11

4.2 クラス moverComm

移動台車(RT-Mover)と通信を行うクラス

#include <moverComm.h>

Public メソッド

ˆ moverComm(RTC::Manager ∗manager) コンストラクタ

ˆ ∼moverComm () デストラクタ

ˆ virtual RTC::ReturnCode_t onInitialize() 移動台車の初期化

ˆ 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 変数

ˆ unsigned shortm_recv_port

ˆ unsigned shortm_trans_port

ˆ std::stringm_ip_address

ˆ std::stringm_input_type

ˆ std::stringm_is_signal

ˆ TimedFloatSeqm_command

ˆ InPort< TimedFloatSeq >m_commandIn

ˆ TimedFloatSeqm_moverData

ˆ OutPort< TimedFloatSeq >m_moverDataOut

ˆ CMoverComm comm

UDP/IPで通信を行うクラス

ˆ std::stringCOMMAND コマンドの文字列

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(16)

12 クラス

ˆ short s_data[3]

ˆ short r_data[16]

ˆ oatsend_data[3]

ˆ oatget_data[16]

ˆ oatx

ˆ oaty

ˆ oatz

ˆ oatspeed

ˆ oatangle

ˆ oatz_angle

ˆ oatf_steer

ˆ oatb_steer

ˆ oatgamma

ˆ oatgamma_v

ˆ oatave_f [MOVE_AVE_NUM]

ˆ oatave_b[MOVE_AVE_NUM]

ˆ oatave_v[MOVE_AVE_NUM]

ˆ intisOpen

4.2.1 説明

移動台車(RT-Mover)と通信を行うクラス

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

4.2.2.1 moverComm::moverComm (RTC::Manager ∗ manager)

コンストラクタ

引数:

← manager Maneger Object

4.2.2.2 moverComm::∼moverComm ()

デストラクタ

4.2.3 関数

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(17)

4.2 クラス moverComm 13

4.2.3.1 RTC::ReturnCode_t moverComm::onInitialize () [virtual]

移動台車の初期化

The initialize action (on CREATED->ALIVE transition) formaer rtc_init_entry()

戻り値:

RTC::ReturnCode_t

パラメータの設定コンポーネントの入出力の設定

戻り値: RTC_OK

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

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

戻り値: RTC_OK

4.2.3.3 RTC::ReturnCode_t moverComm::onActivated (RTC::UniqueId ec_id) [virtual]

コンポーネントをアクティベートするときに呼ばれる関数 シリアル通信デバイスをオープンする

変数の初期化を行う 戻り値:

RTC_OK

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

コンポーネントをデアクティベートするときに呼ばれる関数 シリアル通信デバイスをクローズする

戻り値: RTC_OK

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(18)

14 クラス

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

アクティベート中に定期的に呼ばれる関数

台車に送信するデータが入力されると,フィルタをかけて台車に送信する 台車から受信したデータを,出力ポートに送信する

引数:

← m_command 移動台車に送信するデータの配列

→ m_moverData 移動台車から受信するデータの配列

戻り値: RTC_OK

4.2.4 変数

4.2.4.1 unsigned short moverComm::m_recv_port [protected]

ˆ Name: recv_port

ˆ DefaultValue: 9874

4.2.4.2 unsigned short moverComm::m_trans_port [protected]

ˆ Name: trans_port

ˆ DefaultValue: 9875

4.2.4.3 std::string moverComm::m_ip_address [protected]

ˆ Name: ip_address

ˆ DefaultValue: 192.168.1.11

4.2.4.4 std::string moverComm::m_input_type [protected]

4.2.4.5 std::string moverComm::m_is_signal [protected]

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(19)

4.2 クラス moverComm 15

4.2.4.6 TimedFloatSeq moverComm::m_command [protected]

4.2.4.7 InPort<TimedFloatSeq> moverComm::m_commandIn [protected]

4.2.4.8 TimedFloatSeq moverComm::m_moverData [protected]

4.2.4.9 OutPort<TimedFloatSeq> moverComm::m_moverDataOut [protected]

4.2.4.10 CMoverComm moverComm::comm [protected] UDP/IPで通信を行うクラス

4.2.4.11 std::string moverComm::COMMAND [protected]

コマンドの文字列

4.2.4.12 short moverComm::s_data[3] [protected]

4.2.4.13 short moverComm::r_data[16] [protected]

4.2.4.14 oat moverComm::send_data[3] [protected]

4.2.4.15 oat moverComm::get_data[16] [protected]

4.2.4.16 oat moverComm::x [protected]

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(20)

16 クラス

4.2.4.17 oat moverComm::y [protected]

4.2.4.18 oat moverComm::z [protected]

4.2.4.19 oat moverComm::speed [protected]

4.2.4.20 oat moverComm::angle [protected]

4.2.4.21 oat moverComm::z_angle [protected]

4.2.4.22 oat moverComm::f_steer [protected]

4.2.4.23 oat moverComm::b_steer [protected]

4.2.4.24 oat moverComm::gamma [protected]

4.2.4.25 oat moverComm::gamma_v [protected]

4.2.4.26 oat moverComm::ave_f[MOVE_AVE_NUM] [protected]

4.2.4.27 oat moverComm::ave_b[MOVE_AVE_NUM] [protected]

4.2.4.28 oat moverComm::ave_v[MOVE_AVE_NUM] [protected]

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(21)

4.2 クラス moverComm 17

4.2.4.29 int moverComm::isOpen [protected]

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

ˆ moverComm.h

ˆ moverComm.cpp

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(22)
(23)

Chapter 5

ファイル

5.1 ccomm.cpp

UDP/IPのソケット間通信を行うクラス

#include "ccomm.h"

マクロ定義

ˆ #deneBUFF_SIZE32

5.1.1 説明

UDP/IPのソケット間通信を行うクラス

日付:

2008.03.04

5.1.2 マクロ定義

5.1.2.1 #dene BUFF_SIZE 32

(24)

20 ファイル

5.2 ccomm.h

UDP/IPのソケット間通信を行うクラス

#include <stdio.h>

#include <string.h>

#include <unistd.h>

#include <sys/types.h>

#include <sys/socket.h>

#include <sys/time.h>

#include <netinet/in.h>

#include <arpa/inet.h>

#include <netdb.h>

構成

ˆ classCMoverComm

UDP/IPのソケット間通信を行うクラス

5.2.1 説明

UDP/IPのソケット間通信を行うクラス

日付:

2008.03.04

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(25)

5.3 moverComm.cpp 21

5.3 moverComm.cpp

移動台車(RT-Mover)を制御するクラス

#include "moverComm.h"

#include <math.h>

マクロ定義

ˆ #deneMOVE_AVE_NUM(50) 平均を計算するための配列の数

ˆ #deneSPEED_MAX(0.3f) 最大速度(m/s)

ˆ #deneSTEER_MAX((M_PI/6)) 最大角度(rad)

ˆ #deneSAMPLING_T

ˆ #deneCUT_OFF_T

関数

ˆ double getrusage_sec()

ˆ oataverage(oat a[ ], int max)

ˆ void moverCommInit(RTC::Manager ∗manager)

5.3.1 説明

移動台車(RT-Mover)を制御するクラス

日付:

2008.03.04

作者:

T.Hayashi

5.3.2 マクロ定義

5.3.2.1 #dene CUT_OFF_T

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(26)

22 ファイル

5.3.2.2 #dene MOVE_AVE_NUM (50)

平均を計算するための配列の数

5.3.2.3 #dene SAMPLING_T

5.3.2.4 #dene SPEED_MAX (0.3f)

最大速度(m/s)

5.3.2.5 #dene STEER_MAX ((M_PI/6))

最大角度(rad)

5.3.3 関数

5.3.3.1 oat average (oat a[ ], int max)

5.3.3.2 double getrusage_sec ()

5.3.3.3 void moverCommInit (RTC::Manager ∗ manager)

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(27)

5.4 moverComm.h 23

5.4 moverComm.h

移動台車(RT-Mover)を制御するクラス

#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 "ccomm.h"

構成

ˆ classmoverComm

移動台車(RT-Mover)と通信を行うクラス

マクロ定義

ˆ #deneMOVE_AVE_NUM(500)

関数

ˆ void moverCommInit(RTC::Manager ∗manager)

5.4.1 説明

移動台車(RT-Mover)を制御するクラス

日付:

2008.03.04

作者:

T.Hayashi

5.4.2 マクロ定義

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(28)

24 ファイル

5.4.2.1 #dene MOVE_AVE_NUM (500)

5.4.3 関数

5.4.3.1 void moverCommInit (RTC::Manager ∗ manager)

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(29)

5.5 moverCommComp.cpp 25

5.5 moverCommComp.cpp

移動台車(RT-Mover)を制御するコンポーネント

#include <rtm/Manager.h>

#include <iostream>

#include <string>

#include <stdlib.h>

#include "moverComm.h"

関数

ˆ void MyModuleInit(RTC::Manager ∗manager)

ˆ intmain (int argc, char ∗∗argv)

5.5.1 説明

移動台車(RT-Mover)を制御するコンポーネント

日付:

2008.03.04

作者:

T.Hayashi

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 23:04:33 2009に生成されました。Doxygen

(30)

Index

∼CMoverComm CMoverComm,8

∼moverComm moverComm,12 angle

moverComm,16 ave_b

moverComm,16 ave_f

moverComm,16 ave_v

moverComm,16 average

moverComm.cpp,22 b_steer

moverComm,16 BUFF_SIZE

ccomm.cpp,19 ccomm.cpp,19

BUFF_SIZE,19 ccomm.h,20

Close

CMoverComm,8 CMoverComm,7

∼CMoverComm,8 Close,8

CMoverComm,8 dstAddr,10 dstSocket,9 dstSocket_rev,9 Initialize,8 inputs,10 Recv,9 Send,9 sin_size,10 srcAddr,10 srcSocket,9 testfds,10 timeout,10 commmoverComm,15 COMMAND

moverComm,15 CUT_OFF_T

moverComm.cpp,21 dstAddr

CMoverComm,10 dstSocket

CMoverComm,9 dstSocket_rev

CMoverComm,9 f_steer

moverComm,16 gamma

moverComm,16 gamma_v

moverComm,16 get_data

moverComm,15 getrusage_sec

moverComm.cpp,22 Initialize

CMoverComm,8 inputs

CMoverComm,10 isOpen

moverComm,16 m_command

moverComm,14 m_commandIn

moverComm,15 m_input_type

moverComm,14 m_ip_address

moverComm,14 m_is_signal

moverComm,14 m_moverData

moverComm,15 m_moverDataOut

moverComm,15 m_recv_port

moverComm,14

(31)

INDEX 27

m_trans_port moverComm,14

mainmoverCommComp.cpp,25 MOVE_AVE_NUM

moverComm.cpp,21 moverComm.h,23 moverComm,11

∼moverComm,12 angle,16

ave_b,16 ave_f,16 ave_v,16 b_steer,16 comm,15 COMMAND,15 f_steer,16 gamma,16 gamma_v,16 get_data,15 isOpen,16 m_command,14 m_commandIn,15 m_input_type,14 m_ip_address,14 m_is_signal,14 m_moverData,15 m_moverDataOut,15 m_recv_port,14 m_trans_port,14 moverComm,12 onActivated,13 onDeactivated,13 onExecute,13 onFinalize,13 onInitialize,12 r_data,15 s_data,15 send_data,15 speed,16 x,15 y,15 z,16 z_angle,16 moverComm.cpp,21

average,22 CUT_OFF_T,21 getrusage_sec,22 MOVE_AVE_NUM,21 moverCommInit,22 SAMPLING_T,22 SPEED_MAX,22 STEER_MAX,22 moverComm.h,23

MOVE_AVE_NUM,23 moverCommInit,24 moverCommComp.cpp,25

main,25

MyModuleInit,25 moverCommInit

moverComm.cpp,22 moverComm.h,24 MyModuleInit

moverCommComp.cpp,25 onActivated

moverComm,13 onDeactivated

moverComm,13 onExecute

moverComm,13 onFinalize

moverComm,13 onInitialize

moverComm,12 r_data

moverComm,15 RecvCMoverComm,9

s_data

moverComm,15 SAMPLING_T

moverComm.cpp,22 SendCMoverComm,9 send_data

moverComm,15 sin_size

CMoverComm,10 speed

moverComm,16 SPEED_MAX

moverComm.cpp,22 srcAddr

CMoverComm,10 srcSocket

CMoverComm,9 STEER_MAX

moverComm.cpp,22 testfds

CMoverComm,10 timeout

CMoverComm,10 x moverComm,15

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

(32)

28 INDEX

y moverComm,15

z moverComm,16 z_angle

moverComm,16

Fri Mar 6 23:04:33 2009に生成されました。Doxygen

参照

関連したドキュメント

⑤調査内容 2015年度 (2015年4月~2016年3月) 1年間の国内宿泊旅行(出張・帰省・修学旅行などを除く)の有無について.

パスワード 設定変更時にパスワードを要求するよう設定する 設定なし 電波時計 電波受信ユニットを取り外したときの動作を設定する 通常

・少なくとも 1 か月間に 1 回以上、1 週間に 1

建築基準法施行令(昭和 25 年政令第 338 号)第 130 条の 4 第 5 号に規定する施設で国土交通大臣が指定する施設. 情報通信施設 情報通信 イ 電気通信事業法(昭和

DJ-P221 のグループトークは通常のトーンスケルチの他に DCS(デジタルコードスケル

6号炉及び7号炉 中央制御室 非常用ディーゼル発電機 GTG ※2

When the Addition and Return are in phase (and not out of phase due to the opposite open−loop measurement), we can measure directly the phase margin by measuring the ratio Addition

6号及び7号炉 中央制御室 非常用ディーゼル発電機 GTG ※2