Linear-quadratic regulator rapidly exploring random tree
Class | Kinodynamic motion planning |
---|---|
Worst-case performance | O(n log n) |
Worst-case space complexity | O(n) |
Linear-quadratic regulator rapidly-exploring random tree (LQR-RRT) is a sampling based algorithm for kinodynamic planning. A solver is producing random actions which are forming a funnel in the state space. The generated tree is the action sequence which fulfills the cost function. The restriction is, that a prediction model, based on differential equations, is available to simulate a physical system.
Motivation

The control theory is using differential equations to describe complex physical systems like an inverted pendulum.[1] A set of differential equations forms a physics engine which maps the control input to the state space of the system. The forward model is able to simulate the given domain. For example, if the user pushes a cart to the left, a pendulum mounted on the cart will react with a motion. The exact force is determined by newton's laws of motion.
A solver, for example PID controllers and model predictive control, are able to bring the simulated system into a goal state. From an abstract point of view, the problem of controlling a complex physical system is a kinodynamic motion planning problem.[2] In contrast to a normal path planning problem, the state space isn't only a 2d map which contains of x and y coordinates. But a physical underactuated system has much more dimension, e.g. the applied forces, rotating angles and friction to the ground.[3] Finding a feasible trajectory in the complex state space is a demanding problem for mathematics.
Description
LQR tracking

Linear-quadratic regulator (LQR) is a goal formulation for a system of differential equations.[4] It defines a cost function but doesn't answer the question of how to bring the system into the desired state. In contrast to linear problems, for example a line following robot, kinodynamic problems can be solved not with a single action but with a trajectory of many control signals. These signals are determined and constantly updated with the receding horizon strategy, also known as model predictive control (MPC). LQR tracking means to find and evaluate trajectories for solving a system of differential equations.
In contrast to a PID controller, which is only able to find the next control action, a LQR tree is able to store a sequence of actions in advance.[5] This is equal to a multistage solver which keeps the time horizon in mind. An action taken in the now will affect the system indirectly in the future with a delayed feedback.
Criticism
The algorithm isn't recommended for practical applications, but it is a university-driven research project. The first version was developed at the Massachusetts Institute of Technology in 2012 in the AI laboratory.[3] With a small delay, the algorithm was adapted in the year 2016 by other academic robotics teams like University of Florida for building experimental path planners. In 2018, the algorithm was included in the Pythonrobotics library.[6]
The algorithm wasn't able to stabilize the slipping bicycle model at certain configurations in the Matlab environment.[7] The reason is, that dynamical systems are too complex for the LQR-Tree searching algorithm.
References
- ^ "How Long Does It Take for a Pencil to Tip Over?". WIRED. 2014-09-03. Retrieved 2020-08-19.
- ^ Jean-Paul Laumond; Mark Overmars (11 February 1997). Algorithms for Robotic Motion and Manipulation: WAFR 1996. CRC Press. pp. 109–. ISBN 978-1-4398-6452-4.
- ^ a b Alejandro Perez and Robert Platt and George Konidaris and Leslie Kaelbling and Tomas Lozano-Perez (2012). LQR-RRT*: Optimal sampling-based motion planning with automatically derived extension heuristics. 2012 IEEE International Conference on Robotics and Automation. IEEE. doi:10.1109/icra.2012.6225177.
- ^ "Watch An Inverted Pendulum - Arduino-Driven". i-programmer. 2018-06-02. Retrieved 2020-08-19.
- ^ Philipp Reist and Pascal Preiswerk and Russ Tedrake (2016). "Feedback-motion-planning with simulation-based LQR-trees". The International Journal of Robotics Research. 35 (11). SAGE Publications: 1393–1416. doi:10.1177/0278364916647192. hdl:1721.1/124352. S2CID 13307517.
- ^ Sakai, Atsushi and Ingram, Daniel and Dinius, Joseph and Chawla, Karan and Raffin, Antonin and Paques, Alexis (2018). "PythonRobotics: a Python code collection of robotics algorithms". arXiv:1808.10703 [cs.RO].
{{cite arXiv}}
: CS1 maint: multiple names: authors list (link) - ^ Steve M Levine (2012). Sampling-based Planning Algorithms Applied to Bicycles.