各バージョンの主な更新内容¶
2.5.0 (2026年8月3日)¶
Ubuntu 26.04をサポート
MuJoCoプラグインの追加
物理エンジンMuJoCoで物理計算を行うMuJoCoシミュレータアイテムを提供
MuJoCo 3.9.0 のビルド済みライブラリをバンドル
デフォルトでビルドを有効化
Bulletプラグインの刷新
物理エンジンBulletのバージョン3を用いて物理計算を行うプラグインを新規に実装
Bulletライブラリ検出時にデフォルトでビルドを有効化
Multibody dynamicsによる多関節モデルをサポート
無限軌道の区分剛体シミュレーションをサポート
AISTシミュレータの改良
LCPの行列構造をスパース化しスケーラビリティを大幅に向上
テスト力計算における自由ルート慣性の逆行列をキャッシュ化し計算を高速化
Projected Gauss-Seidel (PGS) の最大反復回数デフォルト値を調整
PGSの収束判定誤差基準パラメータを追加
無駄な接触点の削減による高速化を実現
接触深度補正飽和量の目標深度に対するスケーリングにより挙動を安定化
接触マテリアルによる反発係数の個別設定をサポート
干渉検出並列化用プロパティ(干渉検出スレッド数)を追加
追加拘束(Extra Joint)を改良
ヒンジ型をサポート
異なるボディ間の拘束をサポート
AISTCollisionDetectorの改良
プリミティブ形状(球・円柱・箱・カプセル等)同士の厳密な干渉検出をサポート
干渉検出ペアに対する並列化の改良による高速化を実現
ワールドアイテムプロパティによる干渉検出パラメータの設定をサポート
ODEプラグインの改良
ODEライブラリ検出時にデフォルトでビルドを有効化
接触マテリアルによる摩擦・反発係数の個別設定をサポート
自己干渉をサポート
衝突空間タイプの選択機能を追加
リンクへの外力の反映をサポート
オフセット位置における関節初期化の不具合を修正
表面速度(無限軌道簡易シミュレーション)の不具合を修正
関節軸まわりの慣性を近似するオプションを追加
追加拘束(Extra Joint)を改良
固定/ヒンジ型をサポート
異なるボディ間の拘束をサポート
PhysXプラグインの改良
接触マテリアルによる摩擦・反発係数の個別設定をサポート
ビットマスクによるアクチュエーションモードをサポートし、速度フィードフォワードをゲート化
駆動力(drive effort)の出力をサポート
異なるボディ間の追加拘束(Extra Joint)をサポート
表面速度(無限軌道簡易シミュレーション)の不具合を修正
三角形メッシュのクリーニング処理を改良
その他のシミュレーション関連機能の整備
PhysXプラグインとBulletプラグインの区分剛体無限軌道デバイスをPiecewiseRigidContinuousTrackとして統一
実験的対応のSpringheadプラグインとRokiプラグインのソースを削除
サンプルプロジェクトで複数のシミュレータアイテムをサポート
反発確認用のBallサンプルを追加
描画エンジンの改良
半透明描画の改良
半透明物体の奥行きソートを導入
デプスピーリングの導入による半透明物体のピクセル単位の重ね合わせを実現
半透明物体のエッジ/ワイヤフレーム描画を実現
キャストシャドウ描画の改良
平行光源による影を描画全範囲にて有効化
シャドウマップサイズ(影の解像度)を設定可能に
自己陰影による縞状のノイズを修正
点群描画の改良
点群データ拡大時の描画を高速化
点群の有効点範囲の指定をサポート
法線によるシェーディング描画をサポート
テキスト描画の改良
複数行をサポート
Sans/Monoのフォント種別選択をサポート
使用文字種の数が著しく制限されていた不具合を修正
ビューポートオーバーレイの高DPI環境における描画を修正
軽量ビュー変更モードが有効なときにピッキングが無効になる不具合を修正
浅い角度でのピッキング座標誤差を解消
可視化関連の改良
ボディのバウンディングボックス表示を改良
凸包ベースのAABBによる密着化
常時表示プロパティの導入
選択状態に応じた色分け
干渉線の可視化を改良
ワールドアイテムプロパティにて線長・線幅、干渉点マーカー表示の設定を可能に
メッシュ/画像ファイル入出力機能の改良
glTF/GLBファイルの読み書きをサポート
Colladaファイル読み込みをネイティブ実装し、読み込みの安定化/高速化を実現
非凸多角形の三角形分割の不具合を修正
HDR画像ファイルの読み込みをサポート
画像ファイルを画像ビューで表示するための画像アイテムを追加
モデルファイル入出力機能の改良
自己完結的なURDFをROS_PACKAGE_PATH等のパス設定なしで読み込み可能に
Windowsでのxacroファイル読み込みをサポート
SDFの読み込みをサポート
Bodyファイルの書き込みを改良
glTF/GLBによるメッシュ出力をサポート
元ファイルのコピーにおける挙動を安定化
逆運動学数値計算の改良
初期状態に最も近い等価な関節角に補正することで解を安定化
目標リンク姿勢を正確に保つオプションを追加
回転角がπ付近の場合の角速度ベクトル算出を安定化
Pythonバインディングのnanobind対応
Pythonバインディングのバイナリサイズ/実行効率を改善
free-threaded Pythonをサポート
オブジェクト生存管理を安定化
nanobind 2.12.0をバンドル
プロジェクトファイル入出力の改良
プロジェクトファイル一式をzipにまとめるプロジェクトパックを導入
プロジェクトパックの読み込みをサポート
ファイル出力時の浮動小数点数の精度を改良(double型は12桁、float型は9桁の有効数字で出力)
ボディアイテムの状態保存において直動関節の変位をメートル単位で保存するよう修正
プロジェクトファイルの旧形式camelCaseキーを新形式snake_caseに変更(後方互換性あり)
ワールドログファイルアイテムの改良
ログ再生用アーカイブをプロジェクトパック化
RangeSensor利用時に落ちるバグを修正
GUI・その他の改良
メッセージビューにCtrl+F、F3、Shift+F3で操作する検索ダイアログを追加
アイテムツリー内でアイテムを移動した際に選択状態を保持するよう改良
リンクプロパティビューのプロパティに数値表示形式の設定を反映
ウィンドウシステムが存在しない場合のみQtのoffscreenプラットフォームとEGLを選択するよう変更
ビルド関連
Qt 6.8でのビルドエラーとQt 6.10での警告を修正
バンドルするfast_floatをバージョン8.2.10に更新
バンドルするxacroをバージョン1.14.20に更新
バンドルするpybind11をPython 3.14に対応
その他多数の細かなバグ修正、内部クラス改良、コードクリーンアップ、日本語翻訳の追加・更新等
2.4.0 (2026年5月14日)¶
描画エンジンを改良
OpenGL4.6以降において反転深度バッファを導入し遠方クリッピング距離の設定を不要化
MSAAアンチエイリアシングのサポート
テクスチャの色ブレンドアルゴリズムを修正
グレースケールテクスチャ表示における不具合を修正
干渉物体ハイライト表示のサポート
一部環境における半透明描画時の不具合を修正
シーンビューを改良
遠方クリッピング距離の無限遠方モードをサポート
アンチエイリアシング設定の追加
透視・直交カメラ切り替え時の視野を同期
視野角の方向を自動/縦/横から選択可能に
外部カメラ(カメラアイテム/ボディ同期カメラアイテム)に対する視点フィッティングをサポート
ヘッドレスモード(--no-windowオプション)を改良
ウィンドウシステム(デスクトップ環境)無しの環境をサポート
視覚センサシミュレーションにEGLを使用しOpenGLハードウェアアクセラレーションをサポート
Ctrl+C ハンドリングを修正
PhysXプラグインを刷新
NVIDIA PhysX 5 ベースの新しいPhysXプラグインを追加 (旧実験的プラグインを置き換え)
PhysX 5.6.1 をサードパーティライブラリとして同梱しビルドできるよう対応
PxContinuousTrackデバイスによる履帯が動く無限軌道(クローラ機構)シミュレーションをサポート
ボディ関連処理の改良
ボディアイテムに親リンクプロパティを追加し、子ボディを親ボディの特定リンクに同期可能に
ボディ状態の保存・復元における不備を修正
逆運動学数値計算の解が得られやすくなるように改良
逆運動学計算後の残部分順運動学計算を効率化
マテリアルペアの摩擦係数計算を sqrt(r1*r2) に変更
数値表示・単位系の改良
タイムバーの時刻表示における日・時・分・秒のマルチ単位表示をサポート
タイムバーの再生速度比の上限を 99.9 から 999999.9 に引き上げ
数値表示形式の設定範囲を拡大
ファイル関連
ImageIOによるTIFF画像ファイルをサポート
ワールドログファイルアイテムの2GBファイルサイズ制限を解消
URDFBodyLoaderにおけるmaterialタグの扱いをデファクトスタンダードな挙動に修正
ビルド関連
必要C++規格をC++17以上に統一し、全ての環境でboost依存を廃止
Python2 サポートを削除
Debianパッケージ作成のための debian ディレクトリ・スクリプトを追加
動作計画機能の実装基盤となるOMPLプラグインを追加
その他多数の細かなバグ修正、内部クラス改良、コードクリーンアップ、翻訳カタログの更新等
2.3.0 (2025年9月9日)¶
GLVisionSimulatorアイテムのリファクタリング
GLVisionSimulatorプラグインを追加し、GLVisionSimulatorアイテムを同プラグインに移動
GLVisionSensorSimulator、GLVisionSensorScene、GLVisionSensorRenderingScreenクラスをGLVisionSimulatorItemの実装から分離
各センサータイプのシミュレーションコードをGLVisionSensorSimulatorを継承する独立したクラスとして実装
GLVisionSimulatorアイテムに背景色とワールドライトのプロパティを追加
GLCameraEffectプラグインを追加
デバイスがinfoメンバーを介して任意のパラメータを指定・アクセスできるよう改良
Livox Mid360センサーをシミュレートするLivoxMid360プラグインを追加
カメラアイテムを追加
イメージビューでタブメニューによりターゲット画像を選択できるよう改良
SmokeDeviceとSceneSmokeで色合いの指定を可能に
ワールドログファイルアイテムを使用したライブ再生機能を実装
左手座標系での値と座標軸マーカーの表示をサポート
シミュレーション中に実行すべきでない編集操作を無効化
長時間のシミュレーションによる意図しないメモリ枯渇を防ぐため、シミュレータアイテムデフォルト記録モードをテール記録モードに変更
シーンバーの視点フィットボタンの挙動にアニメーションを導入
選択されたアイテムのオブジェクトに視点をフィットするボタンをシーンバーに追加
PointSetアイテムのスケーリングを有効化
運動学操作で関節変位を制限するモードを導入
配置ビューでローカル座標系を保持するオプションを実装
モデルファイルのエクスポート機能を改良
選択された描画可能アイテムのシーンをOBJメッシュファイルとしてエクスポートする機能を実装
Qt6およびWaylandプラットフォームで最大化ウィンドウ状態でChoreonoidを起動した際のクラッシュを修正
debパッケージ作成用のdebianディレクトリを追加
非標準インストールパスのための環境設定スクリプトを追加
PS5およびXboxゲームパッドをサポート
Pythonバインディングを改良
その他多数の機能改善、バグ修正、内部実装の改良
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日)¶
本バージョンにて一般へのリリースを開始しました。