Content-Length: 368075 | pFad | http://github.com/mithi/hexapod-robot-simulator/tree/dc7e04fc60a9c89b35d7cdff6dec0d969c352244

95 GitHub - mithi/hexapod-robot-simulator at dc7e04fc60a9c89b35d7cdff6dec0d969c352244
Skip to content

mithi/hexapod-robot-simulator

Repository files navigation

Mithi's Hexapod Robot Simulator

Announcement

  • I'm currently rewriting this Javascript, it will be fully client-side app. It's 80 percent done. All computations would be done on the browser, zero round-trip delays, so it should be extremely fast. I've also realized a lot of ways to improve the code in the process of rewriting, so I'll be incorporating those to this project as well, in the (hopefully near) future. While the functionality won't change, there will be significant changes in the implementation.

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

Conventions and Algorithms

Screenshots

Kinematics
IK

Notes

  • Now live on https://hexapod-robot-simulator.herokuapp.com ! BUT (and a big one) I highly suggest that you run it locally. When run locally, it's pretty speedy! On the other hand, the link above is barely usable. Might convert this to to be a fully client-side Javascript app later, maybe?

  • This implementation uses matrices, NOT quaternions. I'm aware that quaternions is far superior in every single way. In the (un)forseeable future, maybe?

  • Honestly, My IK algorithm is just something I came up with based on what I remember back in college plus browsing through the Mathematics Stack Exchange. It's just the most intuitive that I can think of. If you want something closer to the state-of-the-art, maybe checkout Unity's Fast IK or ROS IKFast.

  • I believe that the idea that it's best if we are kind to one another shouldn't be controversial. And I shouldn't be afraid to say that. Contributor Covenant

🤗 Contributors









ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: http://github.com/mithi/hexapod-robot-simulator/tree/dc7e04fc60a9c89b35d7cdff6dec0d969c352244

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy