SCARA Robot Term Project
kinematics.py File Reference

Finds initial angles necessary for xy coordinates. More...

Functions

def kinematics.fwd_kinematics (theta1, theta2, l1, l2, offset)
 Need to define the universe to z0 reference frame. More...
 
def kinematics.inv_kinematics (x, y)
 derives robot arm angles necessary for desired end position More...
 

Detailed Description

Finds initial angles necessary for xy coordinates.

Using dynamic analyses from ME 423, we used the Denavit- Hartenburg method to set up matrices for each joint. From here, we multiply each joints' frame together to get the final position and orientation of the end effector, in which case is the laser engraver. We then set the x and y coordinates and use our inverse kinematic analyses to find the necessary angles for our subsequent laser position.

Author
Jeremy Baechler
Kendall Chappell
Matthew Wimberley
Date
24-Feb-2022

Function Documentation

◆ fwd_kinematics()

def kinematics.fwd_kinematics (   theta1,
  theta2,
  l1,
  l2,
  offset 
)

Need to define the universe to z0 reference frame.

This will be done using solidworks.

derives end effector position and orientation

Using ME 423 matrices and methods, we found the forward kinematic equations that expresses the final position in terms of the robot arm angles.

Parameters
theta1robot arm 1 angle
theta2robot arm 2 angle
l1robot arm 1 length
l2robot arm 2 length
offsetarm 2 angular offset from arm 2

◆ inv_kinematics()

def kinematics.inv_kinematics (   x,
  y 
)

derives robot arm angles necessary for desired end position

Using the same analyses from ME 423, we go backwards and start with the end effector position, from here we derive the necessary robot arm angles to give us our desired end position.

Parameters
xEnd effector x-coordinate
yEnd effector y-coordinate
l1robot arm 1 length
l2robot arm 2 length