这边博客主要完成论文的内容:Safety-Critical Model Predictive Control with Discrete-Time Control Barrier Function,论文地址:[2007.11718] Safety-Critical Model Predictive Control with Discrete-Time Control Barrier Function (arxiv.org)https://arxiv.org/abs/2007.11718
文章参考地址:
1.基于控制障碍函数的模型预测控制(MPC-CBF) - 知乎 (zhihu.com)
2.CLF-CBF Controller - 知乎 (zhihu.com)
MPC(Model Predictive Control)是移动机器人近年来领域目前比较常用的运动规划方法。然而,如何在运动过程中确保安全性仍然是一个挑战。其中一个很重要的原因是当机器人达到最优性能或者运动轨迹最优的时候,求得解往往是在状态不变集的边界。当机器人运动学模型或者机器人当前状态的观测存在较大不确定性的时候,往往会导致危险情况的发生。
为了避免碰撞,通常采用的方法是为障碍物添加膨胀半径,这种做法实际上是等同于缩小了可行集的范围。这种基于欧几里得范数的避障约束并不会影响到机器人的运动,并不能使得机器人在比较远的距离就开始规避,实际操作过程中常常会存在反应时间不够而造成的危险。我们需要将模型预测控制,在确保集合不变性的前提下,将限制机器人运动加入到优化过程中。
1. The discrete-time control Lyapunov function and control barrier function can be unified into one optimization program (DCLF-DCBF)
2. The proposed control logic MPC-CBF solves the following constrained finite-time optimal control problem with horizon N at each time step t:
3.
取预测步长N为8,对于衰减系数取0到1之间不同的值。当,r意味着没有衰减, 函数没有起到作用,MPC-CBF退化为MPC-DC,取越小, 函数对障碍物的“排斥”越强。
代码见:
MPC/NMPC-DCLF-DCBF-master at main · caokaifa/MPC (github.com)
注意:这里用到的求解器为Ipopt,matlab高版本部署按照我给的地址下载部署:
(22条消息) Ipopt优化控制求解器-机器学习文档类资源-CSDN文库
这里面有两个文件,解压加入到matlab 路径调用即可,必须两个都加入,否则会报错。