# Trajectory Generation and Following

Control manipulator joints to track trajectories

These functions use different mathematical equations for generating trajectories for manipulator robots. Polynomials, B-splines, and trapezoidal velocity profiles enable you to generate trajectories for multi-degree-of-freedom (DOF) systems. You can also interpolate between rotation matrices and homogeneous transformations.

The examples show different applications of trajectory execution including planning, control, and simulation for shape tracing and pick-and-place workflows.

## Functions

expand all

 `bsplinepolytraj` Generate polynomial trajectories using B-splines `cubicpolytraj` Generate third-order polynomial trajectories `quinticpolytraj` Generate fifth-order trajectories `rottraj` Generate trajectories between orientation rotation matrices `transformtraj` Generate trajectories between two transformations `trapveltraj` Generate trajectories with trapezoidal velocity profiles

## Blocks

 Polynomial Trajectory Generate polynomial trajectories through waypoints Rotation Trajectory Generate trajectory between two orientations Transform Trajectory Generate trajectory between two homogeneous transforms Trapezoidal Velocity Profile Trajectory Generate trajectories though multiple waypoints using trapezoidal velocity profiles

## Topics

Interactively Build a Trajectory for an ABB YuMi Robot

This example shows how to use the `interactiveRigidBodyTree` object to move a robot, design a trajectory, and replay it.

Trajectory Control Modeling with Inverse Kinematics

This Simulink® example demonstrates how the Inverse Kinematics block can drive a manipulator along a specified trajectory.

Manipulator Shape Tracing in MATLAB and Simulink

This example shows how to trace a predefined 3-D shape in space.

Plan a Reaching Trajectory With Multiple Kinematic Constraints

This example shows how to use generalized inverse kinematics to plan a joint-space trajectory for a robotic manipulator.

Perform Safe Trajectory Tracking Control Using Robotics Manipulator Blocks

This example shows you how to use Simulink® with manipulator algorithm blocks to achieve safe trajectory tracking control of a simulated robot.

Model and Control a Manipulator Arm with Robotics and Simscape

Execute a pick-and-place workflow using an ABB YuMi robot, which demonstrates how to design robot algorithms in Simulink®, and then simulate the action in a test environment using Simscape™.

Plan and Execute Task- and Joint-Space Trajectories Using KINOVA Gen3 Manipulator

This example shows how to generate and simulate interpolated joint trajectories to move from an initial to a desired end-effector pose.

Pick-and-Place Workflow Using Stateflow for MATLAB

This example shows how to setup an end-to-end pick and place workflow for a robotic manipulator like the KINOVA® Gen3.

Pick-and-Place Workflow in Gazebo Using ROS

This example shows how to setup an end-to-end pick and place workflow for a robotic manipulator like the KINOVA® Gen3 and simulate the robot in the Gazebo physics simulator.

Simulate Joint-Space Trajectory Tracking in MATLAB

This example shows how to simulate the joint-space motion of a robotic manipulator under closed-loop control.

Visualize Manipulator Trajectory Tracking with Simulink 3D Animation

Simulate joint-space trajectories for a rigid body tree robot model and visualize the results with Simulink 3D Animation™.

Choose Trajectories for Manipulator Paths

This example provides an overview of the types of trajectories available in Robotics System Toolbox™.