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を含むレーザーセンサーの、すべての現在のモデルで 機能します。

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/ フォルダにインストールされています。

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 を参照してください。