Awesome Open Source
Awesome Open Source

Build Status codecov Code Climate HitCount License: MIT Code style: black PRs welcome! first-timers-only

Mithi's Hexapod Robot Simulator

Twisting turning and tilting Adjusting camera view


You might be interested in checking out my rewrite in Javascript, live at: , which is like 10000000x faster. If you'd like to build you're own user interface with Node, you can download the algorithm alone as a package in the npm registry: Hexapod Kinematics Library. There is also a "fork" modified where you can use the app to control a physical hexapod robot as you can see in the gif below.



ğŸŽ‰ Forward Kinematics Given the angles of each joint, what does the robot look like?
ğŸŽ‰ Inverse Kinematics What are the angles of each joint to make the robot look the way I want? Is it even possible? Why or why not?
ğŸŽ‰ Uniform Movements If all of the legs behaved the same way, how will the hexapod robot as a whole behave?
ğŸŽ‰ Customizability Set the dimensions and shape of the robot's body and legs. (6 parameters)
ğŸŽ‰ Usability Control the camera view, pan, tilt, zoom, whatever.
ğŸŽ‰ Simplicity Minimal dependencies. Depends solely on Numpy for calculations. Uses only Plotly Dash for plotting, Dash can be safely replaced if a better 3d plotting library is available.
❗ Stability Check (WIP) If we pose the robot in a particular way, will it fall over?
❗ Fast Okay, it's not as fast as I wanted, but when run locally, it's okay
❗ Bug-free Fine, right now there's still room for improvement
❗ Well-tested Yeah, I need to compile test cases first


image image
image image


  • [x] Python 3.8.1
  • [x] Plotly Dash 1.18.1
  • [x] Plotly Dash Daq 0.5.0
  • [x] Numpy 1.19.5
  • [x] See also ./requirements.txt


$ python
Running on



More Information

Check the Wiki for more additional information

🤗 Contributors

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
python (55,543) 
hacktoberfest (4,276) 
robotics (351) 
robot (153) 
simulator (125) 
dash (100) 
plotly (69) 
plotly-dash (31) 
inverse-kinematics (22) 
kinematics (21)