NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 1.0 版 セグウェイジャパン株式会社 株式会社セック NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 改版履歴 版数 改版日 1.0 2012/02/29 改版内容 初版作成 -i- 備考 NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 目次 1 総則 ............................................................................................................................ 1 1.1. 目的 ........................................................................................................................ 1 1.2. 適用範囲 ................................................................................................................. 1 1.3. 関連文書等 ............................................................................................................. 1 1.3.1. 適用文書.......................................................................................................... 1 1.3.2. 関連文書.......................................................................................................... 2 1.3.3. 参考文書.......................................................................................................... 2 1.4. 1.4.1. 用語 ................................................................................................................. 2 1.4.2. 座標系 ............................................................................................................. 3 1.5. 2 定義 ........................................................................................................................ 2 ライセンス ............................................................................................................. 4 コンポーネント構成.................................................................................................... 5 2.1. コンポーネント概要 ............................................................................................... 5 2.2. 動作環境 ................................................................................................................. 8 2.3. ハードウェア仕様................................................................................................... 8 2.3.1. 2.4. ハードウェア仕様(BLACKSHIP) ....................................................................... 10 2.5. ハードウェア仕様(ゲームパッド) .................................................................... 12 2.5.1. 3 RMP................................................................................................................ 8 ハードウェア仕様(レーザーレンジ) ......................................................... 13 2.6. ハードウェア仕様(カメラ)............................................................................... 14 2.7. 利用ソフトウェア仕様.......................................................................................... 15 コンポーネント仕様...................................................................................................16 3.1. コンポーネント一覧 ............................................................................................. 16 3.2. データ型一覧........................................................................................................ 17 3.3. コンポーネント仕様(RMP).............................................................................. 25 3.3.1. 基本情報........................................................................................................ 25 3.3.2. アクティビティ ............................................................................................. 26 3.3.3. インタフェース仕様 ...................................................................................... 27 3.4. コンポーネント仕様(BLACKSHIP).................................................................... 32 3.4.1. 基本情報........................................................................................................ 32 3.4.2. ........................................................................................................................... 33 3.4.3. アクティビティ ............................................................................................. 33 -ii- NEDO 次世代ロボット知能化技術開発プロジェクト 3.4.4. 3.5. インタフェース仕様 ...................................................................................... 34 コンポーネント仕様(GAMEPAD)...................................................................... 39 3.5.1. 基本情報........................................................................................................ 39 3.5.2. アクティビティ ............................................................................................. 40 3.5.3. インタフェース仕様 ...................................................................................... 41 3.6. コンポーネント仕様(CAM_V4L2)..................................................................... 43 3.6.1. 基本情報........................................................................................................ 43 3.6.2. アクティビティ ............................................................................................. 44 3.6.3. インタフェース仕様 ...................................................................................... 45 3.7. コンポーネント仕様(URG)............................................................................... 47 3.7.1. 基本情報........................................................................................................ 47 3.7.2. アクティビティ ............................................................................................. 48 3.7.3. インタフェース仕様 ...................................................................................... 49 3.8. コンポーネント仕様(HUMANRECOG) .............................................................. 51 3.8.1. 基本情報........................................................................................................ 51 3.8.2. アクティビティ ............................................................................................. 52 3.8.3. インタフェース仕様 ...................................................................................... 53 3.9. 4 人追従モジュールマニュアル コンポーネント仕様(HUMANFOLLOW) ............................................................ 57 3.9.1. 基本情報........................................................................................................ 57 3.9.2. アクティビティ ............................................................................................. 59 3.9.3. インタフェース仕様 ...................................................................................... 60 取扱手順 ....................................................................................................................64 4.1. 環境構築(UBUNTU) .......................................................................................... 64 4.1.1. インストール準備.......................................................................................... 64 4.1.2. インストール................................................................................................. 67 4.1.3. 動作確認環境の準備 ...................................................................................... 68 4.2. 設定・カスタマイズ手順 ...................................................................................... 72 4.3. 起動・終了手順 .................................................................................................... 73 4.3.1. 起動 ............................................................................................................... 73 4.3.2. 終了 ............................................................................................................... 74 4.4. 環境構築(WINDOWS)........................................................................................ 75 4.4.1. インストール準備.......................................................................................... 75 4.4.2. インストール................................................................................................. 75 4.4.3. 動作確認環境の準備 ...................................................................................... 75 4.5. 設定・カスタマイズ手順 ...................................................................................... 77 -iii- NEDO 次世代ロボット知能化技術開発プロジェクト 4.6. 人追従モジュールマニュアル 起動・終了手順 .................................................................................................... 78 4.6.1. 起動 ............................................................................................................... 78 4.6.2. 終了 ............................................................................................................... 78 5 制限事項 ....................................................................................................................79 6 付録 ...........................................................................................................................80 6.1. メッセージ ........................................................................................................... 80 6.2. トラブルシューティング ...................................................................................... 81 -iv- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 表目次 表 1-1 関連文書一覧 ........................................................................................................... 2 表 1-2 参考文書一覧 ........................................................................................................... 2 表 1-3 人追従モジュール群 用語一覧 .................................................................................. 2 表 2-1 コンポーネント概要 .................................................................................................. 5 表 2-2 動作環境.................................................................................................................... 8 表 2-3 Segway RMP 200/Segway RMP 200 ATV仕様 ................................................. 8 表 2-4 Segway RMP 400 仕様........................................................................................... 8 表 2-5 Segway BlackShip 4 Wheels/2 Wheels仕様 ................................................... 10 表 2-6 Logicool GPW-600 仕様 ..................................................................................... 12 表 2-7 HOKUYO UTM-30LX仕様 ................................................................................ 13 表 2-8 DIGITAL COWBOY DC-NCR130 仕様............................................................... 14 表 2-9 動作に必要なソフトウェア ..................................................................................... 15 表 2-10 操作に必要なソフトウェア ................................................................................... 15 表 3-1 コンポーネント一覧 ................................................................................................ 16 表 3-2 データ型一覧........................................................................................................... 17 表 3-3 型名定義 ................................................................................................................ 18 表 3-4 TimedPositionデータフォーマット ...................................................................... 18 表 3-5 TimedOdometryデータフォーマット ................................................................... 19 表 3-6 TimedVelocity2Dデータフォーマット ................................................................ 20 表 3-7 Velocity2Dデータフォーマット........................................................................... 20 表 3-8 TimedVelocity2Dデータ詳細 ................................................................................ 21 表 3-9 TimedPose2Dデータフォーマット ....................................................................... 22 表 3-10 Pose2Dデータフォーマット................................................................................ 22 表 3-11 Point2Dデータフォーマット............................................................................... 23 表 3-12 TimedPose2Dデータ詳細 .................................................................................. 23 表 3-13 TimedScanデータフォーマット ........................................................................ 24 表 3-14 RMPコンポーネントプロファイル...................................................................... 25 表 3-15 アクティビティ一覧 ............................................................................................ 26 表 3-16 インポート一覧 ................................................................................................... 27 表 3-17 アウトポート一覧................................................................................................ 27 表 3-18 コンフィギュレーション一覧 .............................................................................. 28 表 3-19 ファイル一覧 ....................................................................................................... 29 表 3-20 rtc.conf設定項目一覧.......................................................................................... 29 表 3-21 rmp.conf設定項目一覧........................................................................................ 30 -v- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 表 3-22 Blackshipコンポーネントプロファイル.............................................................. 32 表 3-23 アクティビティ一覧 ............................................................................................ 33 表 3-24 インポート一覧 ................................................................................................... 34 表 3-25 アウトポート一覧................................................................................................ 34 表 3-26 コンフィギュレーション一覧 .............................................................................. 35 表 3-27 ファイル一覧......................................................................................................... 36 表 3-28 rtc.conf設定項目一覧.......................................................................................... 36 表 3-29 bs.conf設定項目一覧........................................................................................... 36 表 3-30 GamePadコンポーネントプロファイル.............................................................. 39 表 3-31 アクティビティ一覧 ............................................................................................ 40 表 3-32 アウトポート一覧................................................................................................ 41 表 3-33 コンフィギュレーション一覧 .............................................................................. 42 表 3-34 ファイル一覧......................................................................................................... 42 表 3-35 Cam_v4l2 コンポーネントプロファイル............................................................. 43 表 3-36 アクティビティ一覧 ............................................................................................ 44 表 3-37 アウトポート一覧................................................................................................ 45 表 3-38 コンフィギュレーション一覧 .............................................................................. 45 表 3-39 ファイル一覧 ....................................................................................................... 46 表 3-40 cam_v4l2.conf設定項目一覧 ............................................................................. 46 表 3-41 Urgコンポーネントプロファイル........................................................................ 47 表 3-42 アクティビティ一覧 ............................................................................................ 48 表 3-43 アウトポート一覧................................................................................................ 49 表 3-44 コンフィギュレーション一覧 .............................................................................. 49 表 3-45 ファイル一覧 ....................................................................................................... 50 表 3-46 urg.conf設定項目一覧....................................................................................... 50 表 3-47 HumanRecogコンポーネントプロファイル........................................................ 51 表 3-48 アクティビティ一覧 ............................................................................................ 52 表 3-49 インポート一覧 ................................................................................................... 53 表 3-50 アウトポート一覧................................................................................................ 53 表 3-51 コンフィギュレーション一覧 .............................................................................. 54 表 3-52 ファイル一覧 ....................................................................................................... 55 表 3-53 rtc.conf設定項目一覧.......................................................................................... 55 表 3-54 humanrecog.conf設定項目一覧 ........................................................................ 56 表 3-55 HumanFollowコンポーネントプロファイル ...................................................... 58 表 3-56 アクティビティ一覧 ............................................................................................ 59 表 3-57 インポート一覧 .................................................................................................. 60 -vi- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 表 3-58 アウトポート一覧................................................................................................ 60 表 3-59 HumanFollow:コンフィギュレーション一覧 ................................................ 61 表 3-60 ファイル一覧 ....................................................................................................... 62 表 3-61 rtc.conf設定項目一覧.......................................................................................... 62 表 3-62 humanfollow.conf設定項目一覧 ....................................................................... 63 表 4-1 OpenRTM-aistのダウンロードURL ..................................................................... 64 表 4-2 EclipseのダウンロードURL.................................................................................. 65 表 4-3 JREのダウンロードURL ...................................................................................... 66 表 4-4 rtc.conf設定項目.................................................................................................... 71 表 4-5 OpenRTM-aistのダウンロードURL ..................................................................... 75 表 4-6 rtc.conf設定項目.................................................................................................... 76 図目次 図 1-1 ロボット中心座標系 ............................................................................................... 3 図 1.2 地図座標系................................................................................................................ 3 図 2-1 システム構成(RMP)........................................................................................... 6 図 2-2 システム構成 (Blackship) ..................................................................................... 7 図 2-3 Segway RMP 200.................................................................................................. 9 図 2-4 Segway RMP 200 ATV.......................................................................................... 9 図 2-5 Segway RMP 400.................................................................................................. 9 図 2-6 Segway BlackShip 4 Wheels................................................................................ 11 図 2-7 Segway BlackShip 2 Wheels................................................................................ 11 図 2-8 Segway BlackShip オプションパーツ バルーンタイヤ装着例 .......................... 11 図 2-9 Logicool GPW-600 .............................................................................................. 12 図 2-10 HOKUYO UTM-30LX ...................................................................................... 13 図 2-11 DIGITAL COWBOY DC-NCR130 .................................................................... 14 図 3-1 ターゲットの認識.................................................................................................. 51 図 3-2 ターゲットへの直線的な追従 ................................................................................ 57 図 3-3 ターゲット位置をトレースする追従 ..................................................................... 57 図 6-1 Activate時に表示されるHumanRecogコンポーネントの画面 ........................... 80 図 6-2 Activate時に表示されるUrgコンポーネントの画面........................................... 80 -vii- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 1 総則 1.1. 目的 本書は、人追従モジュールで使用するコンポーネントの利用方法について、記述した文書 である。 1.2. 適用範囲 本書は、以下のコンポーネントに対して適用する。 ・RMP 制御 RTC ・Blackship 制御 RTC ・ゲームパッド RTC ・人認識 RTC ・人追従制御 RTC ・距離取得 RTC ・カメラ画像取得 RTC 1.3. 関連文書等 本書の適用文書、関連文書、参考文書について記述する。 1.3.1. 適用文書 関連文書で使用している文書を、本人追従システムに適用している。 -1- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 1.3.2. 関連文書 本書の関連文書を表 1-1に示す。 表1-1 No 関連文書一覧 文書名 版数 人追従モジュールシステム マニュアル 1 発行元 最新版 株式会社セック 1.3.3. 参考文書 本書の参考文書を表 1-2に示す。 表1-2 No 参考文書一覧 文書名 版数 発行元 1 【Web】OpenRTM –aist Webサイト (http://www.openrtm.org/openrtm/ja/content/ openrtm-aist-official-website) - 独立行政法人産業技術総合研究所 2 次世代ロボット知能化技術開発プロジェクト 移動知能(社会・生活分野)の研究開発 モジュール仕様書 1.0 セグウェイジャパン株式会社 1.2 セグウェイジャパン株式会社 基本台車モジュール+ゲームパッドモジュール 3 次世代ロボット知能化技術開発プロジェクト 移動知能(社会・生活分野)の研究開発 モジュール仕様書 人追従モジュール群 1.4. 定義 1.4.1. 用語 表 1-3 人追従モジュール群 用語一覧 No 用語 説明 1 AIST 独立行政法人産業技術総合研究所(産総研) 2 RTM RT ミドルウェア 3 RTC RT コンポーネント 4 ツール 単独で機能するプログラム 5 OmniORB ORBA を使うためのブローカー 6 CORBA 分散オブジェクト技術の仕様 7 RMP Robotic Mobility Platform 8 Blackship 汎用移動プラットフォーム -2- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 1.4.2. 座標系 コンポーネントが使用している座標系について記述する。 ○ロボット中心座標系 ロボット側の座標系としては、ロボット中心に原点があり、ロボット進行方向を X 軸方向 とした右手系を想定している。また、各要素の単位は、位置[m]、速度[m/s]、角度[radian]、角 速度[radian/s]を想定している。 図 1-1 ロボット中心座標系 ○地図座標系 地図側の座標系としては、原点、X 軸方向ともに任意の位置、方向に指定可能な右手系を 想定している。また、各要素の単位は、位置[m]、速度[m/s]、角度[radian]、角速度[radian/s]を 想定しており、radian の範囲は 0~2π で正規化されていると仮定している。更に、可能で あれば平面直角座標系を推奨している。 Y X 図 1.2 地図座標系 -3- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 1.5. ライセンス ライセンスは、商用利用の際には連絡を要する。使用条件は個別に検討される。 連絡先 セグウェイジャパン株式会社 E-MAIL [email protected] TEL 045-263-6151 商用以外の利用の場合、BSD ライセンスが適用される。 なお、本書は、クリエイティブ・コモンズ 表示 2.1 ライセンス (http://creativecommons.org/licenses/by-sa/2.1/jp/)の下に提供される。 -4- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 2 コンポーネント構成 2.1. コンポーネント概要 人追従モジュール群は、ロボットシステムがカメラを使って、登録された人を認識し、 追従する機能を有する。これは、6つの RTC から構成されている。台車は、RMP ま たは Blackship のいずれかを選択する。 本ソフトウェアは、カメラの画像から登録された人を測域センサと併用して画像認識 をしながら追従を行う。 各コンポーネントを表 2-1に記述する。 表2-1 コンポーネント概要 No. コンポーネント 説明 RTC/ツール名 1 RMP 制御 RTC 台車 RMP を制御する。 RMP Comp 2 Blackship 制御 RTC 台車 Blackship を制御する。 Blackship Comp 3 ゲームパッド取得 RTC ゲームパッドのキーを取得する。 GamePad Comp 4 カメラ画像取得 RTC カメラから画像を取得する。 Cam_v4l2 Comp 5 距離取得 RTC 測域センサから距離を取得する。 Urg Comp 6 人認識 RTC 画像から人を認識する。 HumanRecog Comp 7 人追従 RTC 画像から認識した人に追従する。 HumanFollow Comp 二輪型移動ロボットで使用する人追従モジュール群は、以下の順番で処理を行う。 ゲームパッドのボタンを押すと、ターゲットの色情報を更新し、ボタンを離した時点の色 情報を追従するターゲットの情報として確定する。また、ボタンを離した時点でロボット の追従が開始される。(ゲームパッド取得 RTC→人認識 RTC) 測域センサにより距離情報を取得し、障害物とターゲットとなる人の情報を判別する。(距 離取得 RTC→人認識 RTC) カメラの画像と測域センサの情報からターゲットの人の位置を特定し、位置を出力する。 (カメラ画像取得 RTC→人認識 RTC) 特定したターゲットの人の位置情報を元に、速度と方向の修正を行う。(人認識 RTC→人 追従 RTC) 速度と方向の情報を元に台車を制御する。(人追従 RTC→RMP(あるいは Blackship)制 御 RTC) 台車の位置情報を更新する。(RMP(あるいは Blackship)制御 RTC→人追従 RTC、人認 識 RTC) 人追従モジュール群のシステム構成を図 2-1、図 2-2に示す。図 2-1は台車がRMPのシス テム構成図であり、図 2-2は台車がBlackshipのシステム構成図である。 -5- NEDO 次世代ロボット知能化技術開発プロジェクト 図 2-1 システム構成(RMP) -6- 人追従モジュールマニュアル NEDO 次世代ロボット知能化技術開発プロジェクト 図 2-2 システム構成 (Blackship) -7- 人追従モジュールマニュアル NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 2.2. 動作環境 人追従モジュール群の動作環境を表 2-2に記述する。 表2-2 動作環境 OS WindowsXP、Ubuntu 10.04 LTS Desktop 日本語 Remix (32bit 環境) 開発言語 C++、C 言語 2.3. ハードウェア仕様 本書で扱う RTC で使用するハードウェアについて記述する。 2.3.1. RMP 表 2-3 No. Segway RMP 200/Segway RMP 200 ATV 仕様 Segway RMP 200 パラメータ Segway RMP 200 ATV 1 サイズ (幅×高さ×長さ) 63 × 75 × 48 cm 78 × 78 × 53 cm 2 総重量 3 走行距離 64 kg 13~19 km 73 kg 13~19 km 4 最高速度 16 km/h 16 km/h 5 積載重量 6 登坂角度 45 kg 10 度 67 kg 10 度 7 バッテリ Li-ion(リチウムイオン電池) Li-ion (リチウムイオン電池) 8 自立機構 倒立振子(2 輪駆動、2 点接地) 倒立振子(2 輪駆動、2 点接地) 表 2-4 No. Segway RMP 400 仕様 Segway RMP 400 パラメータ 1 サイズ (幅×高さ×長さ) 79 × 53 × 111 cm 2 総重量 3 走行距離 100 kg 10~19 km 4 最高速度 29 km/h 5 積載重量 6 登坂角度 90 kg 45 度 7 バッテリ Li-ion (リチウムイオン電池) 8 自立機構 無し(4 輪駆動、4 点接地) -8- NEDO 次世代ロボット知能化技術開発プロジェクト 図 2-3 図 2-4 図 2-5 Segway RMP 200 Segway RMP 200 ATV Segway RMP 400 -9- 人追従モジュールマニュアル NEDO 次世代ロボット知能化技術開発プロジェクト 2.4. 人追従モジュールマニュアル ハードウェア仕様(BlackShip) 表 2-5 No. Segway BlackShip 4 Wheels/2 Wheels 仕様 パラメータ Segway BlackShip 4 Wheels/2 Wheels 1 サイズ (幅×高さ×長さ) 46×31×64 cm (4 Wheels) 46×31×64 cm (2 Wheels) 2 タイヤ直径 20 cm (4Wheels) 31 cm (2Wheels) 3 総重量 約 20kg (バッテリ込み) 4 駆動モータ DC24V 90W×2 (MaxonMotor 社製) 5 内蔵センサ エンコーダ×2 バッテリ残量計×1 バッテリ電流計×1 モータ電流計×2 6 移動速度 最大約 1m/s 7 積載重量 最大 40kg (路面状況により減少) 8 バッテリ 24V8Ah (鉛蓄電池) 9 接続方法 シリアル接続(RS-232C) 10 連続稼動時間 約 2~3 時間(走行条件により増減) -10- NEDO 次世代ロボット知能化技術開発プロジェクト 図 2-8 図 2-6 Segway BlackShip 4 Wheels 図 2-7 Segway BlackShip 2 Wheels 人追従モジュールマニュアル Segway BlackShip オプションパーツ バルーンタイヤ装着例 -11- NEDO 次世代ロボット知能化技術開発プロジェクト 2.5. 人追従モジュールマニュアル ハードウェア仕様(ゲームパッド) 表 2-6 No. Logicool GPW-600 仕様 Logicool GPW-600 パラメータ 1 電源 単 3 乾電池 2 本 2 本体サイズ(Wx D x H) 3 本体重量 153×94×52mm 240g (電池挿入時:280g) 4 USB レシーバー ケーブル長 119 cm 5 レシーバー重量 6 操作範囲 55g 約 10m(使用環境により異なる) 7 コントローラ入出力機能 ボタン 12 個 (1/2/3/4/5/6/7/8/9/10 左スティック(11) 右スティック(12)) MODE 切り替えボタン、VIBRATION(オン、オフボタン) 方向キー、MODE LED 表示 8 接続 USB 1.1/2.0 図 2-9 Logicool GPW-600 -12- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 2.5.1. ハードウェア仕様(レーザーレンジ) 表 2-7 No. HOKUYO UTM-30LX 仕様 HOKUYO UTM-30LX パラメータ 1 電源電圧 DC12V±10% 2 消費電流 700mA 以下 但し起動時は約 1A 3 光源 半導体レーザ 4 測距範囲 定格:0.1~30m(500mm□以上、白色紙)角度:270° 5 測距精度 0.1~10m:±30mm、10~30m:±50mm※1 6 角度分解能 ステップ角:0.25°(360°/1,440 分割) 7 光軸径 400mm(30m における参考値) 8 走査時間 25ms/scan 9 騒音 25dB 以下 10 インタフェース USB2.0(Full Speed) 11 通信仕様 専用コマンド(SCIP Ver.2.0) 12 表示灯 電源表示灯(緑):電源 ON 時点灯 λ=905nm(FDA レーザ安全クラス 1) 同期出力(NPN オープンコレクタ DC30V 30mA 以下) 動作表示灯(赤):正常動作時点灯、故障時→点滅 13 接続 電源及び同期出力:ケーブル引出し式 2m USB:TypeA プラグ付きケーブル 2m 14 使用周囲照度 10,000lx※1 15 使用周囲温度 -10~+50℃(保存時-25~+75℃) 16 使用周囲湿度 85% RH 以下(但し、結露・氷結しないこと) 17 耐振動 複振幅 1.5mm、10~55Hz、X・Y・Z 各方向、各 2 時間 18 耐衝撃 196m/s2、 X・Y・Z 各方向、各 10 回 19 絶縁抵抗 10MΩ、DC500V メガー 20 保護構造 IP64(IEC 規格) 21 寿命 5 年(モータ寿命。但し、使用条件により異なる) 22 ケース材質 ポリカーボネート 23 質量 約 370g(ケーブル含む) 図 2-10 HOKUYO UTM-30LX -13- NEDO 次世代ロボット知能化技術開発プロジェクト 2.6. 人追従モジュールマニュアル ハードウェア仕様(カメラ) 表 2-8 No. DIGITAL COWBOY DC-NCR130 仕様 Logicool QCAM-200V パラメータ 1 有効画素数 130 万画素 2 最大解像度 3 最大フレームレート 1280×1024 1280×1024:15fps 640x480:30fps ※USB1.1 動作時はパフォーマンスが低下する。 4 最大フレームレート 30fps 5 接続 I/F 6 電源 USB 2.0 / 1.1 USB バスパワー 7 ケーブル長 8 設置タイプ 9 サイズ (幅×高さ×奥行) 52(W)×65(D)×70(H)mm 10 総重量 105g 1.5m スタンド式、クリップ式 図 2-11 DIGITAL COWBOY DC-NCR130 -14- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 2.7. 利用ソフトウェア仕様 本書で扱う RTC の動作に必要なソフトウェアを表 2-9 に、RTC を操作するために必要なツ ールを 表 2-10に示す。 これらのインストール手順および基本操作については、「4.1.1インストール準備」を参照 のこと。 表2-9 動作に必要なソフトウェア 名称/バージョン OpenRTM-aist_C++/ 1.0.0-RELEASE OpenRTM Eclipse 1.0-RELEASE Java 参考 URL 説明 tools RT ミドルウェア本体(C++/ VC++) http://www.openrtm.org/openrtm/ja RT コ ン ポ ー ネ ン ト を 扱 う RTCBuilder お よ び RTSystemEditor が組み込ま れた Eclipse 統合開発環境 http://www.openrtm.org/openrtm/ja/conte nt/openrtm-eclipse-tools-10-release#toc0 プログラミング言語。Eclipse の動作に必要 http://java.com/ja/ 表 2-10 操作に必要なソフトウェア 名称/バージョン RTSystemEditor/1.0.0 説明 RTC に対する基本操作機能を 提供する GUI ツール -15- 参考 URL http://www.openrtm.org/openrtm/ja NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3 コンポーネント仕様 3.1. コンポーネント一覧 人追従モジュール群の一覧を表 3-1に記述する。 表3-1 コンポーネント一覧 No. RTC 名 説明 1 RMP Comp RMP 制御 RTC 2 Blackship Comp Blackship 制御 RTC 3 GamePad Comp ゲームパッド取得 RTC 4 Cam_v4l2 Comp カメラ画像取得 RTC 5 Urg Comp 距離取得 RTC 6 HumanRecog Comp 人認識 RTC 7 HumanFollow Comp 人追従 RTC -16- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.2. データ型一覧 人追従モジュール群のインタフェースとして取り扱うデータ型について記述する。 表 3-2 データ型一覧 (人追従) HumanFollow (人認識) HumanRecog (距離取得) Urg (カメラ画像取得) Cam_v4l2 (ゲ ームパッド取得) GamePad 概要 ( Blackship 制御) Blackship データ型名 ( RMP 制御) RMP № 1 TimedLong ― O O 2 TimedFloat ― O 3 TimedDobule ― 4 TimedULong ― 5 TimedUShortSeq ― 6 TimedLongSeq ― 7 TimedULongSeq ― 8 TimedPosition 位置情報 O O 9 TimedOdometry オドメトリ情報 O O 10 TimedVelocity 速度情報 I/O I/O O O 11 TimedVelocity2D 走行情報 I/O I/O O O 12 TimedPose2D 確率的自己位置姿勢 O O 13 TimedScan 距離情報 O O I/O I O I O I O O I I/O O -17- I NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (1) 型名定義 人追従モジュール群独自の型定義について記述する。 表 3-3 型名定義 No. 型名 既存データ型 説明 1 TimedLongSeq int [1081] 距離データ (2) データ型定義 (a) TimedPosition TimedPosition は、移動知能ロボットの位置情報を格納するための型。ロボット中心座標 系における位置を保持する。データ構造について記述する。 表 3-4 TimedPosition データフォーマット 概要 位置情報のデータフォーマット ラベル type メンバ tm タイムスタンプ id ID 番号(配列) RTC::Time sequence<long> x 位置情報データ double y 位置情報データ double theta 位置情報データ double error エラーデータ(配列) sequence<double> -18- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (b) TimedOdometry TimedOdometry は、移動知能ロボットの現在位置と姿勢を格納するための型。ロボット 中心座標系における位置と姿勢を保持する。データ構造について記述する。 表 3-5 TimedOdometry データフォーマット 概要 オドメトリ情報のデータフォーマット ラベル type メンバ tm タイムスタンプ RTC::Time x 位置情報データ double y 位置情報データ double theta 位置情報データ double -19- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (c) TimedVelocity2D TimedVelocity2D は、移動知能ロボットの走行情報を格納するための型。ロボット中心座 標系における速度を保持する。データ構造について記述する。 表 3-6 TimedVelocity2D データフォーマット 概要 二次元直交座標系上での走行情報のデータフォーマット ラベル type メンバ tm タイムスタンプ id ID 番号(配列) RTC::Time sequence<long> data 速度情報 RTC::Velocity2D error エラーデータ(配列) sequence<double> 表 3-7 Velocity2D データフォーマット 概要 二次元直交座標系上での速度情報のデータフォーマット ラベル type メンバ vx X 方向速度情報 double vy Y 方向速度情報 double va Z 軸周りの角速度情報 double -20- NEDO 次世代ロボット知能化技術開発プロジェクト 表 3-8 人追従モジュールマニュアル TimedVelocity2D データ詳細 ラベル/メンバ 内容 tm/タイムスタンプ 時刻情報。位置推定を行った時刻やデー タ送受信時刻を格納するために利用。 id/ID 番号 走行情報に対する ID 情報 data/二次元位置情報 二次元直交座標系上での速度情報を表 現するための型。 (Velocity2D) 二次元直交座標系上での X 方向速度情 vx/X 方向速度情報 報。単位:m/s 二次元直交座標系上での Y 方向速度情 vy/Y 方向速度情報 報。単位:m/s 二次元直交座標系上での Z 軸周りの角速 vz/Z 軸周りの角速度情報 度情報。単位:rad/s error/エラーデータ 自己位置姿勢推定時の誤差情報 ※RTC::Time 型、RTC::Velocity2D 型は OpenRTM-aist で用意している標準型。 ※id に格納する ID 情報の付番方法、コード体系については未定義。 ※error に格納する誤差 -21- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (d) TimedPose2D TimePose2D は、二次元直交座標上での確率的自己位置姿勢の推定結果を格納するための 型。位置の推定結果に加えて、ID 情報、推定誤差などを保持することができる。データ構 造について記述する。 表 3-9 TimedPose2D データフォーマット 概要 二次元直交座標上での確率的自己位置姿勢の推定結果のデータフォーマット ラベル type メンバ tm タイムスタンプ id ID 番号(配列) RTC::Time sequence<long> data 二次元位置情報 RTC::Pose2D error エラーデータ(配列) sequence<double> 表 3-10 Pose2D データフォーマット 概要 二次元直交座標系上での位置・姿勢情報のデータフォーマット ラベル type メンバ position 位置情報 RTC::Point2D heading 姿勢情報。 double -22- NEDO 次世代ロボット知能化技術開発プロジェクト 表 3-11 人追従モジュールマニュアル Point2D データフォーマット 概要 二次元直交座標系上での位置情報のデータフォーマット ラベル type メンバ x X 方向位置情報 double y Y 方向位置情報 double 表 3-12 TimedPose2D データ詳細 ラベル/メンバ 内容 tm/タイムスタンプ 時刻情報。位置推定を行った時刻やデー タ送受信時刻を格納するために利用。 id/ID 番号 位置推定結果に対する ID 情報。 data/二次元位置情報 二次元直交座標系上での位置・姿勢情報 を表現するための型。 (Pose2D) position/二次元直交座標系上での位置情報 (Point2D) 二次元直交座標系上での位置情報を表 現するための型。 x/X 方向位置情報 二次元直交座標系上での X 方向位置情 報。単位:m y/Y 方向位置情報 二次元直交座標系上での Y 方向位置情 報。単位:m error/エラーデータ 自己位置姿勢推定時の誤差情報 ※RTC::Time 型、RTC::Pose2D 型、RTC::Point2D 型は OpenRTM-aist で用意している標 準型。 ※id に格納する ID 情報の付番方法、コード体系については未定義。 ※error に格納する誤差情報の表現方法については未定義。 -23- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (e) TimedScan TimedScan は、測域センサなどで取得した距離値を格納するための型。データ構造につい て記述する。 表 3-13 TimedScan データフォーマット 概要 距離情報のデータフォーマット ラベル type メンバ tm タイムスタンプ scan 距離値 RTC::Time TimedLongSeq -24- NEDO 次世代ロボット知能化技術開発プロジェクト 3.3. 人追従モジュールマニュアル コンポーネント仕様(RMP) 3.3.1. 基本情報 SegwayRMP 向けの台車モジュール。速度指示値に対する台車ハードウェアへの速度指示や、 制御結果の速度の出力、台車固有のステータスの出力を行う。 表 3-14 RMP コンポーネントプロファイル 種別 RTC 提供元 Segway Japan 動作 OS Windows (VC2008), Ubuntu 10.04 LTS Desktop 日本語 Remix (32bit 環境) RT ミドルウェア OpenRTM-aist-1.0.0 (Linux) 開発言語 C/C++ (OpenRTM-aist-1.0.0) 依存ライブラリ Libftd2xx 実行周期 1000Hz バージョン 0.1.0 最大インスタンス数 10 -25- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.3.2. アクティビティ RMP のアクティビティを示す。 表 3-15 No. 1 アクション関数名 onInitialize 処理概要 以下の処理を行う。 ・ 2 3 4 アクティビティ一覧 onActivated onExecute onDeactivated コンフィギュレーションの初期化処理 以下の処理を行う。 ・ デバイスの起動 ・ コンフィギュレーションの取得 以下の処理を行う。 ・ 速度の取得 ・ 台車の操作 ・ 台車の各種情報出力 以下の処理を行う。 ・ 5 onAborting - 6 onReset - 7 onError - 8 onFinalize - 9 onStateUpdate - 10 onRateChanged - 11 onStartup - 12 onShutdown - デバイス停止 -26- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.3.3. インタフェース仕様 (1) データポート (a) インポート RMP コンポーネントで定義しているインポートについて記述する。 表 3-16 No ポート名 型 インポート一覧 インタフェース型 説明 1 Input TimedULong RTC 入力 2 Velocity TimedVelocity RTC 速度指示 3 VellocityIIS TimedVelocity IIS 速度指示 4 Velocity2DIIS TimedVelocity2D IIS 速度指示 (b) アウトポート RMP コンポーネントで定義しているアウトポートについて記述する。 表 3-17 No ポート名 型 アウトポート一覧 インタフェース型 説明 1 EncoderL TimedLong RTC 左車輪エンコーダ値 2 EncoderR TimedLong RTC 右車輪エンコーダ値 3 Battery TimedFloat RTC バッテリ電圧 4 UiBattery TimedFloat RTC UI バッテリ電圧 5 PitchAngle TimedFloat RTC 本体角度ピッチ 6 PitchRate TimedFloat RTC 本体角速度 7 RollAngle TimedFloat RTC 本体角度ロール 8 RollRate TimedFloat RTC 本体角速度ロール 9 YawRate TimedFloat RTC 本体角速度ヨー 10 Odometry TimedOdometry RTC 11 OdometryB TimedOdometry RTC 12 RobotVelIIS TimedVelocity IIS モジュール内部オドメ トリ モジュール内部オドメ トリ 本体速度 13 RobotPosIIS TimedPosition IIS 14 RobotVel2DII S RobotPose2D IIS TimedVelocity2D IIS モジュール内部位置情 報 制御結果の速度情報 TimedPose2D IIS 制御結果の位置情報 15 (2) サービスポート RMP コンポーネントで定義しているサービスポートはない。 -27- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (3) コンフィギュレーション RMP コンポーネントで定義しているコンフィギュレーションについて記述する。 OpenRTM-1.0.0 では、コンフィグレーションパラメータは常時変更可能であるが、コンフ ィグレーションパラメータの変更は、表内の説明に記述されているタイミングでのみ反映 される。 表 3-18 No. パラメータ名 データ型 コンフィギュレーション一覧 デフォルト 値 説明 1 Kodotheta double 1.0 自己位置(オドメトリ)計算時の theta 角度移動成分 に乗じられる係数 2 Kodoxy double 1.0 自己位置(オドメトリ)計算時の x,y 座標移動成分に 乗じられる係数 3 KSpeed double 1.0 速度指示の速度にかかる係数 4 KSpeedA double -0.01630197 RMP 速度制御の係数 ※1 5 KSpeedB double 1.412417763 RMP 速度制御の係数 ※1 6 Kturn double 1.0 角速度指示の角速度にかかる係数 7 MaxV double 2.0 最大速度(m/sec) 8 MaxW double 2.0 最大角速度 (radian/sec) 9 Mode int 0 将来削除予定のパラメータ(0固定) 10 idIIS int 200 ロボットの ID 11 simulator int 0 将来削除予定のパラメータ(0固定) 12 startthetaIIS double 0.0 自己位置(オドメトリ)の theta 角度初期位置(radian) 13 startxIIS double 0.0 自己位置(オドメトリ)の x 座標初期位置(m) 14 startyIIS double 0.0 自己位置(オドメトリ)の y 座標初期位置(m) 15 str_port string FTDI 使用ポート 16 wheelwidth double 0.54 内部オドメトリ計算に用いられるホイールレッド幅 17 wheelradiusL double 0.235 内部オドメトリ計算に用いられる左ホイール半径 18 wheelradiusR double 0.235 内部オドメトリ計算に用いられる右ホイール半径 19 wheelcount1rot double 49646.0775 内部オドメトリ計算に用いられるタイヤ 1 回転で生ず るエンコーダカウント値 ※1 V=V*(KspeedA*|V|+KspeedB)*Kspeed RMP 台車の生成速度が線形でないため、調整係数を用いて線形に近い指令値に変換する。 -28- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (4) 設定ファイル RMP コンポーネントで使用している設定ファイルについて記述する。 (a) ファイル一覧 表 3-19 No. ファイル一覧 ファイル名 説明 1 rtc.conf ネームサービスやログ関連等の基本項目を設定する。 2 rmp.conf RMP コンポーネント固有の設定が記述されている。 (※)ファイル名はコンフィギュレーションにて変更可 (b) rtc.conf rtc.confの設定項目において、本RTC独自の設定項目はない。rtc.confの設定内容について は、「4.1.3(5) rtc.confファイルの作成」を参照のこと。ここでは、独自の設定項目につい て記述する。 表 3-20 No. 項目名 rtc.conf設定項目一覧 デフォルト値 rmp.conf 説明 RMP 独自設定項目の設定ファイル 名を指定する。 1 Generic.Rmp.config_file 2 Generic.Blackship.config_file bs.conf Blackship 独自設定項目の設定ファ イル名を指定する。 3 Generic.GamePad.config_file GamePad 独自設定項目の設定ファ イル名を指定する。 gamepad.conf -29- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (c) rmp.conf rmp.conf で設定される項目について記述する。 表 3-21 No. 1 項目名 conf.real.str_port rmp.conf 設定項目一覧 デフォルト FTDI 説明 接続先に実機を設定(実機の場合「FTDI」に 固定)(ポート名:文字列) 2 conf.real.Kspeed 1.0 速度指示の速度にかかる係数(単位:実数) 3 conf.real.KspeedA 0.0 実機の速度指示を線形とした場合の設定(単 位:実数) 4 conf.real.KspeedB 1.0 実機の速度指示を線形とした場合の設定(単 位:実数) 5 conf.real.Kturn 6 conf.real.wheelwidth 1.0 0.545 角速度指示の角速度にかかる係数(単位:実数) 自己位置(オドメトリ)、自己速度の計算時に 使用する車輪の左右幅(単位:実数) 7 conf.real.wheelradiusL 0.235 自己位置(オドメトリ)、自己速度の計算時に 使用する車輪の半径(左)(単位:実数) 8 conf.real.wheelradiusR 0.235 自己位置(オドメトリ)、自己速度の計算時に 使用する車輪の半径(右)(単位:実数) 9 conf.real.wheelcount1rot 50000.0 自己位置(オドメトリ)、自己速度の計算時に 使用する車輪の 1 回転のエンコーダカウント 数(単位:実数) 10 conf.real2.str_port FTDI 接続先に実機を設定(実機の場合「FTDI」に 固定)(ポート名:文字列) 11 conf.real2.Kspeed 12 conf.real2.KspeedA 1.0 -0.01630197 速度指示の速度にかかる係数(単位:実数) 実機の速度指示を線形とした場合の設定(単 位:実数) 13 conf.real2.KspeedB 1.412417763 実機の速度指示を線形とした場合の設定(単 位:実数) 14 conf.real2.Kturn 15 conf.real2.wheelwidth 1.0 角速度指示の角速度にかかる係数(単位:実数) 0.54 自己位置(オドメトリ)、自己速度の計算時に 使用する車輪の左右幅(単位:実数) 16 conf.real2.wheelradiusL 0.235 自己位置(オドメトリ)、自己速度の計算時に 使用する車輪の半径(左)(単位:実数) 17 conf.real2.wheelradiusR 18 conf.real2.wheelcount1rot 0.235 自己位置(オドメトリ)、自己速度の計算時に 使用する車輪の半径(右)(単位:実数) 49646.0775 自己位置(オドメトリ)、自己速度の計算時に 使用する車輪の 1 回転のエンコーダカウント 数(単位:実数) 19 conf.simulator.str_port /dev/ttySIMa0 接続先にシミュレータのシリアル通信デバイ ス名(/dev/ttySIM*)を指定 -30- NEDO 次世代ロボット知能化技術開発プロジェクト No. 項目名 20 conf.simulator.Kspeed 21 conf.simulator.KspeedA 人追従モジュールマニュアル デフォルト 1.0 -0.01630197 説明 速度指示の速度にかかる係数(単位:実数) 実機の速度指示を線形とした場合の設定(単 位:実数) 22 conf.simulator.KspeedB 1.412417763 実機の速度指示を線形とした場合の設定(単 位:実数) 23 conf.simulator.Kturn 24 conf.simulator.wheelwidth 1.0 角速度指示の角速度にかかる係数(単位:実数) 0.54 自己位置(オドメトリ)、自己速度の計算時に 使用する車輪の左右幅(単位:実数) 25 conf.simulator.wheelradiusL 0.235 自己位置(オドメトリ)、自己速度の計算時に 使用する車輪の半径(左)(単位:実数) 26 conf.simulator.wheelradiusR 27 conf.simulator.wheelcount1rot 0.235 自己位置(オドメトリ)、自己速度の計算時に 使用する車輪の半径(右)(単位:実数) 49646.0775 自己位置(オドメトリ)、自己速度の計算時に 使用する車輪の 1 回転のエンコーダカウント 数(単位:実数) -31- NEDO 次世代ロボット知能化技術開発プロジェクト 3.4. 人追従モジュールマニュアル コンポーネント仕様(Blackship) 3.4.1. 基本情報 Blackship 向けの台車モジュール。速度指示値に対する台車ハードウェアへの速度指示や、 制御結果の速度の出力、台車固有のステータスの出力を行う。 表 3-22 Blackship コンポーネントプロファイル 種別 RTC 提供元 Segway Japan 動作 OS Windows (VC2008), Ubuntu 10.04 LTS Desktop 日本語 Remix (32bit 環境) RT ミドルウェア OpenRTM-aist-1.0.0-RELEASE 開発言語 C/C++ (OpenRTM-aist-1.0.0) 依存ライブラリ なし 実行周期 1000Hz バージョン 1.0.0 最大インスタンス数 10 -32- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.4.2. 3.4.3. アクティビティ Blackship コンポーネントのアクティビティを示す。 表 3-23 アクティビティ一覧 No. アクション関数名 処理概要 1 onInitialize 以下の処理を行う。 ・ 2 3 4 onActivated onExecute onDeactivated コンフィギュレーションの初期化処理 以下の処理を行う。 ・ デバイスの起動 ・ コンフィギュレーションの取得 以下の処理を行う。 ・ 速度の取得 ・ 台車の操作 ・ 台車の各種情報出力 以下の処理を行う。 ・ 5 onAborting - 6 onReset - 7 onError - 8 onFinalize - 9 onStateUpdate - 10 onRateChanged - 11 onStartup - 12 onShutdown - デバイス停止 -33- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.4.4. インタフェース仕様 (1) データポート (a) インポート Blackship コンポーネントで定義しているインポートについて記述する。 表 3-24 No ポート名 型 インポート一覧 インタフェース型 説明 1 Input TimedULong RTC 入力 2 Velocity TimedVelocity RTC 速度指示 3 VellocityIIS TimedVelocity IIS 速度指示 4 Velocity2DIIS TimedVelocity2D IIS 速度指示 (b) アウトポート Blackship コンポーネントで定義しているアウトポートについて記述する。 表 3-25 No ポート名 型 アウトポート一覧 インタフェース型 説明 1 EncoderL TimedLong RTC 左車輪エンコーダ値 2 EncoderR TimedLong RTC 右車輪エンコーダ値 3 Odometry TimedOdometry RTC 4 OdometryB TimedOdometry RTC 5 RobotVelIIS TimedVelocity IIS モジュール内部オドメト リ モジュール内部オドメト リ 本体速度 6 RobotPosIIS TimedPosition IIS モジュール内部位置情報 7 RobotVel2DII S RobotPose2D IIS TimedVelocity2D IIS 制御結果の速度情報 TimedPose2D IIS 制御結果の位置情報 8 (2) サービスポート Blackship コンポーネントで定義しているサービスポートはない。 -34- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (3) コンフィギュレーション Blackship コンポーネントで定義しているコンフィギュレーションについて記述する。 OpenRTM-1.0.0 では、コンフィグレーションパラメータは常時変更可能であるが、コンフ ィグレーションパラメータの変更は、表内の説明に記述されているタイミングでのみ反映 される。 表 3-26 No. パラメータ名 コンフィギュレーション一覧 データ型 デフォルト値 説明 1 Kodotheta double 1.0 自己位置(オドメトリ)計算時の theta 角度移動成分 に乗じられる係数 2 Kodoxy double 1.0 自己位置(オドメトリ)計算時の x,y 座標移動成分に 乗じられる係数 3 Kslip double 0.0 自己位置(オドメトリ)計算時の左右タイヤスリップ 率(0~1)。通常 0 で使用。 4 KSpeed double 1.0 速度指示の速度にかかる係数 5 Kturn double 1.6 角速度指示の角速度にかかる係数 6 MaxV double 2.0 最大速度(m/sec) 7 MaxW double 2.0 最大角速度 (radian/sec) 8 ODOoutput int 0 自己位置(オドメトリ)の標準出力のオンオフ。(オ ン 1 オフ 0) 9 idIIS int 250 ロボットの ID 10 mps2bs double 152.0 速度単位変換係数。 m/sec から Blackship 固有単位への係数。 Blackship 入力 = mps2bs * speed(m/sec) 11 simulator int 0 将来削除予定のパラメータ(0固定) 12 startthetaIIS double 0.0 自 己 位 置 ( オ ド メ ト リ ) の theta 角 度 初 期 位 置 (radian) 13 startxIIS double 0.0 自己位置(オドメトリ)の x 座標初期位置 14 startyIIS double 0.0 自己位置(オドメトリ)の y 座標初期位置 15 str_port string /dev/ttyUSB0 使用ポート 16 wheelwidth double 0.405 内部オドメトリ計算に用いられるホイールレッド幅 17 wheelradiusL double 0.1535 内部オドメトリ計算に用いられる左ホイール半径 18 wheelradiusR double 0.1535 内部オドメトリ計算に用いられる右ホイール半径 19 wheelcount1rot double 2294.6 内部オドメトリ計算に用いられるタイヤ 1 回転で生 ずるエンコーダカウント値 -35- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (4) 設定ファイル Blackship コンポーネントで使用している設定ファイルについて記述する。 (a) ファイル一覧 表 3-27 ファイル一覧 No. ファイル名 1 rtc.conf ネームサービスやログ関連等の基本項目を設定する。 2 bs.conf Blackship コンポーネント固有の設定が記述されている。 説明 (b) rtc.conf rtc.confの設定項目において、本RTC独自の設定項目はない。rtc.confの設定内容について は、「4.1.3(5) rtc.confファイルの作成」を参照のこと。ここでは、独自の設定項目につい て記述する。 表 3-28 No. 1 rtc.conf設定項目一覧 項目名 デフォルト値 Generic.Rmp.config_file rmp.conf 説明 RMP 独自設定項目の設定ファイル名を 指定する。 2 Generic.Blackship.config_file bs.conf Blackship 独自設定項目の設定ファイ ル名を指定する。 3 Generic.GamePad.config_file gamepad.conf GamePad 独自設定項目の設定ファイ ル名を指定する。 (c) bs.conf rtc.confの設定項目において、本RTC独自の設定項目はない。rtc.confの設定内容について は、「4.1.3(5) rtc.confファイルの作成」を参照のこと。ここでは、独自の設定項目につい て記述する。 表 3-29 No. 1 項目名 conf.bs4.str_port bs.conf設定項目一覧 デフォルト 説明 COM0 Blackship 接続先のシリアルポート(文字列) Windows(COM*), Linux(/dev/tty*) 2 conf.bs4.Kspeed 1.0 速度指示の速度にかかる係数(単位:実数) 3 conf.bs4.Kturn 1.6 角速度指示の角速度にかかる係数(単位:実数) 4 conf.bs4.Kslip 0.0 自己位置(オドメトリ)計算時の左右タイヤスリップ率(0~ 1)。通常 0 で使用。 -36- NEDO 次世代ロボット知能化技術開発プロジェクト No. 5 項目名 conf.bs4.mps2bs 人追従モジュールマニュアル デフォルト 説明 152.0 速度単位変換係数。 m/sec から Blackship 固有単位への係数。 Blackship 入力 = mps2bs * speed(m/sec) 6 conf.bs4.Kodoxy 1.0 自己位置(オドメトリ)計算時の x,y 座標移動成分に乗じら れる係数(単位:実数) 7 conf.bs4.Kodotheta 1.0 自己位置(オドメトリ)計算時の theta 角度移動成分に乗じ られる係数(単位:実数) 8 conf.bs4.wheelwidth 0.405 自己位置(オドメトリ)、自己速度の計算時に使用する車輪の 左右幅(単位:実数) 9 conf.bs4.wheelradiusL 0.1535 自己位置(オドメトリ)、自己速度の計算時に使用する車輪の 半径(左)(単位:実数) 10 conf.bs4.wheelradiusR 0.1535 自己位置(オドメトリ)、自己速度の計算時に使用する車輪の 11 conf.bs4.wheelcount1rot 2294.6 自己位置(オドメトリ)、自己速度の計算時に使用する車輪の 半径(右)(単位:実数) 1 回転のエンコーダカウント数(単位:実数) 12 conf.bs4.simulator 0 13 conf.bs4.idIIS 250 ロボットの ID (単位:整数) 14 conf.bs4.startxIIS 0.0 自己位置(オドメトリ)の x 座標初期位置(単位:実数) 15 conf.bs4.startyIIS 0.0 自己位置(オドメトリ)の y 座標初期位置(単位:実数) 16 conf.bs4.startthetaIIS 0.0 自己位置(オドメトリ)の theta 角度初期位置 (単位:実数) 17 conf.bs4.MaxV 2.0 最大速度(単位:実数) 18 conf.bs4.MaxW 2.0 最大角速度(単位:実数) 19 conf.bs4caster.str_port COM0 将来削除予定のパラメータ(0固定) Blackship 接続先のシリアルポート(文字列) Windows(COM*), Linux(/dev/tty*) 20 conf.bs4caster.Kspeed 1.0 速度指示の速度にかかる係数(単位:実数) 21 conf.bs4caster.Kturn 1.0 角速度指示の角速度にかかる係数(単位:実数) 22 conf.bs4caster.Kslip 0.0 自己位置(オドメトリ)計算時の左右タイヤスリップ率(0~ 1)。通常 0 で使用。 23 conf.bs4caster.mps2bs 152.0 速度単位変換係数。 m/sec から Blackship 固有単位への係数。 Blackship 入力 = mps2bs * speed(m/sec) 24 conf.bs4caster.Kodoxy 1.0 25 conf.bs4caster.Kodotheta 1.0 自己位置(オドメトリ)計算時の x,y 座標移動成分に乗じら れる係数(単位:実数) 自己位置(オドメトリ)計算時の theta 角度移動成分に乗じ られる係数(単位:実数) 26 conf.bs4caster.wheelwidth 27 conf.bs4caster.wheelradiusL 0.405 自己位置(オドメトリ)、自己速度の計算時に使用する車輪の 左右幅(単位:実数) 0.1535 自己位置(オドメトリ)、自己速度の計算時に使用する車輪の 半径(左)(単位:実数) 28 conf.bs4caster.wheelradiusR 0.1535 自己位置(オドメトリ)、自己速度の計算時に使用する車輪の 半径(右)(単位:実数) -37- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル No. 項目名 29 conf.bs4caster.wheelcount1rot 30 conf.bs4caster.simulator 31 conf.bs4caster.idIIS 250 ロボットの ID (単位:整数) 32 conf.bs4caster.startxIIS 0.0 自己位置(オドメトリ)の x 座標初期位置(単位:実数) 33 conf.bs4caster.startyIIS 0.0 自己位置(オドメトリ)の y 座標初期位置(単位:実数) 34 conf.bs4caster.startthetaIIS 0.0 自己位置(オドメトリ)の theta 角度初期位置 (単位:実数) 35 conf.bs4caster.MaxV 2.0 最大速度(単位:実数) 36 conf.bs4caster.MaxW 2.0 最大角速度(単位:実数) 37 conf.bs2.str_port デフォルト 説明 2294.6 自己位置(オドメトリ)、自己速度の計算時に使用する車輪の 1 回転のエンコーダカウント数(単位:実数) 0 COM0 将来削除予定のパラメータ(0固定) Blackship 接続先のシリアルポート(文字列) Windows(COM*), Linux(/dev/tty*) 38 conf.bs2.Kspeed 39 conf.bs2.Kturn 40 conf.bs2.Kslip 41 conf.bs2.mps2bs 1.5 1.376 0.0 速度指示の速度にかかる係数(単位:実数) 角速度指示の角速度にかかる係数(単位:実数) 自己位置(オドメトリ)計算時の左右タイヤスリップ率(0~ 1)。通常 0 で使用。 152.0 速度単位変換係数。 m/sec から Blackship 固有単位への係数。 Blackship 入力 = mps2bs * speed(m/sec) 42 conf.bs2.Kodoxy 1.0 自己位置(オドメトリ)計算時の x,y 座標移動成分に乗じら れる係数(単位:実数) 43 conf.bs2.Kodotheta 1.0 自己位置(オドメトリ)計算時の theta 角度移動成分に乗じ られる係数(単位:実数) 44 conf.bs2.wheelwidth 0.33 自己位置(オドメトリ)、自己速度の計算時に使用する車輪の 左右幅(単位:実数) 45 conf.bs2.wheelradiusL 0.1 46 conf.bs2.wheelradiusR 0.1 自己位置(オドメトリ)、自己速度の計算時に使用する車輪の 半径(左)(単位:実数) 自己位置(オドメトリ)、自己速度の計算時に使用する車輪の 半径(右)(単位:実数) 47 conf.bs2.wheelcount1rot 2294.6 自己位置(オドメトリ)、自己速度の計算時に使用する車輪の 1 回転のエンコーダカウント数(単位:実数) 48 conf.bs2.simulator 0 49 conf.bs2.idIIS 250 ロボットの ID (単位:整数) 50 conf.bs2.startxIIS 0.0 自己位置(オドメトリ)の x 座標初期位置(単位:実数) 51 conf.bs2.startyIIS 0.0 自己位置(オドメトリ)の y 座標初期位置(単位:実数) 52 conf.bs2.startthetaIIS 0.0 自己位置(オドメトリ)の theta 角度初期位置 (単位:実数) 53 conf.bs2.MaxV 2.0 最大速度(単位:実数) 54 conf.bs2.MaxW 2.0 最大角速度(単位:実数) 将来削除予定のパラメータ(0固定) -38- NEDO 次世代ロボット知能化技術開発プロジェクト 3.5. 人追従モジュールマニュアル コンポーネント仕様(GamePad) 3.5.1. 基本情報 PC 用ゲームパッド向けのデバイスモジュール。ゲームパッドのボタンの状態や、アナロ グスティックの方向値の出力行う。 表 3-30 GamePad コンポーネントプロファイル 種別 RTC 提供元 Segway Japan 動作 OS Windows (VC2008), Ubuntu 10.04 LTS Desktop 日本語 Remix (32bit 環境) RT ミドルウェア OpenRTM-aist-1.0.0 (Linux) 開発言語 C/C++ (OpenRTM-aist-1.0.0) 依存ライブラリ なし 実行周期 1000Hz バージョン 0.1.0 最大インスタンス数 10 -39- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.5.2. アクティビティ 表 3-31 アクティビティ一覧 No. アクション関数名 処理概要 1 onInitialize 以下の処理を行う。 ・ 2 onActivated 以下の処理を行う。 ・ 3 4 onExecute onDeactivated コンフィギュレーションの初期化処理 デバイス起動 以下の処理を行う。 ・ デバイスの更新 ・ ボタンデータを取得 ・ アナログスティックのデータを取得 ・ ボタンデータ出力 ・ アナログスティックデータ出力 ・ 速度生成データ出力 ・ 15 ミリ秒スリープ 以下の処理を行う。 ・ 5 onAborting - 6 onReset - 7 onError - 8 onFinalize - 9 onStateUpdate - 10 onRateChanged - 11 onStartup - 12 onShutdown - デバイス停止 -40- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.5.3. インタフェース仕様 (1) データポート (a) インポート GamePad コンポーネントはインポートを定義しない。 (b) アウトポート GamePad コンポーネントで定義しているアウトポートについて記述する。 表 3-32 アウトポート一覧 No ポート名 型 インタフェース 型 説明 1 2 Button StickLX TimedULong TimedFloat RTC 3 StickLY TimedFloat RTC 4 StickRX TimedFloat RTC 5 StickRY TimedFloat RTC 6 StickLXd TimedDouble RTC 7 StickLYd TimedDouble RTC 8 StickRXd TimedDouble RTC 9 StickRYd TimedDouble RTC 10 Velocity TimedVelocity RTC 11 VelocityIIS TimedVelocity IIS 12 Velocity2DI IS TimedVelocity 2D IIS ボタン状態(各 bit) 左アナログスティックの x 方 向値 左アナログスティックの y 方 向値 右アナログスティックの x 方 向値 右アナログスティックの y 方 向値 左アナログスティックの x 方 向値 左アナログスティックの y 方 向値 右アナログスティックの x 方 向値 右アナログスティックの y 方 向値 左アナログスティックからの 速度生成。(旧 IDL) 左右アナログスティックから の速度生成。(旧 IDL) 左右アナログスティックから の速度生成 RTC (2) サービスポート GamePad コンポーネントで定義しているサービスポートはない。 -41- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (3) コンフィギュレーション GamePad コンポーネントで定義しているコンフィギュレーションについて記述する。 表 3-33 No. パラメータ名 データ型 コンフィギュレーション一覧 デフォルト値 説明 1 Klx float 1.0 左アナログスティック水平値に乗じられる係数 2 Kly float 1.0 左アナログスティック垂直値に乗じられる係数 3 Krx float 1.0 右アナログスティック水平値に乗じられる係数 4 Kry float 1.0 右アナログスティック垂直値に乗じられる係数 5 str_port string /dev/input/js0 デバイスのポート名 Windows (無視), Linux (/dev/input/js*) (4) 設定ファイル GamePad コンポーネントで使用している設定ファイルについて記述する。 (a) ファイル一覧 表 3-34 ファイル一覧 No. 1 ファイル名 rtc.conf 説明 ネームサービスやログ関連等の基本項目を設定する。 (b) rtc.conf rtc.confの設定項目において、本RTC独自の設定項目はない。rtc.confの設定内容について は、「4.1.3(5) rtc.confファイルの作成」を参照のこと。 -42- NEDO 次世代ロボット知能化技術開発プロジェクト 3.6. 人追従モジュールマニュアル コンポーネント仕様(Cam_v4l2) 3.6.1. 基本情報 UVC (USB Video Class)に対応したカメラ向けデバイスモジュール。カメラ画像を raw データにて出力する。Video4Linux2 を使用する。 表3-35 Cam_v4l2 コンポーネントプロファイル 種別 RTC 提供元 Segway Japan 動作 OS Ubuntu 10.04 LTS Desktop 日本語 Remix (32bit 環境) RT ミドルウェア OpenRTM-aist-1.0.0 (Linux) 開発言語 C/C++ (OpenRTM-aist-1.0.0) 依存ライブラリ libx11-dev 実行周期 1000Hz バージョン 1.0.0 最大インスタンス数 10 -43- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.6.2. アクティビティ 表 3-36 アクティビティ一覧 No. アクション関数名 処理概要 1 onInitialize 以下の処理を行う。 ・ 2 3 4 onActivated onExecute onDeactivated コンフィギュレーションの初期化処理 以下の処理を行う。 ・ コンフィギュレーションの取得 ・ 画像用メモリ領域の確保 以下の処理を行う。 ・ 画像をキャプチャ ・ 画像情報を出力 以下の処理を行う。 ・ デバイス停止 ・ メモリの解放 5 onAborting - 6 onReset - 7 onError - 8 onFinalize - 9 onStateUpdate - 10 onRateChanged - 11 onStartup - 12 onShutdown - -44- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.6.3. インタフェース仕様 (1) データポート (a) インポート Cam_v4l2 コンポーネントで定義しているインポートはない。 (b) アウトポート Cam_v4l2 コンポーネントで定義しているアウトポートについて記述する。 表 3-37 No 1 2 ポート名 型 アウトポート一覧 インタフェース型 Image TimedULongS eq ImageYUY TimedUShortS V eq 説明 RTC 24bitRGB 値の画像 (4byte/pixel) RTC YUYV 形式の画像 (2byte/pixel) (2) サービスポート Cam_v4l2 コンポーネントで定義しているサービスポートはない。 (3) コンフィギュレーション Cam_v4l2 コンポーネントで定義しているコンフィギュレーションについて記述する。 表 3-38 No. パラメータ名 コンフィギュレーション一覧 データ型 デフォルト値 説明 1 width int 640 画像幅 2 height int 480 画像高 3 str_port string /dev/video0 デバイスポート名 -45- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (4) 設定ファイル ObstacleAvoidanceComp コンポーネントで使用している設定ファイルについて記述する。 (a) ファイル一覧 表 3-39 No. 1 ファイル一覧 ファイル名 rtc.conf 説明 ネームサービスやログ関連等の基本項目を設定する。 Cam_v4l2 コンポーネント固有の設定が記述されてい る。 (※)ファイル名はコンフィギュレーションにて変更可 2 cam_v4l2.conf (b) rtc.conf rtc.confの設定項目において、本RTC独自の設定項目はない。rtc.confの設定内容について は、「4.1.3(5) rtc.confファイルの作成」を参照のこと。 (c) cam_v4l2.conf cam_v4l2.conf で設定される項目について記述する。 表 3-40 No. 項目名 cam_v4l2.conf設定項目一覧 デフォルト 説明 1 conf.custom.width 320 画像幅 2 conf.custom.height 240 画像高 3 conf.custom.str_port /dev/video0 -46- デバイス名 NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.7. コンポーネント仕様(Urg) 3.7.1. 基本情報 HOKUYO UTM-30LX 向けのデバイスモジュール。mm 単位の距離値をスキャン数(1081) 出力する。デバイス内部のタイマ値から、PC 時間タイムスタンプを見積もる機能を有して いる。 表 3-41 Urg コンポーネントプロファイル 種別 RTC 提供元 Segway Japan 動作 OS Ubuntu 10.04 LTS Desktop 日本語 Remix (32bit 環境) RT ミドルウェア OpenRTM-aist-1.0.0 (Linux) 開発言語 C/C++ (OpenRTM-aist-1.0.0) 依存ライブラリ なし 実行周期 1000Hz バージョン 1.0.0 最大インスタンス数 10 -47- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.7.2. アクティビティ 表 3-42 アクティビティ一覧 No. アクション関数名 処理概要 1 onInitialize 以下の処理を行う。 ・ コンフィギュレーションの初期化処理 2 onActivated 以下の処理を行う。 ・ 距離値用メモリ領域を確保 ・ デバイス開始 3 onExecute 以下の処理を行う。 ・ スキャン結果を格納 ・ スキャン結果を出力 ・ 10 ミリ秒スリープ 4 onDeactivated 以下の処理を行う。 ・ デバイス停止 5 onAborting - 6 onReset - 7 onError - 8 onFinalize - 9 onStateUpdate - 10 onRateChanged - 11 onStartup - 12 onShutdown - -48- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.7.3. インタフェース仕様 (1) データポート Urg で定義しているデータポートについて記述する。 (a) インポート Urg コンポーネントで定義しているインポートはない。 (b) アウトポート Urg コンポーネントで定義しているアウトポートについて記述する。 表 3-43 No ポート名 1 Scan TimedLongSeq RTC 2 ScanTS TimedScan RTC 型 アウトポート一覧 インタフェース型 説明 タイムスタンプ付距離データ(mm) tm: PC 時間動機タイムスタンプ (Scan と同じ内容のため将来削除予定) タイムスタンプ付き距離データ(mm) (2) サービスポート Urg コンポーネントで定義しているサービスポートはない。 (3) コンフィギュレーション Urg コンポーネントで定義しているコンフィギュレーションについて記述する。 表 3-44 コンフィギュレーション一覧 No. パラメータ名 データ型 デフォルト値 説明 1 end int 1080 スキャン終了位置 2 skip int 1 スキャンスキップ数 3 start int 0 スキャン開始位置 4 str_port int /dev/ttyACM0 デバイスポート名(/dev/ttyACM0) 5 timesynccount int 20 デバイス・PC 時間同期間隔 6 timesyncperiod double 60.0 デバイス・PC 時間同期回数 7 win int 1 スキャンデータの Windows 表示 8 end int 1080 スキャン終了位置 -49- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (4) 設定ファイル Urg コンポーネントで使用している設定ファイルについて記述する。 (a) ファイル一覧 表 3-45 ファイル一覧 No. ファイル名 説明 1 rtc.conf ネームサービスやログ関連等の基本項目を設定する。 urg コンポーネント固有の設定が記述されている。 (※)ファイル名はコンフィギュレーションにて変更可 2 urg.conf (b) rtc.conf rtc.confの設定項目において、本RTC独自の設定項目はない。rtc.confの設定内容について は、「4.1.3(5) rtc.confファイルの作成」を参照のこと。 (c) urg.conf urg.conf で設定される項目について記述する。 表 3-46 No. 項目名 1 conf.simulator.str_port 2 conf.simulator.start 3 urg.conf設定項目一覧 デフォルト 説明 /dev/ttySIMb0 デバイスポート名 0 スキャン開始位置 conf.simulator.end 1080 スキャン終了位置 4 conf.simulator.skip 1 スキャンスキップ数 5 conf.simulator.win 1 スキャンデータの Windows 表示 -50- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.8. コンポーネント仕様(HumanRecog) 3.8.1. 基本情報 最初に登録した人の位置を認識してその位置を出力する。カメラによる対象人物の色ヒ ストグラム成分とのマッチングにより、対象人物の方向を認識する。その認識された方向 に対して、レーザーレンジより距離を算出し、対象人物の位置を特定してその位置を出力 する。 Input への入力がある間、ターゲットとなる人の色情報を更新する。入力が0になると 確定となり、その時点での色情報が人の位置認識に使用される。色成分はカメラ画像の右 側に表示される。認識できない場合、位置はロボット位置と同じ座標を出力する。 図 3-1 表 3-47 ターゲットの認識 HumanRecog コンポーネントプロファイル 種別 RTC 提供元 Segway Japan 動作 OS Windows (VC2008), Ubuntu10.04 LTS Desktop 日本語 Remix (32bit 環境) RT ミドルウェア OpenRTM-aist-1.0.0 (Linux) 開発言語 C/C++ (OpenRTM-aist-1.0.0) 依存ライブラリ なし 実行周期 1000Hz バージョン 1.0.0 最大インスタンス数 10 -51- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.8.2. アクティビティ 表 3-48 アクティビティ一覧 No. アクション関数名 処理概要 1 onInitialize 以下の処理を行う。 ・ 2 3 4 onActivated onExecute onDeactivated コンフィギュレーションの初期化処理 以下の処理を行う。 ・ メモリを初期化 ・ メモリ領域を確保 ・ コンフィギュレーションの取得 ・ ヒストグラムをクリア 以下の処理を行う。 ・ 取得した画像情報を更新 ・ マッチング処理 ・ 人検出処理 ・ ヒストグラムイメージを描画 ・ 取得したレーザーレンジファインダ情報を更新 ・ 人の位置を更新 以下の処理を行う。 ・ 5 onAborting - 6 onReset - 7 onError - 8 onFinalize - 9 onStateUpdate - 10 onRateChanged - 11 onStartup - 12 onShutdown - メモリを解放 -52- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.8.3. インタフェース仕様 (1) データポート HumanRecog で定義しているデータポートについて記述する。 (a) インポート HumanRecog コンポーネントで定義しているインポートについて記述する。 表 3-49 No ポート名 型 インポート一覧 インタフェース型 説明 1 Input TimedULong RTC 対象人物の登録(1 入力時)^ 2 Image RTC 3 ImageYUYV RTC 32bitXRGB 形式画像 raw デ ータ YUYV 形式画像 raw データ 4 Scan RTC レーザーレンジ距離 5 RobotPose2DII S TimedULongS eq TimedUShortS eq TimedULongS eq TimedPose2D IIS ロボットの位置 (b) アウトポート HumanRecog コンポーネントで定義しているアウトポートについて記述する。 表 3-50 No 1 ポート名 型 HumanPose2DII S TimedPose2 D アウトポート一覧 インタフェース型 IIS 説明 人の位置 (2) サービスポート HumanRecog コンポーネントで定義しているサービスポートはない。 -53- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (3) コンフィギュレーション HumanRecog コンポーネントで定義しているコンフィギュレーションについて記述する。 表 3-51 No. パラメータ名 データ型 コンフィギュレーション一覧 デフォルト値 説明 1 imagew int 640 画像サイズ 2 imageh int 480 画像サイズ (pixel) 3 grayS double 0.06 グレースケール判定の閾値(割合 0-1) 4 grayK double 1.0 グレースケール要素の係数 5 matchvalue double 0.7 マッチング判定の閾値 6 matchblur int 1 マッチング対象をぼかす広さ 7 matchw int 128 色情報範囲 (pixel) 8 matchh int 192 色情報範囲 (pixel) 9 searchw int 82 マッチング範囲 (pixel) 10 serachh int 40 マッチング範囲 (pixel) 11 scales int 0 マッチング範囲スケーリングの開始値 12 scalee int 0 マッチング範囲スケーリングの終了値 13 addx int 8 マッチング確認間隔 (pixel) 14 addy int 8 マッチング確認間隔 (pixel) 15 adds int 1 マッチングスケーリング確認間隔 16 maxjump double 0.5 ターゲット認識移動距離範囲 17 angleofview0 double 75.0 カメラ画像の画角 18 angleofview1 double 45.0 現状使用されていません(削除予定) 19 angleofscan int 40 LRF 距離判定時の判定角度 20 scanradadd double 0.0 レーザーレンジ表示範囲(通常 0 を指定) 21 str_port string /dev/video0 現状使用されていません(削除予定) 22 idIIS int 1000 出力される人位置データに付加される ID -54- (pixel) NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (4) 設定ファイル HumanRecog コンポーネントで使用している設定ファイルについて記述する。 (a) ファイル一覧 表 3-52 ファイル一覧 No. ファイル名 説明 1 rtc.conf ネームサービスやログ関連等の基本項目を設定する。 HumanRecog コンポーネント固有の設定が記述され ている。 (※)ファイル名はコンフィギュレーションにて変更可 humanrecog.conf 2 (b) rtc.conf rtc.confの設定項目において、本RTC独自の設定項目はない。rtc.confの設定内容について は、「4.1.3(5) rtc.confファイルの作成」を参照のこと。 表 3-53 No. 1 項目名 rtc.conf設定項目一覧 デフォルト値 Generic.HumanRecog.config_file humanrecog.conf -55- 説明 HumanRecog コンポーネント固 有の設定が記述されている。 NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (c) humanrecog.conf humanrecog.conf で設定される項目について記述する。 表 3-54 No. 項目名 humanrecog.conf 設定項目一覧 デフォルト 説明 1 conf.custom.imagew 640 画像サイズ 2 conf.custom.imageh 480 画像サイズ 3 conf.custom.scanradadd 0.0 レーザーレンジ表示範囲(通常 0 を指 定) 4 conf.custom.angleofview0 75 カメラ画像の画角 5 conf.custom.angleofview1 45 現状使用されていません(削除予定) 6 conf.custom.matchw 128 色情報範囲 7 conf.custom.matchh 192 色情報範囲 8 conf.custom.searchw 80 マッチング範囲 9 conf.custom.searchh 40 マッチング範囲 10 conf.custom.scales 0 マッチング範囲スケーリングの開始値 11 conf.custom.scalee 0 マッチング範囲スケーリングの終了値 12 conf.custom.addx 8 マッチング確認間隔 13 conf.custom.addy 8 マッチング確認間隔 14 conf.custom.adds 1 マッチングスケーリング確認間隔 15 conf.custom.angleofscan 40 LRF 距離判定時の判定角度 16 conf.custom.matchvalue 0.7 マッチング判定の閾値 17 conf.custom.matchblur 18 conf.custom.grayS 0.06 グレースケール判定の閾値 19 conf.custom.grayK 1.0 グレースケール要素の係数 20 conf.custom.idIIS 1 マッチング対象をぼかす広さ 1000 出力される人位置データに付加される ID -56- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.9. コンポーネント仕様(HumanFollow) 3.9.1. 基本情報 人(位置・距離)認識 RTC によって認識された、人位置情報に対して追従する速度成分 を生成する。 (1) Followモード ターゲットへの直線的な追従 正面方向に対して横方向のズレの距離に比例して旋回成分を生成。また、対象までの指定 間隔の距離との差に比例してその距離を詰める併進速度を生成しする。 図 3-2 ターゲットへの直線的な追従 (2) Trace モード ターゲット位置をトレースする追従 (Mode:1) ターゲット位置を順次記憶していき、前方方向の速度と、角速度によってその位置を辿る ように追従する。 注意:このドキュメント中の人位置認識 RTC(HumanRecog)はカメラ正面画角範囲しかタ ーゲットを捉えられないのでこのモードでは使用できません。別途人位置もしくはその他 物体位置を入力する機能が必要になる。 図 3-3 ターゲット位置をトレースする追従 -57- NEDO 次世代ロボット知能化技術開発プロジェクト 表 3-55 人追従モジュールマニュアル HumanFollow コンポーネントプロファイル 種別 RTC 提供元 Segway Japan 動作 OS Windows (VC2008), Ubuntu10.04 LTS Desktop 日本語 Remix (32bit 環境) RT ミドルウェア OpenRTM-aist-1.0.0 (Linux) 開発言語 C/C++ (OpenRTM-aist-1.0.0) 依存ライブラリ なし 実行周期 1000Hz バージョン 1.0.0 最大インスタンス数 10 -58- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.9.2. アクティビティ 表 3-56 アクティビティ一覧 No. アクション関数名 処理概要 1 onInitialize 以下の処理を行う。 ・ 2 3 4 onActivated onExecute onDeactivated コンフィギュレーションの初期化処理 以下の処理を行う。 ・ ポイントリストをクリア ・ 現在の日時を取得 ・ 画像用メモリ領域を確保を確保 以下の処理を行う。 ・ ロボットの位置を最新の情報に更新 ・ 追従するターゲットの ID を確認 ・ 各モード時の追従情報を更新 ・ 追従するルートを計算 ・ 速度情報を更新 以下の処理を行う。 ・ 5 onAborting - 6 onReset - 7 onError - 8 onFinalize - 9 onStateUpdate - 10 onRateChanged - 11 onStartup - 12 onShutdown - 画像用メモリを解放 -59- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 3.9.3. インタフェース仕様 (1) データポート HumanFollow で定義しているデータポートについて記述する。 (a) インポート HumanFollow コンポーネントで定義しているインポートについて記述する 表 3-57 インポート一覧 No ポート名 型 インタフェース型 説明 1 HumanPose2DIIS TimedPose2D IIS 人の位置 2 RobotPose2DIIS TimedPose2D IIS ロボットの位置 (b) アウトポート HumanFollow コンポーネントで定義しているアウトポートについて記述する。 表 3-58 アウトポート一覧 No ポート名 型 インタフェース型 説明 1 Velocity TimedVelocity RTC 追従のための速度情報 Vx, vw のみ有効(旧 IDL) 2 VelovityeDIIS TimedVelocity2D IIS 追従のための速度情報 (2) サービスポート HumanFollow コンポーネントで定義しているサービスポートはない。 -60- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (3) コンフィギュレーション HumanFollow コンポーネントで定義しているコンフィギュレーションについて記述する。 表 3-59 HumanFollow:コンフィギュレーション一覧 No. パラメータ名 データ型 デフォルト値 1 Distance double 1.5 Follow モード 2 IntervalTime double 0.5 Trace モード 3 Kcurve_evec double 1.0 現状使用されていません(削除予定) 4 Kcurve_svec double 1.0 現状使用されていません(削除予定) 5 Kspeed double 1.0 生成併進速度に乗じられる係数 6 Kturn double 3.0 生成角速度に乗じられる係数 7 MAXspeed double 1.0 Follow モード 最大速度(m/sec) 8 MAXturn double 1.5 Follow モード 最大角速度(rad/sec) 9 Mode int 0 動作モード 10 PathStopR double 1.5 Trace モード ゴール位置からの許容距離(m) 11 PathTargetR double 0.2 Trace モード 経路情報からの許容距離(m) 12 PathTime double 2.0 Trace モード 現在の経路の長さを移動する時間(sec) 13 PathTurn double 1.570796 Trace モード 追従経路移動角速度(m/sec) 14 PathVel double 1.0 Trace モード 追従経路移動速度(m/sec) 説明 ※ ターゲットとの距離(m) ターゲット位置更新時間間隔(sec) 0:Follow モード 1:Trace モード PathTime が設定されているとき無効 15 imageh int 640 Trace モード 経路画面のサイズ 16 imagew int 640 Trace モード 経路画面のサイズ -61- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (4) 設定ファイル HumanFollow コンポーネントで使用している設定ファイルについて記述する。 (a) ファイル一覧 表 3-60 No. ファイル一覧 ファイル名 説明 1 rtc.conf ネームサービスやログ関連等の基本項目を設定する。 2 humanfollow.conf HumanFollow コンポーネント固有の設定が記述されている。 (※)ファイル名はコンフィギュレーションにて変更可 (b) rtc.conf rtc.confの設定項目において、本RTC独自の設定項目はない。rtc.confの設定内容について は、「4.1.3(5) rtc.confファイルの作成」を参照のこと。 表 3-61 No. 1 項目名 Generic.HumanFollow.config_file rtc.conf設定項目一覧 デフォルト値 humanfollow.conf 説明 humanfollow 独自設定項目の設定 ファイル名を指定する。 -62- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (c) humanfollow.conf humanfollow.conf で設定される項目について記述する。 表 3-62 No. 項目名 humanfollow.conf 設定項目一覧 デフォルト 説明 1 conf.mode_follow.Kspeed 1.0 生成併進速度に乗じられる係数 2 conf.mode_follow.Kturn 3.0 生成角速度に乗じられる係数 3 conf.mode_follow.MAXspeed 1.0 最大速度 4 conf.mode_follow.MAXturn 1.5 最大角速度 5 conf.mode_follow.Distance 1.5 ターゲットとの距離 6 conf.mode_follow.Output 7 conf.mode_follow.Kcurve_svec 5.0 現状使用されていません(削除予定) 8 conf.mode_follow.Kcurve_evec 5.0 現状使用されていません(削除予定) 9 conf.mode_follow.PathStopR 1.0 ゴール位置からの許容距離 10 conf.mode_follow.PathTargetR 0.2 経路情報からの許容距離 11 conf.mode_follow.PathTime 2.0 現在の経路の長さを移動する時間 12 conf.mode_follow.PathTurn 1.0 追従経路移動角速度 13 conf.mode_follow.PathVel 1.0 追従経路移動速度 14 conf.mode_follow.IntervalTime 0.5 ターゲット位置更新時間間隔 15 conf.mode_follow.Mode 16 conf.mode_trace.Kspeed 1.0 生成併進速度に乗じられる係数 17 conf.mode_trace.Kturn 3.0 生成角速度に乗じられる係数 18 conf.mode_trace.MAXspeed 1.0 最大速度 19 conf.mode_trace.MAXturn 1.5 最大角速度 20 conf.mode_trace.Distance 1.5 ターゲットとの距離 21 conf.mode_trace.Output 22 conf.mode_trace.Kcurve_svec 5.0 現状使用されていません(削除予定) 23 conf.mode_trace.Kcurve_evec 5.0 現状使用されていません(削除予定) 24 conf.mode_trace.PathStopR 1.0 ゴール位置からの許容距離 25 conf.mode_trace.PathTargetR 0.5 経路情報からの許容距離 26 conf.mode_trace.PathTime 2.0 現在の経路の長さを移動する時間 27 conf.mode_trace.PathTurn 1.0 追従経路移動角速度 28 conf.mode_trace.PathVel 1.0 追従経路移動速度 29 conf.mode_trace.IntervalTime 0.5 ターゲット位置更新時間間隔 30 conf.mode_trace.Mode 0 0 0 1 -63- Debug 用標準出力(オン1 オフ 0) 動作モード Debug 用標準出力(オン1 動作モード オフ 0) NEDO 次世代ロボット知能化技術開発プロジェクト 4 人追従モジュールマニュアル 取扱手順 4.1. 環境構築(ubuntu) 4.1.1. インストール準備 人追従モジュール群を動作させるために、以下のソフトウェアパッケージをインストール する。 OpenRTM-aist 1.0.0 RELEASE C++ 版 OpenRTM Eclipse tools 1.0-RELEASE (1) OpenRTM-aist 1.0.0 RELEASE C++ 版 (a) インストール 一括インストールスクリプトをダウンロードし、リスト 4-1に示すコマンドを実行し、イン ストールする。 リスト4-1 OpenRTM-aistのインストール $ wget [pkg_install100_ubuntu.shのダウンロードURL] $ sudo sh pkg_install100_ubuntu.sh 実行途中の質問に対し、''y''あるいは''Y''を入力し、インストールを完了させる。 表 4-1 OpenRTM-aist のダウンロード URL ダウンロードページ http://www.openrtm.org/openrtm/ja/content/openrtm-aist-100-release#toc3 インストールスクリプト http://www.openrtm.org/pub/OpenRTM-aist/cxx/install_scripts/pkg_install1 00_ubuntu.sh インストール方法の解説 http://www.openrtm.org/openrtm/ja/node/1001#toc0 (b) ネットワーク設定(Ubuntu10.04 のみ) Ubuntu10.04 へインストールする場合、ネットワーク設定の変更を行う必要がある。 /etc/hosts ファイルの localhost 定義行の先頭に「#」を追加し、コメントアウトする。 (変更前) ::1 localhost ip6-localhost ip6-loopback (変更後) #::1 localhost ip6-localhost ip6-loopback -64- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (2) OpenRTM Eclipse tools 1.0-RELEASE (a) Eclipseのインストール eclipse342_rtmtools100release_linux_ja.tar.gzをダウンロードし、リスト 4-2に示すコマ ンドを実行し、展開する。展開するとeclipsというディレクトリができる。 リスト4-2 Eclipseのインストール $ wget [ダウンロードURL] $ tar xvzf eclipse342_rtmtools100release_linux_ja.tar.gz 表 4-2 Eclipse のダウンロード URL ダウンロードページ http://www.openrtm.org/openrtm/node/75#toc0 ダウンロードファイル http://www.openrtm.org/pub/OpenRTM-aist/tools/1.0.0/eclipse34 2_rtmtools100rc1_linux_en.tar.gz (b) OpenRTM Eclipse tools 1.1 http://www.openrtm.org/openrtm/ja/node/1736 ダウンロードページ ダウンロード ファイル 32bit 版 http://www.openrtm.org/pub/OpenRTM-aist/tools/1.0.0/eclipse34 2_rtmtools110rc1_linux_ja.tar.gz 64bit 版 http://www.openrtm.org/pub/OpenRTM-aist/tools/1.1.0/eclipse34 2_rtmtools110-rc1_x86_64_ja.tar.gz -65- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (c) JREのインストール Eclipseを動かすためには、JavaのJRE (Java Runtime Environment)またはJDK (Java Development Kit)が必要である。JRE version1.6.02 のインストール例をリスト 4-3に示す。 展開してできたディレクトリをjreという名前でeclipseディレクトリの下へ移動する。 リスト4-3 $ $ $ $ JREのインストール wget [ダウンロードURL] chmod a+x ./jre-6u26-linux-i586.bin ./jre-6u26-linux-i586.bin mv jre1.6.0_26 [eclipseインストール先のディレクトリ]/jre 表 4-3 JRE のダウンロード URL ダウンロードページ http://www.java.com/ja/download/manual.jsp#lin ダウンロードファイル http://javadl.sun.com/webapps/download/AutoDL?BundleId=52240 (d) Eclipseの起動シェル eclipseを起動中にプログラムが止まってしまう問題を回避するため、起動シェルをテキス トエディタにて作成する。起動シェルの内容をリスト 4-4に示す。 リスト4-4 Eclipse起動シェル #!/bin/sh export GDK_NATIVE_WINDOWS=1 ./eclipse -clean -vmargs -Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner1.9.2.18/xulrunner 環境により、xulrunner のバージョンが異なる場合がある。以下のコマンドにて、 XULRunnerPath で指定するディレクトリ名を確認し、必要に応じて、リスト 4-4 内赤字 箇所を変更すること。 $ ls /usr/lib/xulrunner-* -66- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 4.1.2. インストール (1) ファイルの展開 インストーラなどは特になく、各コンポーネントは ZIP 形式で圧縮されているため、解 凍して任意の場所に展開する。 (2) binディレクトリ、sjディレクトリの作成 コンポーネントは、コンパイル時に各コンポーネント直下の bin/sj ディレクトリにコピー される。そのため、ディレクトリが存在しない場合、コンパイルエラーが発生するため、 適宜作成を行う。 例では、Blackship ディレクトリに bin/sj ディレクトリを作成している。 リスト 4-5 $ $ $ $ ディレクトリの作成 cd Blackship mkdir bin cd bin mkdir sj -67- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 4.1.3. 動作確認環境の準備 シンボリックリンクの作成 各コンポーネントの src ディレクトリにシンボリックリンクが存在しないため、コンパ イルが行えないので、シンボリックリンクを作成する。シンボリックリンクの指定を行う ファイルは、展開したディレクトリ直下の idl ディレクトリに格納されている。 例では、Urg コンポーネントのシンボリックリンクを作成している。 (1) リスト 4-6 シンボリックリンクの作成 $ cd Following/device/sj/urg/src $ ln –s ../../../../idl/intellirobot.idl ライブラリのインストール 一部の RTC はライブラリに依存しており、コンパイルができないので該当の RTC で 必要なライブラリをインストールする。Ubuntu に標準で搭載されているパッケージマネー ジャを使用して次のライブラリをインストールする。 (2) ・libx11-dev ・libjpe62-dev -68- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル ドライバのインストール RMP コンポーネントを使用する場合は、FTDI のドライバをインストールする必要が ある。 (3) *FTDI toppage http://www.ftdichip.com/ [2011 年 10 月 18 日現在 (URL は変更される場合があります)] * Driver http://www.ftdichip.com/Drivers/D2XX.htm [2011 年 10 月 18 日現在 (URL は変更される場合があります)] * Readme http://www.ftdichip.com/Drivers/D2XX/Linux/README.dat [2011 年 10 月 18 日現在 (URL は変更される場合があります)] 上記サイトより、Linux 用のドライバをダウンロードし、README.dat の指示に従い、イン ストールを行う。 リスト 4-7 $ $ $ $ $ $ $ ドライバのインストール tar -xvf libftd2xx1.0.4.tar cd libftd2xx1.0.4/build/i386 sudo cp libftd2xx.so.1.0.4 /usr/local/lib cd /usr/local/lib sudo ln -s libftd2xx.so.1.0.4 libftd2xx.so cd /usr/lib sudo ln -s /usr/local/lib/libftd2xx.so.1.0.4 libftd2xx.so libftd2xx.so.****を PATH の通った所にシンボリックリンクを作成する。Ubuntu では、 README.dat の指定した場所と PATH が異なるため、次のコマンドで確認をし、適切な場所に シンボリックリンクを作成してください。 リスト 4-8 PATH の確認 $ echo $PATH -69- NEDO 次世代ロボット知能化技術開発プロジェクト リスト 4-9 人追従モジュールマニュアル ドライバの追加 $ cd /usr/local/sbin $ sudo ln -s /usr/local/lib/libftd2xx.so.1.0.4 libftd2xx.so ドライバの他に、インクルードファイルも追加する必要がある。インクルードファイルは、 ftd2xx.h と WinTypes.h の二つのファイルになる。 リスト 4-10 インクルードファイルの追加 $ cd libftd2xx1.0.4 $ sudo cp *.h /usr/include $ sudo cp *.h /usr/local/include (4) make ソースコードに変更がなければ、特に実行しなくても良い。ソースコードなどに変化が ある場合、make コマンドでコンパイル処理が行われる。 コンパイル時に作成されるファイルを削除する、make clean がある。 リスト 4-11 make コマンド $ make -70- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (5) rtc.confファイルの作成 コンポーネントマネージャの設定ファイルである rtc.conf は最初から用意されている。変更 の必要がある場合は、必要に応じて編集を行う。 本モジュールでは、表 4-4にある項目が設定されていればよい。定義例をエラー! 参照元が 見つかりません。に示す。 その他の設定項目等、詳細については、OpenRTM-aistのマニュアルの設定ファイル(基礎 編)を参照のこと。 表 4-4 rtc.conf 設定項目 No. パラメータ名 説明 1 corba.nameservers ネーミングサーバを指定する。 指定フォーマット:host_name:port_number デフォルトポートは 2809(omniORB のデフォルト) 2 logger.enable ログ出力の有無を指定する。(Yes:有効、No:無効) 3 logger.file_name ログファイル名を指定する。(stdout:標準出力) 4 corba.args CORBA に対する引数。 リスト 4-12 rtc.conf 例 corba.nameservers: localhost:2809 logger.enable:Yes logger.file_name:stdout Cam_v4l2 コンポーネントと Urg コンポーネントは、Windows 版が存在しないため Linux 側で起動する必要がある。その際、rtc.conf の corba.nameservers の IP アドレスとポート 番号を Windows のネームサービスが起動している PC の IP アドレスとポート番号に修正 を行う必要がある。 例: corba.nameservers: 192.168.0.1:2809 (6) ネーミングサービスの起動 CORBA のネーミングサービスを起動する。ネーミングサービスの起動方法については、 OpenRTM-aist の動作確認方法を参照のこと。 動作確認方法 http://openrtm.org/openrtm/ja/content/%E5%8B%95%E4%BD%9C%E7%A2%BA%E8% AA%8D-linux%E7%B7%A8 [2011 年 10 月 18 日現在 (URL は変更される場合があります)] -71- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 4.2. 設定・カスタマイズ手順 人追従モジュール群での設定およびカスタマイズ手順はない。 (1) コンフィギュレーションの設定 人追従モジュールコンポーネントで使用する各コンポーネントは、それぞれのパラメータ をコンフィギュレーションとして持っており、変更可能である。 コンフィギュレーションのパラメータ項目と取り得る値については、各コンポーネントの 『コンフィギュレーション』の項を参照のこと。 コンフィギュレーション情報は RTSystemEditor 上で変更する。これは OpenRTM-aist に共通する操作であるため、OpenRTM-aist の RTSystemEditor のマニュアルを参照のこ と。 RTSystemEditor のマニュアル http://openrtm.org/openrtm/ja/node/1175 [2011 年 10 月 18 日現在 (URL は変更される場合があります)] (2) ログの設定 人追従モジュールコンポーネントでは、ログ出力に OpenRTM-aist 標準のロギングフレ ームワークを利用している。デフォルトでは、標準出力へ出力を行う。 ログの出力先やログレベルを変更する場合は、rtc.conf を編集する。rtc.conf の設定方法 については、OpenRTM-aist のマニュアルの「設定ファイル(基礎編)」を参照のこと。 設定ファイル(基礎編) http://www.openrtm.org/openrtm/ja/content/%E8%A8%AD%E5%AE%9A%E3%83%95% E3%82%A1%E3%82%A4%E3%83%AB-%E5%9F%BA%E7%A4%8E%E7%B7%A8 [2011 年 10 月 18 日現在 (URL は変更される場合があります)] (3) ハードウェアの起動 各種ハードウェアの電源を入れ、準備可能にする。 -72- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 4.3. 起動・終了手順 自律移動モジュール群の各コンポーネントの起動手順、および、終了手順について記述す る。 4.3.1. 起動 リスト 4-13の通り、端末上よりコマンドを入力する。Urgコンポーネントのバックグラウ ンドで起動する例をリスト 4-14に示す。 リスト4-13 起動コマンド $ ./(実行するRTコンポーネント) –f (ディレクトリのパス)/rtc.conf リスト 4-14 Urg コンポーネントの起動例 $./Urg -f ./rtc.conf & また、コンパイル時に bin/sj ディレクトリに格納されるコンポーネントを使用する場合は、 rtc.conf が存在しない、あるいは各コンポーネントのコンフィギュレーションへのリンクが 記載されていない場合があるため、必要に応じて作成、または修正を行う。 リスト 4-15 各 RT コンポーネントの格納ディレクトリ一覧 No. コンポーネント名 格納ディレクトリ 1 RMP [展開ディレクトリ]/RMP/device/sj/rmp/src [展開ディレクトリ]/RMP/bin/sj 2 Blackship [展開ディレクトリ]/Blackship/device/sj/blackship/src [展開ディレクトリ]/Blackship/bin/sj 3 GamePad [展開ディレクトリ]/GamePad/device/sj/gamepad/src [展開ディレクトリ]/GamePad/bin/sj 4 Cam_v4l2 [展開ディレクトリ]/Following/device/sj/camera/cam_v4l2/src [展開ディレクトリ]/Following/bin/sj 5 Urg [展開ディレクトリ]/Following/device/sj/urg/src [展開ディレクトリ]/Following/bin/sj 6 HumanRecog [展開ディレクトリ]/Following/following/sj/humanrecog/src [展開ディレクトリ]/Following/bin/sj 7 HumanFollow [展開ディレクトリ]/Following/following/sj/humanfollow/src [展開ディレクトリ]/Following/bin/sj -73- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 4.3.2. 終了 起動しているコンポーネントを終了させるには、RT System Editor で RT コンポーネント を選択し、右クリックメニューから Exit を選択する。 -74- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 4.4. 環境構築(Windows) 4.4.1. インストール準備 人追従モジュール群を動作させるために、以下のソフトウェアパッケージをインストール する。 OpenRTM-aist-1.0.0_vc9.msi ※以下の http://openrtm.org/openrtm/ja/node/850 (1) OpenRTM-aist (a) インストール インストーラをダウンロードし、実行するとインストーラが起動します。指示に従ってイ ンストールします。 表 4-5 OpenRTM-aist のダウンロード URL ダウンロードページ http://www.openrtm.org/pub/Windows/OpenRTM-aist/cxx/OpenRTM-aist-1. 0.0-RELEASE_vc9.msi インストール方法の解説 http://openrtm.org/openrtm/ja/node/850 4.4.2. インストール (1) ファイルの展開 インストーラなどは特になく、各コンポーネントは ZIP 形式で圧縮されているため、解 凍して任意の場所に展開する。 4.4.3. 動作確認環境の準備 ドライバのインストール RMP コンポーネントを使用する場合は、FTDI のドライバをインストールする必要が ある。 (1) *FTDI toppage http://www.ftdichip.com/ [2011 年 10 月 18 日現在 (URL は変更される場合があります)] * Driver http://www.ftdichip.com/Drivers/D2XX.htm [2011 年 10 月 18 日現在 (URL は変更される場合があります)] 上記サイトより、Windows 用のドライバをダウンロードし、USB 機器を接続した際に表示さ れるダイアログに従い、ドライバをインストールしてください。 -75- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル (2) rtc.confファイルの作成 コンポーネントマネージャの設定ファイルである rtc.conf は最初から用意されている。変 更の必要がある場合は、必要に応じて編集を行う。 本モジュールでは、表 4-4にある項目が設定されていればよい。定義例をエラー! 参照元 が見つかりません。に示す。 その他の設定項目等、詳細については、OpenRTM-aistのマニュアルの設定ファイル(基礎 編)を参照のこと。 表 4-6 rtc.conf 設定項目 No. パラメータ名 説明 1 corba.nameservers ネーミングサーバを指定する。 指定フォーマット:host_name:port_number デフォルトポートは 2809(omniORB のデフォルト) 2 logger.enable ログ出力の有無を指定する。(Yes:有効、No:無効) 3 logger.file_name ログファイル名を指定する。(stdout:標準出力) 4 corba.args CORBA に対する引数。 リスト 4-16 rtc.conf 例 corba.nameservers: localhost:2809 logger.enable:Yes logger.file_name:stdout Cam_v4l2 コンポーネントと Urg コンポーネントは、Windows 版が存在しないため Linux 側で起動する必要がある。その際、rtc.conf の corba.nameservers の IP アドレスとポート 番号を Windows のネームサービスが起動している PC の IP アドレスとポート番号に修正 を行う必要がある。 例: corba.nameservers: 192.168.0.1:2809 (3) ネーミングサービスの起動 CORBA のネーミングサービスを起動する。ネーミングサービスの起動方法については、 OpenRTM-aist の動作確認方法を参照のこと。 動作確認方法 http://openrtm.org/openrtm/ja/content/%E5%8B%95%E4%BD%9C%E7%A2%BA%E8%AA%8Dwindows%E7%B7%A8 [2011 年 10 月 18 日現在 (URL は変更される場合があります)] -76- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 4.5. 設定・カスタマイズ手順 人追従モジュール群での設定およびカスタマイズ手順はない。 (1) コンフィギュレーションの設定 人追従モジュールコンポーネントで使用する各コンポーネントは、それぞれのパラメータ をコンフィギュレーションとして持っており、変更可能である。 コンフィギュレーションのパラメータ項目と取り得る値については、各コンポーネントの 『コンフィギュレーション』の項を参照のこと。 コンフィギュレーション情報は RTSystemEditor 上で変更する。これは OpenRTM-aist に共通する操作であるため、OpenRTM-aist の RTSystemEditor のマニュアルを参照のこ と。 RTSystemEditor のマニュアル http://openrtm.org/openrtm/ja/node/1175 [2011 年 10 月 18 日現在 (URL は変更される場合があります)] (2) ログの設定 人追従モジュールコンポーネントでは、ログ出力に OpenRTM-aist 標準のロギングフレ ームワークを利用している。デフォルトでは、標準出力へ出力を行う。 ログの出力先やログレベルを変更する場合は、rtc.conf を編集する。rtc.conf の設定方法 については、OpenRTM-aist のマニュアルの「設定ファイル(基礎編)」を参照のこと。 設定ファイル(基礎編) http://www.openrtm.org/openrtm/ja/content/%E8%A8%AD%E5%AE%9A%E3%83%95% E3%82%A1%E3%82%A4%E3%83%AB-%E5%9F%BA%E7%A4%8E%E7%B7%A8 [2011 年 10 月 18 日現在 (URL は変更される場合があります)] (3) ハードウェアの起動 各種ハードウェアの電源を入れ、準備可能にする。この時、Linux に認識されたデバイス が そ れ ぞれ存 在 す るか確 認 を すると 不 具 合が少 な く なる。 た と えば /dev/ttyACM* 、 /dev/input/js*、/dev/ttyUSB*、/dev/video*等。 -77- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 4.6. 起動・終了手順 自律移動モジュール群の各コンポーネントの起動手順、および、終了手順について記述す る。 4.6.1. 起動 Windows で対人追従モジュールコンポーネントを起動、終了する方法について記述する。 任意の場所に展開した対象フォルダを開き components フォルダ内に存在する実行ファイ ルをダブルクリックし起動する。 ※実行ファイルは RMP の場合、RmpComp.exe である。 リスト 4-17 各 RT コンポーネントの格納フォルダ一覧 No. コンポーネント名 格納ディレクトリ 1 RMP [展開フォルダ]¥RMP¥device¥sj¥rmp¥srcwin¥components 2 Blackship [展開フォルダ]¥Blackship¥device¥sj¥blackship¥srcwin¥components 3 GamePad [展開フォルダ]¥GamePad¥device¥sj¥gamepad¥srcwin¥components 4 Cam_v4l2 [展開フォルダ]¥Following¥device¥sj¥camera¥cam_v4l2¥srcwin¥components 5 Urg [展開フォルダ]¥Following¥device¥sj¥urg¥srcwin¥components 6 HumanRecog [展開フォルダ]¥Following¥following¥sj¥humanrecog¥srcwin¥components 7 HumanFollow [展開フォルダ]¥Following¥following¥sj¥humanfollow¥srcwin¥components 4.6.2. 終了 起動しているコンポーネントを終了させるには、RT System Editor で RT コンポーネン トを選択し、右クリックメニューから Exit を選択する。 -78- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 5 制限事項 ・ 各種ハードウェアの電源を入れ、準備可能な状態にした時に、Linux に認識されたデバ イスがそれぞれ存在するか確認を行うと不具合に出会う可能性が少なくなる。 (Windows で動作させたとしても、Cam_v4l2 コンポーネントや、Urg コンポーネン トが Linux 専用のため) 例: /dev/ttyACM*、/dev/video* -79- NEDO 次世代ロボット知能化技術開発プロジェクト 人追従モジュールマニュアル 6 付録 6.1. メッセージ 各コンポーネントでログとして出力されるメッセージはない。出力メッセージはないが、 一部のコンポーネントは、Activate の際に、ウィンドウが表示される。 図 6-1 Activate 時に表示される HumanRecog コンポーネントの画面 図 6-2 Activate 時に表示される Urg コンポーネントの画面 -80- NEDO 次世代ロボット知能化技術開発プロジェクト 6.2. (1) 人追従モジュールマニュアル トラブルシューティング cam_v4l2 のコンパイルの際に、intellirobot.idlが見つからないというエラーが出 る。 Cam_v4l2 コンポーネントのディレクトリ構造は、他の RTC と違い、一つ階層が深くな っているため、シンボリックリンクがずれている可能性がある。 次に示すコマンドを入力することで、正常なシンボリックリンクが作成され、コンパイ ルが可能になる。 リスト 6-1 Cam_v4l2 コンポーネント用のシンボリックリンク作成 $ ln –s ../../../../../idl/intellirobot.idl (2) Cam_v4l2 コンポーネントを使用する際、外付けUSBカメラを接続したが、ノー トPCに内蔵されているカメラが選択されてしまう。 Cam_v4l2 コンポーネントのコンフィギュレーションを修正することで、変更可能である。 方法は二通りあり、cam_v4l2.conf ファイルを直接変更する方法と、RT System Editor 上 で変更する方法がある。 cam_v4l2.conf ファイルを変更する場合は、当ファイルの conf.custom.str.port:/dev/video0 を使用したいカメラに合わせて変更する。 (3) UrgをUSBに接続したが動作しない。 Urg の電源は USB バスパワーでは動作しませんので、必ず電源ケーブルに電源を供給 してください。 -81-
© Copyright 2024 Paperzz