Shield AI Fundamentals: On Path Planning & Controls
A conversation with Connie Sun, an AI Engineer at Shield AI.
What does planning refer to in robotics?
Path and trajectory planning in the context of robotics refers to motion planning, or finding a path to reach a predetermined goal while avoiding obstacles and satisfying other constraints. This concept isn’t unique to robotics; people employ motion planning in everyday life. Take Google Maps for example: you tell it where you want go and your starting location, then it figures out a path that gets you there. The route it comes up with has to satisfy basic requirements, such as avoiding known obstacles and choosing an end point that is as close as possible to your desired destination.
Planning in robotics is conceptually similar to this example of a navigating a car, but can appear vastly different for different robotics systems. For instance, motion planning can refer to the movement of a multi-jointed robotic arm through a highly controlled factory environment to achieve a task or, as in a Shield AI case, it can refer to the flight path of an autonomous quadrotor while exploring a previously unknown space. In the former case, planning might consist of figuring out how each joint will have to move over time to allow the end point of the arm to move from point A to point B while guaranteeing that the entire arm would not collide with anything. For Shield AI’s quadrotor Nova, planning consists of figuring out a collision-free path that takes our robot from its current location to a chosen point-of-interest while taking into account factors such as distance optimality, information gain, and dynamic feasibility.
In the context of motion planning, what does controls refer to?
Once you have a plan, controls comes into play by figuring out how to manipulate the robot’s actuators to achieve the desired result. In our Google Maps example, the driver acts as the controls by manipulating the steering wheel and gas and brake pedals to follow the path. In a quadrotor such as Nova, a controls algorithm will distill information from future path, current errors, and known environmental disturbances into motor commands in the form of rotations per minute (RPM) and pass it down to the robot’s four motors.
Just as the person needs to develop an inherent understanding of how the car responds to various inputs, the controls algorithm also needs to understand the dynamics of the system. Usually this is done with a combination of theory -- such as Euler’s Rigid Body Dynamics -- and offline parameter identification including determining the mass, moment of inertia, and motor response before flight. Apart from this a priori understanding of the system, a human driver will also have to compensate for environmental variables such as weather, wind, vortexes generated by a massive passing truck, and more. In the realm of controls, this is called online parameter estimation and adaptation.
What is the role of path planning and controls in autonomy?
Planning and controls is one of the foundations of autonomy. Its role can be best digested visually with the following simplified diagram:
Shield AI’s quadrotor Nova was designed to autonomously collect information by navigating through a previously unknown space and building a map as it moves through the environment. Nova has to be able to find a way to fully explore an indoor environment without hitting things like doors or walls (planning), and then, given this path, the robot has to figure out how to use its motors to track it (controls).
How do we approach path planning and controls in the context of Shield AI?
At Shield AI, we strive to create a product that truly delivers value and delights our customer. This means we have to be excellent on all fronts. For planning and controls, this means building a system which is able to generate a path from point A to point B and then generate motor commands to follow that path. We develop autonomous systems that explore and model complex environments while concurrently minimizing time and energy expenditure, ensuring system safety, and mitigating computational and sensing constraints. We address considerations such as response to dynamic obstacles, safety, feasibility of required vehicle dynamics, optimality of travel distance and energy expenditure, maximization of information gathered, and CPU usage.
At Shield AI, we are pushing the boundary of the state of the art in technology. This requires a deep understanding of theory, a broad base of knowledge of how different parts of the system integrate with each other, and an ability to innovate solutions to problems that do not appear in the lab or are not addressed by academia. A tremendous amount of verification and validation is required to ensure our algorithms are robust enough to handle what is required. This is a highly iterative process for a robot that must be fully autonomous in an unknown environment. The ability to work with my teammates to tackle these challenges -- and solve them -- is part of what makes working at Shield AI so exciting and rewarding.