一种空间机器人动力学仿真系统及方法

文档序号:6293275阅读:123来源:国知局
一种空间机器人动力学仿真系统及方法
【专利摘要】本发明公开了一种空间机器人动力学仿真系统及方法,包括:空间机器人动力学模块在远程导引阶段根据空间机器人平台受到的控制力、控制力矩,以及机械臂系统关节的控制力矩,输出表示空间机器人的运动状态的数值,并在接收到返回的控制量后,输出下一时刻表示空间机器人的运动状态的数值;空间机器人控制模块在远程导引阶段,在接收到空间机器人动力学模块输入的表示空间机器人的运动状态的数值后,向空间机器人动力学模块返回控制量;STK长期轨道预报模块在远程导引阶段根据表示目标的运动初始状态、表示空间机器人的运动状态的数值和空间机器人的变轨序列,输出空间机器人和目标的运动状态。本发明能提供完整的空间机器人全任务阶段的仿真。
【专利说明】一种空间机器人动力学仿真系统及方法
【技术领域】
[0001]本发明涉及仿真学,特别涉及一种空间机器人动力学仿真系统及方法。
【背景技术】
[0002]空间机器人是用于在轨服务的特殊航天器,能对在轨运行的航天器加注燃料和更换模块以延长航天器的使用寿命、还能对有故障的航天器进行修复,空间机器人一般由机器人平台和机械臂系统组成。
[0003]空间机器人动力学仿真是指对空间机器人整个任务阶段的动力学过程进行仿真,空间机器人任务包括正常轨道运行、接近目标、操作目标等任务,动力学仿真除动力学方程解算外,还包括与之相关的对机器人的导航、制导与控制算法层的仿真,以及对空间环境的仿真。
[0004]通过空间机器人动力学仿真平台能对机器人设计方案和飞行任务设计方案进行验证,对导航、制导与控制算法的控制性能进行初步确认。
[0005]目前的空间机器人动力学仿真系统不足在于:作为空间机器人全任务阶段的仿真工具功能不完整,缺少空间机器人远程导引阶段的仿真。

【发明内容】

[0006]本发明提供了一种空间机器人动力学仿真系统及方法,用以提供完整的空间机器人全任务阶段的仿真。
[0007]本发明实施例提供了一种空间机器人动力学仿真系统,包括:
空间机器人动力学模块,用于在远程导引阶段,根据空间机器人平台受到的控制力、控制力矩,以及机械臂系统关节的控制力矩,向空间机器人控制模块输出表示空间机器人的运动状态的数值,并在接收到空间机器人控制模块返回的控制量后,向空间机器人控制模块输出下一时刻表示空间机器人的运动状态的数值;
空间机器人控制模块,用于在远程导引阶段,在接收到空间机器人动力学模块输入的表示空间机器人的运动状态的数值后,向空间机器人动力学模块返回控制量;
STK长期轨道预报模块,用于在远程导引阶段,根据表示目标的运动初始状态、表示空间机器人的运动状态的数值和空间机器人的变轨序列,输出空间机器人和目标的运动状态。
[0008]较佳地,STK长期轨道预报模块进一步用于采用STK卫星工具包软件来根据表示目标的运动初始状态、表示空间机器人的运动状态的数值和空间机器人的变轨序列,输出空间机器人和目标的运动状态。
[0009]较佳地,进一步包括:
STK三维显示模块,用于显示STK长期轨道预报模块输出的空间机器人和目标的运动状态。
[0010]较佳地,STK三维显示模块进一步用于采用C++程序调用STK提供的ActiveX组件来实现STK长期轨道预报模块输出的空间机器人和目标的运动状态的显示。
[0011]较佳地,进一步包括:
目标动力学模块,用于在自主导航目标接近阶段,根据初始的运动状态、目标动力学参数和仿真时间,向空间机器人控制模块输出表示目标运动状态的数值;
空间机器人控制模块进一步用于在自主导航目标接近阶段,在接收到空间机器人动力学模块输入的表示空间机器人的运动状态的数值与目标动力学模块输入的表示目标运动状态的数值后,向空间机器人动力学模块返回控制量。
[0012]较佳地,STK三维显示模块进一步用于显示在自主导航目标接近阶段,STK长期轨道预报模块输出的空间机器人和目标的运动状态。
[0013]较佳地,进一步包括:
OSG三维显示模块,用于显示在目标服务阶段,空间机器人动力学模块输出的空间机器人的运动状态和目标动力学模块输出的目标的运动状态。
[0014]较佳地,OSG三维显示模块进一步用于采用C++编写,利用OSG提供的库函数来实现空间机器人和目标的运动状态的显示。
[0015]较佳地,进一步包括:
仿真数据存储模块,用于根据需要存储仿真过程中产生的数据。
[0016]较佳地,各模块通过UDP或者通过CAN协议进行通讯。
[0017]本发明有益效果如下:
由于在远程导引阶段,便开始根据表示目标的运动初始状态、表示空间机器人的运动状态的数值和空间机器人的变轨序列,对空间机器人和目标的运动状态进行仿真,因此,本发明可以提供完整的空间机器人全任务阶段的仿真。
[0018]由于将任务区分为远程导引阶段、自主导航目标接近阶段、目标服务阶段,并在进行相应的仿真后采用不同的显示方式,因此具有空间机器人总体设计方案与任务方案的仿真验证和三维演示的功能,具有验证空间机器人导航、制导与控制算法的功能。
[0019]由于各模块之间通过UDP或者通过CAN协议进行通讯,因此既能在一台计算机上运行仿真,也能在多台计算机上运行仿真。
[0020]由于新增了根据需要存储仿真过程中产生的数据,因此可以对仿真结果进行分类存储,以便进行后续的评估或分析等处理。
【专利附图】

【附图说明】
[0021]图1为本发明实施例中空间机器人动力学仿真系统结构示意图;
图2为本发明实施例中空间机器人动力学仿真方法流程示意图。
【具体实施方式】
[0022]下面结合附图对本发明的【具体实施方式】进行说明。
[0023]本发明实施例提供的系统及方法是为了提供完整的空间机器人全任务阶段的仿真工具,具有空间机器人总体设计方案与任务方案的仿真验证和三维演示的功能,具有验证空间机器人导航、制导与控制算法的功能。
[0024]具体实施中,空间机器人动力学仿真与三维演示平台可以采用模块化的方式进行搭建,主要模块采用Matlab的Simulink仿真工具实现,长期轨道预报利用卫星工具箱STK实现,三维显示部分利用STK和OSG技术,采用C++语言编程实现,仿真数据存储在Oracle数据库里。Simulink中的模块之间数据交换采用输入输出和goto单元模块进行,Simulink与其它模块的数据交换通过UDP网络协议进行。
[0025]其中,MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
[0026]美国Analytical Graphics公司开发的STK卫星工具包软件,是航天工业领先的商品化分析软件。STK可以快速方便地分析复杂的陆、海、空、天任务,并提供易于理解的图表和文本形式的分析结果,确定最佳解决方案。它支持航天任务周期的全过程,包括政策、概念、需求、设计、制造、测试、发射、运行和应用。
[0027]OpenSceneGraph (简称0SG)使用OpenGL技术开发,是一套基于C++平台的应用程序接口(API, Application Programming Interface),它让程序员能够更加快速、便捷地创建高性能、跨平台的交互式图形程序。它作为中间件(middleware)为应用软件提供了各种高级渲染特性,10,以及空间结构组织函数;而更低层次的OpenGL硬件抽象层(HAL,Hardware Abstraction Layer)实现了底层硬件显示的驱动。
[0028]UDP是User Datagram Protocol的简称,中文名是用户数据报协议,是OSI(Open System Interconnect,开放式系统互联)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务,IETF RFC 768是UDP的正式规范。
[0029]空间机器人一体化三维仿真平台可以由以下模块组成:空间机器人动力学模块、空间机器人控制模块、目标动力学模块、STK长期轨道预报模块、STK三维显示模块、OSG三维显示模块和仿真数据存储模块。下面进行说明。
[0030]图1为空间机器人动力学仿真系统结构示意图,如图所示,可以包括:
空间机器人动力学模块101,用于在远程导引阶段,根据空间机器人平台受到的控制力、控制力矩,以及机械臂系统关节的控制力矩,向空间机器人控制模块输出表示空间机器人的运动状态的数值,并在接收到空间机器人控制模块返回的控制量后,向空间机器人控制模块输出下一时刻表示空间机器人的运动状态的数值;
空间机器人控制模块102,用于在远程导引阶段,在接收到空间机器人动力学模块输入的表示空间机器人的运动状态的数值后,向空间机器人动力学模块返回控制量;
STK长期轨道预报模块103,用于在远程导引阶段,根据表示目标的运动初始状态、表示空间机器人的运动状态的数值和空间机器人的变轨序列,输出空间机器人和目标的运动状态。
[0031]具体实施中,空间机器人动力学模块用来计算空间机器人及其机械臂的运动状态,可以采用Simulink仿真工具箱搭建和实现。实施中,将空间机器人平台受到的控制力、控制力矩;机械臂系统关节的控制力矩输入空间机器人动力学模块后,空间机器人动力学模块可以采用求解空间机器人动力学和运动学微分方程的方式得到运动状态,然后输出空间机器人的运动状态,运动状态包括平台的位置和速度,姿态和姿态变化率,机械臂系统关节角和关节角速度等。得到的涉及运动状态的值交由输出给空间机器人控制模块,驱动控制模块;还可以输出给下面实施例中提到的OSG三维显示模块进行三维显示;还可以输出给仿真数据存储模块,存储在数据库。
[0032]空间机器人控制模块用来输出空间机器人平台的控制力和控制力矩,以及机械臂关节控制力矩,可以采用Simulink仿真工具箱搭建和实现。实施中,输入空间机器人控制模块的是空间机器人运动状态和空间目标的运动状态。在计算出空间机器人平台的控制力和控制力矩,以及机械臂关节控制力矩后,输入空间机器人动力学模块。
[0033]实施中,对于空间机器人控制模块输出的控制力和力矩,与空间机器人动力学模块输出的运动状态,在仿真初始时刻,由空间机器人动力学模块首先输出运动状态,空间机器人控制模块接收运动状态,输出控制量,空间机器人动力学模块接收控制量,完成下一时刻运动状态的计算和输出,如此递推,完成仿真过程。
[0034]STK长期轨道预报模块,用来对空间机器人和目标的长期轨道运动进行快速、精确的预报,完成空间机器人入轨和远程导引段的仿真。可以采用C++程序调用STK提供的函数接口实现。它与其它模块之间可以采用UDP方式进行通讯。
[0035]STK长期轨道预报模块没有实时的输入量,它根据空间机器人和目标运动初始状态、空间机器人变轨序列,实时输出空间机器人和目标的运动状态。输出的结果可以是空间机器人和目标的位置和速度等。完成仿真后,输出的运动状态数据可以发送给下面实施例中的STK三维显示模块进行显示,还可以发送给仿真数据存储模块进行存储。实施中,STK长期轨道预报模块调用STK提供的函数接口即可实时获得运动状态数据。
[0036]实施中,STK长期轨道预报模块还可以进一步用于采用STK卫星工具包软件来根据表示目标的运动初始状态、表示空间机器人的运动状态的数值和空间机器人的变轨序列,输出空间机器人和目标的运动状态。实施中引入卫星工具包软件STK,是为了补充空间机器人远程导弓I阶段的仿真。
[0037]在实施中空间机器人远程导引段的轨道预报可以用STK实现,但是,也能自行开发快速准确的长期轨道预报软件。STK仅用于教导本领域技术人员具体如何实施本发明,但不意味仅能使用STK —种方式,实施过程中可以结合实践需要来确定相应的方式。
[0038]实施中,空间机器人动力学模块可以包括:
输入机器人轨道动力学模块,用于根据输入的空间机器人平台受到的控制力输出表不空间机器人平台位置和速度的数值;
输入姿态动力学模块,用于根据输入的空间机器人平台受到的控制力矩输出表不空间机器人平台姿态和姿态变化率的数值;
输入机械臂动力学模块,用于根据输入的机械臂系统关节的控制力矩输出表不空间机器人机械臂关节角和角速度的数值。
[0039]具体实施中,输入机器人轨道动力学模块的是机器人平台控制力,输出是机器人平台位置和速度,输出给空间机器人控制模块,驱动控制模块;还可以输出给下面实施例中的OSG三维显示模块,进行三维显示;输出给仿真数据存储模块,存储在数据库。
[0040]输入姿态动力学模块的是机器人平台控制力矩,输出的是机器人平台姿态和姿态变化率,输出给空间机器人控制模块,驱动控制模块;还可以输出给下面实施例中的OSG三维显示模块,进行三维显示;输出给仿真数据存储模块,存储在数据库。
[0041]输入机械臂动力学模块的是机械臂关节控制力矩,输出的是机械臂关节角和角速度。输出给空间机器人控制模块,驱动控制模块;还可以输出给下面实施例中的OSG三维显示模块,进行三维显示;输出给仿真数据存储模块,存储在数据库。
[0042]实施中,空间机器人控制模块可以包括:
敏感器模块,用于根据表示空间机器人的运动状态的数值得到敏感器输出量;
制导、导航与控制模块,用于根据敏感器输出量输出执行机构的控制量;
执行机构模块,用于根据控制量输出空间机器人平台受到的控制力、控制力矩,以及机械臂系统关节的控制力矩。
[0043]具体实施中,输入空间机器人控制模块的运动状态,首先进入敏感器模块,敏感器模块根据数学模型进行计算,得到敏感器输出量,仿真中表示为数字量。制导、导航与控制模块接收敏感器输出,根据既定的制导、导航与控制算法,输出执行机构的控制量,例如推力器开关信号,动量轮控制电压等,执行机构模块接收控制量,输出控制力和控制力矩,以及机械臂关节控制力矩。
[0044]实施中,在系统中还可以进一步包括:
STK三维显示模块104,用于显示STK长期轨道预报模块输出的空间机器人和目标的运动状态。
[0045]实施中,STK三维显示模块还可以进一步用于采用C++程序调用STK提供的ActiveX组件来实现STK长期轨道预报模块输出的空间机器人和目标的运动状态的显示。
[0046]具体实施中,STK三维显示模块可以采用C++程序调用STK提供的ActiveX组件实现空间机器人与目标远距离阶段的三维显示,采用STK长期轨道预报模块和空间机器人动力学模块提供的运动状态数据进行驱动,它可以与其它模块采用UDP方式进行通讯。
[0047]输入STK三维显示模块的数值是空间机器人和目标的运动状态,可以由STK长期轨道预报模块和空间机器人动力学模块输入。STK三维显示模块输出三维显示的内容可以是运动场景,例如包括地球、月球、太阳、星空;可以显示空间机器人和目标与地球的位置关系,以及两者之间相对位置关系等。STK三维显示模块可以通过调用STK提供的函数接口实时设定空间机器人和目标的运动状态,设置仿真场景。
[0048]实施中,在系统中还可以进一步包括:
目标动力学模块105,用于在自主导航目标接近阶段,根据初始的运动状态、目标动力学参数和仿真时间,向空间机器人控制模块输出表示目标运动状态的数值;
空间机器人控制模块进一步用于在自主导航目标接近阶段,在接收到空间机器人动力学模块输入的表示空间机器人的运动状态的数值与目标动力学模块输入的表示目标运动状态的数值后,向空间机器人动力学模块返回控制量。
[0049]具体实施中,目标动力学模块输出目标的位置和姿态等运动状态,可以采用Simulink仿真工具箱搭建和实现。
[0050]目标动力学模块没有输入值,根据初始的运动状态、目标动力学参数和仿真时间,计算目标受到的干扰力矩和干扰力,然后求解动力学微分方程,得到运动状态。在计算出目标的位置和姿态等运动状态后,输入空间机器人控制模块。
[0051]实施中,STK三维显示模块进一步用于显示在自主导航目标接近阶段,STK长期轨道预报模块输出的空间机器人和目标的运动状态。
[0052]实施中,在系统中还可以进一步包括:
OSG三维显示模块106,用于显示在目标服务阶段,空间机器人动力学模块输出的空间机器人的运动状态和目标动力学模块输出的目标的运动状态。
[0053]实施中,OSG三维显示模块还可以进一步用于采用C++编写,利用OSG提供的库函数来实现空间机器人和目标的运动状态的显示。
[0054]具体实施中,OSG三维显示模块可以采用C++编写,利用了 OSG提供的库函数,它用来实现空间机器人对目标近距离服务阶段的三维显示,采用空间机器人动力学模块提供的运动状态数据进行驱动,它可以与其它模块采用UDP方式进行通讯。
[0055]由空间机器人动力学模块输入OSG三维显示模块的数据是空间机器人运动状态和目标运动状态。
[0056]OSG三维显示模块三维显示的内容是空间机器人与目标的相对位置和相对姿态,例如显示太阳光照方向和光照下的空间机器人和目标的三维模型等。OSG三维显示模块可以通过调用OSG库函数,实时设定空间机器人和目标的位置和姿态,光照方向。
[0057]实施中,在系统中还可以进一步包括:
仿真数据存储模块107,用于根据需要存储仿真过程中产生的数据。
[0058]实施中,仿真数据存储模块还可以进一步用于采用C++编写,用ODBC (OpenDatabase Connectivity,开放数据库互连)数据库连接技术利用Oracle数据库对存储的数据进行读写。
[0059]具体实施中,仿真数据存储模块可以采用C++编写,用ODBC数据库连接技术对Oracle数据库进行读写,完成仿真数据的存档,它与其它模块采用UDP方式进行通讯。
[0060]输入仿真数据存储模块的数据可以是空间机器人与目标的运动状态,由空间机器人动力学模块和目标动力学模块输入。空间机器人控制系统的状态可以由空间机器人控制模块输入。存储后,便可以对存档数据进行分析,对控制性能、燃料消耗等方面对空间机器人总体设计和任务方案进行评估。仿真运行过程中,各模块可以通过UDP将需要存档的数据发送到仿真数据存储模块,仿真数据存储模块接收仿真存档数据,存入数据库。实施中,对评估有用的数据都可以被存储,存储的数据主要包括空间机器人和目标的运动状态,控制系统状态、控制指令、敏感器测量值等。
[0061]实施中,各模块可以通过UDP或者通过CAN (Controller Area Network,控制器局域网)协议进行通讯。各模块之间通过UDP网络协议通讯后,既能在一台计算机上运行仿真,也能在多台计算机上运行仿真了。
[0062]下面再对空间机器人动力学仿真的实施方式进行说明。
[0063]具体实施中,仿真运行的模式分为三种:空间机器人远程导引模式、自主导航目标接近模式和对目标服务模式。仿真运行的步骤可以是:
1、初始化仿真,设置仿真初始条件,包括:仿真时间、仿真步长、初始运动状态、仿真模式设定等。其中,仿真模式指的是空间机器人远程导引模式、自主导航目标接近模式和对目标服务模式,仿真模式指仿真的某一个任务阶段。仿真时间、仿真步长、初始运动状态、仿真模式设定可以根据任务要求进行设定,例如远程导引需要几天的时间,仿真时间设为几天,自主导航目标接近只需要几小时,仿真时间设为几小时等。可以采用改写配置文件的方法进行参数设置。
[0064]2、仿真开始,
2.1、如果是远程导引模式,STK长期轨道预报模块根据初始条件和变轨脉冲序列,对空间机器人和目标的位置和速度进行预报,通过STK三维显示模块进行显示;
实施中,变轨脉冲序列是一组不同时间的空间机器人运动控制指令,它在仿真开始已经设置在配置文件里了。STK长期轨道预报模块计算运动状态后,便可传给STK三维显示模块进行显示。
[0065]2.2、如果是自主导航目标接近模式,空间机器人动力学模块根据初始条件输出当前机器人的位置、速度、姿态、姿态角速度等运动状态,目标动力学模块根据初始化结果输出目标运动状态,敏感器模块接收机器人运动状态、目标运动状态,输出敏感器信号,制导、导航与控制模块接收敏感器信号,输出控制量,执行机构模块接收控制量,输出机器人平台的控制力和控制力矩,输出下一个时刻的机器人运动状态,仿真向前推进一步。STK三维显示模块接收机器人和目标的运动状态,显示机器人与目标的相对位置关系、与地球的位置关系和阳光照射方向等信息。
[0066]2.3、如果是对目标服务模式,空间机器人动力学模块根据初始化结果输出当前机器人的位置、速度、姿态、姿态角速度、机械臂关节角等运动状态,目标动力学模块根据初始化结果输出目标运动状态,敏感器模块接收机器人运动状态、目标运动状态,输出敏感器信号,制导、导航与控制模块接收敏感器信号,输出控制量,执行机构模块接收控制量,输出机器人平台的控制力和控制力矩、机械臂关节控制力矩,输出下一个时刻的机器人运动状态,仿真向前推进一步。OSG三维显示模块接收机器人和目标的运动状态,显示机器人与目标的相对位置和相对姿态。
[0067]实施中,仿真运行过程中,各模块将需要存档的数据通过UDP发送到仿真数据存储模块,该模块接收仿真存档数据,存入数据库。对评估有用的数据都可以被存储,存储的数据主要包括空间机器人和目标的运动状态,控制系统状态、控制指令、敏感器测量值等。
[0068]3、仿真结束后,对存档数据进行分析,对控制性能、燃料消耗等方面对空间机器人总体设计和任务方案进行评估。
[0069]基于同一发明构思,本发明实施例中还提供了一种空间机器人动力学仿真方法,由于该方法解决问题的原理与一种空间机器人动力学仿真系统相似,因此方法的实施可以参见系统的实施,重复之处不再赘述。
[0070]图2为空间机器人动力学仿真方法实施流程示意图,如图所示,可以包括如下步骤:
步骤201、在远程导引阶段,根据空间机器人平台受到的控制力、控制力矩,以及机械臂系统关节的控制力矩,输出表示空间机器人的运动状态的数值,并在接收到返回的控制量后,输出下一时刻表示空间机器人的运动状态的数值;
步骤202、在远程导引阶段,在接收到输入的表示空间机器人的运动状态的数值后,返回控制量;
步骤203、在远程导引阶段,根据表示目标的运动初始状态、表示空间机器人的运动状态的数值和空间机器人的变轨序列,输出空间机器人和目标的运动状态。
[0071]实施中,可以采用STK卫星工具包软件来根据表示目标的运动初始状态、表示空间机器人的运动状态的数值和空间机器人的变轨序列,输出空间机器人和目标的运动状态。
[0072]实施中,所述根据空间机器人平台受到的控制力、控制力矩,以及机械臂系统关节的控制力矩,输出表示空间机器人的运动状态的数值,可以包括:
根据输入的空间机器人平台受到的控制力输出表示空间机器人平台位置和速度的数
值;
根据输入的空间机器人平台受到的控制力矩输出表示空间机器人平台姿态和姿态变化率的数值;
根据输入的机械臂系统关节的控制力矩输出表示空间机器人机械臂关节角和角速度的数值。
[0073]实施中,所述在接收到输入的表示空间机器人的运动状态的数值后,返回控制量,可以包括:
根据表示空间机器人的运动状态的数值得到敏感器输出量;
根据敏感器输出量输出执行机构的控制量;
根据控制量输出空间机器人平台受到的控制力、控制力矩,以及机械臂系统关节的控制力矩。
[0074]实施中,可以进一步包括:
显示输出的空间机器人和目标的运动状态。
[0075]实施中,可以采用C++程序调用STK提供的ActiveX组件来实现空间机器人和目标的运动状态的显示。
[0076]实施中,可以进一步包括:
在自主导航目标接近阶段,根据初始的运动状态、目标动力学参数和仿真时间,输出表示目标运动状态的数值;
在自主导航目标接近阶段,在接收到输入的表示空间机器人的运动状态的数值与表示目标运动状态的数值后,返回控制量。
[0077]实施中,可以显示在自主导航目标接近阶段输出的空间机器人和目标的运动状态。
[0078]实施中,可以进一步包括:
显示在目标服务阶段输出的空间机器人的运动状态和目标的运动状态。
[0079]实施中,可以采用C++编写,利用OSG提供的库函数来实现空间机器人和目标的运动状态的显示。
[0080]实施中,可以进一步包括:
根据需要存储仿真过程中产生的数据。
[0081 ] 实施中,在根据需要存储仿真过程中产生的数据时,可以采用C++编写,用ODBC数据库连接技术利用Oracle数据库对存储的数据进行读写。
[0082]实施中,可以通过UDP或者通过CAN协议进行数据传输。
[0083]由上述实施可见,针对目前的空间机器人动力学仿真系统缺少空间机器人远程导引阶段的仿真和三维显示,作为空间机器人全任务阶段的仿真工具功能不完整。没有考虑仿真结果的存储和管理。只能在一台计算机上进行仿真,三维显示与仿真计算在同一台计算机实现,仿真速度会较慢等问题。本发明实施例中将空间机器人任务仿真分成三个主要阶段:远程导引阶段、自主导航目标接近阶段和对目标服务阶段,并引入卫星工具包软件STK来补充空间机器人远程导引阶段的仿真,并在利用STK进行空间机器人远程导引段的轨道预报后,实现了快速、准确的仿真。还对空间机器人远程导引段、自主导航目标接近段的三维显示,采用STK技术实现。对目标服务段的三维显示,采用OSG技术实现,使用OSG技术开发三维显示模块,空间机器人近距离服务显示更逼真。模块之间通过UDP网络协议通讯,既能在一台计算机上运行仿真,也能在多台计算机上运行仿真。采用数据库技术对仿真结果分类存储,以便于后续的评估及分析。
[0084]为了描述的方便,以上所述装置的各部分以功能分为各种模块或单元分别描述。当然,在实施本发明时可以把各模块或单元的功能在同一个或多个软件或硬件中实现。
[0085]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0086]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0087]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0088]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0089]尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0090]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
【权利要求】
1.一种空间机器人动力学仿真系统,其特征在于,包括: 空间机器人动力学模块,用于在远程导引阶段,根据空间机器人平台受到的控制力、控制力矩,以及机械臂系统关节的控制力矩,向空间机器人控制模块输出表示空间机器人的运动状态的数值,并在接收到空间机器人控制模块返回的控制量后,向空间机器人控制模块输出下一时刻表示空间机器人的运动状态的数值; 空间机器人控制模块,用于在远程导引阶段,在接收到空间机器人动力学模块输入的表示空间机器人的运动状态的数值后,向空间机器人动力学模块返回控制量; STK长期轨道预报模块,用于在远程导引阶段,根据表示目标的运动初始状态、表示空间机器人的运动状态的数值和空间机器人的变轨序列,输出空间机器人和目标的运动状态。
2.如权利要求1所述的系统,其特征在于,STK长期轨道预报模块进一步用于采用STK卫星工具包软件来根据表示目标的运动初始状态、表示空间机器人的运动状态的数值和空间机器人的变轨序列,输出空间机器人和目标的运动状态。
3.如权利要求1至2任一所述的系统,其特征在于,进一步包括: STK三维显示模块,用于显示STK长期轨道预报模块输出的空间机器人和目标的运动状态。
4.如权利要求3所述的系统,其特征在于,STK三维显示模块进一步用于采用C++程序调用STK提供的ActiveX组件来实现STK长期轨道预报模块输出的空间机器人和目标的运动状态的显示。
5.如权利要求1至4任一所述的系统,其特征在于,进一步包括: 目标动力学模块,用于在自主导航目标接近阶段,根据初始的运动状态、目标动力学参数和仿真时间,向空间机器人控制模块输出表示目标运动状态的数值; 空间机器人控制模块进一步用于在自主导航目标接近阶段,在接收到空间机器人动力学模块输入的表示空间机器人的运动状态的数值与目标动力学模块输入的表示目标运动状态的数值后,向空间机器人动力学模块返回控制量。
6.如权利要求5所述的系统,其特征在于, STK三维显示模块进一步用于显示在自主导航目标接近阶段,STK长期轨道预报模块输出的空间机器人和目标的运动状态。
7.如权利要求1至6任一所述的系统,其特征在于,进一步包括: OSG三维显示模块,用于显示在目标服务阶段,空间机器人动力学模块输出的空间机器人的运动状态和目标动力学模块输出的目标的运动状态。
8.如权利要求7所述的系统,其特征在于,OSG三维显示模块进一步用于采用C++编写,利用OSG提供的库函数来实现空间机器人和目标的运动状态的显示。
9.如权利要求1至8任一所述的系统,其特征在于,进一步包括: 仿真数据存储模块,用于根据需要存储仿真过程中产生的数据。
10.如权利要求1至9任一所述的系统,其特征在于,各模块通过用户数据报协议UDP或者通过控制器局域网CAN协议进行通讯。
【文档编号】G05B17/02GK103576558SQ201210265824
【公开日】2014年2月12日 申请日期:2012年7月30日 优先权日:2012年7月30日
【发明者】王学谦, 苏建敏, 薛力军, 徐秋 申请人:深圳航天东方红海特卫星有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1