Functions Homogeneous transformations angvec2rangle/vector to RM angvec2trangle/vector to HT eul2rEuler angles to RM eul2trEuler angles to HT oa2rorientation and approach vector to RM oa2trorientation and approach vector to HT r2tRM to HT rt2tr(R,t) to HT rotxRM for rotation about X-axis rotyRM for rotation about Y-axis rotzRM for rotation about Z-axis rpy2rroll/pitch/yaw angles to RM rpy2trroll/pitch/yaw angles to HT se2HT in SE(2) t2rHT to RM tr2angvecHT/RM to angle/vector form tr2eulHT/RM to Euler angles tr2rpyHT/RM to roll/pitch/yaw angles tr2rtHT to (R,t) tranimateanimate a coordinate frame translset or extract the translational component of HT trnormnormalize HT trplotplot HT as a coordinate frame trplot2plot HT, SE(2), as a coordinate frame trprintprint an HT trotxHT for rotation about X-axis trotyHT for rotation about Y-axis trotzHT for rotation about Z-axis Homogeneous points and lines e2hEuclidean coordinates to homogeneous h2ehomogeneous coordinates to Euclidean homlinecreate line from 2 points homtranstransform points Differential motion delta2trdifferential motion vector to HT eul2jacEuler angles to Jacobian rpy2jacRPY angles to Jacobian skewvector to skew symmetric matrix tr2deltaHT to differential motion vector tr2jacHT to Jacobian vexskew symmetric matrix to vector wtranstransform wrench between frames Trajectory generation ctrajCartesian trajectory jtrajjoint space trajectory lspb1D trapezoidal trajectory mtrajmulti-axis trajectory for arbitrary function mstrajmulti-axis multi-segment trajectory tpoly1D polynomial trajectory trinterpinterpolate HT s Quaternion Quaternionconstructor /divide quaternion by quaternion or scalar *multiply quaternion by a quaternion or vector invinvert a quaternion normnorm of a quaternion plotdisplay a quaternion as a 3D rotation unitunitize a quaternion interpinterpolate a quaternion Serial-link manipulator SerialLinkconstruct a serial-link robot object Linkconstruct a robot link object Revoluteconstruct a revolute robot link object Prismaticconstruct a prismatic robot link object *compound two robots frictionreturn joint friction torques nofrictionreturn a robot object with no friction perturbreturn a robot object with perturbed parameters plotplot/animate robot teachdrive a graphical robot CodeGeneratorcreate efficient run-time kinematic and dynamics code Models mdl_ballhigh order ball shaped mechanism mdl_coilhigh order coil shaped mechanism mdl_Fanuc10LFanuc 10L (DH, kine) mdl_MotomanHP6Motoman HP6 (DH, kine) mdl_phantomxTrossen Robotics PhantomX pincher mdl_puma560Puma 560 data (DH, kine, dyn) mdl_puma560_3Puma 560, first 3 joints, kine only mdl_puma560_3_symPuma 560, first 3 joints, symbolic, kine only mdl_puma560akbPuma 560 data (MDH, kine, dyn) mdl_p8Puma 6-axis robot on a 2-axis XY base mdl_S4ABB2p8ABB S4 2.8 (DH, kine) mdl_stanfordStanford arm data (DH, kine, dyn) mdl_twolinksimple 2-link example (DH, kine) DHFactorconvert elementary transformations to DH form Kinematic DHFactortransform sequence to DH description fkineforward kinematics ikineinverse kinematics (numeric) ikine6sinverse kinematics for 6-axis arm with sph.wrist jacob0Jacobian in base coordinate frame jacobnJacobian in end-effector coordinate frame manipltycompute manipulability Dynamics accelforward dynamics cinertiaCartesian manipulator inertia matrix corioliscentripetal/coriolis torque fdynforward dynamics wtranstransform a force/moment gravloadgravity loading inertiamanipulator inertia matrix itorqueinertia torque rneinverse dynamics Mobile robot Mappoint feature map object RandomPathdriver for Vehicle object RangeBearingSensor"laser scanner" object Vehicleconstruct a mobile robot object sl_bicycleSimulink "bicycle model" of non-holonomic wheeled vehicle NavigationNavigation superclass Sensorrobot sensor superclass plot_vehicleplot vehicle makemapmake a map, occupancy grid mdl_quadcoptersimple quadcopter model sl_quadrotorSimulink model of a flying quadrotor Localization EKFextended Kalman filter object ParticleFilterMonte Carlo estimator Path planning Bug2bug navigation DXformdistance transform from map DstarD* planner PRMprobabilistic roadmap planner RRTrapidly exploring random tree Graphics plot2plot trajectory plotpplot points plot_arrowdraw an arrow plot_boxdraw a box plot_circledraw a circle plot_ellipsedraw an ellipse plot_homlineplot homogeneous line plot_pointplot points plot_polyplot polygon plot_spheredraw a sphere qplotplot joint angle trajectories plot2Plot trajectories plotpPlot trajectories xaxisset x-axis scaling yaxisset y-axis scaling xyzlabellabel axes x, y and z Utility aboutsummary of object size and type angdiffsubtract 2 angles modulo 2pi bresenhamBresenhan line drawing circlecompute/draw points on a circle colnormcolumnwise norm of matrix diff2elementwise diff distancexformcompute distance transform edgelistlist of edge pixels gauss2dGaussian distribution in 2D ishomogtrue if argument is a 4x4 matrix ismatrixtrue if non scalar isrottrue if argument is a 3x3 matrix isvectrue if argument is a 3-vector numcolsnumber of columns in matrix numrowsnumber of rows in matrix peakfind peak in 1D signal peak2find peak in 2D signal PGraphgeneral purpose graph class polydiffderivative of polynomial Polygongeneral purpose polygon class randinitinitialize random number generator rampcreate linear ramp runscriptinteractively run a script or demo unitunitize a vector tb_optparsetoolbox argument parser CodeGen support distributeblocksdistribute blocks in a Simulink library doesblockexistchecks if a Simulink block exists multidfprintffprintf to multiple files symexpr2slblockembedded Matlab symbolic functions simulinkextdetermine extension of Simulink files Demonstrations rtbdemoSerial-link manipulator demonstration tripleangleGUI to demonsrate triple angle rotations Examples sl_quadcopterSimulink model of a flying quadcopter sl_braitenbergSimulink model a Braitenberg vehicle movepointnon-holonomic vehicle moving to a point movelinenon-holonomic vehicle moving to a line moveposenon-holonomic vehicle moving to a pose walkingexample of 4-legged walking robot eg_inertiajoint 1 inertia I(q1,q2) eg_inertia22joint 2 inertia I(q3) eg_gravjoint 2 gravity load g(q2,q3)