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

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

N/A
N/A
Protected

Academic year: 2018

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

Copied!
86
0
0

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

全文

(1)

リファレンスマニュアル

作成: Doxygen 1.5.5

Tue Mar 10 09:09:46 2009

(2)
(3)

Contents

1 センサデータを取得して,台車を制御するコンポーネント 1

2 構成索引 3

2.1 構成 . . . 3

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

4 クラス 7 4.1 クラスavoidTable . . . 7

4.2 クラスavoidTable::Area . . . 14

4.3 クラスavoidTable::Rule . . . 16

4.4 クラスavoidTable::Velocity . . . 19

4.5 クラスgpsPosition . . . 20

4.6 クラスmapView . . . 22

4.7 クラスodometry_T . . . 28

4.8 クラスpathPlan . . . 29

4.9 クラスSensorAnalyze . . . 38

4.10 クラスSensorAnalyzeComp . . . 40

4.11 クラスSensorAnalyzeImpl . . . 41

4.12 クラスsensorView . . . 53

4.13 クラスurgAnalyze . . . 61

5 ファイル 67 5.1 avoidTable.java . . . 67

5.2 gpsPosition.java. . . 68

5.3 mapView.java . . . 69

5.4 pathPlan.java . . . 70

5.5 SensorAnalyze.java . . . 71

5.6 SensorAnalyzeComp.java . . . 72

(4)

5.7 SensorAnalyzeImpl.java . . . 73 5.8 sensorView.java . . . 74 5.9 urgAnalyze.java. . . 75

(5)

Chapter 1

センサデータを取得して,台車を制御

するコンポーネント

センサデータを取得して,台車を制御する. また表示とデータの保存も行う.

つくばチャレンジ用に作成したプログラムです。

センサのチェックのために作成したコンポーネントです.

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

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

日付:

2008.03.05

作者:

Chiba Institute of Technology

(6)
(7)

Chapter 2

構成索引

2.1 構成

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

avoidTable(障害物回避のテーブルのクラス) . . . 7

avoidTable::Area(障害物を検出するエリアを記述するためのクラス) . . . 14

avoidTable::Rule(ルールを記述するクラス) . . . 16

avoidTable::Velocity(速度を記述するクラス) . . . 19

gpsPosition(GPSのデータを取り扱うクラス) . . . 20

mapView(地図の表示を行うクラス) . . . 22

odometry_T(オドメトリのクラス) . . . 28

pathPlan(軌道生成を行うクラス) . . . 29

SensorAnalyze(センサデータを取得して,台車を制御するクラス) . . . 38

SensorAnalyzeComp(センサデータを取得して台車を制御するコンポーネントクラス) . 40 SensorAnalyzeImpl(センサデータを取得して,台車を制御する機能を実装するためのクラ ス) . . . 41

sensorView(センサデータの表示を行うクラス) . . . 53

urgAnalyze(Urgのデータを変換するクラス) . . . 61

(8)
(9)

Chapter 3

ファイル索引

3.1 ファイル一覧

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

avoidTable.java(障害物回避のテーブルのクラス) . . . 67

gpsPosition.java(GPSのデータを取り扱うクラス) . . . 68

mapView.java (地図の表示を行うクラス) . . . 69

pathPlan.java (軌道生成を行うクラス) . . . 70

SensorAnalyze.java(センサデータを取得して,台車を制御するクラス) . . . 71

SensorAnalyzeComp.java(センサデータを取得して,台車を制御するコンポーネントのク ラス) . . . 72

SensorAnalyzeImpl.java(センサデータを取得して,台車を制御する機能を実装するための クラス) . . . 73

sensorView.java(センサデータの表示を行うクラス) . . . 74

urgAnalyze.java(Urgのデータを変換するクラス) . . . 75

(10)
(11)

Chapter 4

クラス

4.1 クラス avoidTable

障害物回避のテーブルのクラス

Public メソッド

ˆ intaddArea(oat x0, oat y0, oat x1, oat y1, intmin_num) 領域の追加

ˆ void clearArea() 領域のクリア

ˆ void addRule(int mask, int ag, int now_mode, int next_mode, int period, oatdx, oat dy, oatdthe)

ルールの追加

ˆ void clearRule() ルールのクリア

ˆ intcountInside(oat[ ] x, oat[ ] y)

(x,y)座標が設定したエリア内に最低個数あるかどうかの計算

ˆ Velocity calcAvoidVelocity (intag) 障害物回避のための速度を計算する

ˆ void setDeltaVelocity(oatdxd, oatdyd, oatdthed) 加速度の設定

(12)

関数

ˆ avoidTable() コンストラクタ

変数

ˆ Area[ ]area

エリアを記述するクラス

ˆ int[ ]min_num

計測ポイントの最小値(ノイズを除去するため)

ˆ intarea_no エリアの番号

ˆ int[ ]ag

フラグ(該当するビットを1にする.

ˆ Rule[ ]rule

ルールを記述するクラス

ˆ intrule_no ルールの番号

ˆ intmode 現在のモード

ˆ intselect

ˆ intold_select

ˆ oatdx

ˆ oatdy

ˆ oatdthe

ˆ oatdxd = 1.0f

ˆ oatdyd = 1.0f

ˆ oatdthed = 1.0f

ˆ oatdx0

ˆ oatdy0

ˆ oatdthe0

ˆ long time_ms

スタティ ック変数

ˆ static intNORMAL_MODE= 1

ˆ static intBACK_MODE= 2

(13)

4.1 クラス avoidTable 9

構成

ˆ classArea

障害物を検出するエリアを記述するためのクラス

ˆ classRule

ルールを記述するクラス

ˆ classVelocity

速度を記述するクラス

4.1.1 説明

障害物回避のテーブルのクラス

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

4.1.2.1 avoidTable::avoidTable () [inline, package]

コンストラクタ

4.1.3 関数

4.1.3.1 int avoidTable::addArea (oat x0, oat y0, oat x1, oat y1, int min_num) [inline]

領域の追加 引数:

← x0 領域の x0 座標

← y0 領域の y0 座標

← x1 領域の x1 座標

← y1 領域の y1 座標

← min_num 計測ポイントの最小値(ノイズを除去するため)

戻り値:

マスクの値(1 << (area_no - 1))

(14)

4.1.3.2 void avoidTable::clearArea () [inline]

領域のクリア 戻り値:

無し

4.1.3.3 void avoidTable::addRule (int mask, int ag, int now_mode, int next_mode, int period, oat dx, oat dy, oat dthe) [inline]

ルールの追加 引数:

← mask マスクの値(複数の領域にまたがる設定も可能)

← ag 考慮する領域としない領域のマスク

← now_mode 現在のモード(前進モード,後退モードなど)

← next_mode 次のモード

← period 戻り値:

無し

4.1.3.4 void avoidTable::clearRule () [inline]

ルールのクリア 戻り値:

無し

4.1.3.5 int avoidTable::countInside (oat[ ] x, oat[ ] y) [inline] (x,y)座標が設定したエリア内に最低個数あるかどうかの計算

引数:

← x センサーデータの x 座標の配列

← y センサーデータの y 座標の配列 戻り値:

結果(該当するエリアのビットが1のデータ)

(15)

4.1 クラス avoidTable 11

4.1.3.6 Velocity avoidTable::calcAvoidVelocity (int ag) [inline]

障害物回避のための速度を計算する

徐々に加速していく速度パターンを生成している 引数:

← ag 設定したエリア内に障害物が存在するかのフラグ

戻り値:

Velocity(速度のクラス)

4.1.3.7 void avoidTable::setDeltaVelocity (oat dxd, oat dyd, oat dthed) [inline]

加速度の設定 引数:

← dxd x 方向の加速度

← dyd y 方向の加速度

← dthed 回転方向の角加速度 戻り値:

無し

4.1.4 変数

4.1.4.1 Area [ ] avoidTable::area [package]

エリアを記述するクラス

4.1.4.2 int [ ] avoidTable::min_num [package]

計測ポイントの最小値(ノイズを除去するため)

4.1.4.3 int avoidTable::area_no [package]

エリアの番号

(16)

4.1.4.4 int [ ] avoidTable::ag [package]

フラグ(該当するビットを1にする.)

4.1.4.5 Rule [ ] avoidTable::rule [package]

ルールを記述するクラス

4.1.4.6 int avoidTable::rule_no [package]

ルールの番号

4.1.4.7 int avoidTable::mode [package]

現在のモード

4.1.4.8 int avoidTable::select [package]

4.1.4.9 int avoidTable::old_select [package]

4.1.4.10 oat avoidTable::dx [package]

4.1.4.11 oat avoidTable::dy [package]

4.1.4.12 oat avoidTable::dthe [package]

4.1.4.13 int avoidTable::NORMAL_MODE = 1 [static, package]

(17)

4.1 クラス avoidTable 13

4.1.4.14 int avoidTable::BACK_MODE = 2 [static, package]

4.1.4.15 oat avoidTable::dxd = 1.0f [package]

4.1.4.16 oat avoidTable::dyd = 1.0f [package]

4.1.4.17 oat avoidTable::dthed = 1.0f [package]

4.1.4.18 oat avoidTable::dx0 [package]

4.1.4.19 oat avoidTable::dy0 [package]

4.1.4.20 oat avoidTable::dthe0 [package]

4.1.4.21 long avoidTable::time_ms [package]

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

ˆ avoidTable.java

(18)

4.2 クラス avoidTable::Area

障害物を検出するエリアを記述するためのクラス

Public メソッド

ˆ void setArea(oatx0, oat y0, oatx1, oat y1) コンストラクタ

ˆ booleanis_inside(oat x, oat y) 内部にあるかどうか判定する関数

変数

ˆ oatx0

ˆ oaty0

ˆ oatx1

ˆ oaty1

4.2.1 説明

障害物を検出するエリアを記述するためのクラス

4.2.2 関数

4.2.2.1 void avoidTable::Area::setArea (oat x0, oat y0, oat x1, oat y1) [inline]

コンストラクタ 引数:

← x0 領域の x0 座標

← y0 領域の y0 座標

← x1 領域の x1 座標

← y1 領域の y1 座標 戻り値:

無し

(19)

4.2 クラス avoidTable::Area 15

4.2.2.2 boolean avoidTable::Area::is_inside (oat x, oat y) [inline]

内部にあるかどうか判定する関数 引数:

← x x 座標

← y y 座標 戻り値:

true:有,false:

4.2.3 変数

4.2.3.1 oat avoidTable::Area::x0 [package]

4.2.3.2 oat avoidTable::Area::y0 [package]

4.2.3.3 oat avoidTable::Area::x1 [package]

4.2.3.4 oat avoidTable::Area::y1 [package]

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

ˆ avoidTable.java

(20)

4.3 クラス avoidTable::Rule

ルールを記述するクラス

Public メソッド

ˆ void setRule (int mask, int ag, int now_mode, intnext_mode, intperiod, oatdx, oat dy, oatdthe)

ルールをセットする

ˆ intcheckRule (intag, intnow_mode) ルールをチェックする

変数

ˆ intmask

マスクの値(該当するビットを1にする.複数の領域にまたがる設定も可能)

ˆ intag

フラグ(該当するビットを1にする.

ˆ intnow_mode

現在のモード(前進モード,後退モードなど)

ˆ intnext_mode 次のモード

ˆ intperiod

サンプリングタイム

ˆ oatdx

x方向の目標速度

ˆ oatdy

y方向の目標速度

ˆ oatdthe

the方向の目標角速度

4.3.1 説明

ルールを記述するクラス

(21)

4.3 クラス avoidTable::Rule 17

4.3.2 関数

4.3.2.1 void avoidTable::Rule::setRule (int mask, int ag, int now_mode, int next_mode, int period, oat dx, oat dy, oat dthe) [inline]

ルールをセットする 引数:

← mask マスクの値(該当するビットを 1 にする.複数の領域にまたがる設定も可能)

← ag フラグ(該当するビットを 1 にする.

← now_mode 現在のモード(前進モード,後退モードなど)

← next_mode 次のモード

← period サンプリングタイム

← dx x 方向の目標速度

← dy y 方向の目標速度

← dthe theta 方向の目標角速度

戻り値: 無し

4.3.2.2 int avoidTable::Rule::checkRule (int ag, int now_mode) [inline]

ルールをチェックする 引数:

← ag フラグ(該当するビットを 1 にする.

← now_mode 現在のモード(前進モード,後退モードなど)

戻り値:

next_mode次のモード

4.3.3 変数

4.3.3.1 int avoidTable::Rule::mask [package]

マスクの値(該当するビットを1にする.複数の領域にまたがる設定も可能)

(22)

4.3.3.2 int avoidTable::Rule::ag [package]

フラグ(該当するビットを1にする.)

4.3.3.3 int avoidTable::Rule::now_mode [package]

現在のモード(前進モード,後退モードなど)

4.3.3.4 int avoidTable::Rule::next_mode [package]

次のモード

4.3.3.5 int avoidTable::Rule::period [package]

サンプリングタイム

4.3.3.6 oat avoidTable::Rule::dx [package] x方向の目標速度

4.3.3.7 oat avoidTable::Rule::dy [package] y方向の目標速度

4.3.3.8 oat avoidTable::Rule::dthe [package] the方向の目標角速度

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

ˆ avoidTable.java

(23)

4.4 クラス avoidTable::Velocity 19

4.4 クラス avoidTable::Velocity

速度を記述するクラス

変数

ˆ oatdx

ˆ oatdy

ˆ oatdthe

4.4.1 説明

速度を記述するクラス

4.4.2 変数

4.4.2.1 oat avoidTable::Velocity::dx [package]

4.4.2.2 oat avoidTable::Velocity::dy [package]

4.4.2.3 oat avoidTable::Velocity::dthe [package]

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

ˆ avoidTable.java

(24)

4.5 クラス gpsPosition

GPSのデータを取り扱うクラス

Public メソッド

ˆ void setPosi(oatlat, oatlon) 位置の設定

ˆ oatget(String type) データの取得

変数

ˆ oatlat 緯度

ˆ oatlon 経度

4.5.1 説明

GPSのデータを取り扱うクラス

4.5.2 関数

4.5.2.1 void gpsPosition::setPosi (oat lat, oat lon) [inline]

位置の設定 引数:

← lat 緯度

← lon 経度 戻り値:

無し

(25)

4.5 クラス gpsPosition 21

4.5.2.2 oat gpsPosition::get (String type) [inline]

データの取得 引数:

← type データの種類("lat":緯度 or "lon":経度) 戻り値:

緯度もしくは経度のデータ

4.5.3 変数

4.5.3.1 oat gpsPosition::lat [package]

緯度

4.5.3.2 oat gpsPosition::lon [package]

経度

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

ˆ gpsPosition.java

(26)

4.6 クラス mapView

地図の表示を行うクラス JPanelを継承しています。

Public メソッド

ˆ void init(int num) 初期化関数

ˆ void paint(Graphics g) 再描画時に呼び出される関数

ˆ void setAreaHour(doublelat1, doublelon1, doublelat2, doublelon2) 描画するエリアをHourで指定する

ˆ void setArea(doublelat1, doublelon1, doublelat2, doublelon2) 描画するエリアを指定する

ˆ void setTargetPosition(gpsPosition[ ] target) 目的地を設定する

ˆ void setCurrentPosition(gpsPositioncurrent) 現在位置の設定

ˆ void setCurrentDirection(double direction) 現在の方位の設定

ˆ double[ ]conv(double lat_m, double lon_m) Hourから変換する

ˆ void setNextGoal(int num) 次のゴールを設定する

関数

ˆ mapView() コンストラクタ

変数

ˆ double lat1= 0 緯度,経度の値

(27)

4.6 クラス mapView 23

ˆ double lon1= 0

ˆ double lat2= 0

ˆ double lon2= 0

ˆ gpsPosition[ ]targetPos 経由点のデータ列

ˆ gpsPosition currentPos 現在の位置データ

ˆ double currentDir 現在の方位

ˆ double ratio

ˆ intxc

ˆ intyc

ˆ intgoal_point

ˆ oatwidth

ˆ oatheight

4.6.1 説明

地図の表示を行うクラス

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

4.6.2.1 mapView::mapView () [inline, package]

コンストラクタ 背景色の設定

4.6.3 関数

4.6.3.1 void mapView::init (int num) [inline]

初期化関数

変数の初期化と現在位置の取得 引数:

← num 経由点の数 戻り値:

無し

(28)

4.6.3.2 void mapView::paint (Graphics g) [inline]

再描画時に呼び出される関数 引数:

← g Graphics クラス 戻り値:

無し

4.6.3.3 void mapView::setAreaHour (double lat1, double lon1, double lat2, double lon2) [inline]

描画するエリアをHourで指定する 引数:

← lat1 緯度 (Hour)

← lon1 経度 (Hour)

← lat2 緯度 (Hour)

← lon2 経度 (Hour) 戻り値:

無し

4.6.3.4 void mapView::setArea (double lat1, double lon1, double lat2, double lon2) [inline]

描画するエリアを指定する 引数:

← lat1 緯度

← lon1 経度

← lat2 緯度

← lon2 経度 戻り値:

無し

(29)

4.6 クラス mapView 25

4.6.3.5 void mapView::setTargetPosition (gpsPosition[ ] target) [inline]

目的地を設定する 引数:

← target gpsPosition クラスで表現される経由地の緯度・経度の配列 戻り値:

無し

4.6.3.6 void mapView::setCurrentPosition (gpsPosition current) [inline]

現在位置の設定 引数:

← current gpsPosition クラスで表現される現在の緯度・経度 戻り値:

無し

4.6.3.7 void mapView::setCurrentDirection (double direction) [inline]

現在の方位の設定 引数:

← direction 現在の方位(北を 0 として rad で表す) 戻り値:

無し

4.6.3.8 double [ ] mapView::conv (double lat_m, double lon_m) [inline] Hourから変換する

引数:

← lat_m 緯度 (Hour)

← lon_m 緯度 (Hour) 戻り値:

{緯度,経度}の配列

(30)

4.6.3.9 void mapView::setNextGoal (int num) [inline]

次のゴールを設定する 引数:

← num ゴールの番号 戻り値:

無し

4.6.4 変数

4.6.4.1 double mapView::lat1 = 0 [package]

緯度,経度の値

4.6.4.2 double mapView::lon1 = 0 [package]

4.6.4.3 double mapView::lat2 = 0 [package]

4.6.4.4 double mapView::lon2 = 0 [package]

4.6.4.5 gpsPosition [ ] mapView::targetPos [package]

経由点のデータ列

4.6.4.6 gpsPosition mapView::currentPos [package]

現在の位置データ

4.6.4.7 double mapView::currentDir [package]

現在の方位

(31)

4.6 クラス mapView 27

4.6.4.8 double mapView::ratio [package]

4.6.4.9 int mapView::xc [package]

4.6.4.10 int mapView::yc [package]

4.6.4.11 int mapView::goal_point [package]

4.6.4.12 oat mapView::width [package]

4.6.4.13 oat mapView::height [package]

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

ˆ mapView.java

(32)

4.7 クラス odometry_T

オドメトリのクラス

変数

ˆ oatx

ˆ oaty

ˆ oatthe

4.7.1 説明

オドメトリのクラス

4.7.2 変数

4.7.2.1 oat odometry_T::x [package]

4.7.2.2 oat odometry_T::y [package]

4.7.2.3 oat odometry_T::the [package]

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

ˆ sensorView.java

(33)

4.8 クラス pathPlan 29

4.8 クラス pathPlan

軌道生成を行うクラス

Public メソッド

ˆ void initValue() 変数の初期化

ˆ intsetStart(int num)

スタートするポイントを指定する関数

ˆ intgetStart(String fname)

スタートするポイントをファイルから読み出す関数

ˆ booleansaveStart(String fname)

スタートするポイントをファイルに書き出す関数

ˆ void setAngle(oat degree) 方位を設定する関数

ˆ void setData(oat lat, oat lon) 位置(緯度,経度)を設定する関数

ˆ void setData(int n, oat lat, oat lon) 経路(緯度,経度)を設定する関数

ˆ booleanisOverGoalLine()

Goalをオーバーしたかを判定する関数

ˆ void calcDistance() 現在地と目標の距離を計算

ˆ void createLocalCoordinate() 目標が変わる度に1度だけ実行

ˆ void targetUpDate() 目標の更新

ˆ oatgetOutput(String type) 値を変更することなく出力を取り出す

ˆ intloadMapData(String fname) 経由点のデータをファイルから読み出す

ˆ intloadMapData(String fname, Stringoset)

(34)

経由点のデータをファイルから読み出す

ˆ oatdegreeToMeter (String type, oat lat, oat lon) 緯度,経度からメートルに変換

関数

ˆ pathPlan() コンストラクタ

ˆ oatrad2deg (oat rad) radianからdegeeに変換する

ˆ oatdeg2rad (oat deg) degeeからradianに変換する

変数

ˆ booleanis_goal

ˆ booleanis_next

ˆ booleanis_open= true

ˆ intcnt

ˆ intnext

ˆ intprev

ˆ intprob

ˆ oatlength

ˆ oatbase_length

ˆ oatnow_angle

ˆ oatbase_angle

ˆ oatdir_angle

ˆ oatgps_angle

ˆ oatdist

ˆ oatold_dist

ˆ oat[ ]osetData

ˆ oat[ ]prevData

ˆ oatoset

ˆ gpsPosition[ ]Target

ˆ gpsPosition Mover

スタティ ック変数

ˆ static intGOAL_NUM= 3

ˆ static nal oateps= (oat)Math.pow(2, -50)

4.8.1 説明

軌道生成を行うクラス

(35)

4.8 クラス pathPlan 31

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

4.8.2.1 pathPlan::pathPlan () [inline, package]

コンストラクタ

4.8.3 関数

4.8.3.1 void pathPlan::initValue () [inline]

変数の初期化 戻り値:

無し

4.8.3.2 int pathPlan::setStart (int num) [inline]

スタートするポイントを指定する関数 引数:

← num スタートするポイントの番号 戻り値:

現在のポイントの番号

4.8.3.3 int pathPlan::getStart (String fname) [inline]

スタートするポイントをファイルから読み出す関数 途中で停止したときに継続的に走行するため 引数:

← fname ファイル名

戻り値:

スタートするポイントの番号

(36)

4.8.3.4 boolean pathPlan::saveStart (String fname) [inline]

スタートするポイントをファイルに書き出す関数 引数:

← fname ファイル名 戻り値:

true:成功,false:失敗

4.8.3.5 void pathPlan::setAngle (oat degree) [inline]

方位を設定する関数 引数:

← degree 方位 (degree) 戻り値:

無し

4.8.3.6 void pathPlan::setData (oat lat, oat lon) [inline]

位置(緯度,経度)を設定する関数 引数:

← lat 緯度

← lon 経度 戻り値:

無し

4.8.3.7 void pathPlan::setData (int n, oat lat, oat lon) [inline]

経路(緯度,経度)を設定する関数 引数:

← lat 緯度

← lon 経度 戻り値:

無し

(37)

4.8 クラス pathPlan 33

4.8.3.8 boolean pathPlan::isOverGoalLine () [inline] Goalをオーバーしたかを判定する関数

戻り値: true:

4.8.3.9 void pathPlan::calcDistance () [inline]

現在地と目標の距離を計算 戻り値:

無し

4.8.3.10 void pathPlan::createLocalCoordinate () [inline]

目標が変わる度に1度だけ実行 戻り値:

無し

4.8.3.11 void pathPlan::targetUpDate () [inline]

目標の更新 戻り値:

無し

4.8.3.12 oat pathPlan::getOutput (String type) [inline]

値を変更することなく出力を取り出す 戻り値:

無し

(38)

4.8.3.13 int pathPlan::loadMapData (String fname) [inline]

経由点のデータをファイルから読み出す 引数:

← fname ファイル名 戻り値:

経由点の数

4.8.3.14 int pathPlan::loadMapData (String fname, String oset) [inline]

経由点のデータをファイルから読み出す 引数:

← fname ファイル名

← oset 戻り値:

経由点の数

4.8.3.15 oat pathPlan::degreeToMeter (String type, oat lat, oat lon) [inline]

緯度,経度からメートルに変換 引数:

← type タイプ ("lat" or "lon")

← lat 緯度

← lon 経度 戻り値:

緯度もしくは経度のメートル

4.8.3.16 oat pathPlan::rad2deg (oat rad) [inline, package] radianからdegeeに変換する

引数:

← rad 角度 (radian)

(39)

4.8 クラス pathPlan 35

戻り値:

角度(degree)

4.8.3.17 oat pathPlan::deg2rad (oat deg) [inline, package] degeeからradianに変換する

引数:

← deg 角度 (degree) 戻り値:

角度(radian)

4.8.4 変数

4.8.4.1 int pathPlan::GOAL_NUM = 3 [static, package]

4.8.4.2 nal oat pathPlan::eps = (oat)Math.pow(2, -50) [static, package]

4.8.4.3 boolean pathPlan::is_goal [package]

4.8.4.4 boolean pathPlan::is_next [package]

4.8.4.5 boolean pathPlan::is_open = true [package]

4.8.4.6 int pathPlan::cnt [package]

4.8.4.7 int pathPlan::next [package]

(40)

4.8.4.8 int pathPlan::prev [package]

4.8.4.9 int pathPlan::prob [package]

4.8.4.10 oat pathPlan::length [package]

4.8.4.11 oat pathPlan::base_length [package]

4.8.4.12 oat pathPlan::now_angle [package]

4.8.4.13 oat pathPlan::base_angle [package]

4.8.4.14 oat pathPlan::dir_angle [package]

4.8.4.15 oat pathPlan::gps_angle [package]

4.8.4.16 oat pathPlan::dist [package]

4.8.4.17 oat pathPlan::old_dist [package]

4.8.4.18 oat [ ] pathPlan::osetData [package]

4.8.4.19 oat [ ] pathPlan::prevData [package]

(41)

4.8 クラス pathPlan 37

4.8.4.20 oat pathPlan::oset [package]

4.8.4.21 gpsPosition [ ] pathPlan::Target [package]

4.8.4.22 gpsPosition pathPlan::Mover [package]

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

ˆ pathPlan.java

(42)

4.9 クラス SensorAnalyze

センサデータを取得して,台車を制御するクラス RtcNewFunc,RtcDeleteFuncを継承しています。

Public メソッド

ˆ RTObject_implcreateRtc(Manager mgr)

ˆ void deleteRtc(RTObject_impl rtcBase)

Static Public 変数

ˆ static Stringcomponent_conf[ ]

4.9.1 説明

センサデータを取得して,台車を制御するクラス

4.9.2 関数

4.9.2.1 RTObject_impl SensorAnalyze::createRtc (Manager mgr) [inline]

4.9.2.2 void SensorAnalyze::deleteRtc (RTObject_impl rtcBase) [inline]

4.9.3 変数

4.9.3.1 String SensorAnalyze::component_conf[ ] [static]

初期値:

{ "implementation_id", "SensorAnalyze",

"type_name", "SensorAnalyze",

"description", "Analyzer for Sensor Data",

"version", "1.0.0",

"vendor", "CIT",

"category", "Category",

"activity_type", "DataFlowComponent",

"max_instance", "1",

"language", "Java",

(43)

4.9 クラス SensorAnalyze 39

"lang_type", "compile",

"conf.default.filename", "data.txt",

"conf.default.isViewer", "1",

"" }

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

ˆ SensorAnalyze.java

(44)

4.10 クラス SensorAnalyzeComp

センサデータを取得して台車を制御するコンポーネントクラス ModuleInitProcを継承しています。

Public メソッド

ˆ void myModuleInit(Manager mgr)

Static Public メソッド

ˆ static voidmain (String[ ] args)

4.10.1 説明

センサデータを取得して台車を制御するコンポーネントクラス

4.10.2 関数

4.10.2.1 void SensorAnalyzeComp::myModuleInit (Manager mgr) [inline]

4.10.2.2 static void SensorAnalyzeComp::main (String[ ] args) [inline, static]

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

ˆ SensorAnalyzeComp.java

(45)

4.11クラス SensorAnalyzeImpl 41

4.11 クラス SensorAnalyzeImpl

センサデータを取得して,台車を制御する機能を実装するためのクラス DataFlowComponentBaseを継承しています。

Public メソッド

ˆ SensorAnalyzeImpl(Manager manager) コンストラクタ

ˆ booleansave(String str) データを保存するクラス

Protected メソッド

ˆ ReturnCode_tonInitialize() 初期化処理

ˆ ReturnCode_tonShutdown(int ec_id) 終了処理

ˆ ReturnCode_tonActivated (int ec_id) Activateするときに呼び出される関数

ˆ ReturnCode_tonDeactivated(int ec_id) Deactivateするときに呼び出される関数

ˆ ReturnCode_tonExecute(int ec_id) アクティベート中に定期的に呼び出される関数

Protected 変数

ˆ StringHolder m_lename= new StringHolder()

ˆ ByteHolder m_isViewer= new ByteHolder()

ˆ TimedShortSeq[ ]m_urgData_val URGのデータ(入力ポート用)

ˆ DataRef< TimedShortSeq >[ ] m_urgData

ˆ InPort< TimedShortSeq >[ ] m_urgDataIn

ˆ TimedFloatSeqm_gpsData_val GPSのデータ(入力ポート用)

ˆ DataRef< TimedFloatSeq > m_gpsData

(46)

ˆ InPort< TimedFloatSeq >m_gpsDataIn

ˆ TimedFloatSeqm_directionData_val 方位センサのデータ(入力ポート用)

ˆ DataRef< TimedFloatSeq > m_directionData

ˆ InPort< TimedFloatSeq >m_directionDataIn

ˆ TimedFloatSeqm_joystickData_val joystickのデータ(入力ポート用)

ˆ DataRef< TimedFloatSeq > m_joystickData

ˆ InPort< TimedFloatSeq >m_joystickDataIn

ˆ TimedFloatSeqm_moverStatusData_val

RT-Moverのステータスデータ(入力ポート用)

ˆ DataRef< TimedFloatSeq > m_moverStatusData

ˆ InPort< TimedFloatSeq >m_moverStatusDataIn

ˆ TimedFloatSeqm_moverData_val RT-Moverのデータ(出力ポート用)

ˆ DataRef< TimedFloatSeq > m_moverData

ˆ OutPort< TimedFloatSeq >m_moverDataOut

ˆ TimedString m_soundFilename_val 音声データ(出力ポート用)

ˆ DataRef< TimedString >m_soundFilename

ˆ OutPort< TimedString >m_soundFilenameOut

関数

ˆ oatradians (oat deg)

degeeradianに変換する関数

ˆ oatdegrees (oat rad)

radiandegeeに変換する関数

ˆ oataverage(oat[ ] input) 平均を求める

変数

ˆ booleangps_update

GPSのデータが更新されたかどうかのフラグ

ˆ urgAnalyze[ ]urgAna

urgのデータを変換するクラス

ˆ sensorView sView

センサで計測したデータを表示するクラス

(47)

4.11クラス SensorAnalyzeImpl 43

ˆ mapView mView 地図を表示するクラス

ˆ StringsaveFile 保存するファイル名

ˆ Stringfname

ˆ pathPlan moverDir 経路の生成を行うクラス

ˆ oat[ ]avoidData

ˆ oat[ ]joystickData

ˆ oat[ ]directionData

ˆ oat[ ]gpsData GPSのデータ

ˆ oat[ ]odometryData オドメトリのデータ

ˆ oat[ ]jointData 角度のデータ

ˆ oat[ ]pathData

ˆ oat[ ]averageData_x

ˆ oat[ ]averageData_y

ˆ oat[ ]averageData_w

ˆ booleanisNew

新しいデータがあるかどうかのフラグ

ˆ booleanisNewDIR

ˆ odometry_T[ ]odometry オドメトリのデータ

ˆ avoidTable aTbl

障害物回避用のテーブル

ˆ intmode=avoidTable.NORMAL_MODE 障害物回避のモード

ˆ oatdir_cnt

ˆ oatrst_dir

ˆ oatodo_the

ˆ oatoset_i

ˆ nal oat STEER_MAX= 1.0f

ˆ nal oat SPEED_MAX= 1.0f

ˆ intold_select= 0

ˆ JButtonlogBtn

ˆ JPanelbtnPnl

ˆ booleanis_LogReady

(48)

4.11.1 説明

センサデータを取得して,台車を制御する機能を実装するためのクラス

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

4.11.2.1 SensorAnalyzeImpl::SensorAnalyzeImpl (Manager manager) [inline]

コンストラクタ

4.11.3 関数

4.11.3.1 ReturnCode_t SensorAnalyzeImpl::onInitialize () [inline, protected]

初期化処理

パラメータの初期化 ファイル名の初期化 変数の初期化 センサの初期化 回避のルールを初期化

ユーザーインターフェイスの初期化

戻り値: RTC_OK

4.11.3.2 ReturnCode_t SensorAnalyzeImpl::onShutdown (int ec_id) [inline, protected]

終了処理 何も行わない 戻り値:

親クラスのonShutdown(ec_id)

(49)

4.11クラス SensorAnalyzeImpl 45

4.11.3.3 ReturnCode_t SensorAnalyzeImpl::onActivated (int ec_id) [inline, protected]

Activateするときに呼び出される関数 変数の初期化とデータ保存の準備 戻り値:

親クラスのonShutdown(ec_id)

4.11.3.4 ReturnCode_t SensorAnalyzeImpl::onDeactivated (int ec_id) [inline, protected]

Deactivateするときに呼び出される関数 データ保存

戻り値:

親クラスのonShutdown(ec_id)

4.11.3.5 ReturnCode_t SensorAnalyzeImpl::onExecute (int ec_id) [inline, protected]

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

URG,GPS,方位センサ,joystick,moverのデータを取得して,移動方向を決定する.

戻り値: RTC_OK

4.11.3.6 boolean SensorAnalyzeImpl::save (String str) [inline]

データを保存するクラス 引数:

← str 保存するデータ列

戻り値:

true:成功false:失敗

(50)

4.11.3.7 oat SensorAnalyzeImpl::radians (oat deg) [inline, package] degeeradianに変換する関数

引数:

← deg 角度 (degree) 戻り値:

角度(radian)

4.11.3.8 oat SensorAnalyzeImpl::degrees (oat rad) [inline, package] radiandegeeに変換する関数

引数:

← deg 角度 (radian) 戻り値:

角度(degree)

4.11.3.9 oat SensorAnalyzeImpl::average (oat[ ] input) [inline, package]

平均を求める 引数:

← input oat 型の配列 戻り値:

平均値

4.11.4 変数

4.11.4.1 boolean SensorAnalyzeImpl::gps_update [package]

GPSのデータが更新されたかどうかのフラグ

4.11.4.2 StringHolder SensorAnalyzeImpl::m_lename = new StringHolder() [protected]

(51)

4.11クラス SensorAnalyzeImpl 47

4.11.4.3 ByteHolder SensorAnalyzeImpl::m_isViewer = new ByteHolder() [protected]

4.11.4.4 TimedShortSeq [ ] SensorAnalyzeImpl::m_urgData_val [protected] URGのデータ(入力ポート用)

4.11.4.5 DataRef<TimedShortSeq> [ ] SensorAnalyzeImpl::m_urgData [protected]

4.11.4.6 InPort<TimedShortSeq> [ ] SensorAnalyzeImpl::m_urgDataIn [protected]

4.11.4.7 TimedFloatSeq SensorAnalyzeImpl::m_gpsData_val [protected] GPSのデータ(入力ポート用)

4.11.4.8 DataRef<TimedFloatSeq> SensorAnalyzeImpl::m_gpsData [protected]

4.11.4.9 InPort<TimedFloatSeq> SensorAnalyzeImpl::m_gpsDataIn [protected]

4.11.4.10 TimedFloatSeq SensorAnalyzeImpl::m_directionData_val [protected]

方位センサのデータ(入力ポート用)

4.11.4.11 DataRef<TimedFloatSeq> SensorAnalyzeImpl::m_directionData [protected]

4.11.4.12 InPort<TimedFloatSeq> SensorAnalyzeImpl::m_directionDataIn [protected]

(52)

4.11.4.13 TimedFloatSeq SensorAnalyzeImpl::m_joystickData_val [protected] joystickのデータ(入力ポート用)

4.11.4.14 DataRef<TimedFloatSeq> SensorAnalyzeImpl::m_joystickData [protected]

4.11.4.15 InPort<TimedFloatSeq> SensorAnalyzeImpl::m_joystickDataIn [protected]

4.11.4.16 TimedFloatSeq SensorAnalyzeImpl::m_moverStatusData_val [protected]

RT-Moverのステータスデータ(入力ポート用)

4.11.4.17 DataRef<TimedFloatSeq> SensorAnalyzeImpl::m_moverStatusData [protected]

4.11.4.18 InPort<TimedFloatSeq> SensorAnalyzeImpl::m_moverStatusDataIn [protected]

4.11.4.19 TimedFloatSeq SensorAnalyzeImpl::m_moverData_val [protected] RT-Moverのデータ(出力ポート用)

4.11.4.20 DataRef<TimedFloatSeq> SensorAnalyzeImpl::m_moverData [protected]

4.11.4.21 OutPort<TimedFloatSeq> SensorAnalyzeImpl::m_moverDataOut [protected]

(53)

4.11クラス SensorAnalyzeImpl 49

4.11.4.22 TimedString SensorAnalyzeImpl::m_soundFilename_val [protected]

音声データ(出力ポート用)

4.11.4.23 DataRef<TimedString> SensorAnalyzeImpl::m_soundFilename [protected]

4.11.4.24 OutPort<TimedString> SensorAnalyzeImpl::m_soundFilenameOut [protected]

4.11.4.25 urgAnalyze [ ] SensorAnalyzeImpl::urgAna [package] urgのデータを変換するクラス

4.11.4.26 sensorView SensorAnalyzeImpl::sView [package]

センサで計測したデータを表示するクラス

4.11.4.27 mapView SensorAnalyzeImpl::mView [package]

地図を表示するクラス

4.11.4.28 String SensorAnalyzeImpl::saveFile [package]

保存するファイル名

4.11.4.29 String SensorAnalyzeImpl::fname [package]

4.11.4.30 pathPlan SensorAnalyzeImpl::moverDir [package]

経路の生成を行うクラス

(54)

4.11.4.31 oat [ ] SensorAnalyzeImpl::avoidData [package]

4.11.4.32 oat [ ] SensorAnalyzeImpl::joystickData [package]

4.11.4.33 oat [ ] SensorAnalyzeImpl::directionData [package]

4.11.4.34 oat [ ] SensorAnalyzeImpl::gpsData [package] GPSのデータ

4.11.4.35 oat [ ] SensorAnalyzeImpl::odometryData [package]

オドメトリのデータ

4.11.4.36 oat [ ] SensorAnalyzeImpl::jointData [package]

角度のデータ

4.11.4.37 oat [ ] SensorAnalyzeImpl::pathData [package]

4.11.4.38 oat [ ] SensorAnalyzeImpl::averageData_x [package]

4.11.4.39 oat [ ] SensorAnalyzeImpl::averageData_y [package]

4.11.4.40 oat [ ] SensorAnalyzeImpl::averageData_w [package]

(55)

4.11クラス SensorAnalyzeImpl 51

4.11.4.41 boolean SensorAnalyzeImpl::isNew [package]

新しいデータがあるかどうかのフラグ

4.11.4.42 boolean SensorAnalyzeImpl::isNewDIR [package]

4.11.4.43 odometry_T [ ] SensorAnalyzeImpl::odometry [package]

オドメトリのデータ

4.11.4.44 avoidTable SensorAnalyzeImpl::aTbl [package]

障害物回避用のテーブル

4.11.4.45 int SensorAnalyzeImpl::mode = avoidTable.NORMAL_MODE [package]

障害物回避のモード

4.11.4.46 oat SensorAnalyzeImpl::dir_cnt [package]

4.11.4.47 oat SensorAnalyzeImpl::rst_dir [package]

4.11.4.48 oat SensorAnalyzeImpl::odo_the [package]

4.11.4.49 oat SensorAnalyzeImpl::oset_i [package]

4.11.4.50 nal oat SensorAnalyzeImpl::STEER_MAX = 1.0f [package]

(56)

4.11.4.51 nal oat SensorAnalyzeImpl::SPEED_MAX = 1.0f [package]

4.11.4.52 int SensorAnalyzeImpl::old_select = 0 [package]

4.11.4.53 JButton SensorAnalyzeImpl::logBtn [package]

4.11.4.54 JPanel SensorAnalyzeImpl::btnPnl [package]

4.11.4.55 boolean SensorAnalyzeImpl::is_LogReady [package]

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

ˆ SensorAnalyzeImpl.java

(57)

4.12クラス sensorView 53

4.12 クラス sensorView

センサデータの表示を行うクラス JPanelを継承しています。

Public メソッド

ˆ void paint(Graphics gs) 再描画時に呼び出される関数

ˆ void setUrgData(urgAnalyze[ ] urgA) URGクラスの取得

ˆ void setGpsData(oat[ ]gpsData) GPSクラスの取得

ˆ void setDirectionData(oat[ ]directionData) 方位センサクラスの取得

ˆ void setJoystickData(oat[ ]joystickData) joystickクラスの取得

ˆ void setAvoidData(oat[ ]avoidData) 障害物回避クラスの取得

ˆ void setMoverStatusData (oat[ ] odometryData, oat[ ] jointData, odometry_T[ ] odometry)

移動台車(RT-Mover)制御クラスの取得

ˆ void setTargetData(oat length, oat radian) 目的地を設定する

ˆ void setAviodTable(avoidTableavoid_table) 障害物回避のテーブルを設定する

ˆ void setGoalString(int num) 経由点の番号を設定する

ˆ void setOutput(oat[ ] outputdata) 出力のデータを設定する

ˆ void setOdometry(oat radian) オドメトリを設定する

(58)

関数

ˆ sensorView() コンストラクタ

ˆ oatradians (oat deg)

degeeradianに変換する関数

ˆ oatdegrees (oat rad)

radiandegeeに変換する関数

変数

ˆ urgAnalyze[ ]urgAna

urgのデータを変換するクラス

ˆ oat[ ]gpsData GPSのデータ

ˆ oat[ ]directionData 方位センサのデータ

ˆ oat[ ]joystickData ジョイスティックのデータ

ˆ oat[ ]avoidData 障害物回避のデータ

ˆ oat[ ]odometryData オドメトリのデータ

ˆ oat[ ]jointData 関節角のデータ

ˆ oat[ ]targetData 目標位置のデータ

ˆ oat[ ]outputData 出力のデータ

ˆ oatodo_the

オドメトリの角度のデータ

ˆ intgoalNum

ゴールの番号のデータ

ˆ odometry_T[ ]odometry

ˆ odometry_T[ ]odoBasedNowPos

ˆ avoidTable.Area[ ]area

(59)

4.12クラス sensorView 55

4.12.1 説明

センサデータの表示を行うクラス

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

4.12.2.1 sensorView::sensorView () [inline, package]

コンストラクタ

ビューの設定変数の初期化

4.12.3 関数

4.12.3.1 void sensorView::paint (Graphics gs) [inline]

再描画時に呼び出される関数 戻り値:

無し

4.12.3.2 void sensorView::setUrgData (urgAnalyze[ ] urgA) [inline] URGクラスの取得

ViewクラスからデータにアクセスできるようにURGクラスを取得する

引数:

← urgA URG クラスの行列 戻り値:

無し

4.12.3.3 void sensorView::setGpsData (oat[ ] gpsData) [inline] GPSクラスの取得

ViewクラスからデータにアクセスできるようにGPSクラスを取得する

引数:

← gpsData GPS クラス

(60)

戻り値: 無し

4.12.3.4 void sensorView::setDirectionData (oat[ ] directionData) [inline]

方位センサクラスの取得

Viewクラスからデータにアクセスできるように方位センサクラスを取得する

引数:

← directionData 方位センサクラス

戻り値: 無し

4.12.3.5 void sensorView::setJoystickData (oat[ ] joystickData) [inline] joystickクラスの取得

Viewクラスからデータにアクセスできるようにjoystickクラスを取得する

引数:

← joystickData joystick クラス

戻り値: 無し

4.12.3.6 void sensorView::setAvoidData (oat[ ] avoidData) [inline]

障害物回避クラスの取得

Viewクラスからデータにアクセスできるように障害物回避クラスを取得する

引数:

← avoidData 障害物回避クラス

戻り値: 無し

(61)

4.12クラス sensorView 57

4.12.3.7 void sensorView::setMoverStatusData (oat[ ] odometryData, oat[ ] jointData, odometry_T[ ] odometry) [inline]

移動台車(RT-Mover)制御クラスの取得

Viewクラスからデータにアクセスできるように移動台車制御クラスを取得する

引数:

← odometryData オドメトリを取得するクラス

← jointData 関節の角度を取得するクラス

← odometry オドメトリを取得するクラス

戻り値: 無し

4.12.3.8 void sensorView::setTargetData (oat length, oat radian) [inline]

目的地を設定する

Viewクラスで表示するために目的地を設定する

引数:

← length 目的地までの距離

← radian 目的地の方向

戻り値: 無し

4.12.3.9 void sensorView::setAviodTable (avoidTable avoid_table) [inline]

障害物回避のテーブルを設定する

Viewクラスで表示するために目的地を設定する

引数:

← avoid_table 障害物回避のためのテーブル

戻り値: 無し

(62)

4.12.3.10 void sensorView::setGoalString (int num) [inline]

経由点の番号を設定する

Viewクラスで表示するために経由点の番号を設定する

引数:

← num 経由点の番号 戻り値:

無し

4.12.3.11 void sensorView::setOutput (oat[ ] outputdata) [inline]

出力のデータを設定する

Viewクラスで表示するために出力のデータを設定する

引数:

← outputdata 出力のデータ 戻り値:

無し

4.12.3.12 void sensorView::setOdometry (oat radian) [inline]

オドメトリを設定する

Viewクラスで表示するためにオドメトリのデータを設定する

引数:

← radian オドメトリの角度 戻り値:

無し

4.12.3.13 oat sensorView::radians (oat deg) [inline, package] degeeradianに変換する関数

引数:

← deg 角度 (degree)

(63)

4.12クラス sensorView 59

戻り値:

角度(radian)

4.12.3.14 oat sensorView::degrees (oat rad) [inline, package] radiandegeeに変換する関数

引数:

← deg 角度 (radian)

戻り値:

角度(degree)

4.12.4 変数

4.12.4.1 urgAnalyze [ ] sensorView::urgAna [package] urgのデータを変換するクラス

4.12.4.2 oat [ ] sensorView::gpsData [package] GPSのデータ

4.12.4.3 oat [ ] sensorView::directionData [package]

方位センサのデータ

4.12.4.4 oat [ ] sensorView::joystickData [package]

ジョイスティックのデータ

4.12.4.5 oat [ ] sensorView::avoidData [package]

障害物回避のデータ

(64)

4.12.4.6 oat [ ] sensorView::odometryData [package]

オドメトリのデータ

4.12.4.7 oat [ ] sensorView::jointData [package]

関節角のデータ

4.12.4.8 oat [ ] sensorView::targetData [package]

目標位置のデータ

4.12.4.9 oat [ ] sensorView::outputData [package]

出力のデータ

4.12.4.10 oat sensorView::odo_the [package]

オドメトリの角度のデータ

4.12.4.11 int sensorView::goalNum [package]

ゴールの番号のデータ

4.12.4.12 odometry_T [ ] sensorView::odometry [package]

4.12.4.13 odometry_T [ ] sensorView::odoBasedNowPos [package]

4.12.4.14 avoidTable.Area [ ] sensorView::area [package]

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

ˆ sensorView.java

(65)

4.13クラス urgAnalyze 61

4.13 クラス urgAnalyze

urgのデータを変換するクラス

Public メソッド

ˆ void setData(short data[ ]) 計測データのセット

ˆ void calc()

計測データの変換

ˆ void getPosData(oat[ ] x, oat[ ] y, oat[ ] z)

計測データからデカルト座標系のデータに変換してx,y,zに代入

ˆ void setOset(oat x, oat y, oat z, oat ang_hor, oat ang_ver) センサの位置の設定

ˆ void setType(inttype) センサの種類の設定

ˆ booleanisInside(int no, oat x0, oat y0, oat x1, oat y1) 内部にあるかどうかの判定

Public 変数

ˆ intTOP_URG= 0

ˆ intHIGH_URG= 1

ˆ intURG= 2

関数

ˆ urgAnalyze() コンストラクタ

ˆ oatradians (oat deg) degreeからradianへの変換

変数

ˆ oato_x

ˆ oato_y

ˆ oato_z

(66)

ˆ oato_ang_hor

ˆ oato_ang_ver

ˆ short[ ]urgData

ˆ inttype

ˆ oat[ ]pos_x

ˆ oat[ ]pos_y

ˆ oat[ ]pos_z

ˆ short numData

ˆ short[ ]numDataTbl= {1081, 769}

ˆ oat[ ][ ]urgAngle

4.13.1 説明

urgのデータを変換するクラス

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

4.13.2.1 urgAnalyze::urgAnalyze () [inline, package]

コンストラクタ

変数の初期化.URGのタイプの設定(TOP_URG)

4.13.3 関数

4.13.3.1 void urgAnalyze::setData (short data[ ]) [inline]

計測データのセット 変換元のデータをセット 引数:

← data データ列 戻り値:

無し

4.13.3.2 void urgAnalyze::calc () [inline]

計測データの変換

計測データからデカルト座標系の値に変換

(67)

4.13クラス urgAnalyze 63

戻り値: 無し

4.13.3.3 void urgAnalyze::getPosData (oat[ ] x, oat[ ] y, oat[ ] z) [inline]

計測データからデカルト座標系のデータに変換してx,y,zに代入 関数の中でcalc()を呼び出している.(再度呼び出さないように注意) 引数:

→ x センサデータをデカルト座標に変換した x 座標

→ y センサデータをデカルト座標に変換した y 座標

→ z センサデータをデカルト座標に変換した z 座標 戻り値:

無し

4.13.3.4 void urgAnalyze::setOset (oat x, oat y, oat z, oat ang_hor, oat ang_ver) [inline]

センサの位置の設定

ロール方向には回転しない前提 引数:

← x センサ位置の x 座標

← y センサ位置の y 座標

← z センサ位置の z 座標

← ang_hor 水平方向の角度

← ang_ver 垂直方向の角度

戻り値: 無し

4.13.3.5 void urgAnalyze::setType (int type) [inline]

センサの種類の設定 引数:

← type センサの種類(TOP_URG = 0, HIGH_URG = 1, URG = 2;)

(68)

戻り値: 無し

4.13.3.6 boolean urgAnalyze::isInside (int no, oat x0, oat y0, oat x1, oat y1) [inline]

内部にあるかどうかの判定 引数:

← no URG のデータの番号

← x0 判定する領域の x0 座標

← y0 判定する領域の y0 座標

← x1 判定する領域の x1 座標

← y1 判定する領域の y1 座標

戻り値:

true:false:

4.13.3.7 oat urgAnalyze::radians (oat deg) [inline, package] degreeからradianへの変換

引数:

← deg 角度 (degree)

戻り値:

角度(radians)

4.13.4 変数

4.13.4.1 oat urgAnalyze::o_x [package]

4.13.4.2 oat urgAnalyze::o_y [package]

(69)

4.13クラス urgAnalyze 65

4.13.4.3 oat urgAnalyze::o_z [package]

4.13.4.4 oat urgAnalyze::o_ang_hor [package]

4.13.4.5 oat urgAnalyze::o_ang_ver [package]

4.13.4.6 short [ ] urgAnalyze::urgData [package]

4.13.4.7 int urgAnalyze::type [package]

4.13.4.8 oat [ ] urgAnalyze::pos_x [package]

4.13.4.9 oat [ ] urgAnalyze::pos_y [package]

4.13.4.10 oat [ ] urgAnalyze::pos_z [package]

4.13.4.11 short urgAnalyze::numData [package]

4.13.4.12 short [ ] urgAnalyze::numDataTbl = {1081, 769} [package]

4.13.4.13 oat [ ][ ] urgAnalyze::urgAngle [package]

初期値:

{{radians(-135.125f), radians(135.125f)},

{radians(-135.175f), radians(135.175f)}}

(70)

4.13.4.14 int urgAnalyze::TOP_URG = 0

4.13.4.15 int urgAnalyze::HIGH_URG = 1

4.13.4.16 int urgAnalyze::URG = 2

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

ˆ urgAnalyze.java

(71)

Chapter 5

ファイル

5.1 avoidTable.java

障害物回避のテーブルのクラス

構成

ˆ classavoidTable

障害物回避のテーブルのクラス

ˆ classavoidTable::Area

障害物を検出するエリアを記述するためのクラス

ˆ classavoidTable::Rule ルールを記述するクラス

ˆ classavoidTable::Velocity 速度を記述するクラス

5.1.1 説明

障害物回避のテーブルのクラス 日付:

2008.03.05

作者:

T.Hayashi K.Ichizawa Y.Hayashibara

(72)

5.2 gpsPosition.java

GPSのデータを取り扱うクラス

構成

ˆ classgpsPosition

GPSのデータを取り扱うクラス

5.2.1 説明

GPSのデータを取り扱うクラス

日付:

2008.03.05

作者:

T.Hayashi K.Ichizawa Y.Hayashibara

(73)

5.3 mapView.java 69

5.3 mapView.java

地図の表示を行うクラス

構成

ˆ classmapView

地図の表示を行うクラス

5.3.1 説明

地図の表示を行うクラス 日付:

2008.03.05

作者:

T.Hayashi K.Ichizawa Y.Hayashibara

(74)

5.4 pathPlan.java

軌道生成を行うクラス

構成

ˆ classpathPlan

軌道生成を行うクラス

5.4.1 説明

軌道生成を行うクラス 日付:

2008.03.05

作者:

T.Hayashi K.Ichizawa Y.Hayashibara

(75)

5.5 SensorAnalyze.java 71

5.5 SensorAnalyze.java

センサデータを取得して,台車を制御するクラス

構成

ˆ classSensorAnalyze

センサデータを取得して,台車を制御するクラス

5.5.1 説明

センサデータを取得して,台車を制御するクラス 日付:

2008.03.05

作者:

T.Hayashi K.Ichizawa Y.Hayashibara

(76)

5.6 SensorAnalyzeComp.java

センサデータを取得して,台車を制御するコンポーネントのクラス

構成

ˆ classSensorAnalyzeComp

センサデータを取得して台車を制御するコンポーネントクラス

5.6.1 説明

センサデータを取得して,台車を制御するコンポーネントのクラス 日付:

2008.03.05

作者:

T.Hayashi K.Ichizawa Y.Hayashibara

(77)

5.7 SensorAnalyzeImpl.java 73

5.7 SensorAnalyzeImpl.java

センサデータを取得して,台車を制御する機能を実装するためのクラス

構成

ˆ classSensorAnalyzeImpl

センサデータを取得して,台車を制御する機能を実装するためのクラス

5.7.1 説明

センサデータを取得して,台車を制御する機能を実装するためのクラス 日付:

2008.03.05

作者:

T.Hayashi K.Ichizawa Y.Hayashibara

(78)

5.8 sensorView.java

センサデータの表示を行うクラス

構成

ˆ classsensorView

センサデータの表示を行うクラス

ˆ classodometry_T オドメトリのクラス

5.8.1 説明

センサデータの表示を行うクラス 日付:

2008.03.05

作者:

T.Hayashi K.Ichizawa Y.Hayashibara

(79)

5.9 urgAnalyze.java 75

5.9 urgAnalyze.java

urgのデータを変換するクラス

構成

ˆ classurgAnalyze

urgのデータを変換するクラス

5.9.1 説明

urgのデータを変換するクラス

日付:

2008.03.05

作者:

T.Hayashi K.Ichizawa Y.Hayashibara

(80)

Index

addArea

avoidTable,9 addRule

avoidTable,10 areaavoidTable,11 sensorView,60 area_no

avoidTable,11

aTblSensorAnalyzeImpl,51 average

SensorAnalyzeImpl,46 averageData_w

SensorAnalyzeImpl,50 averageData_x

SensorAnalyzeImpl,50 averageData_y

SensorAnalyzeImpl,50 avoidData

SensorAnalyzeImpl,49 sensorView,59

avoidTable,7 addArea,9 addRule,10 area,11 area_no,11 avoidTable,9 BACK_MODE,12 calcAvoidVelocity,10 clearArea,9

clearRule,10 countInside,10 dthe,12 dthe0,13 dthed,13 dx,12 dx0,13 dxd,13 dy,12 dy0,13 dyd,13

ag,11 min_num,11 mode,12

NORMAL_MODE,12 old_select,12

rule,12 rule_no,12 select,12

setDeltaVelocity,11 time_ms,13 avoidTable.java,67 avoidTable::Area,14

is_inside,14 setArea,14 x0,15 x1,15 y0,15 y1,15

avoidTable::Rule,16 checkRule,17 dthe,18 dx,18 dy,18

ag,17 mask,17 next_mode,18 now_mode,18 period,18 setRule,17

avoidTable::Velocity,19 dthe,19

dx,19 dy,19 BACK_MODE

avoidTable,12 base_angle

pathPlan,36 base_length

pathPlan,36 btnPnl

SensorAnalyzeImpl,52 calcurgAnalyze,62

calcAvoidVelocity avoidTable,10 calcDistance

(81)

INDEX 77

pathPlan,33 checkRule

avoidTable::Rule,17 clearArea

avoidTable,9 clearRule

avoidTable,10 cnt pathPlan,35 component_conf

SensorAnalyze,38 convmapView,25 countInside

avoidTable,10 createLocalCoordinate

pathPlan,33 createRtc

SensorAnalyze,38 currentDir

mapView,26 currentPos

mapView,26 deg2rad

pathPlan,35 degrees

SensorAnalyzeImpl,46 sensorView,59

degreeToMeter pathPlan,34 deleteRtc

SensorAnalyze,38 dir_angle

pathPlan,36 dir_cnt

SensorAnalyzeImpl,51 directionData

SensorAnalyzeImpl,50 sensorView,59

dist pathPlan,36 dtheavoidTable,12

avoidTable::Rule,18 avoidTable::Velocity,19 dthe0

avoidTable,13 dthed

avoidTable,13 dx avoidTable,12

avoidTable::Rule,18 avoidTable::Velocity,19

dx0 avoidTable,13 dxd avoidTable,13 dy avoidTable,12

avoidTable::Rule,18 avoidTable::Velocity,19 dy0 avoidTable,13

dyd avoidTable,13

eps pathPlan,35

rst_dir

SensorAnalyzeImpl,51

ag avoidTable,11 avoidTable::Rule,17 fname

SensorAnalyzeImpl,49 get gpsPosition,20

getOutput pathPlan,33 getPosData

urgAnalyze,63 getStart

pathPlan,31 GOAL_NUM

pathPlan,35 goal_point

mapView,27 goalNum

sensorView,60 gps_angle

pathPlan,36 gps_update

SensorAnalyzeImpl,46 gpsData

SensorAnalyzeImpl,50 sensorView,59

gpsPosition,20 get,20 lat,21 lon,21 setPosi,20 gpsPosition.java,68 height

mapView,27

(82)

HIGH_URG urgAnalyze,66 init mapView,23 initValue

pathPlan,31 is_goal

pathPlan,35 is_inside

avoidTable::Area,14 is_LogReady

SensorAnalyzeImpl,52 is_next

pathPlan,35 is_open

pathPlan,35 isInside

urgAnalyze,64 isNew

SensorAnalyzeImpl,50 isNewDIR

SensorAnalyzeImpl,51 isOverGoalLine

pathPlan,32 jointData

SensorAnalyzeImpl,50 sensorView,60

joystickData

SensorAnalyzeImpl,50 sensorView,59

lat gpsPosition,21 lat1mapView,26 lat2mapView,26 length

pathPlan,36 loadMapData

pathPlan,33,34 logBtn

SensorAnalyzeImpl,52 lon gpsPosition,21 lon1mapView,26 lon2mapView,26

m_directionData

SensorAnalyzeImpl,47

m_directionData_val SensorAnalyzeImpl,47 m_directionDataIn

SensorAnalyzeImpl,47 m_lename

SensorAnalyzeImpl,46 m_gpsData

SensorAnalyzeImpl,47 m_gpsData_val

SensorAnalyzeImpl,47 m_gpsDataIn

SensorAnalyzeImpl,47 m_isViewer

SensorAnalyzeImpl,46 m_joystickData

SensorAnalyzeImpl,48 m_joystickData_val

SensorAnalyzeImpl,47 m_joystickDataIn

SensorAnalyzeImpl,48 m_moverData

SensorAnalyzeImpl,48 m_moverData_val

SensorAnalyzeImpl,48 m_moverDataOut

SensorAnalyzeImpl,48 m_moverStatusData

SensorAnalyzeImpl,48 m_moverStatusData_val

SensorAnalyzeImpl,48 m_moverStatusDataIn

SensorAnalyzeImpl,48 m_soundFilename

SensorAnalyzeImpl,49 m_soundFilename_val

SensorAnalyzeImpl,48 m_soundFilenameOut

SensorAnalyzeImpl,49 m_urgData

SensorAnalyzeImpl,47 m_urgData_val

SensorAnalyzeImpl,47 m_urgDataIn

SensorAnalyzeImpl,47 mainSensorAnalyzeComp,40 mapView,22

conv,25 currentDir,26 currentPos,26 goal_point,27 height,27 init,23 lat1,26

参照

関連したドキュメント

By performing center manifold reduction, the normal forms on the center manifold are derived to obtain the bifurcation diagrams of the model such as Hopf, homoclinic and double

We define the elliptic Hecke algebras for arbitrary marked elliptic root systems in terms of the corresponding elliptic Dynkin diagrams and make a ‘dictionary’ between the elliptic

In Section 4, we use double-critical decomposable graphs to study the maximum ratio between the number of double-critical edges in a non-complete critical graph and the size of

So far as the large time behaviour of solutions is concerned, we have noticed a few papers (e.g. [5, 9, 10, 14]) including some results about the ω-limit set of each single solution

The Bruhat ordering of every nontrivial quotient of a dihedral group is a chain, so all such Coxeter groups and their quotients have tight Bruhat orders by Theorem 2.3.. Also, we

Any nonstandard area-minimizing double bubble in H n in which at least one of the enclosed regions is connected consists of a topological sphere intersecting the axis of symmetry

Any nonstandard area-minimizing double bubble in H n in which at least one of the enclosed regions is connected consists of a topological sphere intersecting the axis of symmetry

Any nonstandard area-minimizing double bubble in H n in which at least one of the enclosed regions is connected consists of a topological sphere intersecting the axis of symmetry