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)

https://github.com/uwsbel/low-fidelity-dynamic-models

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

Engineering Computer Science - 45% confidence
Last synced: 6 months ago · JSON representation ·

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
Created over 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License Citation

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

  1. 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-3 s.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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 rapidjson for 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

Markdown: DOI

HTML: DOI badge

Owner

  • Name: Simulation-Based Engineering Laboratory
  • Login: uwsbel
  • Kind: organization
  • Email: uwsbel@gmail.com

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
Published
July 12, 2024
Volume 9, Issue 99, Page 6548
Authors
Huzaifa Mustafa Unjhawala ORCID
Mechanical Engineering, University of Wisconsin-Madison, Madison, USA
Ishaan Mahajan ORCID
Computer Science, University of Wisconsin-Madison, Madison, USA
Radu Serban ORCID
University of Wisconsin-Madison, Madison, USA
Dan Negrut ORCID
University of Wisconsin-Madison, Madison, USA
Editor
Daniel S. Katz ORCID
Tags
CUDA Vehicle Dynamics Controls Reinforcement Learning

Citation (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

All Time
  • Total Commits: 175
  • Total Committers: 4
  • Avg Commits per committer: 43.75
  • Development Distribution Score (DDS): 0.166
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email 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
Committer Domains (Top 20 + Academic)

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)
Top Labels
Issue Labels
Pull Request Labels