Lecture 3B.1
Time, Motion, and Trajectories Until now, we've been discussing how to control a quadrotor given a specified trajectory. We can now turn our attention to generating that trajectory. Given a three-dimensional environment, we want to specify points and have the quadrotor plan obstacle-free trajectories in that environment. ccordingly, we'll consider a very simple sub-problem. !magine you have a rigid body or a quadrotor that needs to go from a start position to a goal position. "f course, we're also interested in orientations, and in this problem, we may have intermediate positions that we want the rigid body or quadrotor to go through.
#his is a very general problem, it arises in all conte$ts in robotics, and it's particularly important for motion planning for quadrotors. #he general set up of this problem is as follows. We're given start and goal positions, and, optionally, orientations. We might want the quadrotor to visit intermediate positions or waypoints which can also include orientations. !n general, we require the trajectories that the quadrotors follow to be smooth because the quadrotor is a dynamical system and cannot follow arbitrary trajectories. #his generally translates to minimi%ing the rate of change of input. We're particularly interested in the order of the dynamical system. !f we have a robot with a &inematic model, in other words one in which we can arbitrarily specify velocities, that's a first order system. !f we have a robot with second-order dynamics, that means that we can arbitrarily specify accelerations. or third-order systems, we should be able to control or specify or command the third-order derivative which is called jerk . nd li&ewise, a fourth-order system involves specifying or commanding the fourth derivative, which is called snap. #he order of the system determines the input. !f it's an nth order system, i.e. we're specifying or the n th derivative of position, we generally have boundary conditions on the first-order, second-order, third-order, (, all the way up to the )n-*+ th derivative.
#o solve this problem, we use tools from calculus of variations. alculus of variations refers to a body of literature in mathematics that deals with a very simple problem. !n this equation, we're trying to minimi%e an integral T
x
)t + arg min x ) t +
L) x, x, t +dt .
We're trying to find the best function $)t+, that minimi%es a functional. #he functional is the integral of /, which depends on the function $)t+, x )t + , and of course, time. #he goal in calculus of variations is to find the best function, $ 0)t+. #his problem arises in several settings.
!f we want to find the shortest distance path, we would use a functional which is the integral of x 1 , or the square of velocity. !f we're trying to find the shortest-time path, a problem that arises in optics, we let / be the simple functional *. !n mechanics, we usually refer to a functional that's obtained from the &inetic energy # and the potential energy 2. !n our case, were interested in connecting two given points, $, specified at time 3 , and $ specified at time 3 #.
We're loo&ing for the best trajectory, and we restrict ourselves to differentiable curves. #here are, of course, many such differentiable curves, and we are loo&ing for something that minimi%es a suitable functional. !ndependent of the functional, the optimal curve, must satisfy what are called Euler Lagrange equations.
L L . dt x x d
#hese are necessary conditions that must be satisfied by this optimal function. #he 4uler /agrange equations involve partial derivatives and full derivatives. We ta&e the partial derivative of / with respect to x and the partial derivative of / with respect to $. We also need the derivative with respect to time. /et's loo& at the 4uler /agrange equations for the simplest setting.
We specified $ at time, t 3 , and also at time t 3#. /et's ma&e the functional the 1 integral of x )t + . !n other words, in this case, the input is simply the velocity. We're going to try to minimi%e the square of this input, or the square of the velocity integrated over the entire trajectory. 1
!f we ta&e the 4uler /agrange equations and let the functional / be equal to x )t + , we quic&ly find that this equation reduces to a very simple differential equation
, x, t +dt x L) x
1
x
.
which we can then solve. #he resulting equation is simply that a straight line x
c*t c.
Going bac& to the specified boundary conditions, i.e. the fact that we want the straight line to start at $ at time t 3 , and end at $ # at time t 3 #, we can get the straight line equation. #his is the case when we have a first-order system where the input is the velocity, and it wor&s for robots that have a &inematic model )one where we can specify the velocity+.
!n general, our system might be characterised by higher-order dynamics. 5o for an n th order system, we might not be able to specify, or command, the velocity. #he system has inertia, and we can't arbitrarily specify velocities. or an nth order system, the input is the nth derivative of position. !n this setting, the 4uler /agrange equation loo&s a little more complicated. 6ut once again, it involves partial and full derivatives of /
!f we ta&e n3*, as we've seen, we get the shortest distance curve, the straight line. 731 corresponds to minimi%ing a functional that involves the square of the acceleration. 738 involves minimi%ing the square of the jer&. 739 involves minimi%ing the snap.
ccordingly, we get the minimum velocity trajectory, the minimum acceleration trajectory, the minimum jer& trajectory, and the minimum snap trajectory. "ne thing we might as& is why is the minimum velocity curve also the shortest distance curve: n3* really corresponds to the minimum velocity trajectory, and yet it yields the shortest distance trajectory.
Why is that: