-
Chrono DEM-Engine: A Discrete Element Method dual-GPU simulator with customizable contact forces and element shape
Authors:
Ruochun Zhang,
Bonaventura Tagliafierro,
Colin Vanden Heuvel,
Shlok Sabarwal,
Luning Bakke,
Yulong Yue,
Xin Wei,
Radu Serban,
Dan Negrut
Abstract:
This paper introduces DEM-Engine, a new submodule of Project Chrono, that is designed to carry out Discrete Element Method (DEM) simulations. Based on spherical primitive shapes, DEM-Engine can simulate polydisperse granular materials and handle complex shapes generated as assemblies of primitives, referred to as clumps. DEM-Engine has a multi-tier parallelized structure that is optimized to opera…
▽ More
This paper introduces DEM-Engine, a new submodule of Project Chrono, that is designed to carry out Discrete Element Method (DEM) simulations. Based on spherical primitive shapes, DEM-Engine can simulate polydisperse granular materials and handle complex shapes generated as assemblies of primitives, referred to as clumps. DEM-Engine has a multi-tier parallelized structure that is optimized to operate simultaneously on two GPUs. The code uses custom-defined data types to reduce memory footprint and increase bandwidth. A novel "delayed contact detection" algorithm allows the decoupling of the contact detection and force computation, thus splitting the workload into two asynchronous GPU streams. DEM-Engine uses just-in-time compilation to support user-defined contact force models. This paper discusses its C++ and Python interfaces and presents a variety of numerical tests, in which impact forces, complex-shaped particle flows, and a custom force model are validated considering well-known benchmark cases. Additionally, the full potential of the simulator is demonstrated for the investigation of extraterrestrial rover mobility on granular terrain. The chosen case study demonstrates that large-scale co-simulations (comprising 11 million elements) spanning 15 seconds, in conjunction with an external multi-body dynamics system, can be efficiently executed within a day. Lastly, a performance test suggests that DEM-Engine displays linear scaling up to 150 million elements on two NVIDIA A100 GPUs.
△ Less
Submitted 9 November, 2023; v1 submitted 8 November, 2023;
originally announced November 2023.
-
A GPU-accelerated simulator for the DEM analysis of granular systems composed of clump-shaped elements
Authors:
Ruochun Zhang,
Colin Vanden Heuvel,
Alexander Schepelmann,
Arno Rogg,
Dimitrios Apostolopoulos,
Samuel Chandler,
Radu Serban,
Dan Negrut
Abstract:
We discuss the use of the Discrete Element Method (DEM) to simulate the dynamics of granular systems made up of elements with nontrivial geometries. The DEM simulator is GPU accelerated and can handle elements whose shape is defined as the union with overlap of diverse sets of spheres with user-specified radii. The simulator can also handle complex materials since each sphere in an element can hav…
▽ More
We discuss the use of the Discrete Element Method (DEM) to simulate the dynamics of granular systems made up of elements with nontrivial geometries. The DEM simulator is GPU accelerated and can handle elements whose shape is defined as the union with overlap of diverse sets of spheres with user-specified radii. The simulator can also handle complex materials since each sphere in an element can have its own Young's modulus $E$, Poisson ratio $ν$, friction coefficient $μ$, and coefficient of restitution CoR. To demonstrate the simulator, we produce a "digital simulant" (DS), a replica of the GRC-1 lunar simulant. The DS follows an element size distribution similar but not identical to that of GRC-1. We validate the predictive attributes of the simulator via several numerical experiments: repose angle, cone penetration, drawbar pull, and rover incline-climbing tests. Subsequently, we carry out a sensitivity analysis to gauge how the slope vs. slip curves change when the element shape, element size, and friction coefficient change. The paper concludes with a VIPER rover simulation that confirms a recently proposed granular scaling law. The simulation involves more than 11 million elements composed of more than 34 million spheres of different radii. The simulator works in the Chrono framework and utilizes two GPUs concurrently. The GPU code for the simulator and all numerical experiments discussed are open-source and available on GitHub for reproducibility studies and unfettered use and distribution.
△ Less
Submitted 7 July, 2023;
originally announced July 2023.
-
Using a Bayesian-Inference Approach to Calibrating Models for Simulation in Robotics
Authors:
Huzaifa Mustafa Unjhawala,
Ruochun Zhang,
Wei Hu,
**long Wu,
Radu Serban,
Dan Negrut
Abstract:
In robotics, simulation has the potential to reduce design time and costs, and lead to a more robust engineered solution and a safer development process. However, the use of simulators is predicated on the availability of good models. This contribution is concerned with improving the quality of these models via calibration, which is cast herein in a Bayesian framework. First, we discuss the Bayesi…
▽ More
In robotics, simulation has the potential to reduce design time and costs, and lead to a more robust engineered solution and a safer development process. However, the use of simulators is predicated on the availability of good models. This contribution is concerned with improving the quality of these models via calibration, which is cast herein in a Bayesian framework. First, we discuss the Bayesian machinery involved in model calibration. Then, we demonstrate it in one example: calibration of a vehicle dynamics model that has low degree of freedom count and can be used for state estimation, model predictive control, or path planning. A high fidelity simulator is used to emulate the ``experiments'' and generate the data for the calibration. The merit of this work is not tied to a new Bayesian methodology for calibration, but to the demonstration of how the Bayesian machinery can establish connections among models in computational dynamics, even when the data in use is noisy. The software used to generate the results reported herein is available in a public repository for unfettered use and distribution.
△ Less
Submitted 11 May, 2023;
originally announced May 2023.
-
Camera simulation for robot simulation: how important are various camera model components?
Authors:
Asher Elmquist,
Radu Serban,
Dan Negrut
Abstract:
Modeling cameras for the simulation of autonomous robotics is critical for generating synthetic images with appropriate realism to effectively evaluate a perception algorithm in simulation. In many cases though, simulated images are produced by traditional rendering techniques that exclude or superficially handle processing steps and aspects encountered in the actual camera pipeline. The purpose o…
▽ More
Modeling cameras for the simulation of autonomous robotics is critical for generating synthetic images with appropriate realism to effectively evaluate a perception algorithm in simulation. In many cases though, simulated images are produced by traditional rendering techniques that exclude or superficially handle processing steps and aspects encountered in the actual camera pipeline. The purpose of this contribution is to quantify the degree to which the exclusion from the camera model of various image generation steps or aspects affect the sim-to-real gap in robotics. We investigate what happens if one ignores aspects tied to processes from within the physical camera, e.g., lens distortion, noise, and signal processing; scene effects, e.g., lighting and reflection; and rendering quality. The results of the study demonstrate, quantitatively, that large-scale changes to color, scene, and location have far greater impact than model aspects concerned with local, feature-level artifacts. Moreover, we show that these scene-level aspects can stem from lens distortion and signal processing, particularly when considering white-balance and auto-exposure modeling.
△ Less
Submitted 15 November, 2022;
originally announced November 2022.
-
ART/ATK: A research platform for assessing and mitigating the sim-to-real gap in robotics and autonomous vehicle engineering
Authors:
Asher Elmquist,
Aaron Young,
Thomas Hansen,
Sriram Ashokkumar,
Stefan Caldararu,
Abhiraj Dashora,
Ishaan Mahajan,
Harry Zhang,
Luning Fang,
He Shen,
Xiangru Xu,
Radu Serban,
Dan Negrut
Abstract:
We discuss a platform that has both software and hardware components, and whose purpose is to support research into characterizing and mitigating the sim-to-real gap in robotics and vehicle autonomy engineering. The software is operating-system independent and has three main components: a simulation engine called Chrono, which supports high-fidelity vehicle and sensor simulation; an autonomy stack…
▽ More
We discuss a platform that has both software and hardware components, and whose purpose is to support research into characterizing and mitigating the sim-to-real gap in robotics and vehicle autonomy engineering. The software is operating-system independent and has three main components: a simulation engine called Chrono, which supports high-fidelity vehicle and sensor simulation; an autonomy stack for algorithm design and testing; and a development environment that supports visualization and hardware-in-the-loop experimentation. The accompanying hardware platform is a 1/6th scale vehicle augmented with reconfigurable mountings for computing, sensing, and tracking. Since this vehicle platform has a digital twin within the simulation environment, one can test the same autonomy perception, state estimation, or controls algorithms, as well as the processors they run on, in both simulation and reality. A demonstration is provided to show the utilization of this platform for autonomy research. Future work will concentrate on augmenting ART/ATK with support for a full-sized Chevy Bolt EUV, which will be made available to this group in the immediate future.
△ Less
Submitted 9 November, 2022;
originally announced November 2022.
-
Evaluating a GAN for enhancing camera simulation for robotics
Authors:
Asher Elmquist,
Radu Serban,
Dan Negrut
Abstract:
Given the versatility of generative adversarial networks (GANs), we seek to understand the benefits gained from using an existing GAN to enhance simulated images and reduce the sim-to-real gap. We conduct an analysis in the context of simulating robot performance and image-based perception. Specifically, we quantify the GAN's ability to reduce the sim-to-real difference in image perception in robo…
▽ More
Given the versatility of generative adversarial networks (GANs), we seek to understand the benefits gained from using an existing GAN to enhance simulated images and reduce the sim-to-real gap. We conduct an analysis in the context of simulating robot performance and image-based perception. Specifically, we quantify the GAN's ability to reduce the sim-to-real difference in image perception in robotics. Using semantic segmentation, we analyze the sim-to-real difference in training and testing, using nominal and enhanced simulation of a city environment. As a secondary application, we consider use of the GAN in enhancing an indoor environment. For this application, object detection is used to analyze the enhancement in training and testing. The results presented quantify the reduction in the sim-to-real gap when using the GAN, and illustrate the benefits of its use.
△ Less
Submitted 14 September, 2022;
originally announced September 2022.
-
A performance contextualization approach to validating camera models for robot simulation
Authors:
Asher Elmquist,
Radu Serban,
Dan Negrut
Abstract:
The focus of this contribution is on camera simulation as it comes into play in simulating autonomous robots for their virtual prototy**. We propose a camera model validation methodology based on the performance of a perception algorithm and the context in which the performance is measured. This approach is different than traditional validation of synthetic images, which is often done at a pixel…
▽ More
The focus of this contribution is on camera simulation as it comes into play in simulating autonomous robots for their virtual prototy**. We propose a camera model validation methodology based on the performance of a perception algorithm and the context in which the performance is measured. This approach is different than traditional validation of synthetic images, which is often done at a pixel or feature level, and tends to require matching pairs of synthetic and real images. Due to the high cost and constraints of acquiring paired images, the proposed approach is based on datasets that are not necessarily paired. Within a real and a simulated dataset, A and B, respectively, we find subsets Ac and Bc of similar content and judge, statistically, the perception algorithm's response to these similar subsets. This validation approach obtains a statistical measure of performance similarity, as well as a measure of similarity between the content of A and B. The methodology is demonstrated using images generated with Chrono::Sensor and a scaled autonomous vehicle, using an object detector as the perception algorithm. The results demonstrate the ability to quantify (i) differences between simulated and real data; (ii) the propensity of training methods to mitigate the sim-to-real gap; and (iii) the context overlap between two datasets.
△ Less
Submitted 1 August, 2022;
originally announced August 2022.
-
A software toolkit and hardware platform for investigating and comparing robot autonomy algorithms in simulation and reality
Authors:
Asher Elmquist,
Aaron Young,
Ishaan Mahajan,
Kyle Fahey,
Abhiraj Dashora,
Sriram Ashokkumar,
Stefan Caldararu,
Victor Freire,
Xiangru Xu,
Radu Serban,
Dan Negrut
Abstract:
We describe a software framework and a hardware platform used in tandem for the design and analysis of robot autonomy algorithms in simulation and reality. The software, which is open source, containerized, and operating system (OS) independent, has three main components: a ROS 2 interface to a C++ vehicle simulation framework (Chrono), which provides high-fidelity wheeled/tracked vehicle and sens…
▽ More
We describe a software framework and a hardware platform used in tandem for the design and analysis of robot autonomy algorithms in simulation and reality. The software, which is open source, containerized, and operating system (OS) independent, has three main components: a ROS 2 interface to a C++ vehicle simulation framework (Chrono), which provides high-fidelity wheeled/tracked vehicle and sensor simulation; a basic ROS 2-based autonomy stack for algorithm design and testing; and, a development ecosystem which enables visualization, and hardware-in-the-loop experimentation in perception, state estimation, path planning, and controls. The accompanying hardware platform is a 1/6th scale vehicle augmented with reconfigurable mountings for computing, sensing, and tracking. Its purpose is to allow algorithms and sensor configurations to be physically tested and improved. Since this vehicle platform has a digital twin within the simulation environment, one can test and compare the same algorithms and autonomy stack in simulation and reality. This platform has been built with an eye towards characterizing and managing the simulation-to-reality gap. Herein, we describe how this platform is set up, deployed, and used to improve autonomy for mobility applications.
△ Less
Submitted 13 June, 2022;
originally announced June 2022.
-
Sensitivity Analysis for Hybrid Systems and Systems with Memory
Authors:
Radu Serban,
Antonio Recuero
Abstract:
We present an adjoint sensitivity method for hybrid discrete -- continuous systems, extending previously published forward sensitivity methods. We treat ordinary differential equations and differential-algebraic equations of index up to two (Hessenberg) and provide sufficient solvability conditions for consistent initialization and state transfer at mode switching points, for both the sensitivity…
▽ More
We present an adjoint sensitivity method for hybrid discrete -- continuous systems, extending previously published forward sensitivity methods. We treat ordinary differential equations and differential-algebraic equations of index up to two (Hessenberg) and provide sufficient solvability conditions for consistent initialization and state transfer at mode switching points, for both the sensitivity and adjoint systems. Furthermore, we extend the analysis to so-called hybrid systems with memory where the dynamics of any given mode depend explicitly on the states at the last mode transition point. We present and discuss several numerical examples, including a computational mechanics problem based on the so-called exponential model constitutive material law for steel reinforcement under cyclic loading.
△ Less
Submitted 18 April, 2019;
originally announced April 2019.
-
Analysis of A Splitting Approach for the Parallel Solution of Linear Systems on GPU Cards
Authors:
Ang Li,
Radu Serban,
Dan Negrut
Abstract:
We discuss an approach for solving sparse or dense banded linear systems ${\bf A} {\bf x} = {\bf b}$ on a Graphics Processing Unit (GPU) card. The matrix ${\bf A} \in {\mathbb{R}}^{N \times N}$ is possibly nonsymmetric and moderately large; i.e., $10000 \leq N \leq 500000$. The ${\it split\ and\ parallelize}$ (${\tt SaP}$) approach seeks to partition the matrix ${\bf A}$ into diagonal sub-blocks…
▽ More
We discuss an approach for solving sparse or dense banded linear systems ${\bf A} {\bf x} = {\bf b}$ on a Graphics Processing Unit (GPU) card. The matrix ${\bf A} \in {\mathbb{R}}^{N \times N}$ is possibly nonsymmetric and moderately large; i.e., $10000 \leq N \leq 500000$. The ${\it split\ and\ parallelize}$ (${\tt SaP}$) approach seeks to partition the matrix ${\bf A}$ into diagonal sub-blocks ${\bf A}_i$, $i=1,\ldots,P$, which are independently factored in parallel. The solution may choose to consider or to ignore the matrices that couple the diagonal sub-blocks ${\bf A}_i$. This approach, along with the Krylov subspace-based iterative method that it preconditions, are implemented in a solver called ${\tt SaP::GPU}$, which is compared in terms of efficiency with three commonly used sparse direct solvers: ${\tt PARDISO}$, ${\tt SuperLU}$, and ${\tt MUMPS}$. ${\tt SaP::GPU}$, which runs entirely on the GPU except several stages involved in preliminary row-column permutations, is robust and compares well in terms of efficiency with the aforementioned direct solvers. In a comparison against Intel's ${\tt MKL}$, ${\tt SaP::GPU}$ also fares well when used to solve dense banded systems that are close to being diagonally dominant. ${\tt SaP::GPU}$ is publicly available and distributed as open source under a permissive BSD3 license.
△ Less
Submitted 25 September, 2015;
originally announced September 2015.