各バージョンの主な更新内容¶
2.2.0 (2024年7月11日)¶
Ubuntu 24.04をサポート
Qt6をサポート
C++20をサポート
GUIにおける数値の単位や精度の表示形式を設定するツールバーを有効化
リンク質量集約ビューを追加
動画レコーダを改良
常に対象ビューの中にマーカを表示
録画中でも録画をキャンセルが可能
ROS 2パッケージ内のメッシュファイルのロードをサポート
YAMLファイル出力のバグを修正
URDFファイルの読み込みのバグを修正
シミュレーションにおけるセンサ値の更新に関するバグを修正
高DPIディスプレイ環境に関するバグを修正
高DPIディスプレイ環境におけるアイコン画像の解像度を改善
pybind11をバージョン2.10.3に更新
同梱のfmtlibをバージョン11.0.0に更新
同梱のEigenライブラリをバージョン3.4.0に更新
その他多数の機能改善、バグ修正、内部実装の改良
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日)¶
本バージョンにて一般へのリリースを開始しました。