Final project for Caltech Robotics course ME133a
As my final project for the Caltech robotics course, ME 133a, I developed a custom MATLAB software to simulate three different serial chain robots using Denavit-Hartenberg parameters. These parameters follow a strict set of rules that specify the location and orientation of each link frame for a rigid robotic device. Each frame corresponds to one of the joint axes. Once the Denavit-Hartenberg (D-H) parameters are defined, the transformation between each frame can be calculated using the D-H parameters. The forward kinematics of the mechanism can then be calculated using all of the frame transformations. The Guided User Interface (GUI) outlined in this report visualizes a robot as defined by its D-H parameters and calculates the forward kinematics and spatial manipulator Jacobian of the robot given the final joint variables.
Project Summary
The main outcome of this project is a kinematics and visualization software. The inputs of the software are the Denavit-Hartenberg parameteres as defined by the user. Then using these Denavit-Hartenberg parameters, the software creates a visual representation of the specified robot and calculates the forward kinematics and spatial manipulator Jacobian. A figure of the initial GUI screen can be seen below.

Initial GUI Output
The motivation for this project was to create a software that made it easier to visualize the relationship between Denavit-Hartenverg parameters and the associated robotic mechanism. The software can also be used to erify the validity of Denavit-Hartenberg parameters derived for a specific robot with known geometry. The software also makes it faster to obtain the forward kinematics and spatial manipulator Jacobian for different final configurations of robotic mechanisms.
The scope of this project covers Denavit-Hartenberg parameters, the modified transformmation matrix, forward kinematics, and the spatial manipulator Jacobian. These principles are implemented into software using MATLAB and guided user interface.
Project Details
The visualization of the robotic mechanism was obtained from the transformation matrix of each frame individually. The calculation of all of the transformation matrices occurs in the subfunction “modtransform”. The function uses the modified Denavit-Hartenberg frame transformation equation as shown below.
The values for $\alpha$ and $\theta$ are both entered in degrees for ease of use with the GUI. For a robot with N Degrees of Freedom, the modtransform function would output N+1 transformation matrices. The first N transformation matrices are for each of the joint frames from the stationary frame. The last transformation matrix is the total transformation matrix from the stationary frame to the tool frame. A transformation matrix is defined in general as the following.
Thus, for the
Forward Kinematics
The forward kinematics of the entire mechanism was calculated using the transformation matrix of each frame as shown in the following equation.
For the purposes of this software, the tool frame was assumed to be the same as the last frame.This multiplication results in a final matrix as shown below.
Where
Verification of Forward Kinematics of SCARA manipulator at Zero Position
The forward kinematics indicates that the tool frame has zero rotation and a displacement of 15 units in the x-direction, 0 in the y-direction, and 13 in the z-direction.This results can be visually verified from the visual representation of the manipulator.
Spatial Manipulator Jacobian
The spatial manipulator Jacobian illustrates the twist for each joint axis in the mechanism. The
Where
For a prismatic joint, since the pitch of the joint is infinite, the joint twist is calculated as follows.
The Jacobian for the entire mechanism is output to the GUI in the “Spatial Manipulator Jacobian” panel. This output also allows users to investigate how different joint parameters influence the Jacobian.