基于三维视觉的软体机器人实时定位与控制
Real-time positioning and control of soft robot based on three-dimensional vision
收稿日期: 2024-06-13
基金资助: |
|
Received: 2024-06-13
Fund supported: | 浣江实验室专项资助项目(128102-E52201/031);浙江省自然科学基金资助项目(LGG21F030003,LGG20E050011). |
作者简介 About authors
张弘(1990—),男,助理研究员,从事机器人及传感器技术的研究.orcid.org/0009-0006-1402-3109.E-mail:
针对软体机器人建模困难、控制稳定性差和精度低等问题,设计模块化气动软体机械臂平台,推导得到从驱动空间、虚拟关节空间到工作空间的位置正解模型. 根据实际结构参数的约束生成工作空间数据集,通过构建KD树的三维空间索引结构,有效地完成了位置逆解求解,极大地提高了求解速度. 采用提出的逆解筛选原则,在多个解中选取最优解,增强了气动软体机械臂的控制稳定性及精度. 为了提升机械臂末端的控制精度,开发结合深度学习与RANSAC算法的机械臂末端三维视觉实时定位算法,实现了机械臂末端位姿的闭环控制,与开环控制相比,实现了约4倍的精度提升.
关键词:
A platform for modular pneumatic soft robotic arm was designed, and a forward position model from the driving space, virtual joint space to the workspace was derived aiming at the problems of difficult modeling, poor control stability and low accuracy of soft robotic. The workspace data set was generated according to the actual structural parameter constraints. The position inverse solution was effectively completed by constructing the three-dimensional spatial index structure of KD tree. Then the solution speed was greatly improved. The proposed inverse solution selection principle was used to select the optimal solution from multiple solutions, which enhanced the control stability and accuracy of the pneumatic soft robotic arm. A real-time 3D visual positioning algorithm for the end of robotic arm combining deep learning and RANSAC algorithm was developed in order to improve the control accuracy of the end of the robot arm. Then closed-loop control of the end position and orientation of robotic arm was achieved, and about four times more precision improvement was achieved compared with open-loop control.
Keywords:
本文引用格式
张弘, 张学成, 王国强, 顾潘龙, 江楠.
ZHANG Hong, ZHANG Xuecheng, WANG Guoqiang, GU Panlong, JIANG Nan.
在软体机器人的研究领域中,虽然针对结构设计和驱动方式的研究已经取得重要进展[9-11],但由于软材料的固有柔顺性及多自由度和大尺度形变的特点,在软体机器人系统中建立精确的运动学模型并实施有效的动态控制,面临着不小的挑战. 针对这些挑战,Xu等[12-23]探索了多种建模及控制策略,实现了软体机器人在不同环境下的作业. Chen等[24]模拟脊椎动物的弯曲行为,设计气动软体致动器,通过建模及仿真实现了类似“C型”及“S型”的扭转运动,但是该软体致动器在弯曲及扭转的结构设计上有一些改进的空间. 张志远等[25]提出螺线构型的气动软体致动器,根据圆形、阿基米德螺线及对数螺线实现了3种结构设计,开展了气压与角度的关系解析,该研究中静力学的模型参数与气压的对应关系有待进一步的优化. 夏泽洋等[26]提出刚软混杂的机器人仿真耦合模型,通过气动软体致动器弯曲实验并与仿真结果对比,验证了耦合模型的有效性. 王昱欣等[27]提出软体机器人手眼视觉/形状混合控制的方法,结合深度无关交互矩阵自适应视觉控制,实现了软体机器人的形状控制. Muller等[28]在Festo的Bionic Soft Arm的基础上开发软体机械臂,通过结构设计及建立的滞后描述补偿模型来提高机器人的性能.
通过视觉闭环[29]对软体机器人进行引导及闭环控制是提高软体机器人控制能力的关键方法之一. 气动软体机器人的刚度差、建模困难的问题影响视觉引导及伺服下的控制性能,仿生视觉的“眼在手外”的环境遮挡及视觉靶点添加存在通用性的问题.
为了解决上述问题,本文设计使用视觉进行闭环的模块化气动软体机器人平台,将KD树查找策略引入到无模型的软体机器人位置逆解求解中,提出软体机器人逆解及路径选取方法. 结合自主开发的通用性强的深度学习位姿检测算法,提高了软体机器人的控制性能.
1. 软体机械臂系统
1.1. 软体机械臂的实验平台
搭建气动软体机械臂的运动控制实验平台,如图1所示. 该系统由硬件、软件及软体机械臂组成. 其中,硬件部分包括深度相机、压电比例阀、压力传感器、正压气源装置、负压气源装置及单片机等. 软件部分为控制代码,采用Arduino及Python进行联合控制. 软体机械臂作为主要的研究对象,主要由模块1、模块2及末端抓手部分组成. 其中模块1及模块2均由3个软体驱动器及气路通道组成,详见1.2节.
图 1
图 1 气动软体机械臂运动控制的实验平台
Fig.1 Experimental platform of pneumatic soft robotic arm motion control
实验平台中主要用到的硬件配置如表1所示.
表 1 机器人实验平台的主要硬件
Tab.1
名称 | 型号 | 公司 |
压电比例阀 | VAB-B-26-D13 | FESTO |
负压气源装置 | KVP8 PLUS-KB-S | Kamer |
正压气源装置 | KZP-PF | Kamer |
压力传感器 | DP-102A | Panasonic |
调压阀 | AW2000-02 | SMC |
单片机 | Arduino MEGA2560 | Arduino LLC |
深度相机 | RealSense D435i | Intel |
采用深度学习算法进行特征识别,搭建软件系统所需的环境配置,如表2所示.
表 2 基于深度学习的算法开发环境配置
Tab.2
名称 | 型号 | 版本 |
操作系统 | Ubuntu | 20.04 |
中央处理器 | 英特尔Xeno-W | |
显卡 | 英伟达Quadro | P6000 |
Pytorch | — | 1.12 |
Cuda | — | 11.0 |
Python | — | 3.8 |
1.2. 软体机械臂的结构及驱动原理
软体机械臂的结构如图2所示. 该系统主要由模块1和模块2构成,单个模块可以实现3个不同方向的弯曲运动,多个模块组合能够实现多维空间的运动. 每个模块主要由3个软体驱动器、横向约束件、磁铁连接端等组成,软体驱动器呈120°圆周放置,每个软体驱动器连接1根气管,每组模块需要3根气管.
图 2
图 3
如图4所示为控制系统的电气逻辑图. 通过正压气源装置和负压气源装置分别供气,采用电磁换向阀进行正、负压输入的切换,输入气体经过压电比例阀在−100 kPa到100 kPa之间无极调压输出到软体驱动器中,驱动机械臂变形运动.
图 4
软体机械臂的结构参数如表3所示.
表 3 软体机械臂的结构参数
Tab.3
参数 | 数值 |
软体驱动器个数 | 6 |
最大负压(−96 kPa)条件下的长度/mm | 70 |
初始状态长度/mm | 103 |
最大正压(96 kPa)条件下的长度/mm | 195 |
永磁铁半径/mm | 7.5 |
连接盘半径/mm | 45 |
法兰盘尺寸/mm | 210×140×8 |
气管内径/mm | 2 |
横向约束件内径/mm | 12.5 |
2. 软体机械臂的建模
2.1. 软体机械臂的位置正解
为了方便叙述,如图5所示,将机械臂模块i的第j个软体驱动器长度定义为
图 5
图 5 软体机械臂末端位置的正解解析示意图
Fig.5 Analytical schematic of forward kinematics for end position of soft robotic arm
图5中,坐标原点位于软体机械臂端面的圆心位置,Z轴垂直于端面,通过计算可以得到机械臂模块i的中心弧长
同时,可以得到
式中:
表 4 软体机械臂的D-H参数表
Tab.4
序号 | ||||
1 | ||||
2 | ||||
3 | ||||
4 | ||||
5 |
具体的位置正解求解过程如算法1所示.
算法1 位置正解求解
输入: 输入的气压为
输出: 机械臂末端坐标
函数 位置正解
1)通过标定得到准确的软体驱动器伸长量与输入气压的关系:
2)根据式(1)、(2),求解各机械臂模块的虚拟关节变量:
3)
4)
5)(X,Y,Z)从
结束函数
2.2. 利用KD树算法求逆解
2.2.1. 求解中多解情况
当面对气动软体机械臂多解选取的情况时,需要考虑机械臂本体在运动过程中存在运动滞后、运动稳定性较差的情况. 提出以下3种原则进行改善.
1)角度变化最小的原则. 当气动软体机械臂到达期望坐标点时,选取到达目标点角度变化最小的解作为最优解,优先选择靠近末端的关节进行运动.
2)弯曲角变化趋势变小的原则. 在角度变化过程中,优先选择角度变化减小的解.
3)偏转角共面及最大负压的原则. 尽量选择偏转角共面或偏转角度相差较小的解,同时尽量选取驱动器最大负压的解.
通过角度变化最小的原则,可以减小气动软体机械臂的运动滞后,加快机械臂的恢复稳定. 弯曲角变化趋势变小的原则主要是考虑到弯曲角变大时机械臂负载能力变差的情况. 通过偏转角共面及最大负压原则,能够尽可能地保证机械臂的刚度.
2.2.2. KD树算法
通过对软体机械臂运动学的求解,生成了大量的工作空间坐标点,将关节输入量与对应的坐标值保存至数据库. 当求机械臂位置逆解时,输入期望的末端坐标,并判断是否在工作空间内. 求解流程图如图6所示.
图 6
表 5 不同数据量下逆解求解算法的性能对比
Tab.5
数据量 | tb/ms | tk/ms |
50 000 | 41.86 | 1.99 |
100 000 | 84.82 | 2.98 |
150 000 | 124.52 | 3.34 |
200 000 | 167.03 | 3.55 |
250 000 | 209.30 | 3.98 |
通过位置正解模型生成了大量的工作空间的点,将三维坐标点与虚拟关节角相匹配,并保存至数据库中. 求位置逆解时,将期望的三维坐标点代入数据库,利用KD树搜索最近点,在误差允许范围内取出点集,利用最小二乘法迭代得到位置逆解,求解流程如图7所示.
图 7
为了更加清晰地表示KD树求位置逆解的过程,部分代码如下所示.
算法2 KD树求位置逆解
输入: 目标点坐标
输出: 软体驱动器管腔压力
函数 位置逆解
1)计算目标点坐标与数据集中候选点point的欧氏距离: dist = h( X, Y, Z, point).
2)假设精度要求为l,则: If dist < l
3) then 将该点加入点集points
4) Else
5) Continue
6) End if
7) 获取虚拟关节角:
8) 通过最小二乘法进行迭代,将上一步得到的角与当前位置得到的角作差,角度差: diff = O (angles).
9) 得到最小变化角度:
10)得到管腔长度:
11)得到管腔压力
结束函数
3. 机械臂末端定位
为了提高软体机器人末端位姿检测的抗环境干扰能力及通用性,设计可安装在机械臂末端用于确定机械臂末端位姿的定位环. 该定位环可以嵌入至机器人的结构本身,不需要添加额外的特征点,保证不会受机械臂的运动产生视觉遮挡. 使用RealSense深度相机,可以实时获取目标图像及三维点云数据.
引入基于Yolact的深度学习算法,用于分离点云中的定位环部分的点云. 为了方便后续的定位环定位,使用体素滤波方法,对分割得到的点云进行预处理. 如图8所示,可以确保点云中的点在空间中均匀分布.
图 8
图 8 定位环视觉识别的示意图
Fig.8 Schematic diagram of visual recognition of positioning ring
在获取定位环部分的点云后,利用基于RANSAC的算法,在定位环点云和真实CAD模型之间进行拟合,确定机械臂关节处的位姿.
在算法的运行过程中,从定位环的点云数据中拟合初始的定位环位姿,将剩余的数据代入拟合模型,将符合的点记为内点,不符合的点记为外点. 计算当前内点数在总点云数中的占比,并判断是否大于设定阈值. 若大于阈值,则模型较理想;若小于阈值,则判断随机采样的次数是否达到最大迭代次数. 若达到,则迭代结束;若没达到,则继续迭代,直至迭代结束.
对于最大迭代次数,设内点数在点云中的占比为
式中:
式中:
式中:
图 9
在相对静止状态下对定位环点云进行圆柱拟合后,随机提取30个圆柱中心. 为了验证实验的可靠性,在整个软体机械臂的工作空间内随机改变圆柱体位置10次,开展重复实验. 分别计算30个圆柱中心点的平均坐标及与真实坐标的方差,所有实验组别的拟合圆柱中心点与真实坐标的对比数据如表6所示,得到的方差均小于2 mm.
表 6 拟合坐标值与真实坐标值的对比
Tab.6
组别 | 真实坐标/mm | 拟合中心点平均坐标/mm | 方差/mm |
2 | (2.5, −3, 470.4) | (2.43, −2.41, 470.68) | 0.65 |
3 | (−10, −5, 440.4) | (−10.61, −5.30, 440.24) | 0.70 |
4 | (1.5, −4.5, 471.2) | (2.53, −3.93, 471.66) | 1.26 |
5 | (−15.4, −3.2, 456) | (−14.79, −3.44, 455.27) | 0.98 |
6 | (2.6, −3.5, 469.8) | (2.43, −3.93, 471.66) | 1.92 |
7 | (−15, −5, 458.4) | (−16.01, −3.61, 458.05) | 1.75 |
8 | (2.8, −1.8, 469.7) | (2.93, −2.41, 470.68) | 1.16 |
9 | (4, −3.5, 439.3) | (4.44, −3.51, 439.24) | 0.45 |
10 | (−9.3, −5.3, 441) | (−10.11, −5.30, 440.24) | 1.11 |
4. 实验结果及分析
4.1. 控制流程
通过视觉引导,对软体机械臂末端进行闭环控制. 使用9点标定法获取机械臂坐标系到相机坐标系的外参矩阵,然后获取10组每组包含9个具有对应关系的三维点后,利用最小二乘法求解相机到机械臂坐标系转换的外参矩阵.
在完成标定后,将机械臂坐标系下的期望位姿转换到相机坐标系下进行闭环控制. 控制流程如下:根据输入的末端位姿信息,解算出各软体驱动器对应的输入气压,当机械臂末端到达目标点附近时,结合气压传感器调节压力变化,对目标点与视觉反馈的实际位置进行误差调节. 当误差在允许范围内时控制结束,控制流程如图10所示.
图 10
4.2. 软体机械臂的弯曲运动实验
测试软体机械臂进行弯曲动作时的开环机械臂精度,在模块1保持初始位姿(3个驱动器全为负压)的条件下,对模块2在不同弯曲角度下的位姿进行实验(偏转角为30°),实验结果如图11所示.
图 11
图 11 软体机械臂的弯曲运动示意图
Fig.11 Schematic diagram of bending motion of soft robotic arm
如图12所示为弯曲实验开环实际位置的坐标图. 可以看出,软体机械臂本身刚性较低,导致负载能力较差,随着弯曲角的增大,开环误差也逐步增大,经计算得到开环轨迹的平均误差为8.77 mm.
图 12
图 12 机械臂末端开环的弯曲运动轨迹
Fig.12 Trajectory of bending movement of robotic end in open-loop
图 13
图 13 机械臂末端闭环的弯曲运动轨迹
Fig.13 Trajectory of bending movement of robotic end in closed-loop
为了展示弯曲运动加入闭环控制后末端的移动速度,在保持偏转角30°不变的情况下,分别探究软体机械臂的弯曲角从0°变化到30°、60°、90°及120°的运动时间,实验结果如表7所示. 表中,ts为运行时间,v为平均速度.
表 7 弯曲运动实验过程中的机械臂末端速度
Tab.7
θ2/(°) | ts/s | v/(rad·s−1) |
0~30 | 1.19 | 0.44 |
0~60 | 1.42 | 0.74 |
0~90 | 1.58 | 0.99 |
0~120 | 1.81 | 1.15 |
4.3. 软体机械臂的偏转运动实验
当选取模块2的弯曲角度为30°时,控制软体机械臂进行偏转一周的动作,记录机械臂末端的运动轨迹,实验结果如图14所示.
图 14
图 15
图 15 机械臂末端的开环偏转运动轨迹
Fig.15 Trajectory of robotic end of deflection in open-loop
机械臂弯曲动作的末端位置精度从8.77 mm提高到2.03 mm,偏转动作的末端位置精度从6.63 mm提高到1.68 mm. 由此可见,经过视觉闭环控制调节后,机械臂末端的控制精度得到了显著提升.
为了展示偏转运动加入闭环控制后的末端移动速度,在保持弯曲角为30°的情况下,探究偏转角从0°到360°的变化过程,偏转弧度与时间的关系如图17所示. 结果显示,机械臂末端能够保持近匀速运动,平均移动速度约为0.52 rad/s.
图 16
图 16 机械臂末端的闭环偏转运动轨迹
Fig.16 Trajectory of robotic end of deflection in closed-loop
图 17
图 17 偏转运动实验过程中的机械臂末端速度
Fig.17 End velocity of robotic arm during experiment of deflection
5. 结 语
本文搭建模块化气动软体机械臂系统,建立运动学模型,提出软体机械臂位置逆解多解的选取原则,提高了机械臂在运动过程中的稳定性. 将KD树数据解析算法应用于软体机械臂的位置逆解求解中,提高了运动求解的效率,满足了机械臂运动控制的实时性需求. 采用基于YOLACT的深度学习算法,开展定位环数据集的采集、点云信息处理及拟合,实现了机械臂末端位置坐标的实时获取. 通过视觉引导与闭环控制算法调节末端位置误差,显著提高了气动软体机械臂在运动过程中末端位置的控制精度. 在后续的工作中,将开展软体机械臂在核电站维护、电网检修、管道巡检等实际应用场景中的探索. 研究主要包括增加机构自由度构建更复杂的运动轨迹算法及存在外部干扰下的交互研究,完成指定的任务.
参考文献
Variable stiffness fibers enabled universal and programmable re-foldability strategy for modular soft robotics
[J].DOI:10.1002/advs.202307350 [本文引用: 1]
集成化智能软体机器人研究进展
[J].
Research status of integrated intelligent soft robots
[J].
Soft steps: exploring quadrupedal locomotion with modular soft robots
[J].DOI:10.1109/ACCESS.2023.3289156
Modular origami soft robot with the perception of interaction force and body configuration
[J].
Control strategies for soft robotic manipulators: a survey
[J].
Recent advances on underwater soft robots
[J].
Hydrogel and machine learning for soft robots' sensing and signal processing: a review
[J].DOI:10.1007/s42235-022-00320-y
A mechanically robust and versatile liquid-free ionic conductive elastomer
[J].DOI:10.1002/adma.202006111 [本文引用: 1]
Mechanics of interfacial delamination in deep-sea soft robots under hydrostatic pressure
[J].DOI:10.1115/1.4056214 [本文引用: 1]
Self-protection soft fluidic robots with rapid large-area self-healing capabilities
[J].DOI:10.1038/s41467-023-42214-5
Self-powered soft robot in the Mariana Trench
[J].DOI:10.1038/s41586-020-03153-z [本文引用: 1]
Soft Robotics: morphology and morphology-inspired motion strategy
[J].DOI:10.1109/JAS.2021.1004105 [本文引用: 1]
Development of a dual function joint modular soft actuator and its evaluation using a novel dummy finger joint-soft actuator complex model
[J].
Design, mobility analysis and gait planning of a leech-like soft crawling robot with stretching and bending deformation
[J].DOI:10.1007/s42235-022-00256-3
An earthworm-like modular soft robot for locomotion in multi-terrain environments
[J].DOI:10.1038/s41598-023-28873-w
Tunable folding assembly strategy for soft pneumatic actuators
[J].
Bioinspired soft robots for deep-sea exploration
[J].DOI:10.1038/s41467-023-42882-3
A soft manipulator for efficient delicate grasping in shallow water: modeling, control, and real-world experiments
[J].
Design, analysis, and real-time simulation of a 3D soft robotic snake
[J].
A soft robotic fish actuated by artificial muscle modules (SoRoFAAM-1)
[J].DOI:10.1007/s42235-023-00390-6
SPONGE: open-source designs of modular articulated soft robots
[J].
Design and grasping force modeling for a soft robotic gripper with multi-stem twining
[J].DOI:10.1007/s42235-023-00371-9
A preprogrammable continuum robot inspired by elephant trunk for dexterous manipulation
[J].DOI:10.1089/soro.2022.0048 [本文引用: 1]
Design of an active flexible spine for wall climbing robot using pneumatic soft actuators
[J].DOI:10.1007/s42235-022-00273-2 [本文引用: 1]
螺线型气动软体致动器设计与建模
[J].
Design and modeling of a spiral pneumatic soft actuator
[J].
一种用于刚软混杂机器人仿真的耦合模型
[J].
A coupled model for the simulation of rigid-soft hybrid robot
[J].
软体机器人手眼视觉/形状混合控制
[J].
The hybrid eye-in-hand visual/shape control for soft robots
[J].
Modeling the soft bellows of the bionic soft arm
[J].DOI:10.1016/j.ifacol.2022.09.100 [本文引用: 1]
软体机械臂水下自适应鲁棒视觉伺服
[J].
Underwater adaptive robust visual servo for soft manipulator
[J].
Fast density estimation for density-based clustering methods
[J].
结合离群因子和K-means++聚类改进的点云去噪算法
[J].
Improved denoising algorithm for point cloud based on outlier factor and K-means++ clustering
[J].
基于特征变换结合KD树改进ICP的快速点云配准方法
[J].
Fast point cloud registration method for improving ICP based on feature transformation combined with KD tree
[J].
/
〈 |
|
〉 |
