A Library of Lower Fidelity Dynamics Models (LFDMs) For On-Road Vehicle Dynamics Targeting Faster Than Real-Time Applications
A Library of Lower Fidelity Dynamics Models (LFDMs) For On-Road Vehicle Dynamics Targeting Faster Than Real-Time Applications - Published in JOSS (2024)
Science Score: 100.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 7 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
2 of 4 committers (50.0%) from academic institutions -
✓Institutional organization owner
Organization uwsbel has institutional domain (sbel.wisc.edu) -
✓JOSS paper metadata
Published in Journal of Open Source Software
Scientific Fields
Repository
A library of fast and accurate low fidelity dynamic models for applications in robotics
Basic Info
- Host: GitHub
- Owner: uwsbel
- License: mit
- Language: C++
- Default Branch: main
- Size: 3.37 MB
Statistics
- Stars: 10
- Watchers: 3
- Forks: 4
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
Fast and Accurate Low Fidelity Dynamic Models for Robotics
Overview
This repository hosts a collection of low fidelity dynamic models, optimized for speed and efficiency, and primarily designed for robotics applications. It features models for wheeled robots, including vehicles, and is equipped with integrators (both half-implicit and implicit, utilizing Sundials) for simulating these models from a given initial state.
Using CMake, the user can choose to build the models to execute on the CPU or NVIDIA GPU cards. The CPU models are implemented in C++, whereas the GPU models utilize CUDA. A Python API is also available, provided through SWIG-wrapped C++ models.
Key Features
High-Speed Performance: Models surpass real-time processing speeds. For instance, the 18 Degrees of Freedom (DOF) model achieves 2000x faster performance than real-time on standard CPUs, with an integration timestep of
1e-3s.GPU Optimization for Scalability: The GPU models are adept at parallel simulations of multiple vehicles. The 18 DOF GPU model, for example, can simulate 300,000 vehicles in real-time on an NVIDIA A100 GPU. Note: The GPU models are only available for Nvidia GPUs.
Python API: The SWIG-wrapped Python version maintains significant speed, being only 8 times slower than the C++ models, thereby offering Python's ease of use with C++ efficiency.
Advanced Analysis with Sundials: The CPU models support Forward Sensitivity Analysis (FSA) for select parameters. The use of a half-implicit integrator allows easy access to Jacobians of the system's RHS in relation to states and controls, beneficial for gradient-based Model Predictive Control (MPC) methods.
Comprehensive Vehicle Dynamics Simulation: Including models for the engine, powertrain, and torque converter, these simulations closely replicate actual vehicles. Users also have a choice between two semi-empirical TMeasy tire models, noted for their accuracy and performance at high vehicle speeds.
User-Friendly Configuration: Parameters for the models can be set dynamically at runtime through JSON files.
This library seeks to establish the right balance between speed and accuracy in robotics simulation, especially in the context of vehicle dynamics.
How do I get started?
Please see the instructions in wheeledvehiclemodels for details on how to build and run the models.
Repository Structure
Several sub-folders contain each the source code for a vehicle model and the numerical integrator (time stepper) that runs it. CMake configurations have been set up to help with building demos, enabling the user to quickly kick off a simulation. The main repo folders are as follows:
- docs: Documentation related to the dynamic models and their usage. See README for instructions to build the docs locally.
- wheeledvehiclemodels: Contains subdirectories for different DOF models for wheeled vehicles:
- 11dof: CPU version for the 11 DOF wheeled vehicle model. See README for use instructions.
- 11dof-gpu: GPU version for the 11 DOF wheeled vehicle model. See README for use instructions.
- 18dof: CPU version for the 18 DOF wheeled vehicle model. See README for use instructions.
- 18dof-gpu: GPU version for the 18 DOF wheeled vehicle model. See README for use instructions.
- 24dof: CPU version for the 24 DOF wheeled vehicle model. See README for use instructions.
- 24dof-gpu: GPU version for the 24 DOF wheeled vehicle model. See README for use instructions.
- third_party/rapidjson: Third-party libraries and dependencies, specifically
rapidjsonfor JSON handling. - utils: Utility scripts and tools supporting the dynamic models. Each vehicle model has its own (although very similar) CMake configuration and build procedure. README files are available in each model sub-directory describing this procedure.
If you are interested to contribute, see Contribution Guidelines
Link to paper
Owner
- Name: Simulation-Based Engineering Laboratory
- Login: uwsbel
- Kind: organization
- Email: uwsbel@gmail.com
- Website: http://sbel.wisc.edu
- Repositories: 34
- Profile: https://github.com/uwsbel
Lab at the University of Wiscosin-Madison
JOSS Publication
A Library of Lower Fidelity Dynamics Models (LFDMs) For On-Road Vehicle Dynamics Targeting Faster Than Real-Time Applications
Authors
Tags
CUDA Vehicle Dynamics Controls Reinforcement LearningCitation (CITATION.cff)
cff-version: "1.2.0"
authors:
- family-names: Unjhawala
given-names: Huzaifa Mustafa
orcid: "https://orcid.org/0009-0004-4273-1212"
- family-names: Mahajan
given-names: Ishaan
orcid: "https://orcid.org/0000-0001-9981-6699"
- family-names: Serban
given-names: Radu
orcid: "https://orcid.org/0000-0002-4219-905X"
- family-names: Negrut
given-names: Dan
orcid: "https://orcid.org/0000-0003-1565-2784"
contact:
- family-names: Unjhawala
given-names: Huzaifa Mustafa
orcid: "https://orcid.org/0009-0004-4273-1212"
doi: 10.5281/zenodo.12703022
message: If you use this software, please cite our article in the
Journal of Open Source Software.
preferred-citation:
authors:
- family-names: Unjhawala
given-names: Huzaifa Mustafa
orcid: "https://orcid.org/0009-0004-4273-1212"
- family-names: Mahajan
given-names: Ishaan
orcid: "https://orcid.org/0000-0001-9981-6699"
- family-names: Serban
given-names: Radu
orcid: "https://orcid.org/0000-0002-4219-905X"
- family-names: Negrut
given-names: Dan
orcid: "https://orcid.org/0000-0003-1565-2784"
date-published: 2024-07-12
doi: 10.21105/joss.06548
issn: 2475-9066
issue: 99
journal: Journal of Open Source Software
publisher:
name: Open Journals
start: 6548
title: A Library of Lower Fidelity Dynamics Models (LFDMs) For On-Road
Vehicle Dynamics Targeting Faster Than Real-Time Applications
type: article
url: "https://joss.theoj.org/papers/10.21105/joss.06548"
volume: 9
title: A Library of Lower Fidelity Dynamics Models (LFDMs) For On-Road
Vehicle Dynamics Targeting Faster Than Real-Time Applications
GitHub Events
Total
- Watch event: 2
- Fork event: 1
Last Year
- Watch event: 2
- Fork event: 1
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Huzaifg | h****a@g****m | 146 |
| Ishaan | i****n@g****m | 21 |
| Daniel S. Katz | d****z@i****g | 4 |
| Dan Negrut | n****t@w****u | 4 |
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 11
- Total pull requests: 13
- Average time to close issues: 11 days
- Average time to close pull requests: about 5 hours
- Total issue authors: 3
- Total pull request authors: 3
- Average comments per issue: 0.45
- Average comments per pull request: 0.0
- Merged pull requests: 13
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- Huzaifg (9)
- joeybernard (1)
- ishaanamahajan (1)
Pull Request Authors
- Huzaifg (17)
- danielskatz (5)
- ishaanamahajan (2)
