1.本发明涉及一种机器人实时分布式数据存储系统和方法,属于智能机器人技术领域。
背景技术:2.机器人对实时性能有较高的要求,但受制于磁盘i/o速度瓶颈的问题,进行磁盘i/o操作占用较长的时间,一般在4ms以上,无法达到1ms的实时性要求,采用异步i/o操作也不能保证异常掉电或宕机等导致的数据安全问题,因此,现有机器人系统无法满足实时性存储及数据存储完整性的要求。
技术实现要素:3.本发明目的是提供了一种机器人实时分布式数据存储系统和方法,可用于机器人重要数据及日志的实时记录保存,确保机器人数据安全及运行记录可查。
4.本发明为实现上述目的,通过以下技术方案实现:一种机器人实时分布式数据存储系统,包括分布式数据存储装置、机器人主机系统,所述机器人主机端包括机器人节点程序、分布式数据存储装置api动态库、机器人主机端操作系统、机器人主机;所述机器人主机端操作系统为设计xenomai双核实时操作系统,所述操作系统包括驱动调用接口、分布式数据存储装置驱动、rtnet驱动;所述分布式数据存储装置包括分布式数据存储网络接口程序、分布式数据存储装置操作系统和分布式数据存储装置;所述分布式数据存储装置操作系统包括掉电保护驱动、emmc存储和rtnet实时网络;所述分布式数据存储装置包括rtnet实时网络、sdram内存、cpu、掉电保护驱动、emmc存储、以太网接口、电源供电接口。
5.一种机器人实时分布式数据存储方法,包括以下步骤:步骤1:安装分布式数据存储装置;步骤1-1:确保机器人电源处于关闭状态;步骤1-2:在机器人内部安装并固定该装置;步骤1-3:采用以太网线,与机器人主机连接;步骤1-4:在机器人电源模块中引出供电线,连接到该装置电源接口,接线完毕后,给机器人上电;步骤2:机器人主机系统实施;步骤2-1:将主机系统xenomai内核打包到机器人系统中。
6.步骤2-2:在机器人系统中执行安装命令:dpkg
ꢀ‑
i rt-xenomai.deb;步骤2-3:将动态库及应用程序安装到机器人系统中;步骤2-4:在机器人系统中执行安装命令:
dpkg
ꢀ‑
i rt-app.deb;步骤2-5:重启机器人,主机系统程序及分布式数据存储装置将自动开启进入工作状态。
7.本发明的优点在于:本发明实现了机器人实时i/o数据读取的功能,并解决了系统掉电导致数据丢失的问题,有效提升机器人的实时处理能力,拓宽机器人的应用场景,为机器人在实时应用领域的推广创造基础。
附图说明
8.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
9.图1为本发明系统设计架构结构示意图。
10.图2为本发明分布式数据存储装置架构示意图。
具体实施方式
11.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
12.本发明一种机器人实时分布式数据存储方法及装置,该发明实现了机器人数据的实时分布式数据存储及掉电数据保护功能,对机器人运行过程中的重要数据及日志进行实时记录,确保机器人的数据安全、运行状态可查可控。该发明首先设计一种分布式数据存储装置,该装置采用arm嵌入式处理器平台,运行xenomai实时操作系统,具备rtnet实时网络数据传输功能,保证数据传输的实时性,且该装置集成电池及掉电检测模块、emmc存储器,支持掉电后自动保存数据到emmc存储器,确保系统数据的安全可靠,该装置安装于机器人内部,为机器人各主机提供分布式实时网络接口访问功能,该接口支持数据读取和写入,可传入文件名称、数据读写地址、长度进行读写操作;该数据存储装置可为机器人各主机控制模块提供并发请求访问功能。上述分布式数据存储装置设计完成后,再对机器人主机系统进行定制设计,主机采用xenomai实时操作系统,且同样具备rtnet实时网络数据传输功能,在主机xenomai实时操作系统中设计数据存储装置的驱动程序,该驱动程序与分布式数据存储装置进行实时数据传输,为上层用户空间实时应用程序提供数据读、写系统调用,另外,在该驱动内实现数据存储装置的内存交换数据区,应用程序读取数据时,直接在内存交换数据区中读取,避免从文件中读取,可有效提升读取实时性,写数据时,直接写入内存数据交换区中,并通过网络将数据发送到分布式数据存储装置,并立即返回,然后由数据存储装置进行异步数据写入文件,从而实现数据的快速写入,保证了机器人的实时性能。
13.一种机器人实时分布式数据存储系统及方法,主要包括分布式数据存储装置、机器人主机系统两大功能模块。
14.设计分布式数据存储装置主板硬件设计:采用arm核cortax-a8处理器、emmc存储器、锂电池等部件,标配以太网接口,设计pcb原理图,进行加工生产焊接。
15.操作系统设计:设计xenomai双核实时操作系统,设计rtnet实时网络驱动,实现网络实时传输功能。
16.系统驱动设计:设计掉电检测程序,实时检测系统掉电状态,掉电后自主切换到电池供电状态。
17.设计分布式数据存储装置网络接口程序:设计socket接口服务,用于接收机器人主机发送过来的数据读写请求,进行数据读取和写入。
18.机器人主机系统设计操作系统设计:设计xenomai双核实时操作系统,设计rtnet实时网络驱动,实现网络实时传输功能。
19.系统驱动设计:设计xenomai实时分布式存储装置驱动,用于主机与分布式存储装置进行数据交互,并为应用层提供系统api调用接口。
20.设计数据驱动通信模块:基于rtnet实时网络技术设计发送及接收函数,实现主机与分布式存储装置间的实时通信;设计数据交换存储区功能模块,数据交换区中的数据内容与分布式存储装置emmc中保存的数据内容保持同步,在读取数据时,直接返回数据交换存储区中的数据,写数据时,写入数据交换存储区并通过rt实时网络接口将数据传送到分布式数据存储装置中,并立即返回。
21.设计驱动调用接口。设计open、read及write数据读写接口,基于驱动接口,实现打开设备、读写文件中指定位置数据。
22.分布式存储装置api动态库设计:封装分布式存储装置api接口,实现打开文件、读取数据、写入数据等功能函数。
23.机器人主机实时程序设计:在实时应用程序中,调用api接口函数,实现数据读写分布式数据存储装置功能。
技术特征:1.一种机器人实时分布式数据存储系统,其特征在于,包括分布式数据存储装置、机器人主机系统,所述机器人主机端包括机器人节点程序、分布式数据存储装置api动态库、机器人主机端操作系统、机器人主机;所述机器人主机端操作系统为设计xenomai双核实时操作系统,所述操作系统包括驱动调用接口、分布式数据存储装置驱动、rtnet驱动;所述分布式数据存储装置包括分布式数据存储网络接口程序、分布式数据存储装置操作系统和分布式数据存储装置;所述分布式数据存储装置操作系统包括掉电保护驱动、emmc存储和rtnet实时网络;所述分布式数据存储装置包括rtnet实时网络、sdram内存、cpu、掉电保护驱动、emmc存储、以太网接口、电源供电接口。2.一种使用权利要求1所述的机器人实时分布式数据存储方法,其特征在于,包括以下步骤:步骤1:安装分布式数据存储装置;步骤1-1:确保机器人电源处于关闭状态;步骤1-2:在机器人内部安装并固定该装置;步骤1-3:采用以太网线,与机器人主机连接;步骤1-4:在机器人电源模块中引出供电线,连接到该装置电源接口,接线完毕后,给机器人上电;步骤2:机器人主机系统实施;步骤2-1:将主机系统xenomai内核打包到机器人系统中;步骤2-2:在机器人系统中执行安装命令:dpkg
ꢀ‑
i rt-xenomai.deb;步骤2-3:将动态库及应用程序安装到机器人系统中;步骤2-4:在机器人系统中执行安装命令:dpkg
ꢀ‑
i rt-app.deb;步骤2-5:重启机器人,主机系统程序及分布式数据存储装置将自动开启进入工作状态。
技术总结本发明提供了一种机器人实时分布式数据存储系统,包括分布式数据存储装置、机器人主机系统,所述机器人主机端包括机器人节点程序、分布式数据存储装置API动态库、机器人主机端操作系统、机器人主机;所述分布式数据存储装置包括分布式数据存储网络接口程序、分布式数据存储装置操作系统和分布式数据存储装置。还有一种机器人实时分布式数据存储方法,通过分布式数据存储装置及技术方法,解决I/O磁盘读写慢导致实时性差的问题,同时设计防掉电模块,解决数据存储过程中异常掉电或宕机导致的数据丢失问题,本技术发明为机器人的数据存储提供了实时解决方案,提升机器人应用的安全性及可靠性。及可靠性。及可靠性。
技术研发人员:刘来波 李朝铭 高明
受保护的技术使用者:山东新一代信息产业技术研究院有限公司
技术研发日:2022.07.19
技术公布日:2022/11/1