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を含むレーザーセンサーの、すべての現在のモデルで 機能します。
RTC:HokuyoAISTのコンポーネントが活性化されるまで、レーザーは起動しません。 その後、コンポーネントがpullモードではない構成の場合、レーザーを起動できます。 起動時に、レーザーの内部クロックは、コンピューターのクロック(コミュニケーション 遅れを含む)で測定されます。データのタイムスタンプはこの測定された時間を使用して 計算されます。したがって、ユーザーはデータの測定を行う必要はありません。
クラスについては、 APIドキュメンテーション に参照してください。
RTC:HokuyoAISTは HokuyoAISTライブラリ を使います。バージョン3.0.0以上が必要 です。このライブラリはWindows用のインストーラに含まれています。
RTC:HokuyoAISTはOpenRTM-aist 1.0.0以上のC++版が必要です。
RTC:HokuyoAISTは CMake を使います。CMake 2.8以上が必要です。
RTC:HokuyoAISTはWindows、Linux及びMacOS Xで使うことができます。レーザーとの コミュニケーションは「 Flexiport 」というライブラリを使います。このライブラリを インストールしなければなりません。このライブラリはWindows用のインストーラに 含まれています。
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 HokuyoAist | RTC:Rangerインターフェースを提供しているサービスポートです。 HokuyoAistインターフェースを提供しているサービスポートです。 |
北洋電機のレーザープロトコルは、20未満の値を使用して、データ内でエラーを報告します。 コンポーネントはこれらの値を0mに取り替えます。データを処理する場合、 unknownとして全てゼロの値を考慮してください。
例のrtc.confファイルは ${prefix}/share/rtc_hokuyoaist/examples/conf/ フォルダにインストールされています。
このソフトウェアは産業技術総合研究所で開発されています。承認番号はH23PRO-???? です。このソフトウェアは Lesser General Public License (LGPL) ライセンスとして 公開されてます。COPYING.LESSER を参照してください。