Current Work

Given a convex potential in a space with convex obstacles, an artificial potential is used to navigate to the minimum of the natural potential while avoiding collisions. The artificial potential combines the given natural potential with potentials that repel the agent from the border of the obstacles. This is a popular approach to navigation problems because it can be implemented with spatially local information -- as opposed to most other approaches that require global knowledge of the environment. Our goal is to design a modified gradient controller that can rely on local gradient observations and local observations of the convex obstacles to drive the robot to the minimum of the convex potential while avoiding collisions with the obstacles.

As a reference problem we can consider navigation towards the top of a wooded hill. The hill provides a concave potential that we want to maximize and the trunks represent a set of nonintersecting convex punctures. The robot is equipped with an inertial measurement unit (IMU) that provides the directional derivative of the slope and a lidar unit that gives the range and bearing to the local physical obstacles.

The IMU can be interpreted as giving a local measurement of the gradient of the concave potential and the lidar observations can be interpreted as giving a local model of observed obstacles. We are interested in designing a controller that uses this spatially local information to drive the robot to the top of the hill. In these cases the information availabe is stochastic and it is of interest to develop algorithms that allows us to provide similar convergence guarantees than in the deterministic case.

In the following video three different control strategies are used to drive a point mass robot to the minimum of a convex function while avoding the obstacles in the environment. In the first case, the agent has exact and full information about the obstacles, meaning that at all times he knows their shape and location. In the other two, the information about the obstacles is local; once the robot is faced with an obstacle it assumes that what he is observing is the osculating circle to the obstacle. The only information needed is the distance to the obstacle, the normal direction and an estimate of the curvature of the obstacle at that location. In one of these cases these parameters are known exactly, while in the last simulation the parameters are available but contaminated with meassurement noise.