in ,

mithi / hexapod-robot-simulator, Hacker News

mithi / hexapod-robot-simulator, Hacker News
                    

        

  • A bare minimum browser-based hexapod robot simulator built from first principles 🕷️
  • If you like this project, consider buying me a few cups of coffee . 💕
  • 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

    Requ Requirements

    Well-tested Yeah, I need to compile test cases first

    • Python 3.8.1
    • Plotly Dash 1. . 0
    • Plotly Dash Daq 0.4.0
    • Numpy 1. .1
    • See also ./ requirements .txt

    $ python index.py Running on http: // 0.0.1: /

    • Modify default settings with ./ settings.py
    • Dark Mode is the default – modify page styles with ./ style_settings.py

    • ❗ Priorities
    • (Help Wanted)
    • (bugs)
    • All

      🕷️ Conventions and Algorithms

      • Definitions
        • (Linkage)
        • (VirtualHexapod)
    • 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
      • find_if_might_twist
      • find_twist_frame
      • Now live on
      • This implementation uses matrices, NOT
      • 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

      (🤗) Contributors

      • @ mithi
      • @ philippeitis
      •    (Read More)