Changes in each release

2.2.0 (July 11, 2024)

  • Added support for Ubuntu 24.04

  • Added support for Qt6

  • Added support for C++20

  • Enabled a toolbar for setting display format of numerical units and precision in GUI

  • Added the link mass summary view

  • Improved the movie recorder * Always display the marker within the target view * Allow cancellation of recording even during recording

  • Added support for loading mesh files in ROS 2 packages

  • Fixed bugs in YAML file output

  • Fixed a bug in URDF file loading

  • Fixed a bug related to sensor value updates in simulation

  • Fixed a bug related to high DPI display environments

  • Improved icon image resolution for high DPI display environments

  • Updated pybind11 to version 2.10.3

  • Updated the bundled fmtlib to version 11.0.0

  • Updated the bundled Eigen library to version 3.4.0

  • Various minor feature improvements, bug fixes, and internal implementation enhancements

2.1.1 (March 21, 2024)

  • Improve the plugin path management

  • Add the command line option “–add-plugin-dir-as-prefix”. A plugin path can be added in the installation prefix directory of a module installed separately from Choreonoid itself.

  • Improve SimpleControllerItem to support additional controller directories in the plugin path

2.1.0 (March 17, 2024)

  • Improved the function to write a body / scene file

  • Improved the URDF loader

  • Improved the OBJ mesh file loader

  • Fixed the recording toggle button in MovieRecorderBar so that toggle-off to stop recording can be processed during recording

  • Fixed the FPS test button in the SceneView config dialog so that click to cancel the test can be processed during testing

  • Fixed the dial widgets in JointDisplacementView to work correctly

  • Improved LocationView to support SceneItem and PointSetItem

  • Improved the distance measurement function to support SceneItem and PointSetItem

  • Added BodyPoseItem and BodyPoseListItem for recording body poses

  • Added the conveyor device and improve KinematicSimulatorItem to support it

  • Enabled GUI operations on multiplex bodies

  • Added a function to convert a point set to a mesh to PCLPlugin

  • Removed SDFPlugin

  • Replaced boost.program_options with CLI11

  • Removed dependency on the boost C++ library

  • Improved the package.xml configuration for building with ROS 2

  • Many other minor feature improvements and bug fixes

2.0.0 (August 4, 2023)

  • Support for Ubuntu 20.04 and 22.04

  • Support for Visual C++ 2019 and 2022

  • Support for Clang

  • Discontinued support for Qt4

  • Added the following plugins:

  • ManipulatorPlugin

  • BodyMotionFilterPlugin

  • MocapPlugin

  • Made building of the following plugins optional:

  • PoseSeqPlugin

  • BalancerPlugin

  • Removed the following modules and plugins (note: some plugins have been separated into different repositories):

  • OpenRTMPlugin

  • OpenHRPPlugin

  • GrxUIPlugin

  • ScenarioPlugin

  • RobotAccessPlugin

  • Hrpsys31Plugin

  • Added the following views:

  • LocationView

  • LinkPositionView

  • LinkDeviceView

  • HumanoidPoseFetchView

  • Added the following project items:

  • KinematicsSimulatorItem

  • MaterialTableItem

  • BodyContactPointLoggerItem

  • BodyStateLoggerItem

  • RegionIntrusionDetectorItem

  • Improved SceneView and rendering engine:

  • Enabled GLSLSceneRenderer by default

  • Fixed texture rendering bugs

  • Introduced lightweight rendering mode

  • Introduced low GPU memory consumption mode

  • Shadow rendering support for Radeon

  • Implemented vertex rendering mode and solid-wireframe rendering mode

  • Enhanced highlighting style for selected/focused objects in the scene

  • Added text rendering support

  • Support for high DPI displays

  • Improved operation dragger

  • Introduced BodyHandler for customization of specific processing code for Body:

  • Added JointPathConfigurationHandler for handling robot arm configurations

  • Added LinkedJointHandler to enable kinematics operations for parallel link models

  • Deprecated BodyCustomizer previously used for this purpose

  • Improved Python bindings:

  • Enhanced Python bindings implemented in pybind11

  • Removed Python plugins and bindings implemented in boost.python

  • Enhanced model loading and writing features:

  • Support for reading URDF files

  • Support for reading and writing OBJ mesh files

  • Speeded up STL mesh file loader

  • Support for writing Body files

  • Support for writing in Choreonoid standard scene file format

  • Sample-related improvements:

  • Added HRP-4C model and samples

  • Added Universal Robot models

  • Fixed WRS2018 Tunnel models

  • GLVisionSimulatorItem now supports sensor noise

  • Added distance measurement function

  • Ability to integrate multiple body items into a composite body

  • Improved item context menu

  • Reflected parent-child relationship of body items in body position editing

  • Improved file dialog

  • Corrected default layout of main window

  • Multi-layout registration and switching for the main window

  • Confirmation dialog at project loading, saving, and exit

  • Updated toolbar icons

  • Unified Undo/Redo functionality

  • Improved choreography feature

  • Maintenance of CMake files for program build outside choreonoid source

  • Numerous other feature improvements and bug fixes

1.7.0 (May 8, 2019)

  • Supported Ubuntu 18.04

  • Supported Visual C++ 2017

  • Added MulticopterPlugin to simulate multicopters

  • Added TrafficControlPlugin to simulate bad communication environment

  • Added SubProjectItem to share project items across multiple projects

  • Added LightingItem to set a light source in the virtual world

  • Improved GLVisionSimulatorItem to support wide viewing angle range sensors and omnidirectional cameras

  • Improved AGXDynamicsPlugin to support additional physical models such as wire-like objects and breakable joints

  • Improved SensorVisualizerItem to support various sensors

  • Improved BodyTrackingCameraItem to specify its target link

  • Improved the joint slider view to support the dial interface for joint displacements

  • Improved OpenRTMPlugin

  • The standard profile format is used to store / restore RT system configurations

  • Multiple name servers can be used simultaneously

  • The target nameserver can dynamically be changed by specifying the default nameserver of OpenRTM

  • Improved the visualization in the RTS Diagram View

  • Introduced the manual mode of the RTC state detection

  • Added the RTC configuration view

  • Added the OpenHRP model loader implemented using Choreonoid

  • Fix PhysXPlugin to support PhysX 3.4

  • Improved the body file format to specify textures

  • Introduced standard joystick mapping to enable different joystick devices to be used in the same way

  • Added sample robot models and their projects

  • Aizu Spider

  • Aizu Wheel

  • Quadcopter

  • Added the project and model files of the tunnel disaster response and recovery challenge at World Robot Summit 2018

  • Improve the API of SimpleController

  • Introduced fmtlib as a formatting library to replace boost.format

  • Modified the wrapping rules of the pybind11 version python wrappers

  • Modified the function names to get member object xxx to to getXxx()

  • Member object xxx can be accessed as property xxx

  • Supported the complete out-of-source build

  • Enabled to build Choreonoid as a ROS package in the Catkin environment

  • Added CMake configuration files for the plugin development

  • Fixed pkg-config files

  • Many other minor feature improvements and bug fixes

1.6.0 (October 31, 2017)

  • New model file format replacing the OpenHRP model file format

  • Mesh files of various formats including STL and Collada can be read as a part of body models

  • Introduced the concept of contact material for specifying a parameter set relating to the contact of an object pair

  • New controller API that enables a controller to specify which state variables to input and output

  • Introduced BodyIoRTCItem for directly creating an RTC for the model input / output

  • New rendering engine written in new OpenGL APIs and the GLSL shading language

  • New implementation of the Python bindings using the pybind11 library

  • Supported Python3

  • A beta version of the Lua language bindings using the Sol2 library

  • A beta version of AGXDynamicsPlugin to enable AGX Dynamics to be used as a physics engine for simulation

  • A beta version of SpringheadPlugin to enable the Springhead library to be used as a physics engine for simulation

  • A beta version of RokiPlugin to enable the Roki library to be used as a physics engine for simulation

  • Added sample models and projects

  • Other minor improvements and bug fixes

1.5.0 (July 13, 2016)

  • Improved the view / toolbar management system

  • Added GLVisionSimulatorItem, which simulates vision sensors such as cameras, RGBD cameras, and laser range sensors

  • Added A function to interactively apply force to an object being simulated using mouse dragging

  • Improved the stability the simulation performed by AISTSimulatorItem

  • Added PhysXPlugin, which enables nVidia PhysX to be used as a physics engine in simulation

  • Added WorldLogFileItem, which stores all the log data of a virtual world being simulated online

  • Generalization of collision detectors

  • Added BodyTrackingCameraItem, which provides a camera that automatically tracks a particular object in a virtual world

  • Added SensorVisualizerItem, which visualizes the states of sensors such as force sensors in a scene view

  • Added PointSetItem and MultiPointSetItem, which visualize point cloud data in a scene view

  • Added the Python scripting function, which enables users to control Choreonoid with a Python script

  • The source code of BalancerPlugin became a part of Choreonoid’s main source code with the same license

  • Added samples

  • Supported both Qt4 and Qt5

  • The license was changed from LGPL to the MIT license

  • Other minor improvements and bug fixes

1.4.0 (August 29, 2013)

  • Improved the OpenRTM plugin to support simulation using RT-components

  • Added the Bullet plugin, which allows the use of the Bullet physics library as one of the simulation engines

  • Added the Media plugin for playing movie and audio files

  • Introduced a new SceneView implementation based on the pure OpenGL API

  • Supported cameras and lights defined in models on the new SceneView

  • Supported the simulation of the crawler mechanism

  • Path variables can be set and used in project files

  • Added the RIC30 robot model

  • Added sample projects for the new functions and models

  • A lot of other minor improvements

  • A lot of bug fixes

  • Refactoring the API of the Body library and plugin

1.3.1 (August 20, 2012)

  • Fixed a bug of reloading items

  • Fixed a bug of the execution file path detection on Mac OS X

  • Fixed a problem where a filename cannot be specified on file save dialogs on Mac OS X

  • Fixed a crash caused by ItemPropertyView

1.3.0 (July 29, 2012)

  • Improved the AIST Simulator

    • Improved the high-gain dynamics mode to be more accurate

    • Made the integration methods selectable

  • Improved the support for Mac OS X

    • Introduced relative path setting for shared libraries to make the binary files relocatable on the file system

    • Fixed the BalancerPlugin binary to be loadable

  • Supported Boost C++ libraries version 1.50

  • Fixed some other bugs

1.2.0 (July 20, 2012)

  • Supported Mac OS X (Only tested on Lion)

  • Added a general dynamics simulation function

  • Improved the robustness of the automatic dynamic balance adjustment

  • Improved the numerical inverse kinematics to be more robust

  • SceneView’s sequential image output function for creating movies

  • Online viewer function whose API is same as OpenHRP3

  • Forward kinematics dragging for slide joints on SceneView

  • Added the Corba module and CorbaPlugin which support some CORBA functions

  • Supported Clang compiler

  • Ended the use of Boost.multi_array library which caused some problems

  • Removed the Eigen library source from the source archive

  • Fixed many other bugs

1.1.0 (December 30, 2011)

  • Supported internationalization

  • Messages can be translated into other languages

  • Added Japanese translations

  • International characters (any characters defined in Unicode) can be used in data and filenames in the Linux distributions based on UTF-8

  • Local character encoding (such as shift-jis) can be used in data and filenames in Windows

  • Added some scripts for handling gettext files

  • New graphical tool bar icons

  • New application icon

  • Fixed a compile error in Visual C++ 2010

  • Fixed some other bugs

1.0.0 (November 8, 2011)

This is the initial release version.