Explicit Model Predictive Control of a Magnetic Flexible Endoscope

对胶囊的动力学进行建模,能更好的对胶囊进行控制,在已知胶囊预定义轨迹的情况下,对胶囊进行预测控制和定位。

一个磁灵活内窥镜的显式模型预测控制
Explicit Model Predictive Control of a Magnetic Flexible Endoscope [1]
Paper Link
Authors: Scaglioni, Bruno, et al.
2019, IEEE robotics and automation letters (RA-L)

目录 outline

  • 0. 摘要 Abstract
  • 1. 介绍 Introduction
  • 2. 理论 Methods
    • 2.A 胶囊模型 Capsule Model
    • 2.B 显式MPC Explicit MPC
    • 2.C 磁驱动Magnetic Actuation

0. 摘要 Abstract

显式模型预测控制与非线性优化结合被首次应用在磁驱柔性内窥镜。这个方法目标是在给定期望力和力矩下,计算外部永磁体的运动。这里描述的策略利用磁驱动的非线性本质的优势,并且显式地考虑工作空间的边界,和驱动限制。一开始,一个带尾绳的胶囊的简化的动态模型,基于欧拉-拉格朗日等式被开发出来。接着,显式模型预测控制被描述,并且一个基于单步,非线性优化路线的用于外部磁铁定位的新方法被提出。
explicit model predictive control is applied in conjunction with nonlinear optimization to a magnetically actuated flexible endoscope for the first time. The approach is aimed at computing the motion of the external permanent magnet, given the desired forces and torques. The strategy described here takes advantage of the nonlinear nature of the magnetic actuation and explicitly considers the workspace boundaries, as well as the actuation constraints. Initially, a simplified dynamic model of the tethered capsule, based on the Euler-Lagrange equations is developed. Subsequently, the explicit model predictive control is described and a novel approach for the external magnet positioning, based on a single step, nonlinear optimisation routine, is proposed.

1. 介绍 Introduction

在台式平台以及猪活体标本上的广泛测试表明,影响胶囊可操作性的主要限制因素是结肠特征性的恶劣环境。这里,腹部褶皱和绷紧的弯曲阻塞胶囊,因而这些阻塞在控制动作的计算中最小化胶囊动力学的相关性。解剖障碍是最重要的的干扰源且不能被忽略,因为这可能导致对胶囊施加不期望的和次佳的作用力矩和力。这对PI控制器尤其如此,因为没有考虑工作空间限制和驱动的非线性本质。
Extensive tests on bench-top platforms, as well as porcine live specimen, have demonstrated that the main limiting factor affecting the manoeuvrability of the capsule is the hostile environment that characterises the colon. Here, haustral folds and tight bends obstruct the capsule, thus minimising the relevance of the capsule’s dynamics in the computation of the control action. The anatomical obstructions are significant sources of disturbances and cannot be neglected as this can lead to unexpected and suboptimal application of torques and forces to the capsule. This is particularly true with PI controllers, as the workspace limits and nonlinear nature of the actuation are not taken into account.

为了解决这个问题,一个基于显式模型预测控制(eMPC)控制方法被讨论在这篇信中。常规的MPC是一种著名的且广泛使用的技术,原本为化学过程开发的。MPC有特别的特性,显式考虑驱动和状态的限制来解决一个优化控制问题,因此对于上面讨论的问题来说非常有利。在另一方面,它要求优化问题的在线解决,这会极大地增加计算负担。由于这个原因,我们选择eMPC方法,这种方法转移大量的计算负担到线下,作为回报,限制定义了有限的灵活度。
In order to overcome this issue, a control approach based on explicit Model Predictive Control (eMPC) is discussed in this letter. Conventional MPC is a well known and widely adopted technique, originally developed for chemical processes. MPC has the unique characteristic of solving an optimal control problem explicitly considering constraints on actuation and state, thus being particularly beneficial with respect to the issues discussed above. On the other hand, it requires the on-line solution of an optimization problem, which can significantly increase the computational burden. For this reason, we use the eMPC approach, which shifts most of the computational burden off-line, in return for a limited flexibility in the definition of constraints.

这释放了的计算能力被用来提出一个新的方法来解决磁问题。比如,EPM相对于胶囊的位姿。所提出的技术是基于一个单步优化过程的解,目的是控制EPM的绝对位置,而不是增量位移。
This freed computational power is then used to propose a new approach to the solution of the magnetic problem, the pose of the EPM with respect to the capsule, required to obtain a desired force/torque. The proposed technique is based on the solution of a single-step optimization procedure, with the aim of controlling the absolute position of the EPM rather than the incremental displacement.

2. 理论 Methods

用于概念验证,我们专注于一个预定义的轨迹在一个临床相关性结肠仿体中。采用不正确的轨迹和强迫胶囊沿着一个受约束方向的力的用户输入将导致一个无效的控制动作。这问题不能被解决在运动控制层面,而是需要一个额外的有环境知识的智能层面。
For proof-of-concept, we focus on following a pre-defined trajectory in a clinically relevant colon phantom. The adoption of ill-planned trajectories as well as user inputs that force the capsule in a constrained direction would result in an ineffective control action. This issue cannot be tackled at a motion control level, but rather requires an additional layer of intelligence with knowledge of the environment. This interesting topic will be discussed in future works.

2.A 胶囊模型 Capsule Model

动态模型,用于控制设计目的的,在这里被首次描述。
the dynamic model, used for control design purposes, is described here for the first time.

ddtLq˙Lq=ξ\frac{d}{dt}\frac{\partial L}{\partial \dot{\mathbf{q}}}-\frac{\partial L}{\partial \mathbf{q}}=\mathbf{\xi}

L=TUL=T-U, TTUU分别是是kinetic and potential energy terms. ξ\mathbf{\xi}是胶囊上施加的磁力和滑动阻力的合力。q(t)=[x(t),y(t),ϕ(t),θ(t),φ(t)]\mathbf{q}(t)=[x(t),y(t),\phi(t),\theta(t),\varphi(t)]

u=[fx,fy,τϕ,τθ,τφ]\mathbf{u}=[f_{x},f_{y},\tau_{\phi},\tau_{\theta},\tau_{\varphi}]是磁耦合施加的磁力。μ\mu是阻力系数。fh=μdqdt\mathbf{f}_{h}=\mu\frac{d\mathbf{q}}{dt}是阻力。ξ=ufh\mathbf{\xi}=\mathbf{u}-\mathbf{f}_{h}

许多关于下消化道的阻力的工作可以在文献中获得,但是参数的识别需要专门的实验工作。在这篇文章中,有意义的阻力系数已经被采用,并且在实验工作中进一步微调。
Much work on friction in lower GI tract is available in literature, but the identification of the parameters requires dedicated experimental work. In this letter, reasonable friction coefficients have been adopted and subsequently tuned during the experimental work.

胶囊被建模为刚体,实际上是铰接在与组织接触的点上。 选择这种方法是导航策略的结果。 为了促进越过障碍物,胶囊相对于接触表面一直朝相反的方向前进。
the capsule is modelled as a rigid body, virtually hinged in the point of contact with the tissue. This approach has been chosen as a consequence of the navigation strategy. In order to promote the traversing of obstacles, the capsule is constantly heading in the opposite direction, with respect to the contact surface.

考虑到胶囊与结肠的上壁接触,z(t)上的动力学被忽略了。 这种方法避免了仅由重力构成的势能(U = 0)的计算。 值得一提的是,这种方法相对于结肠壁z(t)的变化是稳健的,因为与EPM的磁耦合不断将胶囊吸引到顶部表面.
Considering the capsule in contact with the upper wall of the colon, the dynamic on z(t) is neglected. This approach avoids the computation of the potential energy (U = 0), constituted only by gravity. It is worth mentioning that this approach is robust with respect to variations in z(t) of the colon’s wall, as the magnetic coupling with the EPM is constantly attracting the capsule toward the top surface.

已经根据局部坐标计算了动能,以简化惯性矩阵(I)的计算,该矩阵在此方法中是恒定的。 而且,转速的计算更容易。
The kinetic energy has been computed in terms of local coordinates to simplify the computation of the inertia matrix (I¯) which is constant in this approach. Moreover, the computation of the rotational velocity is easier.

胶囊的运动等式能被写为以下形式:

q¨=M(q)1(C(q,q˙)q˙+ξ)\ddot{\mathbf{q}}=\mathbf{M}(\mathbf{q})^{-1}(-\mathbf{C}(\mathbf{q},\dot{\mathbf{q}})\dot{\mathbf{q}}+\xi)

最后,它已在平衡点\bar{q} = 0周围线性化,即在胶囊水平和静态的条件下,从而获得状态空间形式的线性系统。由于胶囊的缓慢运动和力的变化,已经选择了在这种情况下线性化系统的选择。上面描述的数学步骤已经使用MATLAB符号操作工具箱执行,因此获得了适用于MPC实现的LTI系统,如下一节所述。
Finally, it has been linearised around the equilibrium point \bar{q} = 0, i.e., in the condition of capsule horizontal and static, thus obtaining a linear system in state space form. The choice of linearising the system in this condition has been adopted as a consequence of the slow movements and changes in force experienced by the capsule. The mathematical steps described above have been carried out using the MATLAB symbolic manipulation toolbox thus obtaining an LTI system suitable for the implementation of MPC, as described in the next section.

2.B 显式MPC Explicit MPC

这个工作主要是预定义轨迹的追踪。
this work focuses on the tracking of a predefined trajectory.

这个问题已经通过显式MPC(eMPC)技术解决了。 最初将控制方案描述为线性,离散时间系统上的经典MPC,其中通过最小化成本函数来计算控制动作(即施加到胶囊的力和扭矩,此处用u表示):
This problem has been tackled by means of the explicit MPC (eMPC) technique. The control scheme has been initially described as a classical MPC over a linear, discrete time system, where the control action (i.e., the forces and torques applied to the capsule, here described with u) are computed by minimising the cost function:

argmindetu    J(detu,q(t))=k=0N1(qkr(t))TWq((qkr(t))+detukTWudetuk+qNTWNqNsubject to    qk+1=Aqk+Buk,q0=q(t),uk+1=uk+detuk,detumindetukdetumax,k=iN1,uminukumax,qminqkqmax.\begin{aligned} \arg\min_{\det \mathbf{u}} \ \ \ \ &\mathbf{J}(\det \mathbf{u}, \mathbf{q}(t)) = \sum_{k=0}^{N-1} (\mathbf{q}_{k}-\mathbf{r}(t))^{T} W_{q} ((\mathbf{q}_{k}-\mathbf{r}(t))+\det \mathbf{u}_{k}^{T} W_{u} \det \mathbf{u}_{k}+\mathbf{q}_{N}^{T} W_{N} \mathbf{q}_{N}\\ subject\ to\ \ \ \ &\mathbf{q}_{k+1}=\mathbf{A}\mathbf{q}_{k}+\mathbf{B}\mathbf{u}_{k},\\ &\mathbf{q}_{0}=\mathbf{q}(t),\\ &\mathbf{u}_{k+1}=\mathbf{u}_{k}+\det \mathbf{u}_{k}, \\ & \det \mathbf{u}_{min} \leq \det \mathbf{u}_{k} \leq \det \mathbf{u}_{max}, \\ & k=i \cdots N-1, \\ & \mathbf{u}_{min} \leq \mathbf{u}_{k} \leq \mathbf{u}_{max}, \\ & \mathbf{q}_{min} \leq \mathbf{q}_{k} \leq \mathbf{q}_{max}.\\ \end{aligned}

其中N是预测水平,r(t)是状态在水平线上的设定点,detuk\det u_{k}是控制动作在每一步的增量,WqW_qWNW_NWuW_u分别是状态,终端状态和输入的权重矩阵。
第一第二行的constraints表示胶囊在预测范围内的线性化动力学。第三行constraint是旨在计算控制动作值的积分,采用detuk\det u_{k}作为最小变量(即,控制算法为速度形式),从而通过避免静态误差来跟踪参考信号r(t)。
第四到第六行描述了执行器极限和状态空间的允许部分。
以上式子将u(t)隐式定义为q(t)的函数,因此,通常需要实时求解二次程序(QP),就像通常在隐式MPC技术中所做的那样。相反,通过离线求解q(t)的所有可行值来解决优化问题。

2.C 磁驱动Magnetic Actuation

之前的力和力矩控制方式极大简化了关节值的计算但是忽略了操作器的限制。更进一步的,在操作器运动的计算中,期望的力和力矩的可行性没有显式地被考虑。给定期望的力和力矩,EPM在每个时间点的位置和朝向通过解一个优化问题被计算:
This approach greatly simplifies the computation of the joint values but neglects the manipulator’s limits in terms of absolute position of the EPM and joint velocities. Moreover, the feasibility of the desired ξ˙ is not explicitly considered during the computation of the manipulator’s motion. Given the desired forces and torques computed as described in the previous section, the position and orientation of the EPM at each time step is computed by solving an optimisation problem as follows:

argminpa,ma^    Jξ(pa,ma^,mc)=Wffdesfm(pa,ma,mc)2+Wττdesτm(pa,ma,mc)2\arg\min_{\mathbf{p}_{a},\hat{\mathbf{m}_{a}}} \ \ \ \ \mathbf{J}_{\xi}(\mathbf{p}_{a},\hat{\mathbf{m}_{a}},\mathbf{m}_{c})=\mathbf{W}_{f}||\mathbf{f}_{des}-\mathbf{f}_{m}(\mathbf{p}_{a},\mathbf{m}_{a},\mathbf{m}_{c})||^{2}+\mathbf{W}_{\tau}||\mathbf{\tau}_{des}-\mathbf{\tau}_{m}(\mathbf{p}_{a},\mathbf{m}_{a},\mathbf{m}_{c})||^{2}

[1]: Scaglioni, Bruno, et al. “Explicit model predictive control of a magnetic flexible endoscope.” IEEE robotics and automation letters 4.2 (2019): 716-723.

热门文章

暂无图片
编程学习 ·

蓝鲸平台mongodb集群异常处理

问题回顾 蓝鲸平台中的配置平台(cmdb)数据存放在了mongodb集群中(三台mongodb服务器组成的集群),偶然间发现集群中的一个节点日志有报错。 报错信息如下: 2020-06-30T19:27:50.622+0800 I REPL [replication-0] We are too stale to use 10.10.10.2:27017 as a sync …
暂无图片
编程学习 ·

3、【STM32F0系列学习】之—中断和事件

【STM32F0系列学习】之—中断和事件1、什么是“中断”2、中断优先级3、中断嵌套4、嵌套向量中断控制器 (NVIC)5、中断与事件的区别和主要特性6、外部中断(EXTI)配置6.1【标准库】的配置方式6.2【HAL库】的配置方式 1、什么是“中断”CPU执行程序时,由于发生了某种随机的事件…
暂无图片
编程学习 ·

动态任务

1.任务句柄 /* LED任务句柄 */ static TaskHandle_t LED_Task_Handle; 2.任务创建函数 BaseType_t xTaskCreate( TaskFunction_t pxTaskCode, //任务函数const char * const pcName, //任务名称const uint16_t usStackDepth, //堆栈大小void * const pvParamet…
暂无图片
编程学习 ·

STM32HAL库的串口通讯流程详解

一 查询模式 待定,日后补充 二 中断模式 1 中断接收 1.1中断接收流程 先在启动文件中找到中断向量表(此处以USART1为例子)然后找到USART1_IRQHandler的函数定义在这里就会发现又跳转到了 HAL_UART_IRQHandler(&huart1);,追进去为下图所示:在图中标记的前三步是读取寄存…
暂无图片
编程学习 ·

【牛客网】写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

题目 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 需要掌握 1、异或运算 两个数不相同,结果为1。两个数相同,结果为0。 2、与运算 两位同时为“1”,结果才为“1”,否则为0 3、左移 将一个二进制操作数对象按指定的移动位数向左移,左边溢…
暂无图片
编程学习 ·

Java开发面试知识点-长期更新

前言:本节内容长期更新,专门为了扫清盲点复习。采取链接前置,内容后置。内容可能较为杂碎。 参考链接: Java基础知识面试题(2020最新版) 1、Java开发基础面试知识点 2、equals和HashCode深入理解以及Hash算法原理 长期更新1、String、StringBuilder、StringBuffer区别2、…
暂无图片
编程学习 ·

7月1日学习记录

额~ 今日份的记录,今天投了两家公司,春招都过去3,4个月了,再怂得不敢投简历不敢面试,就有点说不过去了…现在对我来说最最重要的是要学会敢于面对失败。 编程题:整数中1出现的次数 求出任意非负整数区间中1出现的次数(从1 到 n 中1出现的次数)。 思考: 先把每个数字转换…
暂无图片
编程学习 ·

《MYSQL数据库》TCL语言和DCL语言

一、TCL语言的操作语法有时候我们的一个需求(一个任务),可能会涉及到多个DML(增删改)操作。那么这一系列操作, 我们要看成一个整体,不可切割。如在一个员工系统中,某员工A的数据可能会存在多个表中,如基本信息表,业务信息表,邮箱信息表等。当我们想删除此人的所有信息时,…
暂无图片
编程学习 ·

网络安全技术及应用第3版 主编贾铁军等——教材习题 期末重点 复习题 知识提炼(第8章 防火墙应用技术)

参考教材:网络安全技术及应用 第3版 主编贾铁军等 第8章 防火墙应用技术填空题论述题1)==防火墙的 分类 及 主要技术 有哪些?==2)正确配置防火墙以后,是否能够必然保证网络安全?如果不是,试介绍防火墙的缺点。3) 防火墙阻止SYN Flood攻击,可使用SYN网关防护方式。说明S…
暂无图片
编程学习 ·

【位运算???】 190 颠倒二进制位

题目 颠倒给定的 32 位无符号整数的二进制位。 思路 取当前 n 的最后一位:n & 1 将最后一位移动到对应位置,第一次为 31 位,第二次是 30 位,即:31、30、29… 1、0,写作代码 bit << 31; 退出条件,二进制反转时,如果剩余位数全位 0,则可以不用再反转。 <&l…
暂无图片
编程学习 ·

CSS的个人见解

CSS总结 CSS是什么?css是层叠样式表(英文全称:2113Cascading Style Sheets)是一种5261用来表现HTML(标准通用4102标记语言的一个应用)或1653XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS的作用 css的作用 • 1.实现了样式和html的代码分离。 • 2.弥补…
暂无图片
编程学习 ·

Python电影票房数据可视化分析基础实践

数据可视化一直是很多数据分析或者是建模挖掘任务里面经常会用到的一项功能,今天我们基于某电影网站中公开发布的电影票房数据进行一些基础的数据可视化分析实践,下面是部分的数据样例:叶问.,20160304,33151,2193,196.9万,33.96%,46 捉妖记,20150718,17860,995,192.71万,64.…
暂无图片
编程学习 ·

工具集电子书等4G资料免费分享(IT 信安菜鸟入门必备)

内容涵盖:区块链 go语言 逆向 代码审计 云计算深度学习 等保2.0相关文档、0day扫描器、日志查看工具、Googlehacking技术手册、各种工具合集以及信息安全行业大会PPT等等。 1、工具集及教程: #安全工具# 【汇总篇】工具及教程分享链接: 链接:https://pan.baidu.com/s/1uzVqks…
暂无图片
编程学习 ·

Vue+element+Nodejs学习记录(1)

目前的打算是前端用Vue+element,后端用Nodejs的Express框架,实现一个展示页面和后台管理页面。打算记录学习过程。 推荐两个教程: https://www.cnblogs.com/xifengxiaoma/tag/element/ https://juejin.im/post/59097cd7a22b9d0065fb61d2#heading-1 https://panjiachen.githu…
暂无图片
编程学习 ·

高校合同管理方法风险与递信智能合同信息化解决方案

一、引言 在现代社会,高等教育学校除发挥原有的教学和研究的社会功能之外,越来越多地参与市场经济之中,发挥其支撑社会经济发展的重要作用。在这一过程中,高校实现内部管理和处理外部关系多需要依靠确定化的法律文本,从而高校的社会活动涉及众多的合同,以此来确定签约主体…
暂无图片
编程学习 ·

【知识图谱】基本认识

目录为什么需要知识图谱?什么是知识图谱?—KG的前世今生一、 为什么需要KG二、 相关概念及形式化表示语义网络,语义网,链接数据,知识图谱一、语义网络(Semantic Network)二、 语义网(Semantic Web)和链接数据(Linked Data)三、 知识图谱知识图谱基础之RDF,RDFS与OW…
暂无图片
编程学习 ·

(个人总结)JavaScript中的函数

JavaScript中的函数 函数的定义: 函数就是JavaScript的基础模块单元,包含一组语句,用于代码的复用,信息隐藏 和 组合调用。 简单点说:函数就是把任意的一段代码放在一个盒子里面,在我想要执行这段代码的时候,直接执行这个盒子里面的代码就行来 函数的创建和结构 1.函数的…