This paper presents MPC-CDF, a novel approach integrating density functions within a model predictive control (MPC) framework to ensure safety-critical control in nonlinear dynamical systems via control density functions (CDFs). By using the dual formulation of the navigation problem, we incorporate CDFs into an MPC framework, ensuring both convergence and safety of the underlying nonlinear system. These density functions are endowed with a physical interpretation, where the associated measure signifies the occupancy of system trajectories. Leveraging this occupancy-based perspective, we synthesize safety-critical controllers using the MPC-CDF framework. The efficacy of this approach is demonstrated in achieving a specified level of safety for the autonomous navigation of an underwater vehicle, effectively avoiding complex and arbitrary obstacles.
Density functions are a physically intuitive way to solve the safety critical control problem. Specifically, they can represent arbitrary unsafe sets and generate safe trajectories. The corresponding navigation measure has a nice physical interpretation related to occupancy, where the measure of any set corresponds to the occupancy of system trajectories within that set [1]. We illustrate this concept through a simple density function defined for a system with integrator dynamics and a circular unsafe set. In the figure below, the density function representing the circular obstacle is depicted with the corresponding occupancy. Notably, system trajectories exhibit zero occupancy in the unsafe set
Next, we develop an example where we start the AUV system with initial positions along a plane. The objective here is to converge to the target position at
In this example, we set up a complex underwater environment consisting of two torii, a cylinder and a share. The control task for the AUV is to go to a target position at
We provide a qualitative comparison between the proposed MPC-CDF framework and the MPC-CBF approach. To this extent, we set up an environment with a circle obstacle of radius
To use this framework, run the AUV or unicycle examples from the root. For the first example, run AUV_mpc_cdf_example1.m
and for the second example run AUV_mpc_cdf_example2.m
.
[1] Vaidya, Umesh. "Optimal motion planning using navigation measure." International Journal of Control 91.5 (2018): 989-998.
[2] Zheng, Andrew*, Sriram SKS Narayanan*, and Umesh Vaidya. "Safe navigation using density functions." IEEE Robotics and Automation Letters (2023).