User Tools

Site Tools


projects:sand_drawing:work_logs:further_software

This is an old revision of the document!


What I want to accomplish

  • Do the inverse kinematics,
  • Improve the kinematics.

What I've done

Inverse Kinematics

This is a fancy term for “calculating the joint angles required to achieve a given tool position”. In our case the tool is the ball. I found a good guide to the maths at Applied Go. It's just some fancy trigonometry to calculate the angles for both arms. In order to integrate this logic with my specific robot I had to account for the fact that arm 2 rotates WRT arm 1 while arm 1 is moving.

An interesting and non-obvious (to me) fact I discovered during optimisation is that the two angles calculated for the joints are interchangeable if your arms are the same length. You can apply either angle to either joint and the tool position will be the same. I used this to my advantage when assigning the rotations to the stepper motors. The angles were assigned to the steppers based on which arrangement would result in the least total movement.

Straight path motion

What I want to accomplish next time

  • Build the electronics.
projects/sand_drawing/work_logs/further_software.1589345229.txt.gz · Last modified: 2020/05/13 04:47 by tjhowse