手把手教用matlab做无人驾驶(二十五)--基于控制障碍函数的MPC(MPC-CBF)

10 篇文章 27 订阅

这边博客主要完成论文的内容: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 路径调用即可,必须两个都加入,否则会报错。

  • 8
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
### 回答1: 控制障碍函数(Control Barrier Function)是一种用于控制系统的安全性的方法。它可以通过定义一个函数来限制系统的状态,使其不会进入不安全的区域。当系统的状态接近不安全区域时,控制器会自动调整控制策略,以确保系统的安全性。控制障碍函数在机器人控制自动驾驶汽车和无人机等领域得到广泛应用。 ### 回答2: 控制屏障函数(Control Barrier Function,CBF)是一种运动控制策略,常用于机器人运动规划中,旨在实现安全稳定的控制CBF 是在机器人控制领域被广泛研究和应用的控制策略,可以有效帮助机器人实现不碰撞或发生意外的自主控制。 具体来说,CBF 是一种基于非线性力学理论的数学方法,可用于控制系统的设计、分析和开发。该方法利用控制屏障函数来约束机器人系统的动态行为,从而使系统能够在被指定约束条件下实现安全稳定的运动。 控制屏障函数的作用是在系统的动态行为中加入限制条件,并确保这些限制条件不会被破坏。其本质是在动态控制系统中引入一个“屏障函数”,通过优化指定的约束条件来控制机器人的行动,以实现特定的目标。 在实际应用中,CBF 经常用于机器人运动规划中,例如机器人路径规划、机器人操作规划等。通过引入控制屏障函数,可以有效避免机器人碰撞等意外情况的发生,保证机器人的运动安全稳定。 总之,CBF 是一种可以实现安全稳定控制的数学方法,可以应用于机器人控制系统的设计、分析和开发中,是实现机器人自主控制的重要策略。 ### 回答3: 控制障碍函数(Control Barrier Function, CBF)是一种在控制系统中用于保障安全性的技术工具。CBF可以帮助我们判断系统是否处于安全状态,当系统处于非安全状态时,CBF可以引导控制系统通过调整参数、选择合适的控制策略等方式使得系统恢复到安全状态。 CBF最初是在机器人控制领域中提出的,其主要应用是判断机器人系统是否遵守安全界限,例如:机器人是否撞到了墙壁、是否将手捏伤等。通过设计CBF函数,可以保证机器人系统在动态运动过程中不会超过安全边界,从而避免了机器人的意外伤害。 除了机器人控制领域,CBF自动驾驶、智能家居、智能交通等领域中也得到了广泛应用。例如,在自动驾驶领域,CBF可以用来保障车辆的安全性,避免车辆与其他车辆或障碍物之间的碰撞或者漂移等情况的发生。 在设计CBF函数时,需要先定义系统的安全边界,然后通过数学建模的方式设计使得系统稳定,同时不会超出安全边界的CBF函数,并将CBF函数控制系统结合使用。CBF函数的设计是一个相对复杂的问题,需要考虑系统的复杂性以及数学模型的可行性等因素。 总之,CBF是一种保障控制系统安全性的有效手段,其应用范围广泛,具有重要的理论和实践价值。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值