Optional Features¶
This section introduces the optional features that can be selected in Choreonoid’s build configuration.
Optional features are enabled/disabled through CMake settings. For information on this operation, please refer to Build Configuration with CMake in Building and Installing from Source Code (Ubuntu Linux) or Build Configuration with CMake in Building and Installing from Source Code (Windows).
For details on the functions and usage of each plugin, see the corresponding pages in Plugins.
Main Options¶
ENABLE_GUI
Enables the functions realized on the Choreonoid GUI. This is ON by default and is a required option when using Choreonoid as an application. If you only want to use the library part that does not depend on the GUI, you can shorten the build time by turning this OFF.
ENABLE_PYTHON
Enables the Python bindings of Choreonoid. The Python bindings make it possible to use the Choreonoid libraries implemented in C++ from Python. For example, by importing the “cnoid.Body” module, which is the Python binding of the Body library, you can write various robotics-related processes centered on the Body class in Python.
In addition, when ENABLE_GUI is ON, the Python plugin and the PythonSimScript plugin for using Python on the Choreonoid GUI are also built.
This is ON by default on Ubuntu. To enable this on Windows, refer to Building Optional Features. For details, see Python Plugin.
ENABLE_URDF
Enables URDF support. The URDFBodyLoader and the URDF plugin are built, making it possible to load URDF files. This is ON by default. For details, see URDF Plugin.
ENABLE_SDF
Enables SDF support. The SDFBodyLoader and the SDF plugin are built, making it possible to load model files described in the Simulation Description Format (SDFormat). This is ON by default. For details, see SDF Plugin.
ENABLE_ASSIMP
Enables Assimp support. Assimp (Open Asset Import Library) is a library for loading 3D model files in various formats, which makes it possible to load files in formats such as Blender, X, and DXF. When the Assimp library is installed, it is automatically detected and this option becomes ON by default. Note that the COLLADA format (.dae) can now be loaded natively by recent versions of Choreonoid, so Assimp is needed less often than before. For details, see Assimp Plugin.
ENABLE_FREE_TYPE
Uses the FreeType library to enable rendering text on the scene view. In the current version of Choreonoid, when this option is ON, the distance measurement function displays the measured distance as numeric text on the scene view. This is ON by default on Ubuntu. On Windows, it is OFF by default, and you need to install the FreeType library separately to use it. This procedure is explained in Enabling FreeType Library.
ENABLE_PHYSX / BUILD_PHYSX_PLUGIN
Builds the PhysX plugin, which makes it possible to use PhysX, a physics engine developed by NVIDIA, in simulation. The PhysX source code is bundled with Choreonoid, and both options are
ONby default, so it can usually be built as is. For details, see PhysX Plugin.
ENABLE_MUJOCO / BUILD_MUJOCO_PLUGIN
Builds the MuJoCo plugin, which makes it possible to use MuJoCo, an open-source physics engine, in simulation. A prebuilt MuJoCo library is bundled with Choreonoid, and both options are
ONby default, so it can usually be built as is. For details, see MuJoCo Plugin.
BUILD_ODE_PLUGIN
Builds the ODE plugin. This plugin makes it possible to use Open Dynamics Engine (ODE), an open-source dynamics library, as a physics engine for simulation. ODE must be installed to use it. When ODE is installed, it is automatically detected and this option becomes ON by default. The Ubuntu package installation script also installs ODE. For details, see ODE Plugin.
BUILD_BULLET_PLUGIN
Builds the Bullet plugin. This plugin makes it possible to use Bullet Physics, an open-source physics library, as a physics engine for simulation. Bullet must be installed to use it. Like ODE, Bullet is also installed by the Ubuntu package installation script. When Bullet is installed, it is automatically detected and this option becomes ON by default. For details, see Bullet Plugin.
BUILD_AGX_DYNAMICS_PLUGIN
Builds the AGX Dynamics plugin. AGX Dynamics is a commercial physics engine developed by Algoryx in Sweden, and this plugin makes it possible to use it for simulation. For details, see AGX Dynamics Plugin.
BUILD_MULTICOPTER_PLUGIN
Builds the Multicopter plugin. This plugin enables the simulation of multicopters. For details, see Multicopter Plugin.
BUILD_GL_VISION_SIMULATOR_PLUGIN
Builds the GL vision simulator plugin for simulating vision sensors. This is ON by default. For details, see Vision Sensor Simulation.
BUILD_GL_CAMERA_EFFECT_PLUGIN
Builds the GL camera effect plugin, which extends the GL vision simulator plugin so that various effects can be applied to simulated camera images. For details, see GL Camera Effect Plugin.
BUILD_LIVOX_MID360_PLUGIN
Builds the LivoxMid360 plugin for supporting the MID360, a LiDAR by Livox. It makes the MID360 available as a device and also supports its simulation. For details, see LivoxMid360 Plugin.
BUILD_SCENE_EFFECTS_PLUGIN
Builds the scene effects plugin. This plugin makes it possible to render effects such as fire and smoke in the scene. For details, see Scene Effects Plugin.
BUILD_POSE_SEQ_PLUGIN
Builds the PoseSeq plugin. This plugin provides the choreography function based on key poses. For details, see PoseSeq Plugin.
BUILD_BALANCER_PLUGIN
Builds the Balancer plugin. This plugin makes it possible to apply automatic balance correction in the choreography function. By using this function when choreographing a biped robot, you can create motions that (theoretically) do not fall over. For details, see Balancer Plugin.
BUILD_MOCAP_PLUGIN
A plugin for loading and displaying motion capture data. It currently supports motion capture data in the BVH format. For details, see Mocap Plugin.
BUILD_MEDIA_PLUGIN
Builds the media plugin. This plugin makes it possible to play various media files such as video and audio on Choreonoid. For details, see Media Plugin.
BUILD_TRAFFIC_CONTROL_PLUGIN
Builds the TrafficControl plugin. This plugin makes it possible to simulate various communication failures such as communication delay, bandwidth limitation, and packet loss. For details, see TrafficControl Plugin.
Other Options¶
Choreonoid has the following options in addition to those listed above. Some of them are not normally displayed in the menu-style CMake configuration tools, and are displayed only when switching to the Advanced Mode.
BUILD_MANIPULATOR_PLUGIN
BUILD_COMPETITION_PLUGIN
BUILD_PCL_PLUGIN
BUILD_OMPL_PLUGIN
BUILD_FCL_PLUGIN
BUILD_FFMPEG_PLUGIN
BUILD_BODY_MOTION_FILTER_PLUGIN
BUILD_SCENEEDIT_PLUGIN
ENABLE_CORBA
These options correspond to experimental or development-stage features, or infrastructure features for specific purposes. For these and any other options, if you do not know what an option is, it is basically recommended not to turn it ON.