各バージョンの主な更新内容

2.1.1 (2024年3月21日)

  • プラグインパスの扱いを改良

  • SimpleControllerアイテムのコントローラモジュールについて、プラグインパス内のシンプルコントローラディレクトリもベースディレクトリとして処理されるように改良

  • コマンドラインオプション "--add-plugin-dir-as-prefix" を追加.Choreonoid本体とは別にインストールしたモジュールのインストールプレフィックスディレクトリでプラグインパスを追加できます.

2.1.0 (2024年3月17日)

  • ボディ/シーンファイル書き込み機能を改良

  • URDFローダを改良

  • OBJメッシュファイルローダを改良

  • 録画中に録画を停止できるよう録画バーの録画トグルボタンを修正

  • FPSテスト中にテストをキャンセルできるようシーンビュー設定ダイアログのFPSテストボタンを修正

  • 関節変位ビューのダイアルウィジェットを正常に動作するよう修正

  • シーンアイテムとポイントセットアイテムをサポートするよう配置ビューを改良

  • シーンアイテムとポイントセットアイテムをサポートするよう距離測定機能を改良

  • ボディの姿勢を記録するためのボディポーズアイテムとボディポーズリストアイテムを追加

  • コンベアデバイスを追加し運動学シミュレータアイテムによるコンベアシミュレーションをサポート

  • マルチプレックスボディのGUI操作を有効化

  • SDFPluginを除去

  • boost.program_optionsをCLI11に置き換え

  • Boost C++ libraryへの依存を除去

  • ROS 2上のビルドのためpackage.xml設定ファイルを改良

  • その他多数の機能改善とバグ修正

2.0.0 (2023年8月4日)

  • Ubuntu 20.04と22.04をサポート

  • Visual C++ 2019と2022をサポート

  • Clangをサポート

  • Qt4のサポートを停止

  • 以下のプラグインを追加

  • マニピュレータプラグイン

  • ボディモーションフィルタプラグイン

  • Mocapプラグイン

  • 以下のプラグインのビルドをオプション扱いに

  • PoseSeqプラグイン

  • バランサープラグイン

  • 以下のモジュール、プラグインを削除(※一部のプラグインは別リポジトリに分離)

  • OpenRTMプラグイン

  • OpenHRPプラグイン

  • GrxUIプラグイン

  • シナリオプラグイン

  • ロボットアクセスプラグイン

  • Hrpsys31プラグイン

  • 以下のビューを追加

  • 配置ビュー

  • リンクポジションビュー

  • リンク/デバイスビュー

  • ヒューマノイド姿勢取得ビュー

  • 以下のプロジェクトアイテムを追加

  • 運動学シミュレータアイテム

  • マテリアルテーブルアイテム

  • ボディ接触点ロガーアイテム

  • ボディ状態ロガーアイテム

  • 領域侵入検出器アイテム

  • シーンビュー/描画エンジンを改良

  • GLSLシーンレンダラーをデフォルトで使用

  • テクスチャレンダリングのバグ修正

  • 軽量レンダリングモードを導入

  • 低GPUメモリ消費モードを導入

  • 影の描画がRadeonに対応

  • 頂点レンダリングモードとソリッド・ワイヤフレームレンダリングモードを実装

  • シーン内の選択/フォーカスされたオブジェクトのハイライトスタイルを改善

  • テキスト描画をサポート

  • 高DPIディスプレイに対応

  • 操作用ドラッガーを改良

  • Bodyの特定処理コードのカスタマイズのための仕組みとして新たにBodyHandlerを導入

  • ロボットアームのコンフィギュレーションを扱うためのJointPathConfigurationHandlerを導入

  • 平行リンクモデルの運動学操作を実現するLinkedJointHandlerを導入

  • 従来この目的で使用されていたBodyCustomizerは非推奨に

  • Pythonバインディングの改良

  • pybind11で実装されたPythonバインディングを改良

  • boost.pythonで実装されたPythonプラグインとバインディングを削除

  • モデルの読み込み、書き込み機能を強化

  • URDFファイルの読み込みに対応

  • OBJメッシュファイルの読み書きに対応

  • STLメッシュファイルローダーを高速化

  • ボディファイルの書き出しに対応

  • Choreonoid標準シーンファイル形式での書き出しに対応

  • サンプル関係

  • HRP-4Cモデルとそのサンプルを追加

  • ユニバーサルロボットのモデルを追加

  • WRS2018トンネルモデルを修正

  • GLビジョンシミュレータアイテムがセンサーノイズをサポート

  • 距離測定機能を追加

  • 複数のボディアイテムを合成ボディに統合可能

  • アイテムのコンテキストメニューを改善

  • ボディアイテムの親子関係をボディ位置の編集に反映

  • ファイルダイアログを改善

  • メインウィンドウのデフォルトレイアウトを修正

  • メインウィンドウの複数レイアウト登録・切替機能

  • プロジェクト読み込み・保存・終了時に確認ダイアログを表示

  • ツールバーのアイコンを更新

  • 統一されたUndo/Redo機能

  • 振付機能の改良

  • Choreonoidソース外でのプログラムビルドのためのCMakeファイルの整備

  • その他多数の機能改善とバグ修正

1.7.0 (2019年4月8日)

  • Ubuntu 18.04 に対応

  • Visual C++ 2017 に対応

  • マルチコプタをシミュレートするためのマルチコプタプラグインを追加

  • 通信障害をシミュレートするためのTrafficControlプラグインを追加

  • 複数のプロジェクト間でプロジェクトアイテムを共有するためサブプロジェクトアイテムを追加

  • 光源を追加するためのライティングアイテムを追加

  • GLビジョンシミュレータアイテムの改良により広視野角レンジセンサや全方位カメラにも対応

  • AGXDynamicsプラグインの改良により索条物体や破壊可能ジョイントといった物理モデルに対応

  • SensorVisualizerアイテムの改良によりより多様なセンサの可視化に対応

  • ボディ追尾カメラアイテムが対象リンクを指定できるよう改良

  • 関節スライダビューが関節変位用のダイアルインタフェースをサポート

  • OpenRTMプラグインを改良

  • RTシステム構成の保存・読み込みに標準プロファイル形式を採用

  • 複数ネームサーバの同時使用に対応

  • OpenRTMのデフォルトネームサーバの設定によって対象ネームサーバを動的に変更可能に

  • RTシステムダイアグラムビューの表示を改良

  • RTCの状態検出に手動モードを導入

  • RTCコンフィギュレーションビューを追加

  • Choreonoid版のOpenHRPモデルローダの実装を追加

  • PhysXプラグインがPhysX 3.4をサポート

  • ボディファイルフォーマットにおいてテクスチャを指定できるよう改良

  • 異なるジョイスティックの機種を同じように使用するための標準ジョイスティックマッピングを導入

  • サンプルロボットモデル/プロジェクトを追加

  • Aizu Spider

  • Aizu Wheel

  • Quadcopter

  • World Robot Summit 2018 トンネル事故災害対応・復旧チャレンジのプロジェクトとモデルファイルを追加

  • シンプルコントローラのAPIを改良

  • Boost.formatに替わる整形テキスト出力ライブラリとしてfmtlibを導入

  • Pybind11版Pythonラッパのラッピング規則を変更

  • メンバオブジェクトxxxを取得する関数名をxxxからgetXxx()に変更

  • メンバオブジェクトxxxにはプロパティとしてアクセス可能に

  • 完全なOut-of-sourceビルドに対応

  • Catkin環境におけるROSパッケージとしてChoreonoidをビルド可能に

  • プラグイン開発のためのCMake設定ファイルを追加

  • pkg-configの設定ファイルを修正

  • その他多数の機能改善とバグ修正

1.6.0 (2017年10月31日)

  • 新形式のモデルファイルをサポート

OpenHRP形式のモデルファイルに代わる新しい形式のモデルファイルを策定・サポートしました。新形式はYAMLをベースとした記述としており、モデルを柔軟かつ効率的に記述することが可能です。

  • STLやCOLLADA等のメッシュファイル形式に対応

モデルファイルの中で部分的に読み込むメッシュファイルについて、VRMLに加えてSTLやCOLLADA形式のメッシュファイルもサポートしました。

  • 接触マテリアルの導入

物体間の接触に関して、摩擦係数や反発係数等、接触の挙動を左右する様々なパラメータがあります。それについてこれまで物体の種類ごとに個別に設定することが難しかったのですが、これを可能にするための接触マテリアルという情報を新たに定義できるようになりました。

  • 新形式コントローラAPIの導入

ロボットの関節の入出力対象として角度、角速度、トルク等の様々な値があり得ますが、コントローラと物理エンジンがどの値を入出力の対象とするかについて指定するための統一的なAPIを定義しました。

  • BodyIoRTCItemの導入

OpenRTMのRTコンポーネントと接続するためのアイテムとして、新たにBodyIoRTCItemを導入しました。従来のBodyRTCItemとは異なり、入出力の内容を設定ファイルで指定するのではなく、入出力用のRTCを直接実装して使うというものになっています。これにより、個別のケースにマッチした入出力を効率的に実現することができます。

  • GLSLシェーディング言語を用いた新たな描画エンジンを実装

従来の描画エンジンはOpenGLの固定シェーダと呼ばれる古いAPIを用いたものでしたが、プログラマブルシェーダを使えるようになった新しいAPIを用いたものを実装しました。これにより、様々な表現の描画を実現することが可能となります。(現在はベータ版となっており、デフォルトでは従来のものが使われるようになっています。)

  • Pythonバインディングの新しい実装

PythonバインディングについてこれまでBoost.Pythonライブラリを用いて実装していましたが、新しいライブラリであるpybind11を用いた実装に移行しました。互換性確保のため、Boost.Pythonを用いた実装も残してありますが、そちらは今後廃止される予定です。

  • Python3のサポート

これまでPythonはバージョン2のみのサポートでしたが、Python3もサポートしました。

  • Lua言語のバインディング(ベータ版)の追加

スクリプト言語としてLua言語を使えるようにするためのバインディングを実装しました。

  • AGXDynamicsプラグイン(ベータ版)の追加

スウェーデンAlgoryx社(日本では株式会社ブイエムシーの取り扱い)のAGX Dynamicsをシミュレーション用の物理エンジンとして使用するためのAGXDynamicsプラグインを追加しました。

  • Springheadプラグイン(ベータ版)の追加

オープンソースの物理エンジンSpringheadをシミュレーション用の物理エンジンとして使用するためのSpringheadプラグインを追加しました。

  • Rokiプラグイン(ベータ版)の追加

オープンソースのロボティクスライブラリRokiをシミュレーション用の物理エンジンとして使用するためのRokiプラグインを追加しました。

  • 各種サンプルの追加

各種サンプルを追加しています。ロボットのサンプルモデルとして、大阪大学の開発による双腕建設ロボットモデルや、早稲田大学高西・橋本研究室の開発によるWAREC-1モデルなどもバンドルしています。

  • その他多数の機能改善とバグ修正

1.5.0 (2016年7月13日)

  • ビュー/ツールバー管理システムの改良

必要なビュー、ツールバーを選んでインウィンドウ上に配置することが可能となりました。また、ビューによっては複数のインスタンスを生成・配置できます。シーンビューもこの機能に対応しており、複数視点からのレンダリングを同時に表示することが可能です。また、ビューをメインウィンドウから独立したウィンドウに配置することも可能となりました。

  • 視覚センサシミュレーション機能

GLVisionSimulatorItemにより、カメラやレンジセンサといった視覚センサをシミュレートできるようになりました。

  • インタラクティブシミュレーション機能

シミュレーション中の物体をマウスでドラッグすることでインタラクティブに力をかけることができるようになりました。

  • AISTSimulatorItemによるシミュレーション安定性の向上

干渉検出の処理を改良し、接触時の安定性を向上させています。

  • nVidia PhysX に対応

物理エンジンとして新たに nVidia PhysX に対応しました。PhysXPluginにより利用可能です。

  • WorldLogFileItemを追加

このアイテムにより、シミュレーション結果の全体をまとめてファイルに記録していくことが可能となりました。

  • 干渉チェッカの汎用化

干渉チェッカを操作するための共通APIを整備し、任意の干渉チェッカを組み込んで利用することを可能としました。

  • 追従カメラ機能

特定の物体やロボットを追従する視点でシーンビューの表示を行うためのBodyTrackingCameraItemを追加しました。

  • センサ可視化機能

力センサ等の状態をシーンビュー上で可視化するためのSensorVisualizerItemを追加しました。

  • ポイントクラウド表示

ポイントクラウドデータを表示するためのPointSetItemおよびMultiPointSetItemを追加しました。

  • Pythonスクリプト機能

PythonスクリプトによってChoreonoidを操作することが可能となりました。

  • バランス補正機能のオープンソース化

振り付け機能と連動するバランス補正機能について、ソースをChoreonoid本体に含めるようにし、ライセンスもChoreonoid本体と同じとしました。

  • 各種サンプルの追加

潜水艇のシミュレーションなど、多様なサンプルを追加しています。

  • Qt5のサポート

Qtのバージョン5系列にも対応しました。バージョン4系列も引き続き利用可能です。

  • MITライセンスの採用

これまでLGPLとしていたライセンスをより制限の緩いMITライセンスとしました。

  • その他多数の機能改善とバグ修正

1.4.0 (2013年8月29日)

  • OpenRTMプラグインの改良

本プラグインにより、ロボット用ミドルウェアOpenRTMのRTコンポーネントをシミュレーションに用いることが可能となりました。

  • Bulletプラグインの追加

本プラグインにより、物理計算ライブラリ"Bullet Physics"をシミュレーションエンジンとして用いることが可能となります。

  • Mediaプラグインの追加

本プラグインにより、音声や動画のファイルをChoreonoid上で再生することが可能となります。

  • OpenGLによるSceneView実装の導入

これまでのバージョンでは3次元描画を行うSceneViewを"OpenSceneGraph"ライブラリを用いて実装していましたが、これを置き換える新たな実装として素のOpenGL APIを用いたものを導入しました。これにより、OpenSceneGraphライブラリが必要なくなりました。

  • SceneViewにおけるカメラ・ライトのサポート

新しいSceneViewにおいて、モデルが有するカメラとライトを扱えるようになりました。視点に対応するカメラの切り替えや、ライトの効果をシミュレートした描画を行うことができます。(ただし、カメラ画像のシミュレーションにはまだ対応していません。)

  • クローラ機構のシミュレーション

クローラ機構について、簡易的なシミュレーションを行えるようになりました。クローラを有するモデルのサンプルシミュレーションも追加しています。

  • プロジェクトファイルにおけるパス変数のサポート

モデルファイルの格納ディレクトリ等をあらかじめ登録しておけば、それらがプロジェクトファイル内では変数を介して参照されるようになりました。これによってプロジェクトファイルの可搬性を高めることができます。

  • サンプルプロジェクトの追加

上記の追加機能に対応したサンプルプロジェクトを追加しています。

  • RIC30ロボットモデルの追加

株式会社アールティのご協力により、同社製の小型ロボットである"RIC30"のモデルをバンドルしました。GR001モデルと同様のサンプルプロジェクトも追加しています。

  • Bodyライブラリ・BodyプラグインのAPIの改善

主にBodyライブラリ・Bodyプラグインについて多数のAPIの変更を行なっています。ユーザによるプラグインやコントローラ等を新バージョンに対応させる際には修正が必要となりますのでご注意ください。

  • その他多数の機能改善とバグ修正

1.3.1 (2012年8月20日)

  • アイテム再読み込み機能のバグを修正

  • Mac OS X における実行ファイルパス検出のバグを修正

    インストール先のbinディレクトリからchoreonoidの実行ファイルを起動した場合正常に動作しない問題を修正しました。

  • Mac OS X においてファイル保存ダイアログで保存先ファイル名が指定できないバグを修正

  • Mac OS X においてItemPropertyViewが原因でクラッシュしてしまうバグを修正

1.3.0 (2012年7月29日)

  • AISTシミュレータの改善

「ハイゲイン動力学」モードでシミュレーションする際の入力値を改善し、 より正確なシミュレーションとなるようにしました。 ハイゲインモードのサンプル "SR1WalkHighGain.cnoid" も追加しています。 また、積分方式を「オイラー積分」と「ルンゲクッタ」の2つから選択できるようにしました。

  • Mac OS X 対応の改善

共有ライブラリパスの相対参照を導入し、make install したバイナリに対するマニュアル設定を不要としました。 また、1.2.0では同梱していたBalancerPluginのバイナリがパス参照の不具合により利用できませんでしたが、これを修正しBalancerPluginも利用できるようにしました。(ただし動作検証を行ったOS Xのバージョンは依然としてLionのみとなっています。)

  • Boost C++ ライブラリのバージョン1.50に対応 (Mac OS X を除く)

コレオノイド1.2.0 では Boost 1.50.0 を用いた場合コンパイル出来ませんでしたが、この問題を解決しました。 この対応に伴い、コレオノイドのCollectionクラスを廃止し、Sequenceクラスの名前をListingクラスに変更しました。 また、Boost Filesystem ライブラリのAPIはバージョン2と3の両方に対応するようにしました。

なお、Mac OS X については依然として Boost 1.50.0 を用いてビルドするとエラーが出てしまう不具合がみつかりましたので、現在のところは未対応とさせてください。Boost 1.49 以前のバージョンであれば問題ありません。

  • その他バグ修正

  • シミュレーション中にアプリケーションを終了させると落ちてしまうバグを解消

  • シーンアイテムを消去後も描画が継続されてしまうバグを修正

  • BalancerPluginのプロジェクトへの設定保存について、異なる言語環境間で一部の設定を共有できない問題を修正

  • OpenRTMプラグインのOpenHRPClockGeneratorアイテムをプロジェクトへ保存できない問題を修正

1.2.0 (2012年7月20日)

  • MacOS X のサポート

    現在のところ Lion でのみ動作を確認しています。

  • 動力学シミュレーション機能の追加

外部のコントローラで仮想ロボットを制御可能な動力学シミュレーション機能を追加しました。現在のところ、以下のような特徴を備えています。
  • OpenHRP3 と同様のシミュレーションが可能です。(ただし、カメラ画像シミュレータ等の一部の機能は未実装です。)

  • OpenHRP3より高速に動作します。

  • OpenHRPプラグインにより、OpenHRP3用に開発された制御プログラムを利用可能です。(RTCコントローラの利用については、OpenHRP3のControllerBridgeが必要となります。)

  • CORBAやOpenRTMを介さない、ダイレクトな制御プログラム接続も可能としており、より高速なシミュレーションが可能です。

  • コレオノイドの環境に統合されているため、様々な機能をシミュレーションと連携させることができます。例えば、振り付けの基本機能により、シミュレーションの初期状態の設定を容易に行うことが出来ます。

  • 2次元拘束モードを備えています。これを用いることで、歩行ロボットの2次元プロトタイプのテストなども行うことができます。

  • 閉リンクモデルのシミュレーションも可能です。

  • 外部の動力学エンジンを組み込むことが容易な設計としています。このサンプルとして、 Open Dynamics Engine をエンジンとして利用可能な ODEPlugin を提供しています。

  • いくつかのシミュレーションサンプルを用意しています。一部はOpenHRP3のサンプルを移植・改良したものです。また、閉リンクモデルやバネダンパモデルのサンプルも用意しています。

  • バランス補正機能の安定性を向上

    腰の上下動が速かったり、膝が伸びてしまう動作に関して、バランス補正が破綻してしまうことがありましたが、これについて破綻がしにくくなるような改良を行い、より多くの動作で破綻を防ぐことが出来るようになりました。

  • 反復計算逆運動学の改良

    解析解を使わない逆運動学に関して、より堅牢に解を得られるようになりました。また、逆運動学による姿勢のドラッグでは、自由度が足りていない場合でも自由度内でドラッグを行うことが可能となりました。

  • ビデオ作成のための連番画像出力機能を追加

    シーンビュー上のアニメーションについて、ビデオ作成のための連番画像として出力できるようになりました。

  • オンラインビュアー機能の追加

    OpenHRPプラグインに、OpenHRPで提供されている"OnlineViewer"機能を実装しました。これにより、外部のスタンドアロンプログラムからロボットの姿勢や動作をChoreonoid上にビジュアライズすることが可能となります。

  • シーンビューにおけるSlideジョイントのFKドラッグが可能

    回転関節に加えて、並進関節に関しても、順運動学形式のドラッグを行えるようになりました。

  • Propertyビューの編集機能を改良

    複数のオプションからの選択や、数値入力などが、より快適に行えるようになりました。

  • JointSliderビューを改良

ラジアンと度の切り替えが可能となりました。また、数値入力ボックスにうまく入力できないバグを修正しました。

  • CORBA関係の基本機能を提供する Corba ライブラリ、Corbaプラグインを追加

    自前のネームサーバも備えていますので、例えばWindowsでネームサーバを起動していない状態でコレオノイドを起動した場合ても、OpenHRPコントローラを用いたシミュレーションなどをそのまま動作させることが可能です。

  • Clang コンパイラのサポート

    Clang のC++コンパイラを利用できるようソースの修正を行いました。Clang 3.0 以降であれば、Choreonoidに関しても、既に十分実用的なコンパイルが可能となっています。

  • Boost の multi_array ライブラリの利用廃止

    可変長2次元配列に関して、Boost の multi_array ライブラリの使用を止め、自前の実装に切り替えました。これにより、Visual C++ のデバッグモードで使えないという問題を解決しました。また、Eigenライブラリに関する独自修正も必要なくなりました。

  • Eigenライブラリのバンドルを廃止

    Eigenに対する修正が必要なくなり、またUbuntuやMacOS XではEigenをパッケージ経由で容易にインストール可能となってきましたので、バンドルを廃止しました。Eigenがパッケージで用意されていない環境でビルドを行う際には、別途Eigenライブラリのインストールをお願いします。

  • バグ修正

    その他、多数のバグ修正を行なっています。

1.1.0 (2011年12月30日)

  • 国際化のサポート

  • 表示メッセージの各言語への翻訳が可能

  • 日本語への翻訳を追加

  • UTF-8ベースのLinuxディストリビューションにおいて、ユニコードで定義される多言語文字をデータやファイル名に使用可能

  • Windowsにおいて、各地域化バージョンで定義される非アスキー文字(日本語版Windowsであれば日本語文字)をデータやファイル名に使用可能

  • ツールバーのアイコン画像を整備

  • アプリケーションアイコンを更新

  • Visual C++ 2010 でコンパイルエラーがでる問題を修正

  • Windowsインストーラでデスクトップアイコンが作成できないバグを修正

  • Windowsインストーラでインストールすると一部の環境で正常に動作しない問題を修正

  • ソースパッケージにBalancerプラグインのバイナリを追加

  • その他バグ修正

1.0.0 (2011年11月8日)

本バージョンにて一般へのリリースを開始しました。