240 likes | 440 Views
Ch. 5: Path Planning Ch. 6 Single Variable Control. Updates. Lab #3 this week Lab #2 writeup due 3/22 HW #3 due today HW #4 distributed today. Insect-sized MAVs. Recent success in the Harvard Microrobotics Lab:. Path planning overview.
E N D
Updates • Lab #3 this week • Lab #2 writeup due 3/22 • HW #3 due today • HW #4 distributed today ES159/259
Insect-sized MAVs • Recent success in the Harvard Microrobotics Lab: ES159/259
Path planning overview • Want to find a path from an initial position to a final position • Both are defined as vectors in the configuration space • Initial configuration is qs and final configuration is qf • Instead of completely defining QO or Qfree, we develop a sequence of discrete configurations that drive the configuration from qs to qf and avoid obstacles • Definition: • g: continuous mapping from qs to qf • Such that: ES159/259
The relation between workspace forces and joint torques • When we discussed velocity kinematics we said that we could use the Jacobian to describe the mapping from joint forces and torques to end effector forces and torques: • Jv is the velocity portion of the Jacobian (since we have only discussed workspace forces, not torques) • The Jacobian must be derived for each origin oi, denoted Joi ES159/259
Composing workspace forces • The total joint torques acting on a manipulator is the sum of the torques from all attractive and repulsive potentials: • If we add workspace forces before transforming into the configuration space, we will have incorrect torques in the configuration space ES159/259
Gradient descent • Now that we can formulate the total torques acting on the joints in the configuration space due to the artificial potentials, we can formulate a path planning algorithm • First, determine your initial configuration • Second, given a desired point in the workspace, calculate the final configuration using the inverse kinematics • Use this to create an attractive potential field • Locate obstacles in the workspace • Create a repulsive potential field • Sum the joint torques in the configuration space • Use gradient descent to reach your target configuration ES159/259
Algorithm: Notation: qi: configuration at the ith iteration e: region of convergence zi:influence of attractive potential for oi. Can be different for each oi ai:defines step size of ith iteration hi:influence of repulsive potential for oi. Can be different for each oi r0:distance of influence for obstacles. Can be defined differently for different obstacles Gradient descent ES159/259
Instead we modify the gradient descent algorithm to add a random excitation in case we are stuck in a local minima We are stuck in a local minima if successive iterations result in minimal changes in the configuration If so, perform a random walk to get out The random walk is defined by adding a uniformly distributed variable to each joint parameter Local minima ES159/259
Trajectory planning • Either gradient descent or probabilistic roadmaps give us a sequence of way points • How do we smoothly connect them? • First, split the workspace into areas of fast and guarded motion: ES159/259
Creating smooth trajectories • Very simple premise: fit positions and velocities to polynomials • The more constraints, the more terms in the polynomial • At least two parameters (initial and final positions) • We do this for each joint variable independently • For example: if we specify the initial and final positions and velocities, we need four parameters: • Cubic polynomial: • The velocity is: • This has determinant (tf- t0)4, thus we can invert and find unique solution ES159/259
Creating smooth trajectories • If we also specify accelerations, we add two other parameters • For example: quintic polynomial • The velocity is: ES159/259
Creating smooth trajectories • Therefore, for either cubic or quintic polynomials, we can use the specified parameters and solve for the a terms and create a trajectory from one way point to another • However, what if we want to connect multiple way points, we can do one of two things: • Use a quintic polynomial to describe the motion between qi and qi+1 such that: • This ensures that there are no jumps in velocity (and hence acceleration and motor torques) ES159/259
Creating smooth trajectories • However, what if we want to connect multiple way points, we can do one of two things: • Or we can string together multiple way points by specifying the initial and final velocities • E.g. three way points: • Thus we need an order-6 polynomial: • Downsides: as the number of way points increases, the order of polynomial increases ES159/259
Single variable control • How do we determine the motor/actuator inputs so as to command the end effector in a desired motion? • In general, the input voltage/current does not create instantaneous motion to a desired configuration • Due to dynamics (inertia, etc) • Nonlinear effects • Backlash • Friction • Linear effects • Compliance • Thus, we need three basic pieces of information: • Desired joint trajectory • Description of the system (ODE) • Measurement of actual trajectory ES159/259
SISO overview • Typical single input, single output (SISO) system: • We want the robot tracks the desired trajectory and rejects external disturbances • We already have the desired trajectory, and we assume that we can measure the actual trajectories • Thus the first thing we need is a system description ES159/259
SISO overview • Need a convenient input-output description of a SISO system • Two typical representations for the plant: • Transfer function • State-space • Transfer functions represent the system dynamics in terms of the Laplace transform of the ODEs that represent the system dynamics • For example, if we have a 1DOF system described by: • We want the representation in the Laplace domain: • Therefore, we give the transfer function as: ES159/259
Review of the Laplace transform • Laplace transform creates algebraic equations from differential equations • The Laplace transform is defined as follows: • For example, Laplace transform of a derivative: • Integrating by parts: ES159/259
Review of the Laplace transform • Similarly, Laplace transform of a second derivative: • Thus, if we have a generic 2nd order system described by the following ODE: • And we want to get a transfer function representation of the system, take the Laplace transform of both sides: ES159/259
Review of the Laplace transform • Continuing: • The transient response is the solution of the above ODE if the forcing function F(t) = 0 • Ignoring the transient response, we can rearrange: • This is the input-output transfer function and the denominator is called the characteristic equation ES159/259
Review of the Laplace transform • Properties of the Laplace transform • Takes an ODE to a algebraic equation • Differentiation in the time domain is multiplication by s in the Laplace domain • Integration in the time domain is multiplication by 1/s in the Laplace domain • Considers initial conditions • i.e. transient and steady-state response • The Laplace transform is a linear operator ES159/259
Review of the Laplace transform • for this class, we will rely on a table of Laplace transform pairs for convenience ES159/259
Review of the Laplace transform ES159/259
Next class… • Continuation of single variable control • Discussion of final projects ES159/259