一种数据传输方法与流程

文档序号:12038777阅读:181来源:国知局
一种数据传输方法与流程
本发明涉及通信技术领域,尤其涉及一种数据传输方法。

背景技术:
无线通讯系统是移动机器人的一个重要组成部分,在机器人自主能力有限的情况下,借助上位机与机器人进行无线通信是控制机器人的一种可行方案。作为机器人科学的一个重要组成部分,移动机器人一直都是机器人科学的研究与应用热点之一,移动机器人因为灵活性高而在工业、民用、国防上获得广泛的应用,如导游机器人、巡逻机器人、水下自主作业机器人、机器人制图等等。然而,发明人在发明的过程中,发现运用现有的数据通信传输协议不能更好的实现导航设备和移动机器人的组合导航,现有的数据传输协议的缺点至少有以下几点:1、嵌入式操作系统与上位机或者下位机(移动机器人)直接采用串口的方式进行数据推送传输,是非可靠的数据传输,在发送数据包的过程中,只要数据包中的数据错误了一个,整个数据包都需要重新发送,因此误码率较高;2、具有呆板的初始化流程,无法实现设备的热插拔;即首先初始化数据接收端,然后接入并初始化数据发送端,进而进行数据的完整传输;否则会出现接收端接收的是非完整包,也就无法解析数据包;3、扩展性较差。如有一个数据接收端和一个数据发送端连接,若想加入别的数据接收端,就会出现该数据接收方不能正常解析数据,具体情况与2相同;4、在不可靠传输阶段没有多重容错机制,会导致频繁丢包情况。

技术实现要素:
本申请实施例提供了一种数据传输方法,应用于一即时定位与地图构建(SLAM)系统中,实现了嵌入式系统与移动机器人之间的数据传输过程中能够处理误码情况,降低误码率;进而降低了数据传输处理的复杂度,提高了包解析的速度以及提高设备的兼容性与鲁棒性。本申请实施例提供了一种数据传输方法,应用于一即时定位与地图构建(SLAM)系统中,所述即时定位与地图构建系统能够根据一可移动设备在未知环境中行进时位移和姿态的变化对所述未知环境进行地图构建,所述可移动设备上还设置有一惯性测量单元(IMU);所述即时定位与地图构建系统与所述惯性测量单元(IMU)以及一计算机(PC)系统三者之间能够相互进行数据通信,所述方法包括:所述计算机系统实时接收由所述惯性测量单元发送来的至少一个数据包,并将其存储在所述计算机系统的存储单元中;在T1时刻,所述即时定位与地图构建系统构建完成所述未知环境的第N帧图像,向所述计算机系统发出请求更新所述可移动设备的位移和姿态数据的第一请求指令;所述计算机系统发送从所述至少一个数据包中获得的与所述T1时刻对应的第一数据包发给所述即时定位与地图构建系统;所述即时定位与地图构建系统根据所述第一数据包构建所述未知环境的第N+1帧图像。其中,所述数据包具体为运用bitmap机制对数据进行转义处理并打包后的数据包。所述数据包的包结构具体包括:包标识符、有效数据、低字节位图信息、高字节位图信息、包长度、包校验、包结束标识符。进一步的,所述运用bitmap机制对数据进行转义处理,具体包括:将包结束标识符定义为0XFF;对数据包中的数值为0XFF的第一数据进行转义处理,当出现所述第一数据时,将所述第一数据的数值减1或加1,并将标识所述第一数据的bitmap位置1。进一步的,在所述惯性测量单元发送至少一个数据包之前,所述方法还包括:所述惯性测量单元对待发送数据先进行chksum累加机制的运算;判断大小端数据传输方式,得到一判断结果;对待发送数据进行打包,运用bitmap机制对打包后的数据进行转义处理;其中,所述chksum累加机制的运算方法具体为数据包中所有数据的累加。进一步的,在所述计算机系统实时接收由所述惯性测量单元发送来的至少一个数据包之后,在所述并将其存储在所述计算机系统的存储单元中之前,所述方法还包括:所述计算机系统对接收的数据包进行解码,并储存到所述存储单元中;根据bitmap的信息将所述接收的数据包中的转义数据进行还原;通过所述判断结果,确定所述数据传输方式,进行数据的存储;运用累加机制chksum校验所述接收的数据包是否为正确的数据包;基于数据包的结构体类型,对所述接收的数据包的数据进行解析,提取所述位移和姿态信息,以供所述即时定位与构建系统和IMU互相使用。其中,所述根据bitmap的信息将所述接收的数据包中的转义数据进行还原,具体为:通过高/低字节位图信息将接收的数据包里的数据还原。其中,所述通过所述判断结果,确定所述数据传输方式,进行数据的存储具体为:统一使用小端储存。其中,所述运用chksum累加机制校验所述接收的数据包是否为正确的数据包具体为:根据接收的数据包的包长度和包结束标识符,判断所述接收的数据包是否是完整的数据包;根据所接收的数据包中所有数据的累加和,判断所述接收的数据包是否是正确的数据包。以上所述的方法,所述可移动设备为机器人、手机、笔记本电脑或者平板电脑。本申请通过上述实施例提供的技术方案,具有以下有益技术效果或者优点:1、首先数据产生端(IMU:惯性测量单元)将数据封装打包,即加入id(包标识符)、有效数据、低字节位图信息(bitmaplow)、高字节位图信息(bitmaphigh)、包长度(length)、包校验(chksum)、包识别符(recog),然后,数据接收端(PC/Robot)根据所接收的数据,判断接收到的包是否是完整的包(可通过包长度和包识别符得到)、通过包校验chksum判断该包是否是正确的包、通过高/低字节位图信息将数据还原,进而实现在数据传输过程中降低误码率;2、通过在数据包格式中加入了bitmap字段信息,实现对数据包中的有效数据保留字符的转义处理,且数据包的长度固定不变,降低了数据传输处理的复杂度,提高了包解析的速度;3、通过运用该数据通信方法,采用本申请实施例发送的数据包结构,避免了将不同设备传输的不同数据包混淆,可实现多线程并行接收数据包;4、由于该数据通信过程中会检查数据包的正确与否、判断数据包的残缺、对数据包进行多重校验,故设备不管何时插拔,错误的数据包都会被丢弃,不会影响机器人、IMU(惯性测量单元)和PC的正常工作,进而保证信息传递的鲁棒性,使设备的鲁棒性提高。附图说明图1为本申请实施例提供的一种数据传输方法流程图;图2为惯性测量单元中主要的功能模块与移动机器人的主要功能模块之间通信方案框架图。具体实施方式本申请实施例提供了一种数据传输方法,应用于一即时定位与地图构建(SLAM)系统中,实现了嵌入式系统与移动机器人之间的数据传输过程中能够处理误码情况,降低误码率;进而降低了数据传输处理的复杂度,提高了包解析的速度以及提高设备的兼容性与鲁棒性。为了更好的理解本发明,下面将结合说明书附图以及具体实施例对上述方案进行详细的阐述。如图1所示,为本申请实施例提供的一种数据传输方法流程图,该方法应用于一即时定位与地图构建(SLAM)系统中,该即时定位与地图构建系统能够根据一可移动设备在未知环境中行进时位移和姿态的变化对所述未知环境进行地图构建,所述可移动设备上还设置有一惯性测量单元(IMU);该即时定位与地图构建系统与所述惯性测量单元(IMU)以及一计算机(PC)系统三者之间能够相互进行数据通信,该方法包括:步骤101,计算机系统实时接收由惯性测量单元(IMU)发送来的至少一个数据包,并将其存储在计算机系统的存储单元中;步骤102,在T1时刻,即时定位与地图构建系统构建完成未知环境的第N帧图像,向计算机系统发出请求更新可移动设备的位移和姿态数据的第一请求指令;步骤103,计算机系统发送从所述至少一个数据包中获得的与T1时刻对应的第一数据包给所述即时定位与地图构建系统;步骤104,即时定位与地图构建系统根据所述第一数据包构建所述未知环境的第N+1帧图像。其中,所述数据包具体为运用bitmap机制对数据进行转义处理并打包后的数据包。所述数据包的包结构具体包括:包标识符、有效数据、低字节位图信息、高字节位图信息、包长度、包校验、包结束标识符。包结构如下所示:最终形成如下结构的数据包:IddataBitmaplowBitmaphighLengthChksumrecog其中,Id:包标识符,data:有效数据,bitmaplow:低字节位图信息,bitmaphigh:高字节位图信息,length:包长度,chksum:包校验,recog:包结束标识符。进一步的,所述运用bitmap机制对数据进行转义处理,具体包括:将包结束标识符定义为0XFF;对数据包中的数值为0XFF的第一数据进行转义处理,当出现所述第一数据时,将所述第一数据的数值减1或加1,并将标识所述第一数据的bitmap位置1。本申请实施例将包结束标识符(recog)定义为0XFF,是为了将数据包的包结束标识符和数据包内有效数据区别开来,引入了bitmap机制将有效数据值中的0XFF进行转义:将数据包中的每个数据进行监控,出现0XFF的数值时,将该数据的数值进行减1运算或者加1运算,并将标识所述第一数据的bitmap位置1,表示该数据是一个有效数据,并不是该数据包的包结束标识符,这样,数据继续传输,因此,经过转义处理过后,在数据解析时也能够准确的解析出原数据。引入转义处理能够更好的识别数据包的结束与开始,结合数据包的长度信息,能够很快的判别数据包的完整性(在突然断电或传输中断时会出现传输不完整的数据包的情况)。其中,Bitmaplow为8个bit,分别用来监控的Byte为:chksum、roll(俯仰角)的低字节、roll的高字节、pitch(横滚角)的低字节、pitch的高字节、yaw(航向角)的低字节、yaw的高字节;Bitmaphigh为8个bit,分别用来监控的Byte为:D_x(x方向位移)的低字节、D_x(x方向位移)的高字节、D_y(y方向位移)的低字节、D_y(y方向位移)的高字节、D_z(z方向位移)的低字节、D_z(z方向位移)的高字节。当然,在实际应用过程中,将包结束标识符定义的数值不一定要是0XFF,也可以赋予其他值,只要满足能够区分有效数据与包结束标识符就可以了,在此就不再赘述。进一步的,在惯性测量单元发送至少一个数据包之前,该方法还包括:惯性测量单元对待发送数据先进行chksum累加机制的运算;判断大小端数据传输方式,得到一判断结果;对待发送数据进行打包,运用bitmap机制对打包后的数据进行转义处理;其中,所述chksum累加机制的运算方法具体为数据包中所有数据的累加。采用chksum累加机制,是为了检查数据包中的有效数据是否一致,其中,所述运用chksum累加机制校验数据包具体为:根据接收的数据包的包长度和包结束标识符,判断所述接收的数据包是否是完整的数据包;根据所接收的数据包中所有数据的累加和,判断所述接收的数据包是否是正确的数据包。例如,数据包中的有效数据在封装打包时,采用chksum累加的方式进行校验(即将所有有效数据进行相加得到一个总和值n);在数据接收端(计算机系统),接收到数据之后,如果chksum的值不是n,则说明该数据包发送错误;若是n,则进一步从别的角度检查该数据包。若数据包丢失或接收到错误数据包,则将这些数据包丢弃,因为IMU(数据生成端)的数据采样频率远远大于SLAM端的数据使用频率,大约在50倍左右(即数据生成端IMU每发送50个数据包,SLAM端约用1个它发送请求时刻的数据包)。例如,Bitmaplow数据如下:0000100001262436FF586816则IMU(惯性测量单元)将bitmaplow的值赋为08,然后封装到数据包中,bitmaphigh值也如此操作,所有数据赋值、封装完毕,最后进行数据包的发送。进一步的,在计算机系统实时接收由所述惯性测量单元发送来的至少一个数据包之后,在将其存储在所述计算机系统的存储单元中之前,所述方法还包括:所述计算机系统对接收的数据包进行解码,并储存到所述存储单元中;根据bitmap的信息将所述接收的数据包中的转义数据进行还原;通过所述判断结果,确定所述数据传输方式,进行数据的存储;运用chksum累加机制校验所述接收的数据包是否为正确的数据包;基于数据包的结构体类型,对所述接收的数据包的数据进行解析,提取所述位移和姿态信息,以供所述即时定位与构建系统和IMU互相使用。其中,所述根据bitmap的信息将所述接收的数据包中的转义数据进行还原,具体为:通过高/低字节位图信息将接收的数据包里的数据还原。其中,所述通过所述判断结果,确定所述数据传输方式,进行数据的存储具体为:统一使用小端储存。如图2所示,为惯性测量单元中主要的功能模块与移动机器人的主要功能模块之间通信方案框架图,具体工作原理如下:1.加速度传感器和磁力计采集到的数据,以数字信号传输到IMU开发板的Atmega328处理器,同时陀螺仪采集到的数据,以模拟信号传输到IMU开发板的处理器,然后通过比例积分微分电路和方向余弦矩阵算法,对陀螺仪的漂移进行补偿和将不一致的坐标系进行转换,得到roll、pitch、yaw三个欧拉角;将加速度的数据对时间进行两次积分,得到位移信息。2.将位移信息和姿态信息传输给移动机器人的上位机或下位机,机器人端对数据进行解析,按照bitmap、chksum等机制进行数据获取,将数据存储在内存中。当SLAM端发出使用数据请求时,机器人将存储在内存中的该时刻的数据发送给SLAM。3.移动机器人构建地图,实现自主导航及其他应用。以上所述的方法,所述可移动设备为机器人、手机、笔记本电脑或者平板电脑。本申请通过上述实施例提供的技术方案,具有以下有益技术效果或者优点:1、首先数据产生端(IMU:惯性测量单元)将数据封装打包,即加入id(包标识符)、有效数据、低字节位图信息(bitmaplow)、高字节位图信息(bitmaphigh)、包长度(length)、包校验(chksum)、包识别符(recog),然后,数据接收端(PC/Robot)根据所接收的数据,判断接收到的包是否是完整的包(可通过包长度和包识别符得到)、通过包校验chesum判断该包是否是正确的包、通过高/低字节位图信息将数据还原,进而实现在数据传输过程中降低误码率;2、通过在数据包格式中加入了bitmap字段信息,实现对数据包中的有效数据保留字符的转义处理,且数据包的长度固定不变,降低了数据传输处理的复杂度,提高了包解析的速度;3、通过运用该数据通信方法,采用本申请实施例发送的数据包结构,避免了将不同设备传输的不同数据包混淆,可实现多线程并行接收数据包;4、由于该数据通信过程中会检查数据包的正确与否、判断数据包的残缺、对数据包进行多重校验,故设备不管何时插拔,错误的数据包都会被丢弃,不会影响机器人、IMU(惯性测量单元)和PC的正常工作,进而保证信息传递的鲁棒性,使设备的鲁棒性提高。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1