Open HRPを利用したロボットコントロールシステム
OpenHRP制御ソフトウェア
 
   本製品は、OpenHRPを構成するCORBAオブジェクト群の中で、ロボットの制御計算を行うコントローラとして動作し、2足歩行を可能にするプラグインモジュール、ユーザの開発したプログラムを組み込むためのシステムソフトウェアのほか、実際にロボットハードウェアを動作させるために必要なI/Oアクセスライブラリ、およびVRMLで記述されたシミュレータモデル、各種ユーティリティプログラム等から構成されます。



 コントローラには、歩行パターン生成機能やセンサ情報に基づいて歩行動作の安定化を図る機能など広範な機能が含まれます。そのため全機能を一体として開発を行った場合には、ソフトウェアの肥大化と共に機能拡張が困難となります。そこで、コントローラ内部は更にプラグインと呼ぶ複数の機能モジュール(下表に示すプラグインはパッケージに予め付属してるものです)とそれらを制御するプラグインマネージャと呼ぶ部分に分割して実装されています。プラグインはシェアードオブジェクトに変換され、OSが提供するダイナミックローディングの機能を用いてコントローラの本体部分に動的にリンクされます。
   
プラグイン名
機能
カルマンフィルタプラグイン 加速度センサ・ジャイロの情報からロボットの姿勢を推定する
再生プラグイン ファイルに保存された動作パターンを補間しながら再生する
歩行動作安定化プラグイン センサ情報に基づいて動作を安定させる
パターンジェネレータプラグイン オンラインで歩行パターンの生成を行う。
ダイナミクスプラグイン 順・逆運動学計算を行う。
ログプラグイン センサ情報・指令情報のロギングを行う
ZMPセンサプラグイン 力センサの値を用いてZMP計算を行う

 プラグインは相互の機能呼び出しが可能な仕組みとなっているので、自分で作成したプラグインの中から上記製品に含まれている機能や他の開発者が開発した機能を直接、利用することが出来ます。

 アダプタは、コントローラ本体から見たロボットのインタフェースを抽象化する機構であり、これを用いることでシミュレーション上で動作確認を行ったプラグインをバイナリのまま実機に搭載して実行することが可能となっています。バイナリレベルでの互換性を確保することで、移植に伴うトラブルを回避し開発効率を向上させることが可能なシステムとなっています。このバイナリ互換性はOpenHRPが実時間OSとして採用しているART-Linuxの実時間タスクをユーザ空間で実行可能という特長によって可能となりました。

■ユーザインターフェース(Auditor)
 ヒューマノイドロボットの様に多軸で可動範囲の広いロボットの実験は、制御アルゴリズムにバグが混入した場合などに予想外の挙動を示し危険が伴うことがあります。また、初期化作業など手続きが煩雑な操作を行う際に人為的ミスが誤動作を引き起こすケースが十分に考えられました。これらの問題を克服するために、初期化作業を簡便にし、且つ実機を動作させる直前に簡易シミュレーションでの確認作業を行うことで安全に実験が出来るようにOpenHRP制御ソフトウェア専用 のインターフェースとしてAuditorを開発し以下の機能を実現しました。
[クリックで拡大]
  • 必ずシミュレーションを通してからでないと実機でコマンドスクリプトが実行できないようする
  • ロボットをセットアップする上で必要となる手順が必ず踏まれるようにする
  • 画面を見ただけで操作手順が分かるようにする(手順に一貫性を持たせる)
  • 使用する際に立ち上げていた複数のプログラムを一つのインターフェースに統合する
 

[クリックで拡大]

Auditorを使用してロボットを動作させるまでの一連の処理は次のようになります


 
 

All Copyrights Reserved 2003-2006. General Robotix,Inc.