Skip to content

Latest commit

 

History

History
180 lines (100 loc) · 6.82 KB

File metadata and controls

180 lines (100 loc) · 6.82 KB

Robotics 2

1. D-H Notation

D-H N

Step 1: Assign Frames according to the 4 D-H Frame Rules

image

Step 2: Fill out the D-H Parametric Table

image

Step 3: Plug the table into the Homogeneous Transformation Matrix formula.

image image image image

Example 1:

Step 3: Plug the table into the Homogeneous Transformation Matrix formula.

Example

Step 4: Multiply the matrices together

HTM

2. Forward Kinemtics

FK1

Example:

FK2

Any of the 2 processes, it will still arrive on the same answer.

FK3

Determining the position and direction using Forward Kinematics.

FK4

Simulation and visualization of Forward Kinematics using MATLAB:

If θ1=0֯ and θ2=0֯:

Pract3 1

If θ1=90֯ and θ2=-90֯:

Pract3 2

If θ1=45֯ and θ2=30֯:

Pract3 3

2.1 Forward Kinematics in Python and MATLAB

Codes can also be found from: https://github.com/MikkoDT/Robotics-2-2022-2023 And the tutorial for installation of Robotics Toolbox by Peter Corke in Python can be found here: https://youtube.com/playlist?list=PLUgsbeZHs9qMFXTIQPW0clLoRkf_oiBoX&si=0sYu2QIJ4NWilTq7

spartankit_test.py of 3-DOF SPARTAN Robotkit

Project code

MATLAB of 3-DOF SPARTAN Robotkit

Project code

4. Spherical Wrists

spherical_wrists

SCARA PRR Variant 3

3-DOF

3-dof

6-DOF

6-DOF

5. Inverse Kinematics

Ik

Graphical Method for Solving Inverse Kinematics

GM
  • Example:
example1 IK2D

5.1 Inverse Kinematics of Cartesian Manipulator

CartIK CartIK2 CartIK3

5.2 Inverse Kinematics of Articulated Manipulator

IKArt Arttop FrArt

5.3 Inverse Kinematics in Python

Codes can also be found from: https://github.com/MikkoDT/Robotics-2-2022-2023

SCV3 IK3 IK3-1

IKin.py of SCARA-V3

Inverse Kinematics of SCARA-V3

import numpy as np

link lengths in mm

a1 = float(input("a1 = "))

a2 = float(input("a2 = "))

a3 = float(input("a3 = "))

a4 = float(input("a4 = "))

Position Vector in mm

x0_3 = float(input("x0_3 = "))

y0_3 = float(input("y0_3 = "))

z0_3 = float(input("z0_3 = "))

Inverse Kinematic Solutions using Graphical Method

Solution 1

phi2 = np.arctan(y0_3 / x0_3)

phi2 = phi2 * 180 / np.pi

Solution 2

r1 = np.sqrt((y0_32) + (x0_32))

Solution 3

phi1 = np.arccos((a42 - r12 - a2**2)/(-2 * r1 * a2))

phi1 = phi1*180 / np.pi

Solution 4

theta2 = phi2 - phi1

solution 5

phi3 = np.arccos((r12 - a22 - a4**2)/(-2 * a2 * a4))

phi3 = phi3 * 180 / np.pi

Solution 6

theta3 = 180 - phi3

Solution 7

d1 = z0_3 - a1 - a3

Displaying the Joint Variables

print("d1 = ", np.around(d1,3))

print("theta2 = ", np.around(theta2,3))

print("theta3 = ", np.around(theta3,3))