周 东,徐晓伟,贾 阳,郭 坚,李 珂,朱 玛,张红军
(1. 北京空间飞行器总体设计部,北京 100094;2. 山东航天电子技术研究所,烟台 264000)
火星车作为典型的深空探测器,其机构控制系统需要具有集成化、自主管理、容错控制等特性。火星车配备多种伺服机构,实现整车移动、悬架调整、通信天线指向、太阳翼对日定向、桅杆转动等功能[1-2],机构控制系统所需完成的功能均包括运动规划、电机驱动控制、传感器解算、故障检测及应急处置等功能。其中移动装置包括驱动机构、转向机构、悬架调整机构等,采用直流无刷电机;天线、太阳翼、桅杆机构采用步进电机。角度传感器均采用旋转变压器。
在以往航天器机构控制系统中,机构组件数量较小,机构控制器分别设置在多个相关分系统中。每个控制器中均设置电源变换、规划运算、控制运算、驱动电路、传感器采集等部件[3-5]。按照传统方式设计火星车机构控制系统,存在较多冗余资源,无法满足火星车集成化、轻量化的设计要求[6]。
另外,在近地航天器或月球车中,通信延时不长,如地月单程通信时延仅为1 s左右。机构控制系统的任务规划、状态监控、故障检测及应急处置主要通过地面遥操作实现[7-8]。而在火星探测任务中,最远地火距离时单程通信时延长达几十min。火星车需要在无人干预情况下完成自主任务规划、自主故障检测及处置、降级运行等功能。这些都对火星车的自主特性提出了更高的要求[1]。
与以往研究相比,本研究针对火星车多样的控制需求,开展了任务分析,制定了机构控制系统的整体架构,从集成化、自主管理、故障检测与降级运行等方面开展了优化设计。创新性地将火星车上所有机构的控制功能集中在一台控制器上实现。采用多种资源复用方法达到了显著的集成化、轻量化效果。同时提出并实现了运动规划、控制运算、故障检测及应急处置、降级运行等策略,满足了火星车机构控制系统高度自主、容错控制的任务需求。
火星车配备多种伺服机构,在巡视区域内开展探测活动,并将探测数据传回。如图1所示,火星车配备了移动装置、定向天线、太阳翼、桅杆4类机构,实现的具体功能包括:整车移动、悬架调整、通信天线指向、太阳翼指向、桅杆转动等。
图1 火星车伺服机构简图Fig. 1 Diagram of Mars rover mechanism
1)移动装置。实现火星车在着陆平台和火星表面的姿态调整、移动、脱离危险状况等功能。采用主副摇臂式主动悬架和一体化减振车轮及六轮独立驱动、独立转向的方式。标称运动模式完成直线行走、转向行走、蟹行等功能。主动悬架模式完成车体升降、车轮升降、蠕动等功能。移动装置配备驱动、转向、夹角、离合、差动等5类伺服机构组件[9-11]。
2)定向天线。实现火星车X频段通信的二维指向调节功能。可实现对地低速应急数据传输、对环绕器中速数据传输。当环绕器位于近火弧段时,由于其方位角和高度角快速变化,要求定向天线具备连续位置或速度跟踪能力。定向天线配备展开机构、双轴驱动机构组件。由于遥远的地火距离,火星车采用了高增益、窄波束的定向天线[10],要求转轴执行偏差不超过0.4°。
3)太阳翼。火星车配备了A、B两组太阳翼,其中A组太阳翼配备了两套驱动轴,用于A组太阳翼的重复收展。B组太阳翼使用铰链驱动展开、配备两组到位开关用于监视状态。
4)桅杆。在感知和探测等模式中为导航地形相机提供支撑、运动、指向定位等功能。桅杆机构配备了展开轴、偏航轴、俯仰轴3种组件。
考虑到各类机构的功能特点和产品继承性,定向天线、太阳翼、桅杆机构选用步进电机,各组件由步进电机、谐波减速器、角度传感器及到位开关组成。移动装置选用直流无刷电机,各组件由直流无刷电机、电机角度传感器、谐波减速器、组件角度传感器及到位开关组成。控制系统需要完成的功能如下:
1)状态采集。机构控制系统的控制目标为运动速度或角度,因此需要采集运动相关状态,比如电流、速度、角度、到位情况。其中电机速度可通过电机转子角度做微分运算获得。
2)电机驱动。天线、太阳翼、桅杆所选用的步进电机采用两相双四拍、恒流斩波驱动方式,移动装置所选用的直流无刷电机需要实现速度闭环控制,转向机构、夹角机构还需要实现角度闭环控制。
3)零位和极性处理。各类机构安装过程中,角度传感器与火星车坐标系的零位和极性很难达到一致,需要进行零位修正和极性修正。同时电机旋转极性一般定义为面向电机逆时针转动为正转,而机构组件安装到火星车上后,可能与整车旋转坐标系的极性不一致,同样需要对电机旋转极性进行转换。
4)运动范围变换。各机构组件运动角度范围差异性较大,大部分组件的运动角度均不超过 ±180°。太阳翼机构组件采用了非标准角度范围,需要对角度范围进行扩展。另外,为保证定向天线的指向精度,角度传感器使用了两对级旋转变压器,运动角度更是超过了两对级旋转变压器能表达的范围 ± 90°,需要软件辅助进行二义性转换,实现角度范围的扩展。
5)运动规划。在底层控制完成速度或位置控制后,上层需要完成运动规划相关功能,包括:直线行走、转向行走、悬架调整、天线跟踪、太阳翼指向、桅杆转动等功能。
6)故障检测与紧急处置。为保证系统安全性,应在机构运动过程中实时监测运动范围、工作电流、通信状态、工作温度等状态。故障发生时,及时将机构置于安全状态。所设计的故障检测方法和处置策略应覆盖机构控制系统各部件的故障模式。
7)降级运行。火星车在发射、奔火、EDL和火面探测各阶段均要承受恶劣环境的影响,机构控制系统中各组件均存在失效的可能。在局部失效的情况下,机构控制系统应能够基于剩余正常部件实现降级运行,实现一定的容错控制能力。
8)通用化要求。为达到系统优化的目的,通过分析各机构性能要求及工作模式,在保证机构伺服驱动功能的前提下进行通用化设计。所有步进电机组件选用相同的细分驱动模式、步距角和旋转变压器励磁频率,移动装置的机构组件采取相同的控制算法、驱动电路和旋转变压器励磁频率。在通用化的基础上,制定硬件资源、计算资源的分时复用策略,提高资源利用率。
如图2所示,在以往航天器中,每类机构组件均需要配置相应的控制器。每个控制器中均设置电源变换、控制运算、驱动电路、传感器采集等部件。传统的设计方式存在较多冗余资源,无法满足火星车集成轻量化的要求。同时一般通过遥操作的方式发送运动指令并进行状态监视[8],无法满足火星车机构控制系统的自主化、容错控制的需求。因此需要在集成化、自主管理、故障检测与降级运行等各方面进行系统优化。
图2 机构控制系统优化前的组成框图Fig. 2 Block diagram of mechanism control system before optimization
图3为经过优化后火星车机构集成控制系统组成框图,主要由控制器、驱动器、采集电路、复用电路等部件组成,数管计算机为控制系统提供二次电源,并提供部分计算资源。
图3 集成控制系统优化后的组成框图Fig. 3 Block diagram of integrated control system after optimization
所采取的主要优化措施如下:
1)供电资源优化。机构控制系统放置到数管计算机的机箱中,与数管计算机共用二次电源,可减少DC/DC变换器、滤波器的使用量,同时能在一定程度上减少电源变换损耗。
2)计算资源优化。梳理集成控制系统各项功能中实时性要求。将高实时性功能、时序控制功能放置到电机控制器中实现,如角度传感器采集、AD采集、电机闭环控制等功能。实时性要求较低的功能,通过数管软件完成,实现计算资源的共享,比如:零位和极性处理、自主运动规划、故障检测等。
3)热控功能优化。机构温度统一由数管计算机通用资源进行采集,并在数管计算机中实现自主热控,实现各类机构温度调节。
4)电机侧旋变解算复用。移动装置电机侧角度传感器全部采用旋转变压器,数量较多,对硬件资源消耗较大。根据飞行程序梳理各类机构工作时段,采取继电器分时段接通的策略。如通过飞行程序中可知,移动装置的转向机构和夹角机构不同时动作。在标称移动模式接入转向机构旋变,在悬架调整模式接入夹角机构旋变,减少旋变解算芯片数量。
5)电机驱动器复用。方法4同样适用于电机驱动器。各时段需要同时工作的组件数量的最大值,即为需要设置的电机驱动器数量,如天线、太阳翼、桅杆不同时工作。控制系统中仅设置3套驱动器,分时切换,可以完成8套机构组件的驱动功能。
6)组件侧旋变解算复用。机构组件输出端的旋变,角度变化率较小,可采用多路开关分时接通的策略,通过同一个旋变解算芯片同时实现多路旋变的解算。如转向机构组件输出端的6路旋变信号,通过多路开关分时接入旋变解算芯片,一套解算芯片实现6路旋变的角度解算。
7)系统备份。移动装置6套车轮具有系统备份功能。单一车轮失效后,可将故障轮抬起,其他车轮组合仍能够完整实现火星车移动的功能。因此对车轮上的驱动、转向组件仅设置单份的电机驱动器。
8)故障检测及应急处置。梳理各部件的故障模式,制定相应的故障检测与应急处置策略。将其中实时性要求较高的部分通过电机控制器实现,实时性要求较低的部分通过数管计算机软件兼顾。故障触发后,将机构置于安全状态,等待进一步地面分析。
9)降级运行。当发生不可恢复的故障后,支持降级容错运行。除了采取常规的主备份策略外,还需要设计旋转变压器、到位开关、绕组故障后的容错运行策略。
根据集成化、通用化的设计原则,开展机构控制系统硬件设计。图4为集成控制系统硬件架构,主要由遥测采集、驱动电路、数管CPU、控制FPGA组成。
1)计算资源优化
机构控制系统中的计算资源通过“CPU+FPGA”的方式实现。宇航CPU中一般具有浮点运算、EDAC校验功能,通过C语言编程实现,适合于浮点运算及复杂流程控制。但由于抗辐照工艺的限制,宇航CPU工作频率远低于商业CPU,一般不高于100 MHz,软件中每条代码的执行均要经过取指、译码、执行、存储等过程。火星车要同时完成多达十几路电机的控制,因此宇航CPU并不太适合于这种高实时的并行运算。而FPGA具有大规模可编程通用逻辑资源,所有逻辑单元均可同时执行,更适合于实现并行计算、定点运算、时序控制等功能。
图4 硬件架构设计Fig. 4 The design of hardware architecture
所以将实时性要求较低的功能通过数管计算机CPU完成,实现计算资源的共享,比如:零位和极性处理、自主运动规划、故障检测等;将高实时性控制算法、并行运算、时序控制等功能通过FPGA实施,实现火星车全部电机的独立运动控制。
2)旋变励磁电路复用
旋转变压器解算功能由励磁电路、解算电路组成。励磁电路产生正弦波,作为旋转变压器的激励信号,同时励磁信号传递到解算电路,作为解算电路II型跟踪伺服环路的参考信号[12-13]。
励磁电路尺寸较大,传统方法中需要在主备控制器中为每只旋变各配置一套励磁电路。本系统中采用旋变集中励磁的方法,励磁信号经功率放大后,同时驱动多路旋转变压器的励磁绕组。旋变励磁电路复用方法如图5所示。采用复用方法后,主备控制器励磁电路所占面积、重量和功耗显著减少。由于公共点的存在,任意旋变励磁绕组异常时,可能发生故障扩散,导致该励磁电路所连接的全部旋变失效。因此需要在保证信号质量的前提下,采取限流措施。保证在单个旋变故障情况下,其它旋变能够正常工作。
图5 旋变励磁电路复用设计Fig. 5 Multiplex design of resolver excitation circuit
3)旋变解算芯片复用
宇航用旋变解算芯片封装尺寸较大。传统方法中需要在主备控制器中为每只旋变各配置一只解算芯片,将占用可观的尺寸、重量、功耗。复用方法主要分为组件侧旋变解算复用和电机侧旋变解算复用。
组件侧旋变采用多路开关进行分时采集,通过一片解算芯片完成多路旋变信号的解算功能。FPGA中设置定时器,将各路旋变按顺序循环接入到旋变解算芯片中。多路开关通道切换间隔时间的下限取决于解算芯片最大角度差情况下的跟踪响应时间,上限取决于机构角度变化率和采集精度。
为防止外部线路故障对电路的影响,在信号输入端采取限流措施,并通过运算放大器将信号增强后送入旋变解算芯片。组件侧旋变解算电路复用设计如图6所示。
图6 组件侧旋变解算电路复用设计Fig. 6 Multiplex design of resolver circuit for mechanism
由于跟踪速率的差异,多路开关选通的方式并不适用于电机侧旋变。电机侧旋变主要采取继电器选通的方式。根据不同的运动模式,通过继电器分阶段接通特定分组的电机侧旋变,电机运动期间继电器保持接通状态,从而实现一组旋变解算芯片服务多组旋变的功能。
采用上述2种旋变解算芯片复用方法后,主备控制器旋变解算芯片数量显著减少。
4)驱动电路复用
直流无刷电机的驱动电路采用三相六桥式驱动芯片实现[14],步进电机的驱动电路采用H桥式驱动芯片实现[15]。根据不同的运动模式,通过继电器分阶段接入特定分组的电机绕组,电机运动期间继电器保持接通状态,从而实现一组驱动芯片服务多组电机的功能。如:设置3套步进电机驱动芯片,可以分阶段完成天线、太阳翼、桅杆的8套组件的驱动。如图7所示,为保证系统安全性,为驱动芯片的数字电源、功率电源均设置保护措施。如果驱动芯片自身故障或外部线路故障造成短路,驱动芯片电源信号将自动保护,其它驱动芯片仍可以正常工作。
5)其它
利用数管计算机实现温度采集、加热功率输出和自主温控算法。机构工作温度通过热敏电阻采集,加热功能采用加热片实现。
到位开关为无源金属触点式。为避免外界异常造成电路损伤,采集电路中设置防反二极管、限流电阻、滤波电容进行保护。
根据集成化、自主化的设计原则,开展机构控制系统的软件设计。软件整体架构如图8所示。
图8 软件架构设计Fig. 8 The design of software architecture
将控制系统软件按照功能特点划分为4层:运动规划层主要根据飞行程序或地面指令完成各类机构的运动规划和协同动作;中间变换层主要实现范围变换、极性处理、零位处理、换算角度等运算功能,还包括整车坐标系浮点角度与控制系统定点运算之间的转换功能;控制运算层主要完成机构组件的角度闭环控制、速度闭环控制,同时还需完成速度运算、电机步数累计等功能;采样与驱动层主要完成涉及底层时序的传感器信息采集、电机驱动PWM斩波信号生成等功能。
运动规划层、中间变换层主要涉及复杂流程控制和浮点运算;控制运算层、采样驱动层主要涉及强实时计算和时序波形生成。因此根据前述宇航用CPU和FPGA的各自优势,运动规划层和中间变换层的功能统一由数管计算机实现,控制运算层和采取驱动层的功能统一由FPGA实现。
1)运动规划层
运动规划层根据各类机构动力学特性、指向目标特性,进行加减速控制、指向跟踪、多机构协同控制。其中车体移动功能包括直行、转向、行进间转向、蟹行等功能,悬架调整功能包括车体抬升、车体下降、抬轮、离合啮开、离合啮合等功能。天线跟踪主要包括自主展开、对地指向、对轨道器指向,跟踪模式包括角速度跟踪、角位置跟踪。桅杆转向主要包括:自主展开、偏航指向、俯仰指向等功能。
2)中间变换层
中间变换层主要实现范围变换、极性处理、零位处理、换算角度运算等功能。零位处理主要修正角度传感器安装误差。极性处理分为角度传感器极性、电机驱动极性。角度范围主要实现非标准角度范围的扩展,以及通信天线角度二义性处理。换算角度运算是通过电机步数换算得到机构角度。
3)控制运算层
控制运算层主要分为步进电机控制算法和直流无刷电机控制算法。步进电机的控制算法采取开环控制、角度到位停机的策略。
直流无刷电机采取双闭环嵌套控制算法,如图9所示。位置环的给定值为期望角度。传感器所采集的机构角度作为位置闭环的反馈信号。位置环主要包括死区控制、比例超限控制等控制环节。速度环的给定值来自于指令或位置环的补偿值,电机角度经过差分运算得到实际速度,作为速度变换的反馈信号,电机角度还用于PWM斩波换相控制。速度环还包括比例积分控制器、驱动放大环节。
图9 电机闭环控制算法Fig. 9 Motor control algorithm
4)采样和驱动层
采样和驱动层完成的功能包括:根据旋变解算芯片接口要求,生成解算芯片采集时序,获取电机侧旋变角度、机构侧旋变角度;根据模数转换器AD芯片时序要求,生成采集启动信号、通道选择信号,并接收转换结果,主要用于电机工作电流的采集;根据直流无刷电机绕组驱动时序要求生成PWM斩波信号,控制驱动芯片内功率开关的开通、关断和死区控制。
故障检测与诊断是实现火星车安全运行、故障容错的基础。必须适时准确地检测出故障信息,并采取应急处理措施,将机构系统置于安全状态。在发生局部故障的情况下,将故障区域隔离,实现容错运行[16-17]。
机构控制系统由运动规划、运算控制、传感器、驱动电路、伺服机构等部件组成,各部件均由众多元器件组成,每个元器件具有自身的失效模式。对每个元器件进行故障检测的代价过高。根据各类元器件耦合程度进行功能分组,对各分组进行故障检测设计。机构控制系统具体分组情况如表1所示。
表1 基于关联性分析的故障分组Table 1 Fault grouping based on correlation analysis
在硬件电路中设置限流或过流保护电路,将故障限定在局部区域;在软件中设置故障检测功能,故障发生后,及时将伺服机构置于零速或停机等安全状态。机构控制系统中制定多种故障检测方法,与分组故障模式的对应关系如表2所示。
表2 故障模式与故障检测对应关系Table 2 Relevance between fault mode and fault detection
当发生不可恢复的故障后,将局部故障隔离,并实施降级容错运行,除了采取常规的主备份策略外,还制定了旋转变压器、到位开关、电机、热控故障后的容错运行策略。表3为火星车机构控制系统采取主要降级运行策略。
表3 降级运行策略Table 3 Strategy of fault tolerance control
其中组件侧旋变故障情况下,CPU运动规划的输出值为电机步数,FPGA根据期望步数执行位置环保持功能。步数累计值传递到CPU,进行步数换算角度的运算。
电机侧旋变故障情况下的,降级运行策略为:不使用故障旋变的反馈角度,将给定速度进行积分,获得电机转子旋转的理论角度,用于速度计算和PWM斩波换相。电机无传感器开环运行原理框图如图10所示。
图10 电机无传感器开环运行Fig. 10 Motor sensorless open loop control
根据集成化、通用化的思路,从硬件资源、计算资源两方面制定了多项优化措施,经过工程实施,火星车机构控制系统的体积、重量和功耗分别降低了42%、36%、35%,关键指标均优于整车指标要求。主要关键指标的优化效果见表4。
表4 火星车机构控制系统集成设计优化效果Table 4 Optimization effect of rover mechanism control system
为验证机构控制系统的可行性和有效性,开展了火星车内场试验、外场试验及高低温循环试验,对行进功能、转向功能、悬架调整功能、天线跟踪功能、太阳翼收展功能、桅杆指向等自主任务进行了验证试验。各阶段试验验证中机构控制系统均满足设计要求。图11为火星车机构控制系统自主任务试验场景。
图11 火星车机构控制系统自主任务试验Fig. 11 Autonomous function test of mechanism control system
同时,针对故障检测与降级运行制定了相应的验证策略,模拟故障所需的触发条件,在整车环境中完成了全部故障模式和降级运行模式的验证。
火星车作为典型的深空探测器,机构控制系统需要具有集成轻量化、自主管理、容错控制等特性。火星车配备多种伺服机构,实现整车移动、悬架调整、通信天线指向、太阳翼对日定向、桅杆转动等功能,机构控制系统需要完成运动规划、驱动控制、传感器解算、故障检测及应急处置等功能。传统设计方式中,各类机构分散控制,通过地面遥操作进行控制和监视,无法满足火星车集成化、自主化、容错控制的需求。
本文针对火星车多样的控制需求,开展了任务分析,制定了机构控制系统的整体架构,从集成化、自主管理、故障检测与降级运行等方面开展了优化设计。将火星车上所有的机构控制功能集中在一台控制器上实现。采用多种资源复用方法达到了显著的集成化、轻量化效果。同时提出并实现了运动规划、控制运算、故障检测及应急处置、降级运行等策略,满足了火星车机构控制系统高度自主、容错控制的任务需求。在满足多项约束的前提下,各项指标达到了最优,验证了设计方法的正确性和合理性。对功能复杂、约束严格的探测器机构控制系统具有一定的参考价值。