【技术实现步骤摘要】
基于C/S结构的空间机械臂控制系统软件架构及构建方法
本专利技术属于空间机械臂控制系统软件架构领域,特别涉及基于C/S结构的空间机械臂控制系统软件架构及构建方法
技术介绍
空间技术的研究始于20世纪50年代,50多年来技术进步之快、应用范围之广,特别是空间站、航天飞机、空间机器人的诞生及成功应用,使得空间技术的重要地位已被世界各国广泛重视。空间机械臂作为在轨支持、服务的一项关键性技术已经进入太空(如加拿大的SRMS、美国的MSS、俄罗斯的ERA以及日本的JEMRMS等),并越来越受到人们的关注。美国有权威早曾预言:21世纪国家对航天能力的依赖可与19、20世纪国家对电力、石油的依赖相比拟。目前,世界航天强国正在积极探索地球系统以外空间,我国在载人航天技术方面也取得了长足进步,世界空间技术发展迅猛。进入21世纪以来,我国空间
飞速发展,对空间机械臂技术的需求也越来越迫切,然而空间机械臂各项关键技术的研究需要投入更多的人力、物力、财力,进行深入探究,其中适用于空间机械臂嵌入式平台的空间机械臂控制系统软件架构是比较突出的一个问题。同时,这个问题也是困扰 ...
【技术保护点】
一种基于C/S结构的空间机械臂控制系统软件架构,其特征在于,基于多线程和循环队列技术,采用空间机械臂中央控制器作为空间机械臂控制系统软件架构的服务端,采用空间机械臂的地面遥操作计算机作为空间机械臂控制系统软件架构的客户端,将空间机械臂控制系统软件的各项功能划分为四个功能模块,并为每个功能模块建立一个独立线程,线程之间通过指令循环队列和信息循环队列建立缓存;所述四个功能模块分别为通信连接与数据接收模块、信息采集及保护模块、指令执行模块、信息数据发送模块,该四个功能模块对应的四个线程分别为架构主线程、信息采集及保护线程、指令执行线程和信息数据发送线程;所述四个线程之间并行运行; ...
【技术特征摘要】
1.一种基于C/s结构的空间机械臂控制系统软件架构,其特征在于,基于多线程和循环队列技术,采用空间机械臂中央控制器作为空间机械臂控制系统软件架构的服务端,采用空间机械臂的地面遥操作计算机作为空间机械臂控制系统软件架构的客户端,将空间机械臂控制系统软件的各项功能划分为四个功能模块,并为每个功能模块建立一个独立线程,线程之间通过指令循环队列和信息循环队列建立缓存; 所述四个功能模块分别为通信连接与数据接收模块、信息采集及保护模块、指令执行模块、信息数据发送模块,该四个功能模块对应的四个线程分别为架构主线程、信息采集及保护线程、指令执 行线程和信息数据发送线程;所述四个线程之间并行运行; 所述循环队列用来建立缓存,均采用数据链表的方式实现,链表的大小在初始化后为固定值。2.根据权利要求1所述的基于C/S结构的空间机械臂控制系统软件架构,其特征在于,所述四个线程优先级从高到低的顺序依次为:架构主线程、信息采集及保护线程、指令执行线程及信息数据发送线程; 所述架构主线程用于控制通信及协调任务,包括通信连接模块、数据接收模块、预处理模块和定时机构四个功能模块; 其中,通信连接模块用于与遥操作端计算机、视觉控制器、力传感器及机械臂各电机驱动器建立通信连接; 数据接收模块用于接收通信连接模块输出过来的数据,并将指令数据送往预处理模块,而将信息数据存储到相应的全局变量中,以供信息采集及保护线程使用; 预处理模块用于进行紧急指令响应,如紧急停止指令的响应,并将不需要紧急响应的指令压入指令循环队列,以供指令执行线程使用; 定时机构用于定时唤醒信息采集及保护线程,执行信息采集及保护策略; 所述信息采集及保护线程用于采集力传感器及机械臂各电机的状态信息,并执行安全保护策略,包括信息获取模块、安全保护模块、信息帧封装模块; 其中,信息获取模块用于获取状态信息,包括电机信息获取模块、限位器状态获取模块、力传感器信息获取模块,依次用于获取机械臂各电机状态信息、各限位器状态信息、力传感器信息; 安全保护模块用于判断是否有状态超标,如有超标则执行安全策略——紧急停止机械臂所有操作,锁定机械臂各电机,清空指令循环队列; 信息帧封装模块用于将以上获取的状态信息封装成帧,并压入信息循环队列; 所述指令执行线程用于解析指令帧,获取指令参数,进而实施机械臂电机控制,包括指令读取模块、指令解析模块、指令验证模块、参数提取模块、运动规划模块、驱动指令生成模块、电机控制模块; 其中,指令读取模块用于从指令循环队列中读取控制指令,且一次性读出指令循环队列内所有数据; 指令解析模块用于识别指令读取模块取出的指令; 指令验证模块用于验证指令的完整性和合法性,通过验证帧头帧尾是否正确来实现; 参数提取模块用于去除控制指令帧内的无效信息,提取出有效控制参数; 运动规划模块用于根据控制参数进行机械臂运动规划,并在需要时向视觉控制器端发送目标位姿请求指令,之后借助架构主线程的数据接收模块获得目标位姿; 驱动指令生成模块,用于将运动规划模块规划完成的指令转换为电机驱动指令; 电机控制模块用于向机械臂各电机驱动器发送驱动指令,实施机械臂控制; 所述信息数据发送线程用于将信息帧发送到遥操作端计算机,包括信息帧读取模块、信息帧验证模块、信息帧发送模块; 其中,信息帧读取模块用于从信息循环队列内读取信息帧,且每次仅读取一条完整的信息帧; 信息帧验证模块用于验证所取出的信息帧是否完整和合法,通过验证帧头帧尾来实现; 信息帧发送模块用于将传送过来的信息帧发送到遥操作端计算机。3.根据权利要求2所述的基于C/S结构的空间机械臂控制系统软件架构,其特征在于,所述信息循环队列缓存来自信息采集及保护线程的状态信息帧,以及其他三个线程执行过程中产生的错误信息帧和执行结果信息帧; 所述指令循环队列仅缓存一条指令帧。4.一种基于C/S结构的空间机械臂控制系统软件架构构建方法,其特征在于,采用权利要求1-3任一项所述的基于C/S结构的空间机械臂控制系统软件架构,包括以下步骤: 1)以空间机械臂控制系统软件进程的主线程为基础构建架构主线程,实现架构主线程所有功能,并由架构主线程初步建立信息采集及保护线程函数、指令执行线程函数、信息数据发送线程函数; 2)建立架构指令循环队列的入队列操作函数和出队列操作函数,并实现指令循环队列的入队和出队操作; 3)建立架构信息循环队列的入队列操作函数和出队列操作函数,并实现信息循环队列的入队和出队操作; 4)在信息采集及保护线程函数内实现信息采集及保护线程的所有功能; 5)在指令执行线程函数内实现指令执行线程的所有功能; 6)在信息数据发送线程函数内实现信息数据发送线程的所有功能。5.根据权利要求4所述的基于C/S结构的空间机械臂控制系统软件架构构建方法,其特征在于,所述以空间机械臂控制系统软件进程的主线程为基础构建架构主线程,具体构建步骤如下: 步骤1:建立遥操作端的TCP/IP网络连接服务并监听连接请求,建立视觉服务器端的TCP/IP网络连接服务并监听连接请求,建立力传感器端的UDP网络连接服务并绑定端口与地址,建立与机械臂各电机驱动器的CAN网络连接并初始化机械臂各电机驱动器; 步骤2:创建遥操作端数据接收...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。