Summary of Brady's "Basics of Robot Motion Planning and Control"

by Sunil Vemuri
February 14, 1996

These notes are available on-line at http://www-ksl.stanford.edu/people/vemuri/quail/sunilnotes/planning/brady-summary.html

1. Introduction

• "A basic problem in robotics is planning motions and to solve some previously specified task, and then controlling the robot as it executes the commands necessary to achieve those motions" (page 1)
• Bias towards assembly line stationary "arm-type" robots: "Robots are typically linked structures with motors at the joints between adjacent links that can set the joint to any value in its range"
• Interested in feedback control systems (see definition of feedback control)
• Robots for spot welding, machine loading, and spray painting are predominant uses for robots in industry
• Guiding is main way of programming robots because it does not require programming. But some applications require manipulator-level programming.
• Paper considers robot arms that operate in 2-dimensional space. 3-D would be too complex.

Desirable qualities
impose constraints on the velocity and acceleration. Some tasks require constant velocity (scribing, arc welding). Controlled acceleration permits smoother movements of arm and reduces wear and tear

Definitions
• The motion of a robot are called trajectories , and consist of a sequence of desired positions, velocities, and accelerations of some point such as the end effector or manipulator tip. (page 1-2)
• inverse dynamics problem - for a manipulator composed of (nearly) rigid links, it is possible to compute the time sequence of joint torques required to achieve the desired tine sequence, positions, velocities, and accelerations (page 2)
• feedback control - measuring the actual motion and forces during execution of the command sequence, compute an error from the desired motion and forces, and modify subsequent inputs so as to reduce the error at subsequent times. (page 2)
• configuration - a vector of 6 parameters specifying the position and orientation of a rigid object (assuming 3 dimensions) (page 2)
• guiding or teaching - the technique of defining desired motions by specifying the configurations marking the beginning and end of the motion (page 3)
• trajectory planning - the process of computing a sequence of positions, velocities, and accelerations (page 3)
• manipulator-level programming or explicit programming - programming language which provides primitive robot manipulation commands (page 4)
• task-level programming - programmer specifies robot motions in terms of object parts that are meaningful for the task (page 4)
• kinematics - the position, velocity, and acceleration relationships among the links of the manipulator (page 6)
• statics - the relationship between the force and torque that the manipulator is exerting on the environment and the forces and torques at the links (page 6)
• dynamics - the relationship between kinematics and statics (page 6)

2. Kinematics, Statics, Dynamics

• The relationship between manipulator joint angles, called joint space, and Cartesian space is usually complicated and is a major source of difficulty in devising a control system (page 7)
• d'Alembert's Principle - the acceleration of a body generates a force of inertia which can be considered together with other forces acting on a body. In effect, this reduces dynamics to statics
• The problem of computing what torques to apply to the joints to achieve a desired trajectory is the problem of inverse dynamics . (page 7)
• The direct kinematics consists in part of finding the position of the end of the manipulator given particular joint angles (theta1, theta2), whereas the inverse kinematics involves finding the joint angles for a given position of the end of the manipulator.
• [For a two dimensional object,] The 3-tuple (x,y, theta) is called the configuration of the object. The set of all possible configurations is called the configuration space . (page 11)
• Workspace is the area that the end of the manipulator can reach with a particular orientation (page 13)
• A static analysis for a manipulator is obtained by performing a static analysis on an isolated link, where neighboring links of a manipulator are seen as contributing fores and torques to this link: forces, torques.
• Sections 2.2 - 2.3.2 have lots of equations on using Newton's and Euler's equations for computing the torques for a planned trajectory. Probably don't need to know for qua.

3. Feedback

• The role of feedback control is to ensure that a planned sequence of motions and forces will execute correctly in the face of unpredictable errors arising from inaccuracies of kinematic and dynamic models of the robot, limitations of computational precision, and mechanical effects such as static friction or vibration. (page 18)
• feedback control - measuring the actual motion during execution of the command sequence, computing the error from the desired motion, and modifying subsequent inputs so as to reduce the error at subsequent times. (page 18)
• problem: determining what rule, or feedback law , should be used to compute the current input modifications for any set of past errors measured since the initiation of the task. (page 18)
• The purpose of the feedback law is to make the actual responses match the commanded responses as closely as possible, independent of the disturbances to the [robot]. (page 19)

Classes of Feedback Laws
(page 20)

• Open-Loop Control - The entire sequence is predetermined and is applied regardless of any errors which develop
• Linear Control - Feedback mapping is linear
• Open-Loop Feedback Control - the practice of designing a control law as if certain variables or parameters of the [robot] were known in advance, parametrizing the controls in terms of those variables, and implementing it with actual measured values of those variables.
• Nonlinear Controls: Everything else - bang-bang, duty-cycle modulation, N-cycle control, logic controllers, globally nonlinear feedback mappings and adaptive control.

• Section 3.2 goes into mathematical detail of the PID control law. I will not cover this here.

Definitions
(somewhat unimportant)

• stability - bounded responses occur for any bounded command sequence. (page 20)
• static accuracy - the ability to trace time-invariant or piecewise constant commanded responses in the face of constant disturbances. (page 20)
• transient responses - the ability to track time-varying commands responses in the face of time-varying disturbances
• independent joint control - particularly common feedback law
• proportioinal-integral-derivative (PID) - a control law (see page 21 for description). I've seen this before and I think it might be an important example.

4. Trajectory Planning

• Trajectory planning converts a description of the desired motion to a trajectory defining the time sequence of intermediate configurations of the arm between the source P0 and the destination P1. The output of the trajectory planning is a sequence of configurations of the arm (page 26)

• Two methods for computing trajectories: polynomial and linear

Linear

• The fundamental difficulty in achieving straight line motion is that linear interpolation between the joint space descriptions of two points does not achieve Cartesian space straight line motion.
• Since it is by no means trivial to achieve Cartesian space straight line motion, we might be content to approximate Cartesian space straight lines by splines composed of primitive trajectories that are easier, or more efficient, to achieve
• Solution: generate midpoints (knot points) between two points. linearly interpolate a path in joint space from source point to knot point. recursively generate knot points until the error of the motion satisfies some error threshold
• Simple linear interpolation between successive knot points requires a step change in acceleration at each knot point.
• racing joints problem - how to orchestrate the individual joint movements so that they synchronize at the successive knot points and so that the arm moves smoothly rather than jerkily.

Definitions

• path - a curve in space which is a function of the distance along the curve
• trajectory - the time course along a path

5. Compliant Motion

• external position constraints:
• guarded motion - used when the manipulator is about to contact a surface
• compliant motion - used when the manipulator is in continuing contact with a surface.
• Based on the example in figure 2, we want to use guarded motion to slowly move arm until the force sensor detects contact, then use both guarded motion and compliant motion to move the object along the surface while maintaining contact.
• hybrid controller - a controller which can simultaneously control force along certain coordinate axes and control position along the remaining coordinate axes.

• Existing systems require that tasks be specified by a sequence of motions, rather than by the world states to be achieve. The goal of task-level programming systems is to allow task specifications by means of symbolically describing states, leaving it to the system to plan the required motions.
• collision avoidance is a central aspect of task-planning
• Findpath problem - the problem of planning free motions, given models of the manipulator and of any objects in the workspace. Fundamentally, this is the geometric problem of finding a path for a moving solid among other solid obstacles.
• Solving Findpath
• Hypothesize and Test - same as Generate and Test from Search strategies. Not very interesting
• Similar to Latombe's paper: grow all objects in universe by size of robot and then shrink robot to a point. Free space is all space not occupied by expanded objects (configuration obstacles)
• Need to make no part of robot arm collides with obstacles. Once again, grow objects in universe and reduce robot arm to connected line segments. (figure 19)
• The configuration obstacles for the two-link manipulator are complex shapes for which there is no convenient analytic representation. The simplest representation is a polygonal approximation to their boundary.
• In general, approximations of configuration objects must be made because it is not feasible to compute exact boundaries in higher dimensions
• collision avoidance is only one aspect of task-planning. Some tasks require guarded and compliant motion (grasping, assembly)

Questions

What is the problem of inverse kinematics?

What is the difference between manipulator-level programming and task-level programming?

What is guiding?