The document describes a 3 link robotic manipulator with revolute and prismatic joints. It provides the dimensions and D-H parameters of the robot, develops the forward kinematics equations relating the joint angles to the end effector pose, calculates the inverse kinematics, and determines the Jacobian and potential singularities. It also derives expressions for the angular and linear velocities of the end effector as well as the forces and torques throughout the robot.
Tall-and-skinny Matrix Computations in MapReduce (ICME MR 2013)
Β
Model of Robotic Manipulator with Revolute and Prismatic Joints
1. 1
Model of Robotic Manipulator with Revolute and
Prismatic Joints
03/25/2016
Travis Heidrich
Report Contents:
Dimensions of the Robot 2
Denavit-Hartenberg Parameters 2-3
MATLAB Script 3-5
Frame Transformation Matrices 6
Reachable Workspace for Manipulator 7-8
Inverse Kinematics for Manipulator 8-9
Jacobian and Singularity 10
Angular and Linear Velocities, Forces, and Torques of Robot 11
2. 2
Dimensions of Robot
L1 = 1 m; L2 = 0.5 sin(45Β°) = 0.3536 m; LE = 0.5 m
D-H Parameters
Figure 1: Reference Frames and Dimensions of the three link robot
3. 3
Table 1: D-H Parameter Table for all frames of the robot
i Ξ±i - 1 ai - 1 di - 1 ΞΈi
1 0 0 L1 ΞΈ1 + 135Β°
2 L2 90Β° d2 0
3 0 0 0 ΞΈ3
E 0 -90Β° LE 0
MatLab Script
%Solutions
clear all
close all
%Robot Dimensions
L_1 = 1; %meters
L_2 = 0.5*sind(45); %meters
L_E = 0.5; %meters
syms ai alphai di thetai theta1 d_2 theta3
T_x=[1 0 0 0;0 cos(alphai) -sin(alphai) 0;0 sin(alphai) cos(alphai) 0;0 0 0
1];
D_x=[1 0 0 ai;0 1 0 0;0 0 1 0;0 0 0 1];
T_z=[cos(thetai) -sin(thetai) 0 0;sin(thetai) cos(thetai) 0 0;0 0 1 0 ;0 0 0
1];
D_z=[1 0 0 0;0 1 0 0;0 0 1 di;0 0 0 1];
%Link the reference frames into one homogeneous transform matrix
AtB=T_x*D_x*T_z*D_z;
%Transformation from frame 0 to frame 1
ai = 0;
alphai = 0;
di = L1;
thetai = theta1 + 3*pi/4;
T_01 = subs(AtB);
iT_01 = inv(T_01);
%Transformation from frame 1 to frame 2
ai = L_2;
alphai = pi/2;
di = d_2;
thetai = 0;
T_12 = subs(AtB);
%iT_12 = inv(T_12);
%Transformation from frame 2 to frame 3
ai = 0;