2. 北京控制工程研究所, 北京 100190
我国计划于近期发射火星车实现火星着陆。虽然我国已经完成探月一期和二期工程, 成功发射了“玉兔号”月球车[1], 但火星地形较月球更为复杂, 对星球车的通过性要求越来越高, 同时对导航控制系统的设计提出了更高的需求, 迫切需要开发一个具有建立星球车动力学模型和高效、实时、稳定仿真能力的星球车仿真平台。
目前, 国外相关科研机构已经开发了多种星球车的仿真工具。Yen和Jain等[2-3]研发了ROAMS(rover analysis, modeling and simulation)星球车虚拟仿真平台; Patel等[4]开发了RMPET(rover mobility performance evaluation tool)仿真软件; Bauer等[5-6]研制了RCAST(rover chassis, analysis and simulation tool)分析与仿真工具; Zhou等[7]研发了Artemis(adams-based rover terramechanics and mobility interaction simulator)星球车仿真工具。
在国内, 黄铁球等[8]基于多体动力学软件Adams和C/C++语言, 提出一种月球车模块化协同仿真模式; 江磊等[9]基于Pro/E二次开发技术、Vortex物理引擎及采用OSG图形可视化对象构建了月球车三维可视化的仿真分析软件; 徐亚伟和邵铮等[10-11]都以Bekker理论为基础, 采用AS2TM轮壤作用模型, 建立了月球车仿真平台; 丁亮[12]基于Matlab及SpaceDyn工具包设计了一种综合性星球车仿真系统。但均未实现导航控制系统与动力学模型的无缝链接和并行高效解算。
针对越来越复杂的星球探测通过性要求, 本文以Bekker理论为基础, 对其合理修正, 建立含轮壤接触动力学在内的星球车动力学模型; 研究了动力学与导航控制控制之间命令与数据流的接口方式, 无缝集成星球车导航控制系统与动力学模型, 形成联合仿真平台, 实现导航控制与动力学的高效联合仿真。
1 仿真平台结构图 1所示为仿真平台的结构, 其中星球车的多体动力学模型是基于MSC.ADAMS软件建立。在MSC.ADAMS软件中, 能够对星球车的约束、轮壤接触力、力矩等建模, 真实模拟星球车的整车结构关系。
符号 | 含义 |
c0/kPa | 内聚力 |
ϕ0/(°) | 内摩擦角 |
k/cm | 剪切变形模量 |
n | 变形指数 |
kc/(N·cm-n-1) | 内聚力变形模量 |
kϕ/(N·cm-n-2) | 摩擦变形模量 |
s | 滑转率 |
z/cm | 沉陷 |
l/cm | 车轮接地弧长 |
b/cm | 车轮宽度 |
A/cm2 | 车轮接地面积 |
ω/(rad·s-1) | 车轮角速度 |
v/(cm·s-1) | 车轮质心速度 |
r/cm | 车轮半径 |
D/cm | 车轮直径 |
W/N | 地面给车轮的支持力 |
P/N | 附着力 |
Rc/N | 压实阻力 |
Fd/N | 挂钩牵引力 |
Bekker和Wong-Reece理论模型[13-14]是广泛应用的模型。以Bekker地面力学理论为基础的美国派星球车整车通过性研究并不具备普适性, 需要根据不同应用背景条件进行合理化修正。
轮壤接触力模型中影响通过性的最关键因素是挂钩牵引力, 挂钩牵引力计算公式如下
(1) |
式中, P为附着力, Rc为压实阻力。Bekker模型中附着力求解公式如下
(2) |
式中, 滑转率s可以用如下公式求解
(3) |
图 2为实验数据与Bekker附着力公式计算结果。实验条件:车轮质量20 kg, 直径35 cm, 轮宽10 cm, 重力加速度1g, 车轮速度0.03 m/s, 沉陷指数为1。从图 2可以看出Bekker理论模型的计算值与实验结果比较吻合。因此, 选用此附着力公式为基础模型。
Bekker理论采用(4)式来描述轮壤接触的压实阻力, 由图 3可以发现, 即使不考虑滑转率对压实阻力的影响, 在滑转率较低的情况下, Bekker计算的理论结果与实验值之间的差异依然较大
(4) |
在压实阻力Rc模型中考虑滑转率影响, 得到(5)式。由图 4可以看出理论压实阻力与实验压实阻力的差异显著缩小, 模型的修正起到了积极作用。
(5) |
但车轮的速度增加到一定值时, 压实阻力并不随速度增加而变大, 为反映这种现象, 保证力的连续性, 将压实阻力Rc与速度关联起来, 修正公式得到公式(6)。
(6) |
式中, a1为滑转率修正系数; v0为速度判断因子。
通过上述修正, 可保证仿真模型中挂钩牵引力的正确性。
1.2 基于ADAMS的星球车动力学建模对星球车进行多刚体动力学建模, 真实模拟整车与轮系的结构关系。根据轮系的正常移动控制状态和主动悬架控制状态的部件约束差异, 通过添加合理的运动约束, 分别建立正常移动控制动力学模型和主动悬架控制动力学模型, 如图 5所示。正常移动控制动力学模型实现连续主副摇臂的差速机构、被动适应地形的底盘结构、六轮独立转向、六轮独立驱动; 主动悬架控制动力学模型实现连接主副摇臂的差速机构、主摇臂角度调节器、主副摇臂离合器等。
要建立仿真平台, 需要动力学模型响应导航控制系统命令, 如模型能够根据输入的各轮驱动和转向指令、角度调节器控制指令、离合器开关指令等, 结合地形数据和当前轮系状态, 更新并输出轮系各轮转速和转角、主副摇臂关节转角、差动机构转角、星球车质心位置与姿态数据等。
目前ADAMS软件中能实现星球车的刚体建模。为了实现仿真平台的功能, 建立完整的星球车动力学模型, 需要将对ADAMS进行二次开发, 将轮壤接触动力学模型和电机驱动模型编写成ADAMS子程序添加到软件中。这样, 在仿真过程中, 平台就能够根据建立好的完整星球车动力学模型更新并输出星球车动力学仿真结果。
1.3 星球车导航指令模块星球车导航指令模块模拟仿真平台上位机, 主要负责下达控制指令, 包括总控指令和ADAMS仿真控制指令。本平台中星球车导航指令模块为真实导航控制系统的简化形式, 能够获取ADAMS仿真结果反馈, 生成仿真流程控制指令、轮系指令、离合器指令、夹角调节机构指令、桅杆指令等的输入, 实现闭环仿真。
1.4 数据传递方式工程设计时星球车导航系统与动力学的闭环仿真对实时性有较高的要求。在平台中导航系统与动力学模型之间建立“桥梁”以实现闭环仿真, “桥梁”数据流程如图 6所示。
为提升仿真效率, 实现实时联合仿真, 采用多线程并行计算方式, 即动力学解算、导航指令生成、仿真数据传递及状态显示分别采用不同线程并行计算, 可大幅提升计算效率。并行计算时为了解决不同线程之间的数据传递, 采取内存映射方式即将共享数据映射到一段内存空间中, 通过令牌方式来进行数据的读取, 保证了数据的完整性和实时性。
导航指令模块将ADAMS控制指令写入内存页地址中, 待ADAMS读取指令之后, ADAMS将上次仿真的数据传递给上位机, 然后导航指令模块读取仿真数据。在内存读写过程中采用令牌机制, 即上位软件对内存写ADAMS控制指令时, 并须得到ADAMS的控制令牌才能写入ADAMS控制指令, 否则无法写入指令, 保证了指令和数据的完整性。使用时需要定义结构体变量, 将控制指令填入结构体相应位置。
2 基于仿真平台的星球车仿真 2.1 ADAMS求解控制实现联合仿真, 需要获得ADAMS软件的仿真控制权。通过MSC.ADAMS软件提供的consub.c子程序可以实现对ADAMS模型求解过程的控制, 如求解类型更换、模型修改、仿真过程中间结果输出等[8]。导航控制系统通过consub.c子程序控制整个仿真过程, 同时子程序可以将仿真过程中数据输出给导航指令模块。
通过合理的运动控制指令, 主动悬架可帮助车辆实现某些特殊的运动状态仿真, 如车体抬升、蟹行、蠕动等。
2.2 动力学仿真结果采用如表 2所示的土壤特性参数[15], 制定准确的控制策略在模拟火星表面环境中进行星球车各种工况仿真。
星球车车体升降模式下, 控制移动机构离合器为打开状态, 根据车体待抬升/下降的目标高度, 求得相对应的夹角调节机构目标角度, 控制夹角调节机构运动到目标角度, 实现车体的升降, 在升降过程中, 移动装置中后轮不运动(断电), 前轮加电配合运动, 仿真结果如图 7所示。从图 7b)中可以看出车体高度有明显升降, 在升降过程中, 夹角调节器与前轮配合运动, 其他车轮断电。
星球车车轮抬升模式下, 抬升车体到合适高度, 控制移动机构离合器为闭合状态, 控制夹角调节机构角度, 前主摇臂角度增加, 后主摇臂角度减小, 实现中轮抬升, 在抬升中轮过程中, 移动装置中后轮不运动(断电), 前轮加电配合运动, 上述结果如图 8所示。由图可以看出, 当车轮抬起时, 抬起的车轮不再受轮壤接触力的作用。
星球车蟹行模式下, 控制移动机构离合器为打开状态, 驱动转向机构转向90°, 保持驱动机构正常运动, 图 9给出星球车蟹行状态左前转向轮的动态曲线。
星球车蠕动模式下, 车体高度为常态, 控制移动装置离合器为打开状态, 抬升车体高度, 并在车体抬升过程中, 移动装置前轮断电, 中后轮向前配合夹角调节机构运动, 当车体到达一定高度后, 下降车体到一定高度, 并在下降车体过程中, 移动装置中后轮断电, 前轮向前配合夹角调节机构运动, 重复上述动作即可实现星球车向前蠕动, 如图 10所示。要实现向后蠕动, 仅需要在车体抬升过程中, 中后轮断电, 前轮配合夹角调节机构向后运动, 在车体下降过程中, 前后断电, 中后轮配合夹角调节机构向后运动。
图 11给出平台在仿真蠕动过程中在步长为200 ms条件下的单步计算时间的曲线, 由曲线可以看出, 平台基本能在100 ms内计算完成, 几乎为实时计算。
3 结论针对我国近期将要开展的火星及其他星球探测复杂通过性任务使得导航控制系统设计面临的困境, 提出星球车导航与动力学联合仿真平台的总体设计思路。通过对MSC.ADAMS软件二次开发, 采用多线程并行计算模式建立了星球车导航与动力学的高效联合仿真平台, 实现了轮壤接触动力学、星球车多刚体动力学与导航系统的联合仿真。
仿真平台采用模块化方式建立, 具有很好的扩展性, 并可根据任务需要增加相应的模块, 满足不同星球探测任务的需求。通过平台对星球车特殊工况如车体升降、抬轮、蠕动等的仿真结果表明仿真平台能够根据控制策略完成对应工况的仿真, 且仿真效率达到了实时。该平台已应用于我国现有火星探测任务, 对火星探测和未来其他星球的探测、星球车动力学研究、星球车结构设计及导航系统设计均具有重要意义。
[1] |
杨怀广, 丁亮, 高海波, 等. 星球车车轮原地转向沉陷试验及模型研究[J]. 机械工程学报, 2017, 53(8): 99-108.
YANG Huaiguang, DING Liang, GAO Haibo, et al. Experimental Study and Modeling of Wheel's Steering Sinkage for Planetary Exploration Rovers[J]. Journal of Mechanical Engineering, 2017, 53(8): 99-108. (in Chinese) |
[2] | YEN J, JAIN A, BALARAM J. ROAMS: Rover Analysis, Modeling and Simulation[C]//Proceedings of the Fifth International Symposium on Artificial Intelligence, Robotics and Automation in Space, 1999: 249-254 |
[3] | JAIN A, BALARAM J, CAMERON J, et al. Recent Developments in the ROAMS Planetary Rover Simulation Environment[C]//IEEE Aerospace Conference Proceedings, 2004: 861-876 |
[4] | PATEL N, ELLERY A, ALLOUIS E, et al. Rover Mobility Performance Evaluation Tool(RMPET): a Systematic Tool for Rover Chassis Evaluation via Application of Bekker Theory[C]//Proceedings of the 8th ESA Workshop on Advanced Space Technologies for Robotics and Automation, 2004: 251-258 |
[5] | BAUER R, LEUNG W, BARFOOT T. Development of a Dynamic Simulation Tool for the Exomars Rover[C]//Proceedings of the 8th International Symposium on Artificial Intelligence, Robotics and Automation in Space, 2005: 1-8 |
[6] | BAUER R, BARFOOT T, LEUNGW, et al. Dynamic Simulation Tool Development for Planetary Rovers[J]. International Journal of Advanced Robotic Systems, 2008, 5(3): 311-314. |
[7] | ZHOU F, ARVIDSON R E, BENNETT K. Simulations of Mars Rover Traverses[J]. Journal of Field Robotics, 2013, 31(1): 141-160. |
[8] |
黄铁球, 邢焱, 滕宝毅. 一种新的基于Adams与C/C++语言的模块化协同仿真模式[J]. 航天控制, 2011, 29(1): 63-66.
HUANG Tieqiu, XING Yan, TENG Baoyi. A New Mode of Co-Simulation Based on Adams and C/C++Language[J]. Aerospace Control, 2011, 29(1): 63-66. (in Chinese) |
[9] |
江磊, 郭建娟. 基于Vortex的月球车仿真技术[J]. 农业机械学报, 2012, 43(增刊1): 352-356.
JIANG Lei, GUO Jianjuan. Simulation Algorithm of Lunar Rover Based on Vortex[J]. Transactions of the Chinese Society for Agricultural Machinery, 2012, 43(suppl 1): 352-356. (in Chinese) |
[10] |
徐亚伟, 陈建新, 刘良栋, 等. 松软土壤环境下月球车动力学与控制的仿真工具[J]. 空间控制技术与应用, 2008, 34(6): 52-57.
XU Yawei, CHEN Jianxin, LIU Liangdong, et al. A Simulation Tool for Dynamics and Control of a Lunar Rover in Soft Soil Environment[J]. Aerospace Contrd and Application, 2008, 34(6): 52-57. (in Chinese) DOI:10.3969/j.issn.1674-1579.2008.06.011 |
[11] |
邵铮.软质地面环境下月球车虚拟仿真平台关键技术研究[D].沈阳: 东北大学, 2008 SHAO Zheng. Study on Virtual simulation Platform of Tyre-Soil Interaction for Lunar Rover Based on Virtual Reality Technology[D]. Shenyang, Northeastern University, 2008(in Chinese) http://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CMFD&filename=2010256974.nh |
[12] |
丁亮.月/星球车轮地作用地面力学模型及其应用研究[D].哈尔滨: 哈尔滨工业大学, 2010 DING Liang. Wheel-Soil Interaction Terramechanics for Lunar/Planetary Exploration Rovers: Modeling and Application[D]. Haerbin, Harbin Institute of Technology, 2010(in Chinese) http://kns.cnki.net/KCMS/detail/detail.aspx?dbcode=CDFD&filename=2011016008.nh |
[13] |
Bekker M G.地面-车辆系统导论[M]. 《地面-车辆系统导论》翻译组, 译.北京: 机械工业出版社, 1978 BEKKER M G. Introduction to Terrain-Vehicle Systems[M]. Translation Group of Introduction to Terrain-Vehicle Systems, Translator. Beijing, China Machine Press, 1978(in Chinese) |
[14] | WONG J Y, REECE A R. Prediction of Rigid Wheel Performance Based on Analysis of Soil-Wheel, Stresses, PartⅠ:Performance of Driven Rigid Wheels[J]. Journal of Terramechanics, 1967, 4(1): 81-98. DOI:10.1016/0022-4898(67)90105-X |
[15] |
刘兴杰, 苏波, 江磊, 等. 火星表面土壤力学性能参数研究[J]. 载人航天, 2016, 22(4): 459-465.
LIU Xingjie, SU Bo, JIANG Lei, et al. Research on Soil Mechanical Properties of Martian Surface Soil[J]. Manned Spaceflight, 2016, 22(4): 459-465. (in Chinese) DOI:10.3969/j.issn.1674-5825.2016.04.009 |
2. Beijing Institute of Control Engineering, Beijing 100190, China