trajectory optimization
In plain wordsCalculating the best way for a robot to move over time, choosing exact positions, speeds and forces moment by moment so the motion is smooth, fast or energy-efficient and avoids obstacles.
The numerical computation of a time-indexed sequence of states and control inputs that minimizes a cost — effort, time, jerk, closeness to obstacles — subject to the system's dynamics, start and goal conditions, and constraints on joints, torques, contacts and collisions. It is optimal controloptimal control, n.: Finding the best way to steer a system over time, such as the most fuel-efficient path for a rocket or the smoothest motion for a robot arm, by minimizing a cost while obeying the laws of motion. solved for one initial state rather than as a general feedback law. Shooting methods optimize the control sequence and simulate the dynamics forward (single and multiple shooting, differential dynamic programming, iterative LQR); collocation methods treat states and controls at discrete knot points as decision variables linked by dynamics constraints and hand the problem to a nonlinear-programming solver. Planners such as CHOMP and TrajOpt apply gradient-based optimization to produce smooth, collision-free arm motions, and contact-implicit formulations let the optimizer discover footstep or grasp contacts itself. Solutions are only locally optimal and depend on initialization, so trajectory optimization is often seeded by a sampling-based motion plannermotion planning, n.: Working out how a robot should move from where it is to where it needs to be, without hitting anything and within the limits of what its body can do. and run inside model predictive controlmodel predictive control, n.: A control method that repeatedly plans the best moves a few seconds ahead using a model of the machine, carries out only the first move, then plans again with fresh measurements. for feedback.
We seed the trajectory optimization with the planner's path and let it smooth out the jerks.
Origin
Grew from aerospace work on rocket and aircraft trajectories in the 1950s and 1960s, including David Mayne's differential dynamic programming (1966), and from collocation methods of the 1970s and 1980s. Robotics adoption accelerated with iterative LQR (Weiwei Li and Emanuel Todorov, 2004), CHOMP (Nathan Ratliff and colleagues, 2009) and TrajOpt (John Schulman and colleagues, 2013).
Related
- optimal controloptimal control, n.: Finding the best way to steer a system over time, such as the most fuel-efficient path for a rocket or the smoothest motion for a robot arm, by minimizing a cost while obeying the laws of motion.
- model predictive controlmodel predictive control, n.: A control method that repeatedly plans the best moves a few seconds ahead using a model of the machine, carries out only the first move, then plans again with fresh measurements.
- motion planningmotion planning, n.: Working out how a robot should move from where it is to where it needs to be, without hitting anything and within the limits of what its body can do.
- inverse kinematicsinverse kinematics, n.: Working backward from where you want a robot's hand to be to the joint angles that will put it there, like working out how to bend your arm to touch your nose.
- dexterous manipulationdexterous manipulation, n.: Skilled handling of objects with robot fingers, such as spinning a pen, turning a key or rotating a cube in one hand: the fine finger work people do without thinking.
- control theorycontrol theory, n.: The mathematics of making machines behave as intended by constantly measuring what they are doing and correcting them, as a thermostat, cruise control or self-balancing robot does.
Sources
- Betts, J. T. (1998). Survey of numerical methods for trajectory optimization. Journal of Guidance, Control, and Dynamics 21(2), 193–207.
- Schulman, J. et al. (2013). Finding locally optimal, collision-free trajectories with sequential convex optimization. Robotics: Science and Systems.
Mentioned in
inverse kinematicsinverse kinematics, n.: Working backward from where you want a robot's hand to be to the joint angles that will put it there, like working out how to bend your arm to touch your nose., model predictive controlmodel predictive control, n.: A control method that repeatedly plans the best moves a few seconds ahead using a model of the machine, carries out only the first move, then plans again with fresh measurements., motion planningmotion planning, n.: Working out how a robot should move from where it is to where it needs to be, without hitting anything and within the limits of what its body can do., path planningpath planning, n.: Finding a route for a robot or vehicle from a start to a goal that avoids obstacles, usually the shortest or safest one, much as a navigation app finds a route on a map., trajectorytrajectory, n.: The record of what happened as an AI agent acted: the sequence of situations it was in, the actions it took and the rewards it received., dexterous manipulationdexterous manipulation, n.: Skilled handling of objects with robot fingers, such as spinning a pen, turning a key or rotating a cube in one hand: the fine finger work people do without thinking., MuJoCoMuJoCo, prop. n.: A free physics simulator, now maintained by Google DeepMind, that AI researchers use to train and test simulated robots and bodies, especially with trial-and-error learning., optimal controloptimal control, n.: Finding the best way to steer a system over time, such as the most fuel-efficient path for a rocket or the smoothest motion for a robot arm, by minimizing a cost while obeying the laws of motion., rapidly exploring random treerapidly exploring random tree, n.: A planning method that grows a branching tree of random moves outward from the robot's starting position, spreading quickly into open space until a branch reaches the goal.