The location ( x , y ) can be computed as ( L1cos(θ1) + L2cos(θ2 ) , L1sin(θ1) + L2sin(θ2 ) ) using forward kinematics, but in most practical problems you know the desired location ( x , y ) and need to compute the rotation angles θ1 and θ2. To do this we must use inverse kinematics as is shown in the graph below.
Drag the X and Y sliders below to see Inverse Kinematics in Action!
Arduino Math
The math required to compute the servo angles for inverse kinematics is basic geometry. The particular areas of geometry used include SOH CAH TOA , the Pythagorean Theorem , The Straight Angle Theorem, The Angle Addition Theorem, and The Law of Cosines. To perform this math in an Arduino sketch we use functions from the math.h C++ library. This library is automatically included in all Arduino sketches because it is required in the void loop() function. A reference to this library can be found here. In the sketch running in the simulation below you can see the computation and Serial console display of the two servo angle required to achieve a particular robotic hand position ( X , Y ).
Click the "Code" . Inspect the code. Close the code editor. Click "Start Simulation".
Designing Presentation Slides
Four Slide Template for Applied Geometry Slides
Some Sample "Context" Slides
Rotational Mechanics
To provide a simple application of the concept of torque to our project we consider a simplified case with only one robotic arm segment as shown below.
We use the defining equation of torque, as shown above, to solve for the maximum robotic arm length to perform the given task with the given servo. We will assume that the mass of the arm itself is negligible. We must convert the given stall torque value to Newton meters by multiplying by (1 Nm / 13.6 kg f-cm). We can obtain the coefficient of static friction from the table given at the linked site below.
Table of Coefficients of Friction
Further Consideration:
Why doesn't contact surface area effect friction force?