重离子放疗辅助医用机械臂避撞路径规划研究
2019-06-27乔宇姚运萍马利强杨小龙陈继鹏陈惠贤
乔宇,姚运萍,马利强,杨小龙,陈继鹏,陈惠贤
兰州理工大学 机电工程学院,甘肃 兰州 730050
引言
随着医疗技术和工业机器人技术的不断发展,医用机械臂应用技术已成为医科技术的重要研究方向[1-3]。医用机械臂在放疗过程中将病患运送至治疗位置,其高精度、高可靠性的特点使相关应用技术得到国内外专家的重视[4-7]。在放射治疗环境下,辅助治疗设备的存在使得摆位难度增加,因此医用机械臂路径规划的研究变得极为重要。目前,针对医用机械臂的典型路径规划方法包括自由空间法和人工势场法两种[8-10]。该文针对医用机械臂的特殊结构,将医用机械臂和障碍模型进行简化;将障碍域投影到关节空间,得到安全摆位空间;通过A*算法在安全摆位空间内搜索摆位路径;最后,通过仿真验证该方法的安全可行性。
1 碰撞模型
1.1 医用机械臂模型
该文研究的重离子放疗辅助医用机械臂为4自由度机械臂,由于其结构不规则,因此其模型采用圆柱模型,将各不规则突出部分包含在各简化的圆柱包络模型内。医用机械臂实物图,见图1a;其D-H坐标系,见图1b。图1b中各坐标系为关节子坐标系,其中杆1为关节1与关节2轴线间实体部分简化模型,直径为0.38 m,杆2为关节2与关节3轴线间实体部分简化模型,直径为0.56 m,杆3为关节3与关节4轴线间实体部分简化模型,直径为0.85 m,杆4为末端碳纤维板简化后模型,直径为0.48 m。
图1 医用机械臂实物及D-H参数坐标系图
医用机械臂D-H参数,见表1。表1中qi为关节变量,为关节角,di为关节平移量,ai为杆长,为扭角。关节1为旋转关节,关节变量为,关节平移量为0,杆长a1=0.96 m,扭角为0;关节2为平移关节,关节变量为d2,关节角和杆长为0,扭角为-90度;关节3为平移关节,关节变量为d3,关节角为-90度,杆长a3=0.15 m,扭角为90度;关节4为平移关节,关节变量为d4,关节角、扭角均为0度。
表1 医用机械臂D-H参数表
由医用机械臂D-H参数可写出相邻杆件的位姿矩阵,将相邻杆件的位姿矩阵依次相乘,则有:
由位姿矩阵通式可得该医用机械臂的运动学方程:
1.2 障碍模型
重离子放疗辅助医用机械臂的工作环境为重离子放射治疗室,治疗室内的障碍主要有摆位验证检测机、治疗头、水平束流遮挡装置。由于各障碍物几何形状不规则,文中采用各障碍物的圆柱体包络来近似建立障碍模型,这种建模方法使得障碍域范围有所扩大,但使得障碍域形状大为简化,医用机械臂路径规划的效率得到提高,同时由于障碍域有所扩大,间接提高了医用机械臂路径规划的安全性[11-13]。
摆位验证障碍检测机障碍域采用圆柱包络描述为S1(P1,r1,h1),其在水平面的投影形成的平面区域S1’(P1,r1),如图2a所示。其中P1为圆柱体障碍域在基坐标系xoy平面投影圆心的坐标,r1为障碍域的半径,h1为障碍域的高度,由于图中为投影平面区域,无法提现高度,因此图中无标注。r1=1.02 m,h1=1.76 m。
治疗头障碍域采用圆柱包络描述为S2(P2,r2,h2),由于治疗头紧靠墙壁,所以S2”(P2,r2)为有效障碍域在水平面内的投影,其在水平面投影形成的平面区域S2’(P2,r2)及有效障碍域S2”(P2,r2),如图2b所示。其中P2为圆柱障碍域在基坐标系xoy平面投影圆心的坐标,r2为障碍域半径,h2为障碍域高度,由于图中为投影平面区域,无法提现高度,因此图中无标注。r2=1.46 m,h2=2.20 m。
水平束流遮挡装置障碍域采用圆柱包络描述为S3(P3,r3,h3),其在基坐标系水平面的投影形成的平面区域S3’(P3,r3),如图2c所示。其中r3为障碍域半径,h3为障碍域高度,由于图中为投影平面区域,无法提现高度,因此图中无标注。r3=0.35 m,h3=1.52 m。
图2 障碍域在水平面的投影
2 笛卡尔空间障碍向构型空间的转化
2.1 总体思路
在医用机械臂摆位过程中,多数情况下摆位验证检测机处于静止状态,摆位完成后,其进入工作状态,同时为了便于阐述该文提出的避障规划算法,以下均针对医用机械臂摆位过程中,摆位验证检测机处于静止的情况进行讨论。在摆位过程中,其相对于医用机械臂存在运动的情况下,医用机械臂的安全摆位空间通过多次求解即可得到,具体求解方法与两者相对静止情况相同。本节着重说明求解医用机械臂安全摆位空间的方法。
由于各障碍物形成的障碍域为圆柱形包络,因此除升降关节的运动外,其余关节的运动都有可能导致医用机械臂与障碍物之间发生碰撞。为得到医用机械臂各部分与障碍物碰撞的条件,采用分级讨论的方法求解。
总体思路为:① 求解旋转关节1的运动可能导致医用机械臂初始位姿状态与障碍物发生碰撞的运动范围,后续各移动关节的运动导致碰撞发生的情况均在该范围基础上分析讨论;② 由于各障碍域为圆柱包络模型,所以升降平移关节2的单独运动不会导致碰撞的发生,在第一步得到范围基础上推导关节3运动与障碍发生碰撞的条件;③ 在关节3运动与障碍物不发生碰撞的移动范围内,分析关节4的运动导致与障碍发生碰撞的条件。
2.2 医用机械臂各部分简化为杆件后与障碍碰撞条件分析
重离子放疗辅助医用机械臂简化后的杆件模型中,由于杆3的长度0.15 m小于杆3圆柱模型半径0.425 m,因此杆3与障碍发生碰撞的情况已包含在其关节变量与障碍发生碰撞的讨论过程中。以下针对杆1、杆3、杆4与障碍发生碰撞的条件进行讨论。
2.2.1 导致碰撞发生的关节1运动范围
为了分析医用机械臂与障碍发生碰撞的条件,首先求解由关节1的运动可能导致碰撞发生的运动范围。将医用机械臂简化后的杆件模型向xoy平面投影,则关节1运动导致碰撞发生的4个极限位置如图3所示。
图3 旋转关节1运动极限位置图
由图3可求出障碍域1中心在平面投影与坐标原点的连线和x轴夹角:
求解医用机械臂运动至障碍域1附近的两个极限位置与障碍域1中心投影与坐标原点连线的夹角:
式中,d11为障碍域1中心在xoy平面的投影到坐标原点的距离,d12和d13分别为障碍域中心投影到医用机械臂两极限位置中轴线的距离。
同理可得医用机械臂摆位运动过程中与障碍域2可能发生碰撞的关节1运动范围为:,其中
2.2.2 关节3的运动与障碍发生碰撞的条件
图4 关节3运动范围示意图
(1)计算d31:
图5 关节4运动范围示意图
以上讨论过程采用解析法进行,可以将笛卡尔空间的各障碍域模型实时转化至关节空间中,进而得到重离子放疗辅助医用机械臂的安全摆位空间。
3 基于A*算法的无碰路径规划
A*算法是在Dijkstra算法基础上加了约束条件的启发性搜索算法,其具有可纳性、最优性,用于搜索状态空间的最好优先路径[14-15]。
3.1 算法思想
A*算法是应用于人工智能中的典型启发式搜索方法之一,这些方法都使用了启发函数,但节点搜索策略有所不同。
A*算法估价函数的设计是其算法思想的核心[16]。估价函数定义为:
3.2 基于A*算法的路径规划方法
为了方便使用A*算法对重离子放疗辅助医用机械臂的摆位路径进行规划,定义医用机械臂的四个关节变量为一个四维数组,各起始关节变量为qfirst[4];关节变量搜索步长为dstep[4];第i步最佳关节变量为qbest_i[4];后继节点关节变量为qfol_i[4];期望关节变量为qexp[4]。
(1) 生成初始关节位置搜索图,将qfirst[4]放入OPEN表。
(2)生成CLOSE表,初始值为空。
(3)若OPEN表为空,失败。
(4)将OPEN表中f值最小的点作为qbest_i[4]放入CLOSE表,并将其从OPEN表中删除。
(5)判断qbest_i[4]是否是qexp[4],若是,成功,否则进行下一步。
(6)根据dstep[4]生成后继节点qfol_i[4]。
(7)对qfol_i[4]进行如下过程:① 判断qfol_i[4]是否在医用机械臂安全摆位空间内,若在,建立返回qbest_i[4]的指针,若不在,返回(6);② 计算③ 判断qfol_i[4]是否在OPEN表中,若在,进入下一步,否则进入⑤;④ 定义qnew_i[4],令,将qnew_i[4]放入qbest_i[4]后继节点表,并判g(qnew_i[4])>g(qbest_i[4])是否成立,若成立,将qnew_i[4]上一节点作为qbest_i[4],令qfol_i[4]=qnew_i[4],进入⑦,否则q(qnew_i[4]=q(qfol_i[4]),直接进入⑦;⑤ 判断qfol_i[4]是否在CLOSE表中,若在进入④,否则进入下一步;⑥ 将qfol_i[4]放入OPEN表,并放入qbest_i[4]后继节点表;⑦ 计算f(qfol_i[4]),进入(4)。
循环结束,CLOSE表中数据即为医用机械臂摆位最优路径。其算法流程图如图6所示。
4 试验与仿真
对以上提出的医用机械臂路径规划方法进行仿真验证。经Solidworks软件建立医用机械臂拟真工作环境,并将其导入Adams软件得到完整的医用机械臂仿真虚拟样机模型如图7所示。
图6 算法流程图
为了验证避障的有效性,设计了运动仿真试验。试验中医用机械臂的初始位姿均为{0,0,0,0}。试验期望关节变量为{168.4,86.5,53.7,237.3}。在软件中设置仿真环境,仿真结果如图8所示。
图7 医用机械臂仿真模型图
图8 仿真结果图
图8中三幅图分别为仿真过程图、等中心回转运动角速度和角加速度曲线图、X和Y向运动速度和加速度曲线图。由图8可知,医用机械臂摆位过程中,由于自重较大,等中心回转运动过程中有较小的速度突变,会导致摆位过程存在轻微冲击振动现象,但影响较小,X和Y向运动过程平稳,基本满足摆位过程稳定性要求。仿真过程中无碰撞的情况发生,该路径规划方法能满足医用机械臂摆位避障要求。
5 结论
文中针对医用机械臂在放射治疗环境下摆位过程中可能与辅助设备发生碰撞的情况,对医用机械臂路径规划方法进行研究。首先将障碍模型进行合理简化,并将其转化至关节空间,从而求解出医用机械臂的安全摆位空间,并分析得到其各部分与障碍域碰撞条件;在此基础上,基于A*算法于安全摆位空间内进行路径搜索,得到医用机械臂摆位最优路径。仿真试验表明,提出的应用于医用机械臂摆位过程的路径规划方法是安全可行的。