whatisgithub

What is pybullet-geneticalgorithm?

serdarselimys/pybullet-geneticalgorithm — explained in plain English

Analysis updated 2026-05-18

0PythonAudience · researcherComplexity · 3/5LicenseSetup · moderate

In one sentence

A genetic algorithm that trains a simulated six legged robot to walk in different directions using the PyBullet physics engine.

Mindmap

mindmap
  root((repo))
    What it does
      Evolves robot gaits
      Simulates with PyBullet
      Saves best results to CSV
    Tech stack
      Python
      PyBullet
      NumPy Pandas
    Use cases
      Learn genetic algorithms
      Study robot locomotion
      Tune walking gaits
    Audience
      Researchers
      Students

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run the genetic algorithm to find walking gaits for a simulated six legged robot.

USE CASE 2

Replay and compare the best evolved gaits visually in the PyBullet GUI.

USE CASE 3

Study how genetic algorithms tune parameters like step amplitude and frequency.

What is it built with?

PythonPyBulletNumPyPandas

How does it compare?

serdarselimys/pybullet-geneticalgorithm0xallam/my-recipe0xhassaan/nn-from-scratch
Stars00
LanguagePythonPythonPython
Last pushed2022-11-22
MaintenanceDormant
Setup difficultymoderatemoderatemoderate
Complexity3/52/54/5
Audienceresearchergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires Python 3.9+, a virtual environment, and pip installing pybullet, numpy, pandas, and tqdm.

You may remix and build on this for non-commercial purposes only, with credit given to the author.

So what is it?

PyBullet-GeneticAlgorithm is a Python project that teaches a simulated six legged robot, called HexaDog ZBD, how to walk using a genetic algorithm. A genetic algorithm is a method that starts with many random attempts, keeps the best performing ones, and combines and mutates them over many rounds until the results improve, similar to how breeding works in nature. The robot is simulated inside PyBullet, a physics simulation tool. The optimizer searches for the right step size and step frequency so the robot's walk matches a target speed, and it does this across four separate ways of moving: walking straight, walking sideways, walking diagonally, and spinning in place. Running the optimizer creates many virtual robots at once and tests them in parallel across the available processor cores, showing a progress bar as it works. Once finished, it writes the best result for every combination of mode and setting into a CSV file, a simple spreadsheet style data file. A second script then reads that CSV file and opens a visual window using PyBullet's graphical interface, replaying each of the optimized walking styles in order from best to worst, while printing details like distance covered, speed, and drift for each one to the terminal. To use the project, someone would clone the repository, set up a Python virtual environment, and install the required packages, which include pybullet, numpy, pandas, and tqdm. The optimizer script has many adjustable settings near the top of the file, such as population size, number of generations, and target speeds, so a user can tune how thorough or fast the search runs. The README notes that running with a visual window is much slower than running headless, so it recommends headless mode for actual optimization runs. The project has no GitHub stars yet and is licensed under Creative Commons Attribution NonCommercial 4.0, meaning it can be reused and adapted with credit given, but not for commercial purposes.

Copy-paste prompts

Prompt 1
Help me set up a Python virtual environment and install the requirements for PyBullet-GeneticAlgorithm.
Prompt 2
Explain how ZBD_genetic_algorithim_opt.py evolves gaits for the HexaDog ZBD robot.
Prompt 3
Walk me through the settings I should change to only optimize the spin walking mode.
Prompt 4
Show me how to use best_robots_replay.py to visualize the top results from gait_results.csv.

Frequently asked questions

What is pybullet-geneticalgorithm?

A genetic algorithm that trains a simulated six legged robot to walk in different directions using the PyBullet physics engine.

What language is pybullet-geneticalgorithm written in?

Mainly Python. The stack also includes Python, PyBullet, NumPy.

What license does pybullet-geneticalgorithm use?

You may remix and build on this for non-commercial purposes only, with credit given to the author.

How hard is pybullet-geneticalgorithm to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is pybullet-geneticalgorithm for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.