1.1. CHANGES IN RTB 10 CHAPTER 1. INTRODUCTION
• New robot models include Universal Robotics UR3, UR5 and UR10; and Kuka
light weight robot arm.
• A new folder data now holds various data files as used by examples in RVC2:
STL models, occupancy grids, Hershey font, Toro and G2O data files.
Since its inception RTB has used matrices
1
to represent rotations and transformations
in 2D and 3D. A trajectory, or sequence, was represented by a 3-dimensional matrix,
eg. 4 × 4 × N. In RTB10 a set of classes have been introduced to represent orienta-
tion and pose in 2D and 3D: SO2, SE2, SO3, SE3, Twist and UnitQuaternion.
These classes are fairly polymorphic, that is, they share many methods and operators
2
.
All have a number of static methods that serve as constructors from particular repre-
sentations. A trajectory is represented by a vector of these objects which makes code
easier to read and understand. Overloaded operators are used so the classes behave
in a similar way to native matrices
3
. The relationship between the classical Toolbox
functions and the new classes are shown in Fig 1.1.
You can continue to use the classical functions. The new classes have methods with
the names of classical functions to provide similar functionality. For instance
>> T = transl(1,2,3); % create a 4x4 matrix
>> trprint(T) % invoke the function trprint
>> T = SE3(1,2,3); % create an SE3 object
>> trprint(T) % invoke the method trprint
>> T.T % the equivalent 4x4 matrix
>> double(T) % the equivalent 4x4 matrix
>> T = SE3(1,2,3); % create a pure translation SE3 object
>> T2 = T
*
T; % the result is an SE3 object
>> T3 = trinterp(T, T2,, 5); % create a vector of five SE3 objects between T and T2
>> T3(1) % the first element of the vector
>> T3
*
T % each element of T3 multiplies T, giving a vector of five SE3 objects
1.1.3 Enhancements
• Dependencies on the Machine Vision Toolbox for MATLAB (MVTB) have been
removed. The fast dilation function used for path planning is now searched for
in MVTB and the MATLAB Image Processing Toolbox (IPT) and defaults to a
provided M-function.
• A major pass over all code and method/function/class documentation.
• Reworking and refactoring all the manipulator graphics, work in progress.
• An “app" is included: tripleangle which allows graphical experimentation
with Euler and roll-pitch-yaw angles.
• A tidyup of all Simulink models. Red blocks now represent user settable param-
eters, and shaded boxes are used to group parts of the models.
1
Early versions of RTB, before 1999, used vectors to represent quaternions but that changed to an object
once objects were added to the language.
2
For example, you could substitute objects of class SO3 and UnitQuaternion with minimal code
change.
3
The capability is extended so that we can element-wise multiple two vectors of transforms, multiply one
transform over a vector of transforms or a set of points.
Robotics Toolbox 10.3.1 for MATLAB
R
16 Copyright
c
Peter Corke 2018