Thursday, April 21, 2011



Team One

Title: Three link manipulator

Members:

Madan Sosale(sosale@umich.edu)
Rakesh Jayakumar(rakeshj@umich.edu)
Priyanka Muralidharan(priyamur@umich.edu)

Project description:

The robot built in this project is a three link manipulator which achieves desired position via inverse kinematics. The three joints in the robot are revolute. The required position is commanded to the robot and realization of such a position is obtained by Matlab based computation of a set of angles required at each joint to attain the required position coordinated servomotor rotation(controlled by Arduino microcontrollers). Such a robot finds application in pick and place operations and in path tracking.

Objectives:

To design and build a three link manipulator which attains a desired position input into the system in terms of X,Y and Z coordinates and thus understand the kinematics involved and the fundamental principles of robotics.


Model:



1. Link 3

2. Servo 3

3. Link 2

4. Link 1

5. Servo 2

6. Balancing load

7. Servo 1

8. Base

9. Workspace

Construction:

The robot consists of three servomotors, base, three links and balancing load. The three links are of the following dimensions:

Link1=150mm

Link2=100mm

Link3=103mm

Offsets=both 23mm

Arduino microcontrollers were used to control servomotor rotation and Matlab was used in tandem for the kinematics of the robot.

Denavit Hartenberg parameters:

Link # a(mm) alpha(deg) theta d(mm)

1 0 90 theta1 150

2 100 0 theta2 23

3 103 0 theta3+90 23

Jacobian:

[10.3sin(theta1)sin(theta2+theta3)-10cos(theta2)sin(theta1)+4.6cos(theta1) 10.3sin(theta1)sin(theta2+theta3)-10cos(theta2)sin(theta1)+4.6cos(theta1) 10.3sin(theta1)sin(theta2+theta3)+2.3cos(theta1) ;]
[-10.3cos(theta1)sin(theta2+theta3)+10cos(theta2)cos(theta1)+4.6sin(theta1) -10.3cos(theta1)sin(theta2+theta3)+10cos(theta2)cos(theta1)+4.6sin(theta1) -10.3cos(theta1)sin(theta2+theta3)+2.3sin(theta1);]
[ 0 0 0 ; ]
[ 0 0 0 ; ]
[ 0 0 0 ; ]
[ 1 1 1 ]

theta1, theta2 vary from 0 to pi and theta3 from -90 to 90.

Workspace:



Control design (open loop):

The open loop control design for the three link manipulator is as shown. The position coordinates
X,Y and Z are fed into the Matlab program and the inverse kinematics is used to obtain theta1,theta2 and theta3 values. These angle values are input into the Arduino Microcontroller and the servomotor rotation is controlled to achieve desired coordinates. Additionally, the servomotors have position feedback.

Interfacing:

Matlab-Arduino interfacing was done using the routine motorserv.pde.

Result:

Thus, the desired position was achieved by the robot using servo control, Matlab routines and Arduino microcontrollers. This enabled better understanding of kinematics and fundamentals of robotics.

Future scope:

The robot can be modified to perform obstacle avoidance and more links can be added to the robot by interfacing multiple Arduinos and servomotors to perform more complex functions.

Exam question:

Derive the Jacobian for the above three link manipulator with new link lengths as given:

link1 100mm
link2 120mm
link3 140mm
offsets 25mm

Give the rotation matrices and origins of the DH frames.


No comments:

Post a Comment