Skip to content

yarhoslavme/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 contributions welcome first-timers-only

Mithi's Hexapod Robot Simulator

Announcement

  • Here's my rewrite in Javascript (WIP), a fully client-side app. I've also realized a lot of ways to improve the code in the process of rewriting, I'm planning to incorporate those learnings to this project as well, in the (hopefully near) future. While the functionality won't change, I'm planning to change the implementation significantly.

Features

Twisting turning and tilting Adjusting camera view
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.10.0
  • Plotly Dash Daq 0.4.0
  • Numpy 1.18.1
  • See also ./requirements.txt

Run

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

⚠️ Known Issues

Screenshots

Kinematics
IK

Conventions and Algorithms

Notes

πŸ€— Contributors

About

A simple browser-based hexapod robot simulator built from first principles

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 84.3%
  • CSS 15.4%
  • Shell 0.3%