爬楼轮椅前腿的轨迹规划及控制策略研究

2019-09-10 07:22贾利想曹东兴鲁建军范柳彬李灿
河北工业大学学报 2019年3期
关键词:爬楼连杆上位

贾利想 曹东兴 鲁建军 范柳彬 李灿

摘要 爬楼轮椅的爬楼控制是研究的重点,而前腿是实现爬楼的重要辅助机构,为了准确稳定地控制前腿的运动,文章建立了前腿的末端位置方程,并计算其工作空间,在工作空间内对其进行轨迹规划并求末端位置方程的逆解,得到前腿的控制量。然后设计前腿控制系统,计算系统各部分的参数,设计一种模糊控制算法控制前腿按规划的轨迹运动。把前腿的运行数据通过传感器测量下来并通过串口通信传递到上位PC机,上位机对数据进行处理,分框显示在上位机界面上,并根据已有数据,通过VC++6.0的绘图功能,把前腿爬楼的过程动态的绘制在上位机界面上。通过实验可知,本控制方法可以控制前腿按规划的轨迹运动。

关 键 词 爬楼轮椅;轨迹规划;模糊控制;上位机显示;动态绘图

中图分类号 TP311     文献标志码 A

Abstract The control of stair climbing wheelchair is the focus of the study, and the the front leg is an important auxiliary mechanism to realize stair climbing. In order to control the movement of the forelegs accurately and steadily, this paper established the end position equation of the front leg, and calculated the working space in which the trajectory planning was used to get the inverse solution for the terminal position equation and the control quantity of the front leg was obtained; then the front leg control system was designed, and the parameters of each part of the system were calculated to work out a fuzzy control algorithm to control the front leg to move according to the planned trajectory. The operation data of the front leg was measured by sensors and transmitted to the host PC through serial communication. The host computer processed the data, and displayed it on the upper computer interface. According to the existing data, the front leg climbing process was dynamically drawn on the PC interface through the VC++6.0 drawing function. The experiment shows that this control method can control the movement of the front leg according to the planned trajectory.

Key words stair climbing wheelchair; path planning; fuzzy control; data display; dynamic drawing

0 引言

近来,科技的发展日新月异并逐渐接近普通人的生活,因为科技本就应该为人服务。尤其是在医疗方面,科技的应用十分广泛。本项目就是基于伤残人士和老年人口的逐年增长而提出并申请的。目前,对于爬楼轮椅的研究非常多,按照其工作原理和实现方式,可分为轮足式、行星輪式和履带式3种爬楼轮椅装置。本项目综合各种方式爬楼轮椅的优缺点,并根据自己的一些想法,提出一种可重构八足轮腿式轮椅车,它可以实现平地行走、上下楼梯、上下坡和过沟等功能。而实现这一系列功能的重要保障就是前腿机构。前腿机构安置在轮椅前端的左右两侧,起到支撑和提供动力的作用,在轮椅工作过程中,通过不断调整前腿的位姿,以实现轮椅越障功能。而如何根据轮椅的工作要求控制前腿位姿变化是我们研究的重点。因此,本文首先对前腿的运动进行轨迹规划,然后根据前腿控制系统的构成及其各部分的参数设计模糊控制算法及控制程序控制前腿按规划的轨迹运动,最后通过试验,分析控制效果。

1 前腿轨迹规划

1.1 前腿末端位置方程

近似的把前腿看成机械手,求机械手末端位置方程的方法很多,如D-H表示法,由于前腿机构运动副较少,可以直接对前腿求末端位置方程。

前腿机构可以简化为如图1所示的连杆机构,在C点建立动坐标系[X′O′Y′],其中连杆CE和连杆CD是主动杆,连杆EG为从动杆,电机通过驱动连杆CD使滑块运动进而使θ2发生变化从而调节连杆EG的位姿,电机还可通过驱动连杆CE运动来改变θ2从而直接调节连杆EG的位姿,通过连杆CD与连杆CE的协调工作即可实现前腿的位姿调整,即通过改变θ1、θ3即可使θ2发生变化从而调节前腿位姿。根据封闭矢量法可知

式中:θ1为连杆CE与[Y′]轴反向夹角;θ2为连杆EG与[X′]轴正向夹角;θ3为连杆CD与[Y′]轴反向夹角。解得

则G点在动坐标系[X′O′Y′]中的位置方程为

在楼梯O点处建立静坐标系[XOY],设C点在静坐标系XOY中的坐标为(XC,YC),动坐标系[X′O′Y′]相对于静坐标系的位置可用平移矩阵T表示,则G点在静坐标系[XOY]中的位置用矩阵表示为

1.2 前腿工作空间

前腿机构主要进行辅助轮椅爬楼的工作,其结构特性决定其工作范围,即前腿的活动范围是由其关节变量的活动范围决定的,而前腿末端位置的最大活动范围就是其工作空间。

由前腿的機械结构可知θ1的范围为0° ~ 80°,又可知d的范围为20 ~ 140 mm,则根据三角关系可知θ3-θ1的范围是2° ~ 60°,又由前腿机械结构的限制可知θ3的范围为0° ~ 90°,所以可知θ3的范围受到θ1的限制,由此,对θ1的范围分2种情况讨论:

1)当[θ1∈0°,30°]时,[θ3∈θ1+2°,θ1+60°];

2)当[θ1∈30°,80°]时,[θ3∈θ1+2°,90°]。

根据上述2种情况,结合公式(3)可知θ2的范围,并根据前面得到的前腿末端位置方程,通过MATLAB工具,可知前腿末端位置的工作空间,如图2所示,图中坐标原点为图1中的动坐标系原点O′。得到前腿的工作空间可以为前腿末端轨迹规划提供参考。

1.3 求位置方程逆解

前面已知前腿末端位置方程,根据爬楼轮椅爬楼需要及前腿工作空间要求,规划爬楼过程中前腿末端运动轨迹的关节点,已知关节点对应的前腿C点位置,通过求位置方程逆解的方法,求出前腿对应关节点处的角度θ1、θ2,通过θ1、θ2的值可以唯一缺定θ3。已知初始阶段时C点的坐标(-320,176),末端G点坐标(-170,50),代入末端位置方程可得θ1=0°,θ2=0°。初始阶段结束时C点的坐标(-191,176),末端G点坐标(0,200),且根据前腿工作空间,且依据位姿调整阶段时间应尽量短的原则(因前腿杆1与杆2运行速度相近,因此杆1与杆2变化角度相差最小时为位姿调整阶段时间最短的情况),通过最小二乘法选择θ1=46°,代入方程可得θ2=48°。在工作阶段,根据轮椅整机运动要求,可知YC应提高的最低高度,并可知前腿杆l3应变化的最小角度,由此可得工作阶段前腿各杆的变化。同理可得其它阶段的控制量如表一所示。观察[(X′G,Y′G)]在各阶段的坐标值并与前腿工作空间图进行对比,发现各点均在工作空间内。

2 前腿控制算法

2.1 前腿控制系统结构

如图3所示,前腿控制系统主要由控制器部分、电机驱动及离合器部分、机械传动部分和测量单元组成。

2.2 驱动环节与机械传动部分

爬楼轮椅前腿采用欠驱动方式,即独立控制变量个数小于系统自由度个数,对于前腿来说就是1个驱动,2个自由度。本设计采用压嵌式离合器DLY0,前腿共安装有4个压嵌式离合器,离合器1和离合器2控制前腿杆l1 、l2是否转动,离合器3和离合器4分别控制前腿杆l1 、l2正转和反转。如图3所示,驱动电机持续工作,带动齿轮减速器运动,齿轮减速器末齿轮与离合器主动部分同轴,因此带动离合器主动部分转动,当离合器吸合时,离合器主动部分与从动部分吸合,带动传动轮系转动以使前腿运动;当离合器断开时,离合器主动部分与从动部分分开,前腿停止运动。所以通过协调控制离合器工作状态就能控制前腿的运动状态,在已知电机转速与传动部分传动比的情况下,控制离合器工作时间就能控制前腿杆的运动角度。

机械传动部分由齿轮传动、丝杠螺母传动和齿轮齿条传动组成。在这部分中,已知电机主轴转速,欲求前腿杆l1和杆l2的转速,可通过齿轮轮系关系求得主轴和前腿杆的传动比。齿轮系为空间定轴轮系,根据空间定轴齿轮系传动比的计算公式可知

已知丝杠螺母传动中丝杠的螺距为4 mm,即丝杠每转一圈,螺母移动4 mm,且知螺母移动速度即是齿条移动速度,而齿条移动速度就是啮合齿轮线速度,由此可知前腿杆的转速。

2.3 测量环节

角度传感器放置在杆l3上,用来测量杆与垂直方向的角度α,距离传感器放置在杆l3末端,用来测量滑块与杆末端的距离d。由图1可知θ1、θ3与角度α、距离d的关系

2.4 模糊控制器设计

为了稳定准确的实现规划的轨迹,对前腿的控制分为2个阶段完成,第1阶段是对比传感器测量数据与目标数据,进而控制离合器的工作状态,控制前腿向目标位置运动,此阶段为普通离合器控制;当当前角度与目标角度的差值在一定范围(称为阀值)时,开始第2阶段,即启动模糊控制,对前腿进行精确控制,考虑到传感器测量数据与目标数据对比的时间间隔及电机转速,模糊控制与普通控制的阀值为[-10,10],即根据误差信号是否达到阀值,自适应的在普通离合器控制与模糊控制之间切换。

模糊控制器的设计主要包括以下几部分:

1)对输入量和输出量进行模糊化

由上述可知,定义目标角度值为θ目,实际测得的当前角度值为θ当,选择角度偏差E=Δθ=θ目-θ当为输入量,为了将控制规则中角度偏差E对应的语言变量表示成fuzzy集,把它分成7个模糊子集:{NB,NM,NS,ZE,PS,PM,PB},分别表示:负大,负中,负小,零,正小,正中,正大。已知,模糊控制与普通控制间的阀值[-10,10],即为角度偏差的基本论域,为保证控制精度,将E分为13个模糊档,即[-6,+6]。则可知量化因子aE=1.67。输出量U的基本论域为[-1,1],语言变量取:{NB,NM,NS,ZE,PS,PM,PB},分为13个模糊档,则可知比例因子kU=0.17。模糊量E′与U′的隶属函数表如表2、表3所示。

2)设计模糊规则,即设计模糊控制算法

设计1组模糊控制规则,以实现模糊推理。模糊控制规则设计的基本思想如下:

①若角度偏差为正且偏差较大,则控制量应增大。

②若角度偏差为正且偏差较小,则控制量应减小。

③若角度偏差为负且偏差较大,则控制量应增大。

④若角度偏差为负且偏差较小,则控制量应减小。

通常情况下模糊控制器一旦完成,语言规则与模糊推理是不可调整的,所以在设计模糊控制规则时要结合操作经验,并不斷对控制规则进行调整,直到得到满意的控制结果。根据上面的设计思想并结合试验得到如表4所示的模糊控制规则表。

3)输出量的反模糊化

根据实际的控制要求,在模糊控制时对精确控制量划分为7个档,分别是-0.8 s,-0.4 s,-0.1 s,0 s,0.1 s,0.4 s,0.8 s。其中正负号代表前腿杆的正反转,数值代表离合器吸合时间,分别对应模糊控制量的7个模糊子集。

本次设计控制程序主要在上位PC机中实现,上位PC机与单片机之间采用串口通信。图4为控制系统的程序流程图,其具体的控制步骤如下:

①查表一可知各阶段的控制量θ1,θ3的值,向单片机发送地址指令,单片机接收到指令立即向上位PC机发送传感器测量的数据,根据公式(7)、(8)可得当前的θ1,θ3的值,由此得到角度偏差E;

②判断角度偏差E是否达到模糊控制的阀值,如果没有达到阀值,则按普通控制方法向单片机发送离合器控制指令;

③如果角度偏差E达到模糊控制阀值,则判断当前角度是否达到目标角度,如果没有达到,则启用模糊控制,查询模糊规则表,向单片机发送控制指令;

④如果当前角度达到目标角度,则判断是否还有新的目标值,如果有,则重复以上过程,否则关闭串口。

3 上位机显示验证

在VC++6.0环境下,利用MFC模块进行上位机系统设计,其主要包括界面设计部分、WinAPI通信部分、控制程序部分和实时绘图部分。其中上位机与单片机之间采用串口通信,通过WinAPI方式编程实现;控制程序部分按上述控制器设计的原理来实现;实时绘图部分可以观察控制过程中前腿的位姿变化,并能实现前腿爬楼过程的动态仿真。

3.1 试验结果

在爬楼轮椅前腿界面下,分框实时显示4个传感器的检测数据,在前腿爬楼过程中,前腿位姿不断变化,传感器检测的数据也不断发生变化,数据实时在前腿界面显示,并绘制实时动态的前腿位姿图。前腿机构数据显示及绘图界面如图5所示。图5中a)表示爬楼初始阶段结束时的状态,b)表示爬第2个台阶前的准备阶段的某一瞬间的状态。图6为有无模糊控制前腿角度变化对比图,通过对比可知模糊控制效果更佳。

4 结论

本文的目的是控制爬楼轮椅的前腿按规划的轨迹运动,根据轮椅爬楼的实际情况及前腿机构的结构限制规划出前腿运动轨迹,然后设计模糊控制方法,控制前腿运动,最后设计爬楼轮椅前腿上位机界面,并在上位机与单片机之间进行串口通信,把传感器测量的数据在上位机上显示,并通过绘图模块对前腿爬楼过程动态仿真。

结果表明,本控制方法可以实现预定轨迹,并具有速度快,控制稳定的优点。

参考文献:

[1]    刘剑飞,韩长宇. 基于模糊自适应PID算法的三轴稳定器研究[J]. 河北工业大学学报,2017,46(3):13-17.

[2]    蔡琴. 全方位移动避障实时轨迹控制算法的研究[J]. 四川大学学报,2017,54(1):76-80.

[3]    杨小菊,张伟,高宏伟,等. 基于模糊控制的移动机器人避障研究[J]. 传感器与微系统,2017,36(3):51-54.

[4]    田敏,郑瑶,李江全. Visual C++数据采集与串口通信测控应用实战[M]. 北京:人民邮电出版社,2010.

[5]    邹筝,康晓林,袁建洲. Visual C++ 6. 0实用教程[M]. 北京:电子工业出版社,2008

[6]    冯正,韩焱,王黎明. 多线程串口通信技术在GPS导航中的应用[J]. 现代电子技术,2009,32(5):28-30.

[7]    王中训,徐超,王德法. 基于VC++6. 0的多串口通信方法[J]. 计算机应用,2008,28(增刊):254-256.

[8]    段军棋,蒋丹. 远程视频监控系统的设计与实现[J]. 电子科技大学学报,2002,31(5):523-528.

[9]    刘书智. Visual C++串口通信与工程应用实践[M]. 北京:中国铁道出版社,2011.

[10]  陈家俊,郑滔. 程序设计教程用C++语言编程[M]. 3版. 北京:机械工业出版社,2015.

[责任编辑 杨 屹]

猜你喜欢
爬楼连杆上位
一场史无前例的乐队真人秀
爬楼摄影 爱上城市之巅
步步惊心——“爬楼族”
高空挑战造成伤亡,谁担责
基础油“上位”
发动机连杆螺栓防折断技术措施
基于VC的PLC数据采集管理系统