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

準備

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

  • 必要なツール
    • Visual C++ 2015 (これより古いバージョンでは、ビルド出来ません。2017への対応は、今しばらくお待ちください。)
    • CMake (3.10.0)
  • 必要なライブラリ

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

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

Visual C++ 2015

ChoreonoidをコンパイルするためのC++コンパイラとして、Microsoft製のVisual C++を用いることができます。製品版でも結構ですし、無料版も利用可能です。無料版のVisual Studio Community 2015 は こちらのページ からダウンロードできるようです。

現在、64ビットバイナリがビルドできることを確認しています。

CMake

ビルド方法を記述するためのツールです。Choreonoidのビルド方法は本ツールの形式で記述されており、WindowsにおいてはそこからVisual Studio のプロジェクトファイルを生成することが可能です。

CMakeのダウンロードページ よりWindows版のインストーラ”Windows win64-x64 Installer”をダウンロードできますので、これを用いてインストールを行うのが簡単です。

Boost

C++の便利なライブラリ集です。ダウンロードは Boost Downloads のページから行うことができますが、ここからソースをダウンロードした場合はコンパイルが必要となります。

実際にはあらかじめWindows用にコンパイルされたバイナリを入れてくれるインストーラがありますので、そちらを使うのが簡単です。Boost C++ Libraries のページから、

  • boost_1_60_0-msvc-14.0-64.exe

というファイルをダウンロードしてください。

ダウンロードしたファイルを実行することで、インストールを行うことができます。インストール先はデフォルトでは “C:\local\boost_1_60_0” といったフォルダになるようです。このフォルダを後で指定する必要があるので覚えておいて下さい。

Qt

QtはGUIを含む総合的なフレームワークライブラリで、ChoreonoidでもGUIのベースとして使っています。

Qtのインストーラは Qtのダウンロードページ にて取得できます。このページにアクセスするとOSにあったインストーラが提示されます。”Recommended download: Qt Online Installer for Windows” と表示されていることを確認して、”Download Now”のボタンを押してダウンロードを行ってください。ダウンロードしたファイルを実行し、インストーラの指示に従って進めます。ログインを求められますが、skipボタンを押して先に進んでしまって大丈夫です。途中、下図のようなコンポーネントの選択画面で、インストールするライブラリを選択します。

../_images/Qtsetup.png

デフォルトでは複数のバージョンにチェックが入っているようですが、古いバージョンは必要ないですし、コンパイラにあったタイプを使う必要があるため、該当するタイプのものだけチェックするようにします。ここでは Qt5.6 の msvc2015 64bit を選択しています。

この後インストールが始まります。インストール先はデフォルトでは “C:Qt” 以下になるようです。このフォルダを覚えておいてください。

Eigen

行列・ベクトル等の演算に用いるライブラリです。Eigenの公式ページ からダウンロードできます。

本ライブラリはヘッダファイルのみのライブラリで、コンパイルの必要はないので、ダウンロードしたファイルを適当な場所に展開するだけでOKです。ただし、Eigenのファイルはアーカイブファイルや展開後のフォルダにバージョン番号ではない記号が使われており、そのままだとちょっと分かりづらいかもしれません。以下にフォルダ名を変えるインストールの例を示しますので、参考にしてください。

  • Eigenのページから、利用するバージョンのzipファイルをダウンロードします。バージョン3.3.4の場合、”eigen-eigen-b9cd8366d4e8.zip” というファイルになります。このように、ファイル名からはバージョン3.3.4であることが分かりません。また、なぜかeigenの文字が2つも入っています。
  • エクスプローラー等を使ってzipファイルを展開します。デフォルトのフォルダ名で展開すると “eigen-eigen-b9cd8366d4e8” というフォルダができ、その中にeigenの本体が入っています。
eigen-eigen-b9cd8366d4e8
bench
blas
cmake
...
  • フォルダの名前をバージョン番号を付けた名前に変更し、適当な場所に移動しましょう。boostがC:\local以下に入るので、これに合わせてC:\local以下に移すのでもよいかと思います。すると最終的にEigenは以下のようにインストールされます。
local
boost_1_60_0
...
eigen-3.3.4
bench
blas
cmake
...

ソースコードの取得

リリース版

Choreonoidのリリース版のソースコードは、 ダウンロード のページからダウンロードすることが可能です。このページにある「ソースパッケージ」の該当するバージョンをダウンロードしてください。ファイルはZIPファイルになっていますので、エクスプローラ等を用いて適当なディレクトリに展開してください。

展開すると choreonoid-1.6.0 といったディレクトリが生成されます。このディレクトリの中にソースコード一式が格納されており、本マニュアルではこれを今後 「ソースディレクトリ」 と呼ぶことにします。

開発版

Choreonoid開発版も利用可能です。これは git リポジトリとして管理されており、 github の以下のアドレスにて公開されています。

ここからソースを取得するには2つの方法があります。

  • Gitツールをインストールする
  • Zipファイルで取得する

Gitツールをインストールする

リポジトリの利用にあたってはgit用ツールのインストールが必要です。公開されているツールがいくつかありますが、ここではコマンドプロンプトで使用するタイプのインストール方法を説明します。もちろん、使い慣れたツールがあればそれを御使用ください。

Windows用Git からファイルをダウンロードして実行してください。インストーラの指示に従って進めます。設定はデフォルトのままでよいと思いますが、途中下図の様に表示されたら”Use Git from the Windows Command Prompt”を選ぶと、PATHを通してくれます。

../_images/GitSetup.png

インストールが終了したら、コマンドプロンプトを開いて、choreonoidのソースを保存したいディレクトリに移動して、以下のコマンドを実行します。:

git clone https://github.com/s-nakaoka/choreonoid.git

これによってリポジトリを格納した “choreonoid” というディレクトリが生成されます。以降はこのディレクトリ内で

git pull

などとすることにより、その時点での最新のソースコードにアップデートできます。

以上でソースコードの取得はできますが、gitの詳しい使用方法についてはgitのマニュアルや解説記事を参照してください。

Zipファイルで取得する

ウェブブラウザを使用して Choreonoidのリポジトリ を開くと、次のように表示されます。

../_images/downloadZip.png

赤枠で示したdownloadZipボタンをクリックすると、最新の内容がZip形式でダウンロードできます。ダウンロードしたファイルを展開してください。

この方法は簡単ですが、git pullコマンドは更新されたファイルだけを取得できるのに対し、この方法は、毎回全てのファイルをダウンロードすることになります。

CMakeによるビルド設定

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

../_images/cmake0.png

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

../_images/cmake1.png

“Visual Studio 14 2015 Win64”(64ビット用)を選択し、”Finish” を押します。

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

注釈

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

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

Windows環境に、pkg-config.exe というプログラムがインストールされている場合、この作業中にエラーが起きることがあります。そのような場合は、pkg-config.exeをアンインストールして頂けますようお願いいたします。

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

../_images/cmake2.png

次に、上部のEntry入力部の BOOST_ROOT の右の入力ボックスにBoostをインストールしたルートディレクトリを、BOOST_LIBRARYDIR の右の入力ボックスにBoostのライブラリ(.lib,.dll)が保存されているディレクトリを入力し、再度、”Configure” を押して下さい。

../_images/cmake3.png

Eigenに関するエラーが表示されたら、 EIGEN_DIR にEigenのインストール先ディレクトリを入力してください。

QT5に関するエラーが表示されたら、 Qt5Core_DIR に Qt5CoreConfig.cmake というファイルの保存場所(おそらく(Qtのインストール先)/5.6/msvc2015_64/lib/cmake/Qt5Coreにあります。)を入力してください。QT5の他のライブラリについてもエラーが表示されているかと思いますので、同じように入力してください。ワーニングは無視して大丈夫です。

注釈

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

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

../_images/cmake4.png

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

インストール先については、 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” に変更し、 x64 と表示されていることを確認して下さい。 なお、”Debug”にすると、デバッグ可能なバイナリを生成することができます。ただしこれは”Relese”でコンパイルしたものと比べて圧倒的に遅くなってしまうので、デバッグが必要な時以外は、”Release”でコンパイルしたバイナリを使うようにします。

../_images/VS1.png

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

../_images/VS2.png

インストール

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

../_images/VS3.png

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

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

オプション機能のビルド

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

各プラグインが使用しているライブラリのインストール方法も簡単に説明していますが、ライブラリのバージョンアップなどにより大きく変更されている場合もあります。 また、開発元のホームページが更新され、リンク先が変更されている場合もあります。 そのような場合は、ライブラリ名、「インストール」、等をキーワードにしてネット検索して頂くと、新しい情報を見つけることができるかと思います。

OpenRTMプラグイン

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

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

Pythonは、Python のサイトからPythonの2.7のダウンロードページに移動して、Windows用のMSI Installerをダウンロードして実行してください。(OpenRTM-aistのダウンロードページにも同じものがあります。) 現在、2.7.11のバージョンでは不具合を確認しております。2.7.10をお使いください。インストーラの指示に従って進め、途中、 “Customize Python 2.7” のところで、 Add python.exe to PathWill be installed on local hard drive に変更してインストールします。

注釈

これらのインストーラは”OMNI_ROOT”等の環境変数の設定を行いますが、これがインストール直後には反映されない場合があるようです(特に、Windows10で)。この場合以下のCMakeの設定が進められなくなりますので、インストール後にWindowsの再起動を行なってから以下の作業を進めるようにしてください。

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\OpenRTM-aist\1.1.2 といったディレクトリになります。

CMakeで以上の設定を行った上でGenerateボタンを押すとソリューションファイルが更新されます。このファイルを用いてVisual Studioでコンパイル、インストールを行うことでOpenRTMプラグインが生成されます。他のプラグインも同様ですので、CMakeでオプションの変更を行った後は、必ずコンパイル、インストールの作業を行ってください。

Assimpプラグイン

様々な形式の3次元モデルデータを読み込むためのライブラリ Open Asset Import Library (Assimp) をコレオノイドで使用するためのプラグインです。 このプラグインを利用するためには、バージョン3.0以上のAssimpをソースからビルドしてインストールしておく必要があります。

assimp のサイトで、Downloadのボタンをクリックして、ページを移動します。更に、Go to Download Page ( source only ) をクリックして移動し、Zip形式のソースファイルをダウンロードしてください。 動作確認しているバージョンは、3.3.1になります。

Zipファイルを展開します。CMakeが利用できますので、Choreonoidのビルドの説明と同様に操作し、Visual Studio のプロジェクトファイルを作成します。CMakeのオプション設定の変更は必要ありません。 インストール先は”c:\Program Files\assimp”になっていますので、適宜変更してください。

Visual Studioでのコンパイル、インストール操作も、Choreonoidの場合と同様に行ってください。

assimpのインストールが出来ましたら、コレオノイドのビルドのCMakeの設定で、 BUILD_ASSIMP_PLUGIN という項目を “ON” にし、 ASSIMP_DIR にAssimpのインストールディレクトリを指定してください。

Mediaプラグイン

メディアファイルの再生を行うプラグインです。CMake上で BUILD_MEDIA_PLUGIN をONにしてください。

MPEG-4ファイルなどメディアファイルの形式によっては、再生できないものがありますが、ファイル形式に対応したコーデックパックをインストールすることで、できるようになります。コーデックパックは、ネット上で検索すれば無料のものが、すぐに見つかると思いますが、他の動画ソフトなどに影響を与えるものもあるようなので、ここでは特に指定しません。ご自身のシステムにあったものをご利用ください。

ODEプラグイン

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

本プラグインをビルドして利用するためには、ODEライブラリのインストールが必要です。ビルド済みのライブラリは公開されていないようなので、ソースからビルドする必要があります。 Open Dynamics Engine のサイトからファイルをダウンロードして展開してください。現在当方でテストを行ったバージョンは0.12になります。(0.13では動作しない不具合が報告されています。)

ODEのビルドにはpremakeというコマンドを使用します。コマンドプロンプトを起動し、展開したディレクトリの下のbuildというディレクトリに移動します。 そこで

premake4.exe --with-libccd --platform=x64 vs2008

を実行します。すると、vs2008というディレクトリが作成され、中にode.slnが作成されます。(ode0.12ではvs2008までしかサポートされていないので、2008用のソリューションファイルを作成します。) このファイルをVS2015で開くと、変換ウィザードが起動し2015用に変換してくれます。いくつかワーニングが表示されますが、無視しても大丈夫なようです。

変換されたソリューションファイルを用いて、ビルドします。ソリューション構成で ReleaseDoubleDLLx64 を選択、確認してください。成功するとlib/ReleaseDoubleDLLにode_double.*というファイルが作成されます。

後はコレオノイドのビルドに関するCMakeの設定で、 BUILD_ODE_PLUGIN という項目を “ON” にし、 ODE_DIR にODEのlibの上のディレクトリを指定してください。

Bulletプラグイン

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

本プラグインをビルドして利用するためには、Bullet Physics ライブラリのソースからのビルドが必要です。 Bullet Physics Library のサイトからソースが取得できます。当方でテストを行ったバージョンはbullet-2.83.7になります。

CMakeが使用できますので、いままでの説明と同様に行います。 以下のオプションはONに切り替えておきます。

  • BUILD_EXTRAS
  • INSTALL_EXTRA_LIBS
  • INSTALL_LIBS
  • USE_DOUBLE_PRECISION
  • USE_MSVC_RUNTIME_LIBRARY_DLL

また、以下のオプションはOFFにしておいた方が無難です。

  • BUILD_XXX_DEMOS のすべて
  • BUILD_BULLET3
  • BUILD_UNIT_TESTS

インストール先は CMAKE_INSTALL_PREFIX で設定します。

注釈

Extras\HACD\hacdICHull.cppで”error C2039: ‘max’ : ‘std’ のメンバーではありません。”というエラーが表示されたら、このファイルの先頭部分を以下のように修正してください

#include "hacdICHull.h"
#include <limits>
#include <algorithm>  <--この行を追加

注釈

BulletのバージョンによってCMakeのオプションに差異があるようです。ここでの解説は、対象バージョンでの例とお考えください。

後はコレオノイドのビルドに関するCMakeの設定で、 BUILD_BULLET_PLUGIN という項目を “ON” にし、BULLET_DIR にBulletライブラリのインストール先を指定してください。

Pythonプラグイン

Pythonスクリプトの読み込み・実行や、コレオノイド上で動作するPythonコンソール等の機能を使用するためのプラグインです。

本プラグインをビルドして利用するためには、Pythonのインストールが必要です。動作確認しているバージョンは2.7.10と3.6.3になります。

Python2を使用する場合は、CCMakeの設定で USE_PYTHON3 を”OFF”に設定してください。

OpenRTMプラグインのところで、OpenRTMのインストールと同時にPythonをインストールしている場合は2.7.10がインストールされています。Python3と共存させる場合は、以下を参考にしてください。

Python3のインストールは次の通りです。

Python のサイトから、ダウンロードページに移動して、Windows用のMSI Installerをダウンロードして実行してください。インストーラの指示に従って進め、環境変数のPATHにインストール先を追加するように選択してください。

ただし、Python2と共存させる場合はPATHにインストール先を追加しないようにしておきます。

注釈

上記の設定では環境変数の設定を行いますが、これがインストール直後には反映されない場合があるようです(特に、Windows10で)。この場合以下の作業が進められなくなりますので、インストール後にWindowsの再起動を行なってから以下の作業を進めるようにしてください。

Numpy もインストールします。コマンドプロンプトを開いて次のコマンドを実行します。(PATHを変更しなかった場合は、下記の注釈を参考にして、コマンド実行前にPATHを通してください。)

python -m pip install numpy

後はコレオノイドのビルドに関するCMakeの設定で、 ENABLE_PYTHON , BUILD_PYTHON_PLUGIN , BUILD_PYTHON_SIM_SCRIPT_PLUGIN という項目を “ON”にしてください。

注釈

Python3のインストール時にPATHの追加をしないように選択した場合は、choreonoidを起動する前や、NumpyのインストールでPython3を使用する前にPATHを通す必要があります。

set PATH=(Python3のインストール先);%PATH%

のように記述したバッチファイルを準備して、これを実行するようにすると簡単かと思います。

プラグインのアンインストール

BUILD_XXX_PLUGIN のオプションをオンにしてインストールしたプラグインは、その後オプションをオフにしてインストールしても削除されません。プラグインを追加して動作が不安定になった場合など、プラグインを削除したい場合は、手動でファイルを削除してください。プラグインは(コレオノイドのインストール先)/lib/choreonoid-1.6にCnoid***Plugin.dllとしてインストールされています。