# Function Reference | Alphabetical List

Homogeneous transformations 3D | Manipulate homogeneous transformations and orthonormal rotation matrices
| Homogeneous transformations 2D | Manipulate homogeneous transformations and orthonormal rotation matrices
| Homogeneous points and lines | Manipulate homogeneous points and lines | Differential motion | Convert differential motion between coordinate frames | Trajectory generation | Create motion trajectory and interpolate poses | Quaternion | Manipulate unit quaternions | Serial-link manipulator | Class representing the kinematics and dynamics of a serial-link manipulator | Models | Models of serial-link manipulators | Kinematic | Serial-link manipulator kinematic functions | Dynamics | Serial-link manipulator dynamic functions | Mobile robot | Classes for mobile robotics problems | Localization | Mobile robot localization algorithms | Path planning | Mobile robot path planning algorithms | Graphics | Useful graphic primitives | Utility | Miscellaneous functions | Demonstrations |  | Interfacing |  | Examples |

Back to Top

# Homogeneous transformations 3D

angvec2r | angle/vector to RM
angvec2tr | angle/vector to HT
eul2r | Euler angles to RM
eul2tr | Euler angles to HT
oa2r | orientation and approach vector to RM
oa2tr | orientation and approach vector to HT
r2t | RM to HT
rt2tr | (R,t) to HT
rotx | RM for rotation about X-axis
roty | RM for rotation about Y-axis
rotz | RM for rotation about Z-axis
rpy2r | roll/pitch/yaw angles to RM
rpy2tr | roll/pitch/yaw angles to HT
t2r | HT to RM
tr2angvec | HT/RM to angle/vector form
tr2eul | HT/RM to Euler angles
tr2rpy | HT/RM to roll/pitch/yaw angles
tr2rt | HT to (R,t)
tranimate | animate a coordinate frame
trchain | evaluate a series of transforms
tripleangle | graphical interactive three angle rotation
transl | set or extract the translational component of HT
trnorm | normalize HT
trchain | chain of SE(3) transforms
trplot | plot HT as a coordinate frame
trprint | print an HT
trotx | HT for rotation about X-axis
troty | HT for rotation about Y-axis
trotz | HT for rotation about Z-axis
trscale | HT for scale change

Back to Top

# Homogeneous transformations 2D

rot2 | RM for SE(2) rotation
se2 | HT in SE(2)
transl2 | set or extract the translational component of SE(2) HT
trchain2 | chain of SE(2) transforms
trot2 | SO(2) rotation
trplot2 | plot HT, SE(2), as a coordinate frame

Back to Top

# Homogeneous points and lines

e2h | Euclidean coordinates to homogeneous
h2e | homogeneous coordinates to Euclidean
homline | create line from 2 points
homtrans | transform points

Back to Top

# Differential motion

delta2tr | differential motion vector to HT
eul2jac | Euler angles to Jacobian
rpy2jac | RPY angles to Jacobian
skew | vector to skew symmetric matrix
tr2delta | HT to differential motion vector
tr2jac | HT to Jacobian
vex | skew symmetric matrix to vector
wtrans | transform wrench between frames

Back to Top

# Trajectory generation

ctraj | Cartesian trajectory
jtraj | joint space trajectory
lspb | 1D trapezoidal trajectory
mtraj | multi-axis trajectory for arbitrary function
mstraj | multi-axis multi-segment trajectory
tpoly | 1D polynomial trajectory
trinterp | interpolate HT s

Back to Top

# Quaternion

Quaternion | constructor
/ | divide quaternion by quaternion or scalar
* | multiply quaternion by a quaternion or vector
Quaternion.inv | invert a quaternion
Quaternion.norm | norm of a quaternion
Quaternion.plot | display a quaternion as a 3D rotation
Quaternion.unit | unitize a quaternion
Quaternion.interp | interpolate a quaternion

Back to Top

# Serial-link manipulator

CodeGenerator | construct a robot specific code generator object
SerialLink | construct a serial-link robot object
Link | construct a general robot link object
Prismatic | construct a prismatic robot link object
Revolute | construct a revolute robot link object
PrismaticMDH | construct a prismatic robot link object
RevoluteMDH | construct a revolute robot link object
* | compound two robots
SerialLink.friction | return joint friction torques
SerialLink.nofriction | return a robot object with no friction
SerialLink.perturb | return a robot object with perturbed parameters
SerialLink.plot | plot/animate robot
SerialLink.plot3d | plot/animate robot as solid model
SerialLink.teach | drive a graphical robot

Back to Top

## Models

mdl_Fanuc10L | Fanuc 10L (DH, kine)
mdl_irb140 | ABB IRB140 (DH, kine)
mdl_irb140_mdh | ABB IRB140 (MDH, kine)
mdl_jaco | Kinova Jaco arm (DH, kine)
mdl_m16 | Fanuc M16 (DH, kine)
mdl_mico | Kinova Mico arm (DH, kine)
mdl_MotomanHP6 | Motoman HP6 (DH, kine)
mdl_nao | Alderabaran NAO arms and legs (DH, kine)
mdl_phantomx | PhantomX pincher 4DOF hobby arm (DH, kine)
mdl_puma560 | Puma 560 data (DH, kine, dyn)
mdl_puma560akb | Puma 560 data (MDH, kine, dyn)
mdl_S4ABB2p8 | ABB S4 2.8 (DH, kine)
mdl_stanford | Stanford arm data (DH, kine, dyn)
mdl_stanford_mdh | Stanford arm data (MDH, kine, dyn)
mdl_onelink | simple 1-link example (DH, kine)
mdl_planar1 | simple 1 link planar model (DH, kine)
mdl_planar2 | simple 2 link planar model (DH, kine)
mdl_planar3 | simple 3 link planar model (DH, kine)
mdl_3link3d | Simple 3DOF arm, no shoulder offset (DH, kine)
mdl_twolink | simple 2-link example (DH, kine, dyn)
mdl_twolink_mdh | simple 2-link example (MDH, kine)
mdl_ball | high DOF chain that forms a ball
mdl_coil | high DOF chain that forms a coil
mdl_hyper2d | 2D high DOF chain
mdl_hyper3d | 3D high DOF chain
mdl_quadcopter | simple quadcopter model

Back to Top

## Kinematic

DHFactor | transform sequence to DH description
jsingu | find dependent joints
SerialLink.fkine | forward kinematics
SerialLink.ikine | inverse kinematics (numeric)
SerialLink.ikine_sym | inverse kinematics (symbolic)
SerialLink.ikine6s | inverse kinematics for 6-axis arm with sph.wrist
SerialLink.jacob0 | Jacobian in base coordinate frame
SerialLink.jacobn | Jacobian in end-effector coordinate frame
SerialLink.maniplty | compute manipulability

Back to Top

## Dynamics

SerialLink.accel | forward dynamics
SerialLink.cinertia | Cartesian manipulator inertia matrix
SerialLink.coriolis | centripetal/coriolis torque
SerialLink.fdyn | forward dynamics
wtrans | transform a force/moment
SerialLink.gravload | gravity loading
SerialLink.inertia | manipulator inertia matrix
SerialLink.itorque | inertia torque
SerialLink.rne | inverse dynamics

Back to Top

# Mobile robot

Map | point feature map object
RandomPath | driver for Vehicle object
RangeBearingSensor | "laser scanner" object
Vehicle | construct a mobile robot object
sl_bicycle | Simulink "bicycle model" of non-holonomic wheeled vehicle
Navigation | Navigation superclass
Sensor | robot sensor superclass
makemap | build an occupancy grid
plot_vehicle | plot vehicle

Back to Top

## Localization

EKF | extended Kalman filter object
ParticleFilter | Monte Carlo estimator

Back to Top

## Path planning

Bug2 | bug navigation
DXform | distance transform from map
Dstar | D* planner
PRM | probabilistic roadmap planner
RRT | rapidly exploring random tree

Back to Top

# Graphics

plot2 | plot trajectory
plotp | plot points
plot_arrow | draw an arrow
plot_box | draw a box
plot_circle | draw a circle
plot_ellipse | draw an ellipse
plot_homline | plot homogeneous line
plot_point | plot points
plot_poly | plot polygon
plot_sphere | draw a sphere
qplot | plot joint angle trajectories
plot2 | Plot trajectories
plotp | Plot trajectories
xaxis | set x-axis scaling
yaxis | set y-axis scaling
xyzlabel | label axes x, y and z

Back to Top

# Utility

about | summary of object size and type
angdiff | subtract 2 angles modulo 2pi
arrow3 | draw a 3D arrow (third party code)
bresenham | Bresenhan line drawing
circle | compute/draw points on a circle
colnorm | columnwise norm of matrix
colorname | map color name to RGB
diff2 | elementwise diff
edgelist | trace edge of a shape
gauss2d | Gaussian distribution in 2D
ishomog | true if argument is a 4x4 matrix
ismatrix | true if non scalar
isrot | true if argument is a 3x3 matrix
isvec | true if argument is a 3-vector
numcols | number of columns in matrix
numrows | number of rows in matrix
peak | find peak in 1D signal
peak2 | find peak in 2D signal
PGraph | general purpose graph class
polydiff | derivative of polynomial
Polygon | general purpose polygon class
randinit | initialize random number generator
ramp | create linear ramp
unit | unitize a vector
tb_optparse | toolbox argument parser
distancexform | compute distance transform
runscript | interactively step through a script
multidfprintf | printf extension

Back to Top

# Demonstrations

rtbdemo | Serial-link manipulator demonstration
tripleangle | demonstrate angle sequences

Back to Top

# Interfacing

RobotArm | Connect SerialLink object to real robot
joystick | Help for joystick interface mex file
joy2tr | Update HT based on joystick input
VREP | VREP interface class
VREP_mirror | MATLAB mirror for VREP object
VREP_arm | MATLAB mirror for VREP robot arm
VREP_obj | MATLAB mirror for VREP object
VREP_camera | MATLAB mirror for VREP camera object

Back to Top

# Examples

sl_quadcopter | Simulink model of a flying quadcopter
sl_braitenberg | Simulink model a Braitenberg vehicle
movepoint | non-holonomic vehicle moving to a point
moveline | non-holonomic vehicle moving to a line
movepose | non-holonomic vehicle moving to a pose
walking | example of 4-legged walking robot
eg_inertia | joint 1 inertia I(q1,q2)
eg_inertia22 | joint 2 inertia I(q3)
eg_grav | joint 2 gravity load g(q2,q3)

Back to Top