Code Monkey home page Code Monkey logo

raisim_dart_benchmarks's Introduction

RaiSim vs DART timing Benchmarks

This repo contains a few benchmarks that compare RaiSim to DART robotic simulators.

Benchmarks

All simulations are ran for 10 seconds of simulated time with an integration time-step of 0.001 seconds. We replicated each experiment 10 times on a laptop CPU.

Quick Analysis

The exact timings are not important, but the relative timings showcase that RaiSim is consistently faster than DART (ranging from 5-30x times faster depending on the number of contacts and the scene). It is normal that RaiSim is faster than DART when there are contacts, since RaiSim implements a novel idea about contact dynamics solving that is supposed to be faster. It is interesting to note though that RaiSim is much faster than DART even in contact-free scenarios by at least 5x.

ANYmal Quadruped

Fixed-base Simulation

You can find this benchmark in anymal_benchmark.cpp file. The simulation consists of an ANYmal quadruped robot fixed with a weld joint, and that has to keep the current joint configuration. The robot is torque-controlled with a PD controller. There are no contacts involved.

Bechmark results

RaiSim average running time for 10s of simulation: 0.0405115s (real-time factor: 246.844)

DART average running time for 10s of simulation: 0.215082s (real-time factor: 46.4938)

RaiSim is 5.30917 times faster than DART.

Floating-base Simulation

You can find this benchmark in anymal_contacts_benchmark.cpp file. The simulation consists of four (4) ANYmal quadruped robots that have to keep the current joint configuration in order to stay standing (interacting with a ground). The robots are torque-controlled with a PD controller. This simulation involves contacts.

Bechmark results

RaiSim average running time for 10s of simulation: 0.438723s (real-time factor: 22.7934)

DART average running time for 10s of simulation: 3.55465s (real-time factor: 2.81322)

RaiSim is 8.10225 times faster than DART.

KUKA IIWA

You can find this benchmark in iiwa_benchmark.cpp file. The simulation consists of a KUKA IIWA 14 robot fixed with a weld joint, and that has to achieve a certain joint configuration starting from an upright position. The robot is torque-controlled with a PD controller. There are no contacts involved.

Bechmark results

RaiSim average running time for 10s of simulation: 0.0237632s (real-time factor: 420.819)

DART average running time for 10s of simulation: 0.122529s (real-time factor: 81.6136)

RaiSim is 5.15623 times faster than DART.

Six-legged Robot

You can find this benchmark in pexod_benchmark.cpp file. The simulation consists of four (4) simple 6-legged robots (pexod) that have to keep the current joint configuration in order to stay standing (interacting with a ground). The robots are torque-controlled with a PD controller. This simulation involves contacts.

Bechmark results

RaiSim average running time for 10s of simulation: 0.716966s (real-time factor: 13.9477)

DART average running time for 10s of simulation: 9.80957s (real-time factor: 1.01941)

RaiSim is 13.6821 times faster than DART.

Simple Objects

You can find this benchmark in objects_benchmark.cpp file. The simulation consists of multiple spheres and boxes that interact with each other and the ground. There is no controller; the objects are just following gravity. This simulation involves many contacts.

Bechmark results

RaiSim average running time for 10s of simulation: 1.21893s (real-time factor: 8.20393)

DART average running time for 10s of simulation: 37.7686s (real-time factor: 0.26477)

RaiSim is 30.9851 times faster than DART.

Compile and Run the Benchmarks

  • Install DART (we need also the Bullet-Collision) and RaiSim (in a local path)
  • mkdir build
  • cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/path/where/RaiSim/is/installed
  • make -j
  • The executables have the same names as the source files. They should be located inside the build folder.

raisim_dart_benchmarks's People

Contributors

costashatz avatar

Stargazers

 avatar Phil Chang avatar Raffaello Camoriano avatar Silvio Traversaro avatar Diego Ferigo avatar Vladimír Vondruš avatar

Watchers

James Cloos avatar  avatar Vassilis Vassiliades avatar Silvio Traversaro avatar Bernardo Fichera avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.