This document discusses the geometry and kinematics of robot arms. It describes an early maintenance drone called the Armdroid 1 and how its arm could be simulated using Python turtle functions. It explains how to model the arm as a series of triangles to calculate its reach by decomposing the problem. The document also covers inverse kinematics, using trigonometric functions like cosine and inverse cosine to calculate required joint angles based on the target position of the end effector.
5. Circles and Angles
A full 360˚ turn
returns the
angle to 0˚
A 45˚ angle
goes anti-
clockwise
0˚ is at 3 o’clock
Angles increase as
you go anti-clockwise
6. Turtles all
the way down
• We can simulate this in Python.
• IDLE is a Python program editor.
Same
measurements as
the Armdroid
8. Robot Simulator
try changing
the angles
Function call with
arguments
Function definition
and parameters
• File > New File
• File > Save
• Run > Run Module
variable
9. Robot Kinematics:
How far does it reach?
• Break the
problem
down into
triangles.
• We know
the arm
lengths.
A right-angled
triangle
origin x=0, y=0
10. Triangle width & height
width of
triangle base
(cosine)
height of
triangle
(sine)
11. Analogue vs Digital
• To work out the reach of the upper arm
read out the width (cosine), w, in the
plot for the angle (eg. a=45˚).
Python does this with
the cos function.
Uses degrees radians.
12. Adding the forearm
The angles a are
the same
The widths w are
the same.
a a
w w
The triangle base
is 2*w
13. Give it some elbow
a
a
The turtle must
turn through the
exterior angle
-2*a
a
This is an
interior angle.
-2*a is negative
because the elbow
bends in the opposite
way to the shoulder