RTC:HokuyoAIST - 日本語 ======================= はじめに ======== RTC:HokuyoAISTはOpenRTM-aist用のRTコンポーネントです。北陽電機株式会社製の レーザーセンサーのドライバを提供します。 `HokuyoAISTライブラリ`_ をラップしてます。 URG-04LX(Classic-URG)、 UGH-08LX(Hi-URG)、UTM-30LX(Top-URG)、UXM-30LX (Tough-URG)及びUXM-30LX-Eを含むレーザーセンサーの、すべての現在のモデルで 機能します。 .. _`HokuyoAISTライブラリ`: https://www.github.com/gbiggs/hokuyoaist RTC:HokuyoAISTのコンポーネントが活性化されるまで、レーザーは起動しません。 その後、コンポーネントがpullモードではない構成の場合、レーザーを起動できます。 起動時に、レーザーの内部クロックは、コンピューターのクロック(コミュニケーション 遅れを含む)で測定されます。データのタイムスタンプはこの測定された時間を使用して 計算されます。したがって、ユーザーはデータの測定を行う必要はありません。 クラスについては、 `APIドキュメンテーション`_ に参照してください。 .. _`APIドキュメンテーション`: doxygen/html/index.html 条件 ==== RTC:HokuyoAISTは `HokuyoAISTライブラリ`_ を使います。バージョン3.0.0以上が必要 です。このライブラリはWindows用のインストーラに含まれています。 .. _`HokuyoAISTライブラリ`: https://www.github.com/gbiggs/hokuyoaist RTC:HokuyoAISTはOpenRTM-aist 1.0.0以上のC++版が必要です。 RTC:HokuyoAISTは CMake_ を使います。CMake 2.8以上が必要です。 .. _CMAke: http://www.cmake.org RTC:HokuyoAISTはWindows、Linux及びMacOS Xで使うことができます。レーザーとの コミュニケーションは「 Flexiport_ 」というライブラリを使います。このライブラリを インストールしなければなりません。このライブラリはWindows用のインストーラに 含まれています。 .. _Flexiport: https://www.github.com/gbiggs/flexiport インストール ============ インストーラ ------------ Windowsのユーザはインストーラパッケージを使用してコンポーネントをインストール することができます。これはコンポーネント及びそのすべての必要なライブラリを インストールします。Windowsでインストールする場合、インストーラの使用を推奨してます。 - インストーラをダウンロードしてください。 - インストールを始めるためにインストーラをダブルクリックしてください。 - 指示にしたがってコンポーネントをインストールしてください。 - 環境変数の変更を適用するため、コンポーネントを使用する前にコンピューターを 再起動する必要があるかもしれません。 RTC:HokuyoAISTは ``rtchokuyoaist_standalone`` の実行をダブルクリックして実行することが できます。あるいは、 ``rtc_hokuyoaist`` を初期化関数の ``rtc_init`` を利用して、 マネージャにロードすることができます。 ソースから ---------- ソースを使う場合は以下の手順でインストールしてください。 - ソースをダウンロードして解凍してください:: tar -xvzf rtchokuyoaist-3.0.0.tar.gz - 解凍されたフォルダに入ってください:: cd rtchokuyoaist-3.0.0 - ``build`` フォルダを作ってください:: mkdir build - `` build`` フォルダに入ってください:: cd build - CMakeを実行してください:: cmake ../ - エラーが出無い場合、makeを実行してください:: make - ``make install`` でコンポーネントをインストールしてください。選択された インストール場所に書き込み権限があるかを確認してください:: make install - インストールする場所はccmakeを実行して ``CMAKE_INSTALL_PREFIX`` を 設定することで変更が可能です:: ccmake ../ ここまでで、コンポーネントが使えるようになりました。コンフィグレーションは次のセクションを 参照してください。 RTC:HokuyoAISTは ``rtchokuyoaist_standalone`` を実行( ``${prefix}/bin`` に インストールされます)することでスタンドアローンモードで実行することができます。 あるいは、 ``librtchokuyoaist.so`` を初期化関数の ``rtc_init`` を利用して、 マネージャにロードすることができます。このライブラリは ``${prefix}/lib`` または ``${prefix}/lib64`` にインストールされます。 コンフィグレーション ==================== 使えるコンフィグレーションパラメータは以下のテーブルを参照 してください。 ================ ==== パラメータ 意味 ================ ==== port_opts レーザーのためのポートを開くために使用されるオプションを変更します。詳細についてはflexiportの説明書を参照してください。 start_angle スキャン開始角度です。ラジアンで指定してください。全スキャンのためにデフォルトでは0に設定してください。 end_angle スキャン終了角度です。ラジアンで指定してください。全スキャンのためにデフォルトでは0に設定してください。 cluster_count クラスタサイズです。デフォルトは1です。 enable_intensity Trueに設定された場合、インテンシティデータも送られます。 high_sensitivity いくつかのモデルは高感度モードをサポートします。それを可能にするためにこのパラメータを設定してください。 pull_mode pullモードに変わります。サービスポートを通ってスキャンの要求が必要になります。 new_data_mode Trueに設定された場合、毎回のスキャンで新しいデータを要求します。そうではなければ、最も最新のデータが送られます。 error_time エラー間の最小の時間(秒)です。エラーがこの値より小さい間隔で生じた場合、コンポーネントはエラーに遷移します。そうでなければ、レーザーをリセットし、継続することを試みます。 x, y, z レーザーの3次元位置です。 roll, pitch, yaw レーザーの3次元角度です。 ================ ==== ポート ====== コンポーネントによって提供されるポートは以下のテーブルで述べられています。 =========== ======== ================== ==== ポート名 ポート型 データ型 意味 =========== ======== ================== ==== ranges OutPort RTC::RangeData レンジデータ intensities OutPort RTC::IntensityData インテンシティデータ。インテンシティデータが可能になる場合のみ利用可能です。 ranger Service Ranger RTC:Rangerインターフェースを提供しているサービスポートです。 HokuyoAist HokuyoAistインターフェースを提供しているサービスポートです。 =========== ======== ================== ==== 北洋電機のレーザープロトコルは、20未満の値を使用して、データ内でエラーを報告します。 コンポーネントはこれらの値を0mに取り替えます。データを処理する場合、 unknownとして全てゼロの値を考慮してください。 例 == 例のrtc.confファイルは ``${prefix}/share/rtc_hokuyoaist/examples/conf/`` フォルダにインストールされています。 Changelog ========= 3.0 --- - Change to using standalone HokuyoAIST library from Github. 2.0 --- - Support hokuyo_aist library v2 API. License ======= このソフトウェアは産業技術総合研究所で開発されています。承認番号はH23PRO-???? です。このソフトウェアは Lesser General Public License (LGPL) ライセンスとして 公開されてます。COPYING.LESSER を参照してください。