Chrono::Sensor is an optional module that enables the modeling and simulation of sensors for the purpose of simulating robotics and autonomous agents within Chrono.
Features
The SENSOR module allows users to model and simulate sensors for robotics and autonomous agents.
For more detail, read the Chrono::Sensor section of the reference manual.
Required Dependencies
- To run applications based on this module, the following are required:
- NVIDIA GPU, Maxwell or newer - capable of running OptiX
- NVIDIA Graphics driver R580 or newer
- To build applications based on this module, the following are required:
CHRONO_HAS_OPTIX in the configuration header ChConfigSensor.h. Building instructions
- Repeat the instructions for the full installation, but when you see the CMake window, you must add the following steps:
- Set the
CH_ENABLE_MODULE_SENSORas 'on', then press 'Configure' (to refresh the variable list) - Set the
OptiX_INSTALL_DIRandOptiX_ROOT_DIRvariables to the root of the OptiX directory installed on the system (directory that includesinclude/) and press 'Configure' to refresh the variable list. If a refresh does not correctly set the following variable:OptiX_Includemanually set it accordingly (e.g.OptiX_INSTALL_DIR/include). - Set all the values for
GLEW_...,GLFW_...to proper directory or file values if not automatically found by cmake. - Optionally set
CH_USE_CUDA_NVRTCto 'on' to enable runtime compilation of the Optix RT Kernels. Press 'Configure' to refresh the variable list. If set to 'off', the RT Kernels will be compiled at runtime. Depending on the system, you may need to setCMAKE_CUDA_ARCHITECTURESto the specific target architecture since this will result in RT Kernels being compiled to PTX. - Press 'Configure' again, then 'Generate', and proceed as usual in the installation instructions.
NOTE: if linking to Chrono::Sensor install from an external project, make sure to set the directory of the install location where the shader code (compiled ptx code or shaders/*.cu files) is located. This should be set at the top of any external code that will use Chrono::Sensor from an install location.
How to use it
- Consult the reference manual.
- Look at the API section of this module for documentation about classes and functions.
- Look at the C++ and Python source of demos to learn how to use the functions of this module.
MacOS support
This module is not supported on the Mac.