[发明专利]一种消息格式解析器及解析方法在审

专利信息
申请号: 202110935201.0 申请日: 2021-08-16
公开(公告)号: CN113687817A 公开(公告)日: 2021-11-23
发明(设计)人: 王召东;李朝铭;王建华 申请(专利权)人: 山东新一代信息产业技术研究院有限公司
主分类号: G06F8/30 分类号: G06F8/30;G06F8/41
代理公司: 济南信达专利事务所有限公司 37100 代理人: 姜丽洁
地址: 250100 山东省济南市高新*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 消息 格式 解析 方法
【说明书】:

发明涉及机器人控制领域,具体提供了一种消息格式解析器,所述解析器能够完成msg消息的格式解析,并能够生成支持IROS使用的结构类型以及序列化反序列化的代码,当数据类型中包含用户自定义数据类型时,可以自动包含头文件并支持自定义数据类型的数组。与现有技术相比,本发明具有支持自定义结构的数组类型消息,能够自动包含相关头文件,解析后的格式编译轻便且兼容ROS1的优点,进一步的可以帮助IROS开发人员生成规范的数据结构以及相应的序列化反序列化代码,方便用户开发,具有良好的推广价值。

技术领域

本发明涉及机器人控制领域,具体提供一种消息格式解析器及解析方法。

背景技术

在IROS中,用户所传输的数据是定义在一个后缀为msg文本文件中,其中包含了数据的类型、名称以及备注信息等。对于C++用户来讲,需要将该数据文件转化为能够被直接使用的数据结构,如类、结构体等。同时,对IROS来讲,数据的收发过程中存在一个序列化与反序列化的过程。

发送数据前,需要将数据实体序列化为char*类型的数组,数据经过传输到达数据接收端后,需要将数组反序列化为消息实体,至此完成消息的发送接收。因此,针对不同的消息类型,需要产生对应的序列化反序列化代码,才能完成数据传输,比较麻烦。

发明内容

本发明是针对上述现有技术的不足,提供一种设计合理,安全适用的消息格式解析器。

本发明进一步的技术任务是提供一种实用性强的消息格式解析方法。

本发明解决其技术问题所采用的技术方案是:

一种消息格式解析器,所述解析器能够完成msg消息的格式解析,并能够生成支持IROS使用的结构类型以及序列化反序列化的代码,当数据类型中包含用户自定义数据类型时,可以自动包含头文件并支持自定义数据类型的数组。

进一步的,所述解析器的MsgContentReader类作为存储msg信息的类,加载msg文件,并将数据信息加载到内存空间中去。

进一步的,MsgContentReader类向外暴露三个read接口,传入文件地址、文件流对象或按行传入数据,其中,所述按行传入数据适用于无msg文件情况。

进一步的,MsgContentReader完成对msg文件的解析,包括经过去无用字符、去注释后,表示数据类型的定义会被存储到成员变量m_vElements中;

随后,parse接口对数据行进行解析,将数据类型存放于成员变量m_vDataType中,数据名存放于成员变量m_vDataName中,至此消息读入完成。

进一步的,MsgHeaderGenerator类以MsgContentReader的解析结果为基础,通过流的方式,将格式化信息写入输出文件。

进一步的,MsgHeaderGenerator类向外暴露一个generate接口,根据MsgHeaderGenerator中的数据,向传入文件流入命名空间、结构体定义、构造函数定义、友元函数定义和读写接口定义,同时根据消息类型来确定是否要包含以该数据类型为名称的头文件,对于数组类型的数据,采用vector的方式存储,IROS用户可以使用该msg文件用于开发。

进一步的,生成的msg文件中,消息实体类与SerializeBasic为友元函数,实现SerializeBasic的read和write虚函数接口;

针对IROS的序列化反序列化接口,生成message_serialization和message_deserialization函数,实现对当前消息类型的序列化反序列化。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东新一代信息产业技术研究院有限公司,未经山东新一代信息产业技术研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110935201.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top