##################################################
# Dangerコンポーネントの使い方　　　　　         #
#                                                #
# Zentaro Nemoto, Ryoma Arai, Ramiya Uchida, TUS #
# 2011/6/17                                      #
##################################################

1.概要
　本プログラムはロボットが障害物等に近づき過ぎた時，完全停止（速度0.0(m/sec)）する北陽電機社製UTM-30LX(Top-Urg)対応の緊急停止コンポーネントです．
　障害物が無いときには入力された速度をそのまま出力します．初期設定では20mm～750mm以内・視野角90°で障害物を検知します．
　測距範囲内に入ったレーザーの数が，計測に使用するレーザーの数の1/3になると停止します．閾値の設定はdanger_check.cppで行います．
　出力の型は自己定義のTimedVelocityを使用しています．ご利用の際はご注意ください．

2.Eclipse
　RTSystemEditorとしてEclipseを使用しております．RTSystemEditorはEclipseプラグインであるため，Eclipse本体をインストールする必要があります．さらに，EclipseはJavaアプリケーションなので，Eclipse本体をインストールする前にJava実行環境をインストールする必要があります．
　詳しくはOpenRTMのHPを参考にしてください．
　
2.コンパイル
　cd src/
　make

3.実行
　./DangerComp -f rtc.conf

  コンポーネントの実行(Activate),DataPortの接続などの操作はeclipse用いて動作確認を行っております.その他の環境ではまだ確認をしておりませんのでご了承ください.

4.操作方法
  このコンポーネントを使用する際はTop-Urgのコンポーネント（URG用LRFキャプチャコンポーネント）と速度を出力するコンポーネント(ゲームパッドコントローラRTC等)に接続する必要があります．

  1.Dangerのコンポーネントを起動(Initialize)した後,URG用LRFキャプチャコンポーネントの出力ポート(UrgData)とDangerの入力ポート(UrgDataIn)を，ゲームパッドコントローラRTCの出力ポート(outVel)とDangerの入力ポート(VelocityIn)を接続します．
  2.全コンポーネントをアクティブ(Activated)にします.
　3.障害物検知範囲内にて閾値を超える物体を検知すると0.0(m/sec)の速度データを出力します．それ以外ではゲームパッドコントローラRTCにて入力された速度データをそのまま出力します．なお，出力する速度のデータ型は自己定義のTimedVelocity型となっています．

5.入出力仕様
　5.1 入力ポート
　　- UrgDataIn (TimedLongSeq): LRF(北陽電機のTOP-URGを使用)からの距離データの入力
    - VelocityIn (TimedVelocity): ゲームパッドコントローラからの速度データの入力

　5.2 出力ポート
　　- VelocityOut (TimedVelocity): 速度データの出力

　5.3 コンフィギュレーション
　　- scan_range_distance = 750： 測距範囲の最大距離（mm）
　　- scan_range_maxpoint = 720： 計測に使用するレーザーの最大番号
　　- scan_range_minpoint = 360： 計測に使用するレーザーの最小番号
　※そのままの値でも動作します．

6.開発環境
　- ubuntu 10.04
　- OpenRTM 1.0.0　

7.動作確認環境
  - Eclipse GANYMEDE
　
8.ディレクトリ構成
　- doc：ドキュメント
　- src：ソースコード
