基于模糊控制算法的软体机器人系统

known 发布于 2025-08-25 阅读(399)

摘 要:模仿自然界软体动物运动的软体机器人,在人机交互、医疗服务等领域具有非常广泛的应用前景。基于模型的控制在解决机器人运动学模型的前提下能够很好地基于模型求解驱动输出,从而进行较好的控制。针对线驱动软体机器人进行软硬件的设计,在ROS平台进行各系统软件节点设计,结合模糊控制与局部线性子系统,设计多项式模糊模型控制器并对该系统进行稳定性分析。实验表明,基于多项式的模糊控制算法,可以控制软体机器人实现跟踪目标,达到预期效果。

关键词:软体机器人;模糊控制算法;运动学建模;线驱动

中图分类号:TP273+.4;TP242 文献标识码:A 文章编号:2096-4706(2024)20-0111-06

Soft Robot System Based on Fuzzy Control Algorithm

GAO Jingru, GAO Ran, LIU Shuolin, LI Zhexuan, JIANG Jiahui, DU Jialing

(China University of Mining and Technology-Beijing, Beijing 100083, China)

Abstract: Soft Robot that imitates the movement of natural mollusks has a very wide application prospect in the fields of human-robot interaction and medical service. Model-based control can solve the drive output well based on the model under the premise of solving the robot kinematics model, so as to achieve better control. Aiming at the software and hardware design of the line drive soft robot, ROS platform is used to design the software nodes of each system. Combined with fuzzy control and local linear subsystem, a polynomial fuzzy model controller is designed and the stability of the system is analyzed. The experiment shows that the fuzzy control algorithm based on polynomial can control the soft robot to achieve the tracking target, and achieve the expected effect.

Keywords: soft robot; fuzzy control algorithm; kinematics modeling; line drive

0 引 言

机器人作为现代科学技术的结晶,它涉及机械工程、控制工程、电子技术等多个学科领域[1]。随着计算机技术、控制方法、化学材料等领域飞速进步,传统机器人的发展趋于成熟[2]。但是刚性机器人具有复杂的机械结构,人机安全系数低、较差的适应性等缺点,无法适用于尺寸小于自身尺寸或形状复杂的通道。随着人机交互的复杂度及频率越来越高,要求机器人具有更高的柔顺性、适应性和安全性[3],软体机器人应运而生。软体机器人由于自身材料的柔软和可延展性,有很强的运动能力和灵活性,自适应性、低成本和被动安全性等优点,使它在人机交互、医疗服务等领域具有非常广泛的应用前景。由于软体机器人具有高度的非线性,建立精确的运动模型变得十分困难,而模糊控制算法无须系统完整的精确模型,就能达到很好的控制效果。因此,立足于现状背景,提出基于模糊模型的模糊控制算法。

1 线驱软体机器人硬件设计

1.1 线驱软体机器人实物设计

线驱动软体机器人的灵感来自人的肌肉,在牵引线的过程中也选用同样的方式:一侧拉伸一侧放松。布线形式选择目前常用的中心截面夹角90度的四线驱动。软体机器人操作臂内部有四个贯穿固定端和末端的通孔,通孔中穿入驱动线缆,共四根,分别通过对应四个电机拉驱动线的方式使胶体触手弯曲。

软体机器人制作流程:

1)准备好所需的丙烯酸改性环氧树脂和硬化剂、催化剂,将两种材料按照一比的比例倒入容器,缓慢搅拌至材料混合完全且无气泡产生。

2)将模具组装完全并加以固定。将准备好的驱动线缆与穿线针连接,将穿线针固定到模具内正确位置。

3)将混合物使用引流棒引流灌注至模具之中,将模具静置冷却。

4)将冷却完毕后的成型触手轻轻取出,并将穿线针轻轻抽出,使驱动线缆进入触手之中,即可得到制备好的软体机器人。

图1为软体机器人制作过程图。

1.2 硬件结构设计

硬件系统的总体控制流程如图2硬件系统结构框架图所示:深度摄像头采集数据输入,定位目标,发送给主控板,主控板控制电机,电机控制机器人运动。

软体机器人硬件包括主控制器、数据采集模块和电机驱动模块:

1)主控制器。选用Orin Nano主控板,用来接收输入设备的信息。将信号发送给执行单元,实现对软起机器人的操控。Orin Nano主控板可以处理复杂的AI任务,在提供高性能的同时也注重了能效比。支持多种接口和协议,具有良好的集成性,可实现快速部署和应用。

2)数据采集模块。选用Intel D435i相机进行输入。通过对图像进行目标检测,采集软体机器人末端位置信息,发送给主控板。该深度相机主要由2 000万像素RGB摄像头、深度和跟踪模块以及深度摄像头组成。其视场角度为85×58度,深度距离在0.1~10 m,深度精度小于2%(2 m内)。

3)电机驱动模块。选用57两相混合式步进电机作为执行器。电机接收主控板电信号,以相应的速度和加速度进行转动,通过传动机构拉伸驱动绳线,操控软体机器人运动。混合式步进电机综合了反应式和永磁式的优点,既有较小的步距角,同时也具有输出力矩大、动态性能好的特点,可以按照程序准确地旋转一定的角度,且误差较小,动态响应快,确保转速和停止时的稳定性。

1.3 线驱软体机器人运动学建模

软体机器人的运动学与动力学建模与传统的刚性机器人不同,软体机器人形变具有强非线性,在运动数据采集、分析等方面有一定难度,而且软体机器人可以实现大幅度弯曲变形,具有无限多的自由度,难以建立精确的数学模型[4]。

区别主要在于,软体机器人没有传统意义上的关节,可以利用近似与无穷逼近这一思想,将软体机器人的操作臂视为一条空间曲线,该条曲线包含的多段曲线可视为“连杆”,通过这些“关节”的参数求得末端的空间位置,进而求得速度关系,即分段常曲率模型。

分段常曲率(Piecewise Constant Curvature, PCC)模型被广泛应用于模拟连续体机器人,假设主要结构近似地由一系列具有常曲率的连通切弧表示。这种简化大大降低了计算弯曲角度的复杂性,使运动学建模和实时控制的实现更加方便[5]。

各段圆弧的参数皆为所设虚拟关节变量,具体可设为:中心弧线曲率k,弯曲平面角ϕ,中心弧长l,圆心角θ以及圆弧半径r。第i段操作臂虚拟关节变量示意图如图3第i段操作臂示意图所示。在该圆柱上下两个截面分别建立局部坐标系{oi−1 xi−1 yi−1 zi−1}和{oi xi yi zi},以截面中心为原点,x轴正方向指向1号驱动线的方向,z轴为中心轴切线方向,且指向下一截面,y轴结合x轴和z轴由右手定则确定。

首先求解驱动空间与虚拟关节空间的映射,第i段驱动空间与虚拟关节空间的映射如式(1)(2)和(3)所示:

i=1,…,N (1)

i=1,…,N (2)

i=1,…,N (3)

其中,qm表示驱动线的平均伸缩量,式(1)(2)和(3)建立了驱动变量与虚拟关节变量的关系。

其次再求解虚拟关节空间与任务空间的映射。按照D-H法列出第i段运动序列变换关系,获得第i小段的上下截面坐标系之间的齐次变换矩阵为:

则坐标系{oi xi yi zi}相对于基坐标系{oo xo yo zo}的其次变换矩阵为:

(5)

至此,通过式(4)(5)建立了虚拟关节空间与工作空间的映射。

计算得到计算机器人运动学模型为:

(6)

其中,J表示机器人的运动学雅可比矩阵。

2 线驱软体机器人软件设计

软件设计采用Python语言,在开发平台ROS进行展开。主要包括控制器节点、通信节点、摄像头数据采集节点。

控制器节点设计:控制器节点主要完成驱动电机以及获取传感器数据、参考轨迹和主控板的控制信息。电机驱动部分主要是生成电机速度信息。需要使用的函数包括初始化函数、模糊控制器函数、电机驱动函数、模糊控制参数、调用配置参数、时间参数、和中断口的引脚设置等。void_main_loop()是系统的主程序,它主要发布对电机转速的控制信息,同时订阅跟踪轨迹节点的参考轨迹话题/cmd_tra 和传感器节点的位姿话题/cmd_pos,/cmd_pos接收接收并分析数据得出速度信息v。部分程序为:

ros::Subscriber sub(“cmd_pos”, CallBack)

ros::Subscriber sub(“cmd_tra”, CallBack)

voidCallBack(const Flexsensormsgs::Twist & velmsg, ReferTragectory msgs::Twist

& vel_msg){

v=vel_msg.linear.x;

通信节点设计:为了更好地完成系统内部通信,选用CAN总线网络。CAN的工作模式主要有以下三种:初始化模式、正常模式和睡眠模式。软件初始化只能在硬件初始化模式下完成后进行。其工作模式如图4CAN总线工作模式图所示。CAN单元初始化和工作模式选择程序如下:

*import time

VCI_USBCAN2=4

STATUS_OK=1

class VCI_INIT_CONFIG(Structure):

_fields_=[("AccCode", c_uint),

("AccMask", c_uint),

("Reserved", c_uint),

("Filter", c_ubyte),

("Timing0", c_ubyte),

("Timing1", c_ubyte),

("Mode", c_ubyte)

Can1.Instance=CAN1;

Can1.Init. Raspberry=6;

Can1.Init.Mode=CAN_MODE_NORMAL;

Can1.Init.SyncWidth=CAN_SW_TQ; ]

摄像头数据采集节点设计:首先进行图像采集,需要做的工作为读取左右泛光图。随后进行相机标定,相机标定是为了确定图像像素点与相机拍摄空间对应某点的三维坐标关系建立的几何模型。使用方格尺寸为17.6 mm的黑白棋盘格图片作为标定物,通过改变摄像头的朝向多角度拍摄标定物照片;从拍摄图片中提取标定物的棋盘格点,计算畸变系数,用极大似然法优化估计,提高精度。在做好准备工作及设置好相机之后,识别并采集软体机器人操作臂末端的实时位置信息,实时获取目标点即红色小球的三维空间位置信息。

YOLOv5是一个开源项目,源代码公开,并且提供了预训练的模型权重。这使得使用YOLOv5进行目标检测变得非常方便,无须从头开始训练模型,只需进行适当的微调即可。YOLO5使用了更小的模型,既保证了高精度,又减少了计算资源和存储空间的消耗。它可以处理更高分辨率的图像,同时保持精度。简化了目标检测任务,直接在图像上预测边界框和类别,提高了检测效率。在保持较高准确性的同时,通过网络结构的优化和使用更高效的模型设计,实现了更快的推理速度。通过使用不同尺度的特征图进行目标检测,可以有效地检测不同大小的目标。总之,YOLOv5凭借其高精度、高效性能、简单易用、多平台适用和多功能等优势,在目标检测领域中表现出色,为各种实际应用提供了强大的支持。使用YOLOv5的5.0版本,准备好训练数据集,用labelimg为数据集打标签,对其进行预处理和标注。为了缩短网络的训练时间,并达到更好的精度,加载预训练权重进行网络的训练。训练模型,首先修改数据配置文件,修改两个yaml文件中的参数;其次修改模型配置软件,使用的是YOLOv5s.pt这个预训练权重。训练自己的模型,启用tensorbord查看训练过程。等到数据训练好了以后,利用最好的权重文件来做推理测试,测试效果不错。

对软体机器人进行控制时,需要四个电机同时工作。单线程执行程序时,需按照顺序结构执行程序,其效率通常低于多线程应用程序。多线程的实现采用了并发执行机制,可以使多任务系统执行多个互相独立的程序,来完成不同的操作。在利用 Python 语言进行多线程编程时,主要使用三大模块:thread 模块、fork 进程和 Multiprocessing模块。thread模块进行多线程编程时进程只能目前利用一个CPU内核,无法使用主控板的全部资源;fork建立多个子进程时会导致代码逻辑复杂;因此选用专用于多任务处理的multiprocessing模块,建立多线程任务。部分代码如下:

import multiprocessing as mp

import time, os

def my_process(num):

print("Im process no.%d, PID=%d." %(num, os.getpid()))

time.sleep(3)

print("Creating new processes...")

p1=mp.Process(target=my_process, args=(1,))

p2=mp.Process(target=my_process, args=(2,))

p3=mp.Process(target=my_process, args=(3,))

p1.start()

p2.start()

p3.start()

print("Waiting for all the processes...")

p1.join()

p2.join()

p3.join()

3 控制算法设计

模糊控制是一种基于模糊数学的智能控制方法,其最大的优点在于不依赖针对被控对象建立的精确数学模型,而能将操作人员积累的丰富经验融入模糊控制器[6-8]。模糊控制系统能够将人的定性思维和判断方法定量化,以便计算机进行处理,使其更加接近人的表达方式[9]。模糊控制系统具有很强的鲁棒性,外界干扰或系统参数变化对控制结果影响较小,可用于非线性且时变性、滞后性强的系统控制过程[10]。因此使用T-S模糊模型,构建基于模糊控制算法的控制系统。如图5基于模糊模型方法的控制体系结构所示。

采用多项式模糊模型来表示连续介质机械手的系统状态模型。利用隶属函数,混合局部多项式模型,构造多项式模糊模型。

(7)

其中,x表示系统状态向量,y表示输出向量,ωi表示归一化隶属度,A和B分别表示已知多项式系统和输入矩阵,表示x中的单项式向量,u(t)表示输入矩阵,C表示常数输出矩阵。当且仅当x=0时,。

联立式(6)的雅可比矩阵,系统在控制层面的数学描述可表述为:

(8)

g表示式(1)(2)和(3)联立得到的3×1阶矩阵;在仅考虑末端执行器位置表示的情况下,h仅取式(4)齐次变换矩阵T最后一列的前三个元素。

为了用模糊模型表示(8)中包含的软体机器人状态空间模型,采用局部近似技术。仅在一个点上近似,以降低计算需求。

根据制定的模糊控制规则进行逻辑推理,是模糊控制器设计的核心部分[11]。在定义的状态空间模型基础上,接着定义6个模糊规则来平滑地组合它们以形成整体模糊模型。6个模糊规则描述为:

规则1:IF x is and y is ,THEN

其中(i=1,2,…,6)表示规则的模糊项,对应于前提变量x,=0.015左右,=0.075左右;(i =1,2,…,6)表示规则i的另一个模糊项,对应于前提变量y,=-0.075左右,=0左右,=0.075左右。

系统采用全状态反馈控制,C=I,Γ=I,代入式(7)得到模糊模型:

(9)

根据(9)的模糊模型,可以获得模糊控制器:

控制器形式为:

在MATLAB中使用模糊推理系统的GUI进行控制器的设计,如图6的FIS GUI所示,该系统为双输入单输出T-S型模糊推理系统,编辑好输入输出按照前文规则可得图7所示规则库。根据隶属函数得到其在MATLAB中的函数形状,如图7规则库所示。

4 实验结果

深度相机拍摄照片,如图8软体机器人运动平台初始状态图所示,准确识别红色小球的位置信息,将信息传递给主控板,主控板分析后,发送指令给电机,随着电机的驱动,软体机器人发生弯曲,靠近小球,如图9软体机器人运动平台运动控制效果图所示。实验表明基于多项式的模糊控制算法能对软体机器人操作实现跟踪目标,达到预期效果。

5 结 论

对软体机器人进行总体设计,搭建了软体机器人总体框架,包括系统设计即系统的软硬件设计组成。硬件包括Orin Nano主控板、Intel D435i相机、57两相混合式步进电机;对软体机器人操作臂进行结构设计,结构确定为4线驱动软体机器人。软件设计采用Python语言,在ROS平台进行设计。设计节点包括:控制器节点、通信节点、摄像头数据采集节点。使用T-S模糊模型,构建基于模糊控制算法的控制系统,完成了软体机器人平台目标识别跟踪的实验。

参考文献:

[1] 肖伟,胡国良,肖毅华,等.气动软体致动器研究综述 [J/OL].机械科学与技术:2024:1-14[2024-04-10].https://doi.org/10.13433/j.cnki.1003-8728.20240036.

[2] 王成军,李帅.软体机器人研究现状 [J].微纳电子技术,2019,56(12):948-955+991.

[3] GUAN Q H,SUN J,LIU Y J,et al. Status of and Trends in Soft Pneumatic Robotics [J].SCIENTIA SINICA Technologica,2020,50(7):897-934.

[4] 蒋国平,孟凡昌,申景金,等.软体机器人运动学与动力学建模综述 [J].南京邮电大学学报:自然科学版,2018,38(1):20-26.

[5] 黄炜成,周帅,秦龙辉.软体机器人动力学建模与计算研究进展 [J].力学季刊,2024,45(1):1-18.

[6] 牛继高,张兵,徐春华.基于模糊控制的纯电动汽车制动能量回收研究 [J].中原工学院学报,2020,31(2):23-28.

[7] AI M,WANG P,MA W. Research and App Lication of Smart Streetlamp Based on Fuzzy Control Menthod [J].Pro-cedid Computer Science,2021,183:341-348.

[8] 张攀,刘新杰,张威,等.飞机牵引机器人路径跟踪模糊控制 [J].计算机工程与应用,2019,55(16):217-220+234.

[9] 贾玉文,段晓,张厚明,等.研究堆Mamdani型模糊控制器设计优化方法 [J].原子能科学技术,2021,55(6):1091-1097.

[10] 牛继高,牛丹彤,徐春华,等.增程式电动汽车最优曲线模糊控制策略研究 [J].汽车工程,2018,40(7):757-763.

[11] BENYEZZA H,BOUHEDDA M,REBOUH S. Zoning Irrigation Smart System Based on Fuzzy Control Technology and IoT for Water and Energy Saving [J].Journal of Cleaner Production,2021,302:127001-127016.

作者简介:高靖茹(2002—),女,汉族,陕西汉中人,本科在读,研究方向:人工智能;高燃(2002—),女,汉族,重庆万州人,本科在读,研究方向:人工智能;刘硕林(2003—),男,汉族,安徽淮北人,本科在读,研究方向:人工智能;李哲轩(2002—),男,汉族,内蒙古包头人,本科在读,研究方向:人工智能;江家辉(2001—),男,汉族,广东广州人,本科在读,研究方向:人工智能;杜佳岭(2001—),男,汉族,陕西延安人,本科在读,研究方向:人工智能。

标签:  机器人 

免责声明

本文来自网络,不代表本站立场。如有不愿意被转载的情况,请联系我们。

iidomino cuppor