A simple browser-based hexapod robot simulator built from first principles
source link: https://github.com/mithi/hexapod-robot-simulator
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
️ Mithi's Hexapod Robot Simulator
- A bare minimum browser-based hexapod robot simulator built from first principles ️
- If you like this project, consider buying me a few :coffee: cups of coffee . :two_hearts:
️ Preview
️ 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/
- Modify default settings with ./settings.py
- Dark Mode is the default - modify page styles with ./style_settings.py
:warning: Known Issues
- :exclamation: Priorities
- :exclamation: Help Wanted
- :exclamation: Bugs
- :exclamation: All
️ Conventions and Algorithms
- Definitions
- The Inverse Kinematics Algorithm used for this project
- How to find the ground contact points, tilt, and height of the hexapod
- How to make the hexapod step on the correct target ground contacts
- How to determine if the hexapod should twist and by how much
️ Screenshots
️ Notes
-
:exclamation: 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?
-
:exclamation: This implementation uses matrices, NOT quaternions. I'm aware that quaternions is far superior in every single way. In the (un)forseeable future, maybe?
-
:exclamation: Frankly, My IK algorithm isn't all that great, it's just something I came up with based on what I remember back in college plus browsing through the Mathematics Stack Exchange . It might not be the best, but it's 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 to be kind to one another shouldn't be controversial. And I shouldn't be afraid to say that.
Contributors
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK