基于力反馈手柄的移动载人月球车操作控制系统
2021-06-28彭维锋周烨康谭丽芬唐子涵李会军徐宝国
彭维锋 周烨康 谭丽芬 唐子涵 李会军 徐宝国
1 东南大学 仪器科学与工程学院,南京,210096 2 中国航天员科研训练中心 人因工程国防科技重点实验室,北京,100094
0 引言
载人登月是目前人类深空探测中的重要活动,也是展示国家综合实力和科学技术水平的重要平台.Apollo计划是人类至今第一次实现载人登月任务,并完成月球采样381.7 kg[1].我国自20世纪60年代中期就开始着手月球科学领域的研究.2020年,嫦娥五号任务首次实现了我国地外天体采样返回,其成功实施标志着我国探月工程“绕、落、回”三步走规划如期完成,奠定了21世纪前20年我国在无人月球探测领域的领先地位[2].随着我国探月工程的进一步发展和推进,实现载人登月,将会成为我国深空探测领域的重点任务[3].
作为载人登月的重要载体,移动载人月球车相关技术的研究极为重要[4].而在月球车的操作控制中,操作手柄是航天员驾驶月球车的重要交互设备之一,控制着月球车的前进、后退、转向、刹车等[5-6].月面作业时,月球车驾驶环境的复杂性会给航天员带来一定的挑战,加之航天服体积和质量都较大,航天员的驾驶能力会因此而有所降低,而现有研究以及Apollo计划中的传统交互手柄并不能起到辅助驾驶的作用,如果航天员发生误判断或误操作,将会带来不可估量的严重后果[6].因此,本文基于安全、高效的驾驶需求提出基于力反馈的操作手柄,其不仅满足操控月球车移动的基本功能,还具有一定的辅助驾驶功能,能够在复杂的月面环境中帮助航天员提高驾驶效率,保证航天员的驾驶安全性[5,7].目前,世界上多个国家对力反馈交互技术都有深入的研究,很多国家的研究机构和公司都纷纷加入了研究行列.国外对力反馈技术的研究起步较早,美国麻省理工学院人工智能实验室和Sensable Devices公司联合开发研制的PHANTOM系列具有舒适灵巧的操作性能以及逼真的力反馈效果,是目前开发成功的力反馈装置之一;法国Haption公司研制出的Haption系列具有六自由度的位置检测和力反馈功能,但其体积和所需要的操作力较大,具有较大的活动冗余度;日本Niigata大学研制的六自由度力反馈交互设备,采用改进的Delta结构实现3个平动自由度,能够在大范围的圆柱工作空间内操作.国内对于力反馈技术的研究起步比较晩,与国外的力反馈技术还存在一定的差异[8].
本文将结合力反馈技术,提出基于力反馈手柄的移动载人月球车操作控制系统,为月面作业探测提供一种更加高效、安全的辅助驾驶模式.首先,本文提出了一种二自由度力反馈手柄,结合空间探测场
景完成了基于操作工作空间和操作舒适度的结构设计;其次,利用unity3D软件建立了虚拟月球地形以及移动载人月球车模型,搭建了移动载人月球车的仿真驾驶环境,并在STM32单片机硬件系统的支持下,完成了位置检测输入和力反馈输出;最后,在硬件系统和软件系统的支持下,对本系统进行了实验验证.
1 基于力反馈手柄的移动载人月球车操作控制系统
本系统主要包含力反馈手柄、STM32单片机硬件系统以及基于unity3D的月面环境软件系统.在unity3D 虚拟探测场景中,移动载人月球车可以在月面环境中进行漫游,完成作业探测.通过操作力反馈手柄可以控制月球车的前进、后退、转向、刹车等,同时根据月面地形信息以及月球车的运动信息,力反馈手柄会产生相应大小的反馈力,以辅助航天员的驾驶,避免驶入环形坑等危险区域.其基本结构如图1所示.
本系统采用一种无累计误差、无传动链的并联式力反馈手柄,其结构简单,实现了水平、垂直两个转动自由度,操作手柄末端运动具有较大的工作空间,同时在两个方向上包含位置检测输入和力反馈执行输出.硬件系统以STM32F427单片机为控制核心,软件系统在 Microsoft Visual Studio 2017平台开发,利用unity3D 物理引擎完成月面探测场景的搭建.
2 力反馈手柄结构设计
空间探测场景中,手柄的使用较为频繁,操作设计不合理的手柄,会导致航天员手部力量消耗较多,造成手部疲劳或疼痛,将会影响航天员驾驶月球车执行任务的质量和效率.为提高操作的精细度,使航天员在操作过程中更加舒适自然,本文将从操作工作空间和操作舒适度出发,完成二自由度力反馈手柄的结构设计[9].
二自由度力反馈手柄包括二自由度旋转机构、手杆、带光编码器的直流无刷电机、底座等[10],其结构示意如图2所示.
图2 二自由度力反馈手柄结构示意Fig.2 Structure of the 2-DOF force feedback handle
二自由度旋转机构在两个相互垂直的旋转轴方向上安置了两段圆弧,跟随手杆运动实现在各自方向上独立转动,水平方向决定了驾驶方向,控制着车轮的左右转动,垂直方向决定了驾驶速度,控制着车轮前后转动的角速度.航天员操纵手杆由旋转机构实现两个方向上的物理转动,转动角度由减速比为19∶1的直流电机所装配的光编码器测量得到,并设计了与电机驱动轴相匹配的轴销,由电机驱动轴直接驱动手柄旋转机构,减少了传动链,传动精度、力控制精度较高.所测得的高精度角度数据直接输入移动载人月球车的控制系统,实现月球车的方向控制和速度控制.
本系统所设计的二自由度旋转机构采用并联对称结构,具有很好的各向同性,独立运动无累计误差,控制精度较高.旋转机构的两个重要参数是可旋转最大角度α和圆弧半径R,在空间探测中将影响到手柄的操作工作空间S和操作舒适度C[9,11].
在底座中心建立笛卡尔直角坐标系O-XYZ,如图3所示.根据人机工效学,经过场景模拟设计,航天员手持中心到底座中心为D=265 mm.
图3 旋转机构示意Fig.3 Schematic diagram of the rotating part
操作工作空间描述了手柄可操纵的范围,即手持中心可移动的面积,决定着航天员操纵载人月球车运动的精细度.操作工作空间的数学模型:
(1)
式中,θ为手柄绕旋转中心相对于初始位置的旋转角度.
在本文中,经过多次试验和验证,提出适用于本手柄的操作舒适度,其数学模型由两部分组成,决定着航天员手持手柄的舒适感和疲惫度.如图4所示,一部分是圆弧半径R,是固定的高度,另一部分是手持中心到圆弧中心的高度,利用对数函数动态分配各部分的影响因子[12-13],由两部分组合描述了操作舒适度.操作舒适度的数学模型:
图4 操作舒适度数学模型示意Fig.4 Mathematical model of operation comfort
(2)
用对数函数对操作工作空间和操作舒适度进行归一化处理,得到等量级的标准值,并进行加权组合,由操作工作空间和操作舒适度组合描述了旋转机构结构参数评价模型:
F(α,R)=w1S+w2C,
(3)
式中,w1,w2分别是操作工作空间和操作舒适度的权值.
综合手柄的应用场景,可以选择不同的权值,调整操作工作空间和操作舒适度的重要程度,可得到不同的最优手柄结构参数,如表1所示.
表1 不同权值对应的最优结构参数
在月球载人月球车操作场景中,选择w1=0.4,w2=0.6的权重配比,利用Matlab软件进行模型分析,得到最优结构参数,α=40°和R=44 mm,如图5所示.其操作工作空间如图6所示.
图5 w1=0.4,w2=0.6下的最优结构参数分析Fig.5 Analysis chart of optimal structural parameters
图6 w1=0.4,w2=0.6下的操作工作空间示意Fig.6 Schematic diagram of workspace under w1=0.4,w2=0.6
3 系统设计
在系统设计中,上位机使用unity3D物理引擎构建了移动载人月球车模型以及相应的虚拟月面环境,根据月球车在月面环境中的物理运动信息向下位机发送相应的控制命令,下位机向上位机提供由光电编码器采集的手柄位置信息,同时接收上位机的控制命令以驱动电机产生力反馈作用,辅助航天员的安全高效驾驶.系统工作原理如图7所示[14].
图7 系统工作原理Fig.7 Working principle of the system
3.1 硬件系统设计
本文中的硬件系统设计包含下位机的位置测控单元、力反馈驱动单元以及通信模块.下位机系统以单片机为控制核心,完成光电编码器的手柄位置信息采集并进行软件算法处理得到手柄各方向的位置值以控制载人月球车,并在上位机的控制下驱动力反馈单元产生合适的力或力矩.
力反馈驱动单元以DJI无刷直流电机为主要执行器.由于力反馈执行器的驱动力矩与电机驱动电流为正相关,电机驱动电流与PWM波的占空比成正相关,下位机在接收到力反馈指令后,根据反馈力矩的大小线性变换成驱动电流,搭配使用DJI C620电调,利用电调自动完成PWM的转换过程.电调占用下位机资源较少,且控制更为精准、便捷.
本文中所使用的DJI直流电机装有绝对式位置编码器,可以测量得到电机主动轴的绝对位置,转子机械位置值范围0~8 191,对应转子机械角度0~360°,但编码器测量到的值是电机主动轴的绝对位置,其传动到手柄还应乘以相应的减速比.为了得到手柄的位置还需进行相应的软件处理.首先计算出两次测量之间的变化值.在位置处理算法中,对比上一次位置值与本次测量值,根据正转和反转各计算一次结果,其中绝对值小的就是两次测量的变化值.手柄位置值=转子位置变化值/(减速比×(360/8 191)).位置检测算法流程如图8所示.
图8 位置检测算法流程Fig.8 Flow chart of position detection algorithm
STM单片机与上位机通过全双工通用同步/异步串行收发模块(USART,Universal Synchronous Asynchronous Receiver Transmitter)实现信息交换.单片机接收来自上位机的指令信号和力反馈信息,并向上位机反馈手柄转动位置信息.开启通信端口后,上位机和单片机实时发送信息,上位机利用线程模式接收单片机的位置反馈信息,从而控制载人月球车的行进速度和方向,单片机采用中断方式接收指令信号和力反馈信息,根据上位机发送的指令发送力反馈驱动信息,电调基于CAN总线方式与单片机实现全双工通信,驱动电机产生相应的力反馈,并通过光电编码器接口电路实时获取机械转子位置数据.
3.2 软件系统设计
本文中的软件系统主要为上位机中的unity3D场景.为完成操作控制系统的仿真测试,出于成本、实效性的考虑,本文在unity3D软件中建立了面向移动载人月球车的月面地形、移动载人月球车以及相应的虚拟传感器等模型.
根据月面典型地貌特征的剖面特征数据,建立相应地貌特征模型,地貌特征主要为撞击山、岩石等.同时根据探月工程数据发布与信息服务系统所发布的月面地形数据,可以计算得到单位面积内月面典型地貌特征的规格和数量并建立月面撞击坑统计模型、月面石块统计模型[15],在地图上随机生成月面撞击坑、月面石块等地貌特征,同时添加适当的纹理映射来增强月球表面模型的真实感,即可生成月球三维地形.
移动载人月球车模型由3D MAX建模构建其各个单元模块,将模型导入unity3D进行绑定并利用unity3D 强大的物理引擎建立起相应的物理模型,实现移动载人月球车与月面环境的碰撞和交互[16].月球车模型和月球表面模型分别如图9、图10所示.
图9 移动载人月球车模型Fig.9 Mobile manned lunar rover model
图10 月球表面模型Fig.10 Lunar surface model
手柄的力反馈信息来源于驾驶的月面地形以及月球车运动信息.为了获取力反馈信息,本系统建立了虚拟传感器模型,包含激光雷达、速度传感器等[17],其中最为重要的是激光雷达射线检测,用于采集周边环境的地形数据,开发效果如图11所示.
图11 虚拟传感器开发效果Fig.11 Layout of the developed virtual sensing system
在虚拟月面环境中,月球车在行进的过程中能够通过激光雷达观察到四周的地形环境,获取地形数据并链接上一帧扫描得到的数据建立起完整的地形网络数据,软件系统将地形网络数据进行可视化处理,在不同的地形区域标记不同的颜色块显示驾驶推荐程度,尤其是月面上环形山判断,其出现频率高,且不容发现,而较深的环形山容易发生月球车被困而无法驶出的情况.由于本文篇幅的限制,以环形山判断规则为例做简单的说明:俯仰角在±15°以内的地面,标记为绿色;仰角15°~45°,标记为黄色;仰角超过45°,标记为红色;俯角15°~45°,标记为蓝色;俯角超过45°,标记为紫色.其中,绿色表示能够通行,而其余颜色均不是推荐选择.黄色表示需要一定的预加速才能通过;蓝色表示需要踩住刹车;红色和紫色则表示危险坡度,一般情况下禁止通行.
虚拟传感器获取了月面地形数据以及月球车本身的运动数据,进行系列决策判断,决策区域颜色块的颜色以及数量决定行驶方向以及行驶速度的推荐值,以发送力反馈信息辅助航天员的驾驶行为.根据驾驶方向推荐值向STM32单片机发送相应的力反馈信息,将会在手柄水平方向相应的力反馈,辅助航天员感知到此方向驾驶的难易程度,而驾驶速度推荐值在手柄垂直方向产生的力反馈,将会帮助航天员在相关驾驶区域上提前加速或减速才能安全有效通过.除此,在相关的场景探测中,力反馈手柄也会产生相应的震动效果,提示航天员感知驾驶信息[17-18].
作为驾驶移动载人月球车过程中重要的人机交互通道之一,力反馈手柄对于航天员的驾驶行为起着很重要的作用.在月球探测行进过程之中,由于月面环境的未知性、复杂性,且航天员在不同于地球环境中本身的判断能力以及驾驶能力会有所下降,在月球车对月面环境进行一定的扫描判断之后,力反馈手柄将会有效辅助航天员驾驶着月球车朝着正确的方向以合适的速度行驶,遇到较陡的山坡、复杂且深的环形山、颠簸严重的路段等危险区域会在力反馈手柄的力反馈作用下主动避免.即使在有意探测复杂、未知的危险月面地形时,在力反馈手柄的辅助驾驶下,月球车将会更加平稳、安全的通过.如遇到较陡的环形山,力反馈手柄将会引导航天员朝着环形山缺口处冲出,在没有达到相应的计算速度时,力反馈手柄将会产生相反的作用力于人手,提示无法冲上,在加速至相应的速度后力反馈手柄的作用消失,航天员可从环形山的探测中安全驶离.
4 实验验证
在硬件和软件系统的支持下,本文对基于力反馈手柄的移动载人月球车操作控制系统进行如下实验:为了避免无关因素的干扰,本实验随机性地邀请了6名无经验志愿者作为力反馈手柄实验对象,在虚拟月面环境中标注了起点和终点,志愿者将会在有力反馈辅助驾驶和无力反馈直接驾驶操作两种实验条件下驾驶月球车,完成从起点到终点的驾驶.实验之前,向志愿者说明了力反馈手柄的操作方法以及力反馈的辅助作用,即手柄某方向上的力反馈大小表示相应方向上的不推荐程度,在力反馈辅助驾驶条件下,志愿者应该尽可能地遵循手柄相应方向上的力反馈辅助驾驶.在没有力反馈作用时,驾驶行为完全由志愿者自身所决定.本实验平台如图12所示.
图12 实验平台Fig.12 Experimental platform
在unity3D软件系统的支持下,通过USB接口连接力反馈操作手柄,实验者可直接操纵手柄控制移动载人月球车的移动,完成起点到终点的驾驶.在驾驶经验不足时,为保证实验安全,实验结果仅由unity3D 软件输出实验数据,对于无力反馈和有力反馈两次实验,对比了两次实验过程中月球车俯仰角随着到终点直线距离的变化,俯仰角的变化体现了驾驶过程中的平稳程度.1号、6号志愿者两次驾驶对比结果如图13所示.
图13 志愿者两次驾驶对比结果Fig.13 Driving comparison between two volunteers,(a) volunteer No.1,and (b) volunteer No.6
在志愿者相对熟练地掌握月球车驾驶方法后,进一步实验,除上节所描述的软件系统和硬件系统之外,搭载一个六自由度平台,其使用体感模拟算法模拟了载人月球车在月面环境中的运动,包括俯仰角、横滚角、偏航角以及沿空间3个方向上的加速度[19],能够让实验者感受到在不同驾驶方向和驾驶速度下的车辆平稳程度,让志愿者更为直观、真实地体验到载人月球车的驾驶,从而感受到力反馈手柄辅助驾驶的必要性.分别在无力反馈直接操作和力反馈辅助的情况下,再次从起点出发,到达终点后,志愿者为2次驾驶体验评分,各对比组评分如图14所示.
图14 志愿者驾驶体验评分Fig.14 Volunteers’ scores for driving experience
最后,让志愿者不受起点和终点的限制,自由驾驶月球车进行月面探测,分别统计在无力反馈直接操作和力反馈辅助情况下每1 000 m被困环形山、车轮卡死、侧翻等意外情况的平均次数,结果如表2所示.
表2 有无力反馈发生危险次数对比
实验结果表明:6位志愿者在无力反馈情况下直接操作月球车容易发生被困环形山、车轮卡死、侧翻等危险驾驶行为,志愿者面对未知驾驶环境以及操作不熟练等原因车辆颠簸严重,导致驾驶体验不适以及容易发生意外;而在有力反馈辅助志愿者操作月球车的情况下,车辆行驶过程中更为平稳,驾驶更为舒适,在进行未知区域探索时,在力反馈的辅助下月球车不容易发生意外,月面探测更为安全.
5 结论
本文依据移动载人月球车操作为需求,综合考虑航天员在复杂的月面环境中操作舒适度和操作工作空间,完成了基于力反馈手柄的移动载人月球车操作控制系统的研制,并对系统进行了实验验证.本文所设计的力反馈手柄结构简单,各自由度独立工作且无误差积累.作为人机交互的一个重要通道,二自由度力反馈手柄不仅是移动载人月球车操作控制系统的输入通道,控制载人月球车的运动方向和速度,而且是系统的输出通道,可以带给航天员真实的力触觉感受,辅助载人月球车的驾驶,帮助航天员进行正确、有效的驾驶操作,从而保证驾驶的安全性和高效性.实验结果表明,所设计的力反馈手柄对于操作者驾驶移动载人月球车具有很好的辅助作用.
本文所研制的基于力反馈手柄的移动载人月球车操作控制系统,可以应用在我国的月面探测任务之中.同时,本文中所设计的力反馈手柄具有可扩展性,更改其力反馈解算策略,或增加其手柄机构的自由度,可在模拟训练、深空遥操作、医疗康复等诸多领域实践应用,具有广阔的前景.