概要

OpenHRPをコンパイル・実行させるにあたっては、下記のソフトウェアが必要です。 これらはOpenHRP本体のパッケージには含まれませんので、別途インストールし、 システムにおいて利用可能な状態にしておく必要があります。

  • ミドルウェア
    • OpenRTM
    • omniORB
  • Java関連
    • Java Development Kit (JDK)
  • C++開発ツール
    • Linux: GCC,Make等
    • Windows: Visual C++
  • C++ライブラリ
    • Boost
    • Lapack
    • tvmet
  • Python 関連
    • Jython

それぞれ配布先の説明に従ってインストールしてもよいですし、 OSに装備されたパッケージシステムなどが利用できる場合は、 それを利用してインストールしてもOKです。

公式対応OSについては、各ソフトウェアをインストールするための手順を解説したページ (Ubuntu Linux, Windows ) を用意していますので、そちらもご参照ください。

以下では各ソフトウェアの概要と配布先について説明します。

Java関連

OpenHRPではGrxUIなど一部のコンポーネントがJavaで記述されており、 それらをコンパイル・実行させるためのJava環境が必要になります。

Java Development Kit (JDK)

Java開発・実行環境です。
  • 配布先:http://java.sun.com/
  • Java SE のダウンロードページからダウンロードできます。
  • JDK5, JDK6にて対応を確認。

ミドルウェア

OpenHRPは分散コンポーネントシステムとして設計されており、 これを動作させる基盤となるミドルウェアが必要となります。

OpenRTM-aist

ロボットのシステム構築のために設計された、分散コンポーネントミドルウェアです。 OpenHRPでは、OpenRTMの産総研による実装であるOpenRTM-aistのC++版を利用します.

omniORB

OpenHRPはミドルウェアとしてCORBAも利用しており、 このためにomniORBというCORBAの実装が必要となります。

ただしomniORBはOpenRTM-aistも利用しているため、 OpenRTM-aistのインストールが正しく行われれば、omniORBも利用可能な状態となっているはずです。

C++ 開発ツール

OpenHRPのコンポーネントのいくつかはC++言語で記述されていますので、 OpenHRPをソースからコンパイルする際にはC++の開発ツールが必要となります。 また、ユーザが独自のシミュレーションを行う際に記述するコントローラコンポーネントも C++で記述することができます。

Linux の場合

OpenHRPをコンパイル可能であることが確認されているコンパイラは以下のとおりです。
  • GCC 3.3, 4.1, 4.2

コンパイラと合わせて、make などのコマンドライン開発ツールも使用可能な状態としてください。

Windows の場合

Windowsにおいては Visual C++ を使用します. 現在使用可能なバージョンは Visual C++ 2008 になります。 (OpenHRP バージョン 3.0.0 より、2005のサポートは打ちきりました。今後は2008をお使いください。)

C++ ライブラリ

Boost ライブラリ

C++のライブラリ集です。 標準ライブラリで不足な点を補う豊富な機能を提供しています。

LAPACK

線形代数のための定番ライブラリで、 比較的規模の大きな行列・ベクトル演算の際に利用されます.

LAPACKはいくつかの実装があり、 OpenHRPでは以下の実装に対応しています。

  1. Fortranで記述されたオリジナル版LAPACK
  2. C言語に変換されたCLAPACK
  3. Atlas

1のオリジナル版Lapackは多くのLinuxディストリビューションで パッケージシステムによりインストール可能です。 ただし、現在のところ東大版動力学サーバはオリジナル版には対応していません。 東大版動力学サーバを使いたい場合は、2か3のLAPACK実装を使ってください.

2のCLAPACKはソースがC言語なので、オリジナル版よりも扱いやすい点があります。 ただし多くのLinuxディストリビューションにおいてLAPACKのパッケージはオリジナル版であり、 CLAPACKを使う際にはソースからのコンパイルが必要となります。 一方、Windowsに関してはバイナリ版も配布されており、 それを展開することでオリジナル版よりも簡単にインストールすることができます。 従って、Windowsで動かす場合や、東大版動力学サーバを動かしたい場合に、 CLAPACKを用います。

3のAtlasはC言語で記述されたより先進的な実装のようです。 動力学サーバは東大版、産総研版ともに対応しています。 Ubuntuなど、一部のLinuxディストリビューションでは パッケージシステムによるインストールも可能です。

tvmet

C++の行列・ベクトル演算ライブラリです. 固定サイズで規模の小さな行列・ベクトルへの適用を想定して設計されています。 エクスプレッション・テンプレート技法により、 演算子オーバーロードを用いた可読性の高い記述と計算効率を両立させています。

Python関連

Jython

Javaで記述されたPython言語の実装です。 シミュレーションのスクリプト記述や、GUIの拡張に利用可能です.