#####################################
# GuiJoystickコンポーネントの使い方 #
#                                   #
# Tsuyoshi Suenaga, NAIST           #
#                                   #
# 2010/07/13                        #
#####################################

1.概要
　本プログラムはGUIを利用したジョイスティックシミュレートコンポーネントです．
　x-y座標上でクリック（ドラッグ）した任意の座標値を出力します．
　付加機能としてロボット走行指令のためのTimedVelocity型の値を出力することも可能です．

2.依存ライブラリ
　GTK 2.0

3.コンパイル
　(1)依存ライブラリのインストール
　　$ sudo aptitude update
　　$ sudo aptitude install libgtk2.0-dev
　(2)コンパイル
　　cd source/
　　make -f Makefile.GuiJoystick

4.実行
　./GuiJoystickComp

5.設定
　コンフィギュレーションセットを設定する．
　- horizon_gain  (double): 左右座標値のゲイン．1.0にすると出力は -1.0 〜 1.0 になる．
　　　　　　　　　　　　　　負の値を設定すると座標軸の向き，出力値の正負が逆転する．
　- vertical_gain (double): 上下座標値のゲイン．1.0にすると出力は -1.0 〜 1.0 になる．
　　　　　　　　　　　　　　負の値を設定すると座標軸の向き，出力値の正負が逆転する．

6.入出力仕様
　6.1 出力ポート
　　- Vertical (TimedDouble): 上下座標．-1〜1の値にゲインをかけた値を出力する．
　　- Horizon  (TimedDouble): 左右座標．-1〜1の値にゲインをかけた値を出力する．
　　- Velocity (TimedVeolocity): 上下・左右座標を速度・角速度としてTimedVelocity型で出力．-1〜1の値にゲインをかけた値を出力する．

7.開発環境
　- 保守環境
　-- ubuntu 10.04
　-- OpenRTM 1.0
　-- omniORB 4.1.2-1
　-- G++コンパイラ 4.4.3
　-- GTK+ toolkit 2.20.1
　- 初期開発（雛形生成時）
　-- ubuntu 8.04
　-- OpenRTM 0.4.2-1
　-- ACE 5.4.7-13
　-- omniORB 4.1.1-2
　-- PatternWeaver 2.3
　-- G++コンパイラ 4.2.4
　-- GTK+ toolkit 2.12

8.ディレクトリ構成
　- html : Doxygenで生成したドキュメントファイル
　- pw_model：Pattern Weaverで作成したモデルデータ群
　- src：Pattern Weaverで生成したひな形に実処理を実装したソースコード

9.ChangeLog
　- 2010/05/20
　　OpenRTM-aist-1.0 対応
　　バージョン1.0.3 リリース

　- 2009/12/01
　　複数出力サポートのため出力ポートをNullBufferに変更．
　　バージョン1.0.2 リリース

　- 2008/12/03
　　出力ポートをTimedLong型に変更．
　　TimedVelocity型の出力ポートを追加．
　　クリック時に座標軸の色が変わるよう変更．
　　gainを変更すると座標軸の向きも反転または消失するよう変更．
　　バージョン1.0.0 リリース

　- 2008/07/25
　　TimedLong型の出力ポートでリリース．
　　バージョン0.2.0 リリース

10.利用手順例
　（1）コンフィギュレーションにより，縦軸，横軸に対する出力量のゲインを設定する．
　（2）データを入力したいコンポーネントにデータポートを接続する．
　（3）GuiJoystickコンポーネントをActivateし，操作インタフェースを表示させる．
　（4）ウィンドウ上でドラッグすると，ポインタの位置に応じて値が出力される．
