ソースコードからのビルドとインストール (Windows編)

準備

コレオノイドをソースコードからインストールするには、ビルドに必要なツールとライブラリを予め準備する必要があります。

  • 必要なツール
    • Visual C++ 2010
    • CMake (2.8.11.2)
  • 必要なライブラリ

まず、上記のツールとライブラリをインストールをして下さい。各ライブラリの括弧内の数値は、当方で利用し動作を確認したバージョンで、2013年8月時点での目安となるものです。これらより古いバージョンのものに必ずしも対応しないわけではありませんし、一方でこれらよりバージョンが上のものでビルドに失敗することもあり得ます。(正確に対応バージョンを特定するのは困難ですので、このような記述をご容赦ください。)一般的にはバージョン番号の2番目の値までが同じであれば、同様に使えると考えてよろしいかと思います。

各ツール・ライブラリのインストールに関する補足を以下に述べます。

  • Visual C++ 2010

製品版でも結構ですし、無料で使用可能なExpress Editionも利用可能です。Visual C++ 2010のExpress Editionは今でも こちらのページ からダウンロードできるようです。

現在ビルドできることを確認しているのは32ビットバイナリのみで、64ビットバイナリについては未対応となっています。(Windowsの64ビット版で動作しないというわけではありません。64ビット版Windows上でも32ビットバイナリとしてビルドすればOKです。)

なお、Visual C++ 2008 はコレオノイドバージョン1.2からサポート対象外となりました。また、Visual C++ 2012 については現在対応を進めているところで、正式にはまだ未対応となっています。

注釈

Service Pack 1 が適用された Visual C++ 2010 がうまく動作しない問題が確認されています。Service Pack は Windows Update で適用されるものです。この問題は こちらのページ にまとめられています。

この場合は、 Windows SDK v7.1 のインストールを行い、その後 Windows SDK 7.1 用 Microsoft Visual C++ 2010 Service Pack 1 コンパイラ更新プログラム を適用します。さらに Visual Studio Service Pack 1 を再度適用します。以上の操作により、Visual C++ 2010 が問題なく使えるようになります。

  • CMake
CMakeのダウンロードページ より、Windows版のインストーラをダウンロードできます。
  • Boost

ヘッダーファイルと、コンパイル済みのライブラリが必要になります。コンパイル済みライブラリの取得には、 BoostProのダウンロードページ にて配布されているWindows版インストーラの利用を推奨していましたが、このサイトが閉鎖されたため、 Boostホームページ からのダウンロードをお願いします。

まず、Prebuilt windows binaries. をクリックしてリンク先に移動し、1.50.0を選択します。(今のところ、これより新しいバージョンには対応できていません。)

boost_1_50_headers.zip, boost_xxxxx-vc100-mt-1_50.zip, boost_xxxxx-vc100-mt-gd-1_50.zip(デバッグ用が必要であれば)のファイルをダウンロードして展開します。 xxxxxには、chrono, date_time, filesystem, iostreams, program_options, python, regex, signals, system, threadを当てはめてください。

ファイルを次のように配置してください。

(Program Files) - boost_1_50  -(headers.zipを展開してできたboostディレクトリ)
                              -lib - (**.libと**.dllのファイル)

(Program Files)はお使いの環境によって変わります。

  • Qt
Qt Projectのダウンロードページ より、Windows版のインストーラをダウンロードできます。パッケージの種類がいくつかありますが、Qt 4.8 の "Qt libraries 4.8.5 for Windows (VS 2010)" を使います。Qt 5 には現在のところ対応していませんので、ご注意ください。
  • Eigen
Eigenの公式ページ からダウンロードできます。本ライブラリは基本的にヘッダファイルのみからなるテンプレートライブラリであり、適当なディレクトリに展開するだけで、インストールは完了となります。なお、バージョン3.1系についてはシミュレーションで問題が出る場合がありますので、バージョン3.0系か3.2系をお使いください。

ソースコードの取得

コレオノイドのソースコードアーカイブ (choreonoid-x.x.x.zip) を ダウンロード ページからダウンロードして適当なフォルダに展開して下さい。 このときパスに日本語が含まれていますとエラーが出る可能性がありますので注意して下さい。

以下では、コレオノイドのソースコードは、 "c:\choreonoid\src" の下に展開していると仮定して説明を進めていきます。

CMakeを実行

まず、スタートメニューからCMake(cmake-gui)を起動します。すると下記のようなダイアログが表示されます。

../_images/cmake0.png

次に、上図の赤枠①で示された "where is the source code" の右側の入力ボックスにコレオノイドのソースコードのトップフォルダ("c:\choreonoid\src")を入力し、 "where is build the binaries" の右側の入力ボックスにコレオノイドをビルドするフォルダを入力します。 ビルドするフォルダはソースコードのトップと同じでも構いませんが、わかりにくくなるかもしれませんので、ソースコードのトップフォルダの下にbuildというフォルダを作成して、そこ("c:\choreonoid\src")を入力することにします。 フォルダの入力が終われば、赤枠②の "Configure" を押します。 すると下図のようなダイアログが開きますので、コンパイラを選びます。

../_images/cmake1.png

お使いのVisual C++ バージョンに合わせて選択し、"Finish" を押します。 Visual C++ 2010 でしたら、"Visual Studio 10 2010" といった項目と、 デフォルトの "Use default native compilers" でよろしいかと思います。

すると、CMakeのConfigureが進行し、コンパイラやライブラリ等の検出が行われます。

注釈

この際に "The C compiler identification is unkown", "The CXX compiler identification is unkown" というメッセージが表示されるかもしれません。この場合は、Visual C++ のコンパイラが正しく検出されていません。原因は不明ですが、開発者の環境のひとつでこの症状が発生したことがあります。この場合、これ以降の処理を正しく進めることができません。

これについては、CMakeを管理者権限で実行したところコンパイラも検出されるようになり、その後の処理も進めることができるようになりました。これを行うには、CMakeのアイコンを右クリックすると出るメニューで「管理者として実行」を選択するなどします。もしこの不具合が発生した場合は、この対処法を試してみてください。

その後下図のようなエラーダイアログで停止するかと思います。 これは、Eigenに関する設定が見つからなかったためです。 (他のエラーが最初に出るかもしれません。これについては後ほど説明します。) ここでは、 "OK" を押して下さい。

../_images/cmake2.png

次に、上部のEntry入力部の EIGEN_DIR の右の入力ボックスにEigenライブラリをインストールしたフォルダを入力します。 EIGEN_DIR の設定が終わったら、再度、"Configure" を押して下さい。

../_images/cmake3.png

注釈

他のライブラリに関しても、CMakeのバージョンやインストールしたライブラリのバージョン、インストール箇所などによっては、検出できずに同様のエラーが出ることがあります。また、以下で説明するオプションの選択によっても、エラーが出る場合があります。この場合、上記のEigenと同様に、手動でインストール先を入力するようにしてください。

注釈

Boostに関してはお使いのCMakeやコレオノイドがリリースされた時期よりも新しいバージョンのものは、基本的に検出できないようです。この場合、Boostに関して同様の検出エラーが発生します。自動検出を行うためには、ChoreonodiソースのトップディレクトリのCMakeLists.txtにある "Boost_ADDITIONAL_VERSIONS" に使いたいバージョン番号を追加する必要があります。

必要なライブラリのインストール先が全て特定され、エラーが出なくなるまで、上記と同様の設定を繰り返してください。 それらが全て完了すると、エラーメッセージの出ていない、下図のような画面になります。

../_images/cmake4.png

後は、必要に応じてビルドに関する他の様々なオプションを設定することが可能となっています。 例えば、コレオノイドが備えているいくつかの機能はデフォルトではオフになっていますが、 必要に応じてそれらをオンにすることができます。

インストール先については、 CMAKE_INSTALL_PREFIX という項目で設定することが可能で、 デフォルトでは "c:\Program Files\Choreonoid" になっています。しかし、Windowsでは "c:\Program Files" 以下は、管理者以外はアクセス不可になっているようですので、インストール時に失敗する可能性があります。管理者権限で実行してそこにインストールしてもよいのですが、他のフォルダにインストールした方が扱いやすい場合もあります。 その場合は、 CMAKE_INSTALL_PREFIX に適当な、例えば "c:\choreonoid\program"といったフォルダを 指定しておいてください。

必要な設定を終えたら、"Configure"を押してください。 設定を終えても、"Generate"のボタンが押せるようになっていない場合は、再度"Configure"を押します。 Configureが進行し、下図のように下部のメッセージ出力部に、 “Configuring done” と表示され、 "Generate"ボタンが押せるようになったら、設定は完了です。

../_images/cmake5.png

最後にVisual Studio のプロジェクトファイルを生成するために、"Generate" を押して下さい。

../_images/cmake8.png

ソリューションファイルの生成が終了すれば、メッセージ出力部に “Generating done” と表示されて完了です。 エクスプローラ等で、コレオノイドをビルドするフォルダにVisual Studio のソリューションファイル "Choreonoid.sln" が生成されていることを確認して下さい。

Visual Studio の起動とソリューションの読み込み

CMake で Visual Studio のソリューションファイルが生成されていることが確認できれば、次はコレオノイドのビルドを行いますので、 "Choreonoid.sln" をダブルクリックして下さい。Visual Studio が起動し、ソリューションファイルがオープンされていると思います。 もし Visual Studio が起動しない場合には、インストール時に何かあったかもしれませんので、Visual Studio を再インストールするか、関連付けを修正してみてください。あるいは、まず Visual Studio を起動し、その後 Visual Studio のメニューからソリューションファイルを読み込めばうまくいくかもしれません。

コンパイル

ソリューションの読み込みが終われば、下図のような画面になります。 ここで、赤枠の部分を "Release" に変更して下さい。 なお、"Debug"にすると、デバッグ可能なバイナリを生成することができます。ただしこれは"Relese"でコンパイルしたものと比べて圧倒的に遅くなってしまうので、デバッグが必要な時以外は、"Release"でコンパイルしたバイナリを使うようにします。

../_images/VS2008-1.png

次に、コレオノイドのビルドを実行します。メニューのプロジェクトをクリックすると下図のようなプルダウンメニューが出てきますので、赤枠にあるように "ソリューションのビルド(B)" を選択して下さい。 すると、コレオノイドのビルドが開始されます。 下部のメッセージウィンドウで最後に、 “0 失敗” と出てくればコンパイルは終了です。

../_images/VS2008-2.png

インストール

コレオノイドのビルドが終了したら、最後にインストールを実行します。 インストールは、下図にあるように、上段左の "ソリューションエクスプローラ" で "INSTALL" のプロジェクトの部分を右クリクするとメニューが表示されます。このメニューの最上部に "ビルド(U)" がありますので(下図の赤枠部分です)、それを選択して下さい。正常に終了すれば、CMakeの時の CMAKE_INSTALL_PREFIX で指定されたフォルダの下に、コレオノイドのバイナリがコピーされます。CMakeによるソリューションファイル生成時に INSTALL_DEPENDENCIES の項目にチェックを入れておけば、依存ライブラリのバイナリもコピーされます。

../_images/VS2008-3.png

以上でコレオノイド のインストールは終了です。

インストール先の bin フォルダにある choreonoid.exe をダブルクリックすることで、コレオノイドが起動します。

オプション機能のビルド

コレオノイドでは、上記手順のデフォルト状態で有効になるもの以外にも、いくつかのモジュールやプラグイン、サンプル等があります。それらは、CMakeの設定で有効にすることで、ビルドすることができます。 ここではそれらオプション機能のうちいくつかのビルドについて述べます。 オプションモジュールの概要 にて他のオプションについてもまとめてありますので、そちらもご参照ください。

OpenRTMプラグイン

コレオノイド上でRTコンポーネントによるシミュレーションを行うためのプラグインです。 このプラグインを利用するためには、OpenRTM-aist 1.1.x をインストールしておく必要があります。

OpenRTM-aistのインストールは、公式サイトより配布されているインストーラを使うのが簡単です。 OpenRTM-aistのダウンロードページ より、 OpenRTM-aist-1.1.0-RELEASE_vc10.msi をダウンロードしてください。 このファイルをクリックすることで、インストーラが起動しますので、これでインストールを行なってください。

OpenRTM-aistがインストール出来ましたら、CMake上で ENABLE_CORBABUILD_CORBA_PLUGINBUILD_OPENRTM_PLUGIN をオンにして設定を進めます。OpenRTMプラグインはCorbaプラグインに依存していますので、これら全てをオンにしておく必要があります。また、 BUILD_OPENRTM_SAMPLES をオンにするとRTコンポーネントを用いたシミュレーションのサンプルもビルドされますので、最初はこちらもオンにしてサンプルを試してみてください。

CMakeのConfigureボタンを押した際にOpenRTM-aistが見つからないというエラーが出た場合は、 OPENRTM_DIR にOpenRTM-aistをインストールしたディレクトリを設定してください。上記のOpenRTM-aistインストーラでインストールした場合、デフォルトでは c:\Program Files (x86)\OpenRTM-aist\1.1\omniORB\4.1.5 といったディレクトリになります。

CMakeで以上の設定を行った上でGenerateボタンを押して出力したソリューションファイルを用いることで、OpenRTMプラグインもビルドされます。

ODEプラグイン

オープンソースーの動力学計算ライブラリである"Open Dynamics Engine (ODE)"を、コレオノイドのシミュレーション機能の計算エンジンとして利用できるよにするプラグインです。

本プラグインをビルドして利用するためには、ODEライブラリのインストールが必要です。 Open Dynamics Engine のサイトから取得して、まずそちらをビルド・インストールしてください。現在当方でテストを行ったバージョンは0.12になります。

後はコレオノイドのビルドに関するCMakeの設定で、 BUILD_ODE_PLUGIN という項目を "ON" にすることで、本プラグインがビルドされます。ODEはWindows上では自動検出されませんので、 BUILD_ODE_PLUGIN を "ON" にした後、 ODE_DIR にODEのインストール先を指定してください。

Bulletプラグイン

オープンソースの動力学計算ライブラリである"Bullet Physics ライブラリ"を、コレオノイドのシミュレーション機能の計算エンジンとして利用できるようにするプラグインです。

本プラグインをビルドして利用するためには、Bullet Physics ライブラリのインストールが必要です。 Bullet Physics Library のサイトから取得して、まずそちらをビルド・インストールしてください。東方でテストを行ったバージョンは2.81-rev2613になります。 ビルドの際にはCMakeの設定で BUILD_SHARED_LIBSUSE_DOUBLE_PRECISION をONにしておきます。

後はコレオノイドのビルドに関するCMakeの設定で、 BUILD_BULLET_PLUGIN という項目を "ON" にすることで、本プラグインがビルドされます。BulletライブラリはWindows上では自動検出されませんので、 BUILD_BULLET_PLUGIN を "ON" にした後、 BULLET_DIR にBulletライブラリのインストール先を指定してください。

GRobotプラグイン

../choreograph-tutorial/index では、エイチ・ピー・アイ・ジャパンによる小型二足歩行ロボット"G-Robots GR001"をサンプルモデルとして使います。このロボットの実機をお持ちの場合は、 BUILD_GROBOT_PLUGIN をオンにして、GRobotプラグインをビルドしておいてください。すると、実機を動かしながらチュートリアルを進めることが出来ます。

Balancerプラグインの導入

"Balancerプラグイン"の導入により、二足歩行ロボットを対象に動力学バランスを自動補正し、実機においても転倒しない動作を作成する機能が追加されます。このプラグインは現在のところソースを公開しておらず、コンパイル済みのバイナリのみの提供としています。

Windowsにおいては、現在のところ Visual C++ 2010 の32ビット・リリースモードとしてビルドされたChoroenoid本体に対して有効なバイナリを提供しています。これを利用するためには、ソースのproprietary/BalancerPlugin以下の"CnoidBalancerPlugin.dll"を、コレオノイドのプラグインディレクトリ(インストール先の lib/choreonoid-1.4/ 以下)にコピーしてください。

また、"proprietary/BalancePlugin/locale/ja/LC_MESSAGES/CnoidBalancerPlugin-1.4.mo" をビルド(インストール)先の "share/locale/ja/LC_MESSAGES/" 以下にコピーすることで、本機能を日本語で利用できるようになります。

なお、Balancerプラグインのライセンスはコレオノイド本体のライセンス(LGPL)とは異なりますので、ご注意ください。使用条件は proprietary/BalancerPlugin/LICENSE でご確認ください。この条件を超える範囲の利用やソースコードに取得に関しては、産総研までお問い合わせください。