Skip to content

codebase transfer of stoch from pybullet to raisim

Notifications You must be signed in to change notification settings

lok-i/raisim_stoch2

Repository files navigation

raisim_stoch2

codebase transfer of stoch from pybullet to raisim

Overview:

This project is an attempt towards shifting the codebase of Stoch2 from the existing pybullet platform to raisim, a simulation engine developed in ETH Zurich.In Stoch2 we take a learning based aprroach which is purely data driven.Hence,certain aspects of the simulation platform hugely affect the feasibility and transferability of the very solution that is being developed.One of the key elements that makes Raisim a viable alternative is its speed,as it could speed up the process of training by a great magnitude.Also, the direct deployment of the policies learnt by an agent in this simulation engine into a real world robot ANYmal looks quite appealing.

Experiments:

We tried compairing the speed of simulation with our robot model Stoch incorporated in the platform.We conducted seperate test with implementations in both C++ and python whose results are tabulated below.

Inference:

  • Raisim proves to be faster as promised and the collision bodies look far more accurate.
  • Though Raisim is faster,upon usage of raisimpy- a third party python wrapper for raisim the speed felldown by a considerable amount but still is faster than our previous bullet engine.

Tested with Stoch2:-

Platform Speed / frequency
Raisim(in C++) ~220kHz
bullet engine ~2637 Hz

Tested with ANYmal:-

Platform Speed / frequency (Hz)
Raisim(in python) ~110kHz
Raisim(in C++) ~86 kHz

Thus,as compared to our previous bullet engine Raisim proves to be 83 times faster.The drop upon usage of raisimpy is a minor tradeoff given the fast prototyping that we get in python.A more quantative study has been done by the very developers of this platform(SimBenchmark).

Ongoing work:

  • Development of a OpenAI Gym based environment for conducting our tests and speed up our experimentaion
  • Trying out different approaches to account for the lower speed upon the usage of raisimpy.

General Instructions:

  • The repo could be directly downloaded and built using cmake if the required libraries are installed.(raisimlib,raisimOgre)
  • The python implementations could be directly run by python if the module raisimpy is installed.

About

codebase transfer of stoch from pybullet to raisim

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published