aerial robotics lecture 3b_1 time, motion, and trajectories
TRANSCRIPT
-
7/25/2019 Aerial Robotics Lecture 3B_1 Time, Motion, And Trajectories
1/4
Lecture 3B.1
Time, Motion, and Trajectories
Until now, we've been discussing how to control a quadrotor given a specifiedtrajectory. 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
calledjerk. 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 nthorder system, i.e. we're specifying or the n thderivative of position,
we generally have boundary conditions on the first-order, second-order, third-order,
(, all the way up to the )n-*+ thderivative.
-
7/25/2019 Aerial Robotics Lecture 3B_1 Time, Motion, And Trajectories
2/4
#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
dttxxLtx
T
tx
+,,)+).+)
minarg
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+, +)tx , 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 1x , 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 #.
-
7/25/2019 Aerial Robotics Lecture 3B_1 Time, Motion, And Trajectories
3/4
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.
.
x
L
x
L
dt
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
integral of1+)tx . !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.
!f we ta&e the 4uler /agrange equations and let the functional / be equal to1+)tx , we
quic&ly find that this equation reduces to a very simple differential equation
1+,,) xdttxxL .x
which we can then solve. #he resulting equation is simply that a straight line
.* ctcx
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+.
-
7/25/2019 Aerial Robotics Lecture 3B_1 Time, Motion, And Trajectories
4/4
!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 nthorder 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: