Skip to content

mithi/hexapod-robot-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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

Announcement

You might be interested in checking out my rewrite in Javascript, live at: https://hexapod.netlify.app/ , 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.

drawing

Features

STATUS FEATURE DESCRIPTION
πŸŽ‰ 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

Preview

image image
image image

Requirements

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

Run

$ python index.py
Running on http://127.0.0.1:8050/

Screenshots

Kinematics
IK

More Information

Check the Wiki for more additional information

πŸ€— Contributors