simulations

Designing a 5521-MG servo

Haven't touched Fusion 360 in a while, but it seems as easy and straightforward to use as it was ever. Designed a 5521-MG servo motor model to be used in the linkage design for the Droid Project.

Droid Project: Completed Simulation Body

Currently finished coupling 6 legs to a simulation body, with the leg inverse kinematics functional for all of the legs. The remaining elements to implement would be select-able individual joint controls for each leg and the body kinematics itself.

Then I completed the inverse kinematics that allows for the coupling between the body of the robot and its 6 corresponding legs (arranged with 60 degrees between each leg). I won’t bother explaining the mathematics going into these calculations in detail as they have been outlined in Oscar Liang’s blog post and the equations from TogleFritz’s Lair.

The resultant equations needed a bit of tweaking, especially with the orientation of the coordinate plane and the direction of certain rotations. Additionally, the equations from TogleFritz’s Lair are unnecessarily redundant when implemented in code. I added some optimizations and loop logic to help make the equations less cumbersome to use.

void Droid::ikCalculate() {
  const float increment = M_

Droid Project: Introduction

The Droid project, is a project where I am attempting to design and build a hexapod robot from scratch. Given, that I have no prior experience dealing with the forward and inverse kinematics problems (FK & IK) that need to be solved, I resolved to using Cinder and ImGUI to create a simulation of the hexapod first.

So far, I am still in the early stages of the project, but I have come up with a simulation for a single leg of the hexapod. With much help from Oscar Liang, and his informative blog series on the kinematics of hexapods, I managed to get the IK for a single leg to work.

Now, the next part would be to get the full body IK to work, and figure out how to implement basic movements. And then we can finally take a look at the hardware we have to work with :’)