Robottttttttttttttttttttt
Robottttttttttttttttttttt
Section A
Group Name ID
The Robotics Toolbox is a software package that allows a MATLAB user to readily create and
manipulate datatypes fundamental to robotics such as homogeneous transformations, quaternions
and trajectories. Functions provided, for arbitrary serial-link manipulators, include forward and
inverse kinematics, Jacobians, and forward and inverse
dynamics. Robotics Toolbox provides many functions that are useful in robotics including such
things as kinematics, dynamics, and trajectory generation. The Toolbox is useful for simulation as
well as analyzing results from experiments with real robots. The Toolbox is based on a very general
method of representing the kinematics and dynamics of serial-link manipulators. These parameters
are encapsulated in Mat lab objects. Robot objects can be created by the user for any serial-link
manipulator and a number of examples are provided for well know robots such as the Puma 560
and the Stanford arm. The toolbox also provides functions for manipulating datatypes such as
vectors, homogeneous transformations and unit-quaternions which are necessary to represent 3-
dimensional position and orientation.
RoboAnalyzer
RoboAnalyzer, a 3D model based software, can be used to teach robotics subjects to undergraduate
and postgraduate courses in engineering colleges. It can be used to learn DH parameters,
kinematics and dynamics of serial robots and allows 3D animation and graph plots as output.
Features of Roboanalyzer
RoboAnalyzer can be used to perform kinematic and dynamic analyses of serial chain
robots/manipulators.
The following are the main features of RoboAnalyzer:
Parameter Visualization
Forward Kinematics
1
Inverse Kinematics
Inverse Dynamics
Forward Dynamics
Motion Planning
RoboAnalyzer’s easy to use Graphical User Interface (GUI) consists of the following
robot Selection and DH Parameters section
Visualize DH section
3D Model Browser
3D Model View
Graph Plot Tree View
Graph Plot Window
Inverse Kinematics Window
2
Material Required
MATLAB Software with rvc tool
RoboAnalyzer Software
Robotics tool box
Procedure
First write MATLAB code
Second Simulate/run the code
Result
T1 =
1.0000 0 0 0.5000
0 1.0000 0 0.6000
0 0 1.0000 9.0000
0 0 0 1.0000
T2 =
0.0000 0 1.0000 0
0 1.0000 0 0
-1.0000 0 0.0000 0
3
0 0 0 1.0000
T3 =
0.0000 0 1.0000 0.5000
0 1.0000 0 0.6000
-1.0000 0 0.0000 9.0000
0 0 0 1.0000
Example 2
a=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]
t1=transl(5,6,9)*a
t2=trotx(pi/2)*a
t1*t2
a=
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
t1 =
4
1 0 0 5
0 1 0 6
0 0 1 9
0 0 0 1
t2 =
1.0000 0 0 0
0 0.0000 -1.0000 0
0 1.0000 0.0000 0
0 0 0 1.0000
ans =t1*t2
1.0000 0 0 5.0000
0 0.0000 -1.0000 6.0000
0 1.0000 0.0000 9.0000
0 0 0 1.0000
a=[1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]
t1=transl(5,6,9)*a
t2=trotx(pi/2)*a
t1*t2
5
2.1. Sample example of Forward kinematics of planar robot
Example 3
L(1)=Link([0 0 1 0])
L(2)=Link([0 0 1 0])
L(3)=Link([0 0 1 0])
robot=SerialLink(L)
robot.name='planner'
robot.plot([0 pi/2 pi/2])
robot.fkine([0 pi/2 pi/2])
L=
theta=q1, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
theta=q2, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
theta=q3, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
L=
theta=q1, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
theta=q2, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
theta=q3, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
L=
theta=q1, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
theta=q2, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
theta=q3, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
robot =
noname (3 axis, RRR, stdDH, fastRNE)
+---+-----------+-----------+-----------+-----------+-----------+
|j| theta | d| a| alpha | offset |
+---+-----------+-----------+-----------+-----------+-----------+
| 1| q1| 0| 1| 0| 0|
| 2| q2| 0| 1| 0| 0|
| 3| q3| 0| 1| 0| 0|
+---+-----------+-----------+-----------+-----------+-----------
grav = 0 base = 1 0 0 0 tool = 1 0 0 0
6
0 0 1 0 0 0 1 0 0
9.81 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
robot =
planner (3 axis, RRR, stdDH, fastRNE)
+---+-----------+-----------+-----------+-----------+-----------+
|j| theta | d| a| alpha | offset |
+---+-----------+-----------+-----------+-----------+-----------+
| 1| q1| 0| 1| 0| 0|
| 2| q2| 0| 1| 0| 0|
| 3| q3| 0| 1| 0| 0|
+---+-----------+-----------+-----------+-----------+-----------+
grav = 0 base = 1 0 0 0 tool = 1 0 0 0
0 0 1 0 0 0 1 0 0
9.81 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
ans =
-1.0000 -0.0000 0 0
0.0000 -1.0000 0 1.0000
0 0 1.0000 0
0 0 0 1.0000
7
The result robot figure becomes:
Example 4
L(1)=Link([0 0 1 0])
L(2)=Link([0 0 1 0])
L(3)=Link([0 0 1 0])
robot=SerialLink(L)
robot.name='spherical'
robot.plot([0 0 0])
robot.fkine([0 pi/2 pi/2])
L=
theta=q1, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
theta=q2, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
theta=q3, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
L=
theta=q1, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
8
theta=q2, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
theta=q3, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
L=
theta=q1, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
theta=q2, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
theta=q3, d= 0, a= 1, alpha= 0, offset= 0 (R,stdDH)
robot =
noname (3 axis, RRR, stdDH, fastRNE)
+---+-----------+-----------+-----------+-----------+-----------+
|j| theta | d| a| alpha | offset |
+---+-----------+-----------+-----------+-----------+-----------+
| 1| q1| 0| 1| 0| 0|
| 2| q2| 0| 1| 0| 0|
| 3| q3| 0| 1| 0| 0|
+---+-----------+-----------+-----------+-----------+-----------+
grav = 0 base = 1 0 0 0 tool = 1 0 0 0
0 0 1 0 0 0 1 0 0
9.81 0 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
robot =
spherical (3 axis, RRR, stdDH, fastRNE)
+---+-----------+-----------+-----------+-----------+-----------+
|j| theta | d| a| alpha | offset |
+---+-----------+-----------+-----------+-----------+-----------+
| 1| q1| 0| 1| 0| 0|
| 2| q2| 0| 1| 0| 0|
| 3| q3| 0| 1| 0| 0|
+---+-----------+-----------+-----------+-----------+-----------+
grav = 0 base = 1 0 0 0 tool = 1 0 0 0
0 0 1 0 0 0 1 0 0
9.81 0 0 1 0 0 0 1 0
9
0 0 0 1 0 0 0 1
ans =
-1.0000 -0.0000 0 0
0.0000 -1.0000 0 1.0000
0 0 1.0000 0
0 0 0 1.0000
The result robot figure becomes:
10
Conclusion
From this lab, we conclude that Rotation and translation characteristics of the robot homogeneous
matrix can computed using robotics tool box in MATLAB. We also analyze 3D characteristics of
robot using RoboAnalyzer and can be used to perform kinematic and dynamic analyses of serial
chain robots/manipulators.
11