wynss / kesko

Experimental Robotics Simulator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


Kesko Logo

Kesko

Experimental robotics simulator written in Rust.

CI Action Status PyPI Version PyPI - Python Version GitHub

About The Project | Getting Started | PyKesko | Demo | Acknowledgments

About The Project

Kesko screenshot


Kesko is pre-release and in its infancy, quite far from useful (but perhaps a bit fun to play around with). Currently it's more an exploration in Rust and what is currently possible within its open-source community. But, as time goes on the goal is to create a modern robotics simulator that fulfills
  • Easiest simulator to get started with machine learning and robotics
  • Best simulator for procedurally generate new environments for training
  • Free and open-source
  • Good looking!

(back to top)

Getting Started

Kesko in not yet available on crates.io but you can clone the repo and run locally.

Prerequisites

Make sure you have Rust installed.

Installation

  1. Clone the repo
    git clone https://github.com/wynss/kesko.git
    
  2. Build and run the demo example
    cd kesko/kesko
    cargo run --bin kesko_demo --release

(back to top)

PyKesko

Kesko will have a python API built with PyO3 making it easy to integrate with popular deep/reinforcement learning frameworks such as PyTorch, Tensorflow. It will also integrate well with Gymnasium making it easy to use high quality implementation of RL algorithms like Stable Baselines3. Below is an example of a four legged model that has been trained to walk using Kesko's Gymnasium integration. The algorithm used was an implementation of Proximal Policy Optimization (PPO) from the Stable Baselines3 library. Trained agent that walks

Pre-release version

There is a pre-release version available of PyKesko, read more about how to use it here.

(back to top)

Demo

Thanks to WebAssembly support Kesko can be run in the browser, try it here Kesko Demo

(back to top)

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Toni Axelsson - @toniaxelsson

(back to top)

Acknowledgments

Many thanks to the awesome people building

(back to top)

About

Experimental Robotics Simulator

License:MIT License


Languages

Language:Rust 92.3%Language:Python 7.5%Language:HTML 0.2%