[发明专利]一种CAN报文与ROS消息的互转设备及其互转方法有效
申请号: | 202110450963.1 | 申请日: | 2021-04-26 |
公开(公告)号: | CN112866304B | 公开(公告)日: | 2021-08-17 |
发明(设计)人: | 朱为文 | 申请(专利权)人: | 知行汽车科技(苏州)有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 南京常青藤知识产权代理有限公司 32286 | 代理人: | 高远 |
地址: | 215123 江苏省苏州市工业园区金*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 can 报文 ros 消息 设备 及其 方法 | ||
本发明涉及汽车控制技术领域,具体涉及一种CAN报文与ROS消息相互转换的设备及其互转方法,包括CAN总线模块、CAN模块、核心模块、以太网模块以及上位机模块;所述CAN总线模块通过所述CAN模块电性连接于所述核心模块,所述核心模块通过所述以太网模块电性连接于所述上位机模块;其中,所述核心模块包括CAN与ROS互转程序模块和管理程序模块,所述CAN与ROS互转程序模块负责CAN报文与ROS消息的相互转换,所述管理程序模块负责CAN与ROS互转程序的更新,且与上位机模块的相互交互。本发明能将ROS的强大生态运用与CAN通讯上,不仅对CAN通讯的调试监控能力,更重要的是本发明的成本低,可以极大降低汽车相关企业的成本。
技术领域
本发明涉及汽车控制技术领域,具体涉及一种CAN报文与ROS消息相互转换的设备及其互转方法。
背景技术
CAN(Controller Area Network),是一种用于实时应用的串形通讯协议总线,它可以用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN作为汽车控制领域的事实标准,尽管存在一些问题(例如速度慢,报文短),但仍然是所有车辆的核心网络。而ROS(Robot Operating System)作为机器人领域的事实标准,相对CAN优点很多(速度快,灵活,工具丰富),但也有其限制,目前在量产车辆上没有得到运用。
在车辆开发过程中我们需要从CAN网络上获取数据,记录数据和可视化数据,能够做到这部分工作我们所需要的设备往往价格高昂(例如Vector相关工具),而且与其他工具链整合麻烦(例如需要设置一个虚拟节点)。实际上如果仅将CAN数据转换记录,其硬件价格很低,但软件价格很高(如CANoe)。而ROS作为开源软件其工具链成熟,容易整合,并且软件无需额外费用。如果能使用开源的ROS可以极大的降低企业成本,且工具链成熟,还不断有新的开源工具出现。
发明内容
本申请中为了解决上述技术问题,本发明提供了种CAN报文与ROS消息相互转换的设备及其互转方法。
本发明提供了如下的技术方案:
一种CAN报文与ROS消息的互转设备,包括CAN总线模块、CAN模块、核心模块、以太网模块以及上位机模块;所述CAN总线模块通过所述CAN模块电性连接于所述核心模块,所述核心模块通过所述以太网模块电性连接于所述上位机模块;其中,所述核心模块包括CAN与ROS互转程序模块和管理程序模块,所述CAN与ROS互转程序模块负责CAN报文与ROS消息的相互转换,所述管理程序模块负责CAN与ROS互转程序的更新,且与上位机模块的相互交互。
一种CAN报文与ROS消息的互转设备的互转设备的互转方法,包括如下步骤:
S1.用户提供dbc文件;
S2.上位机模块识别dbc文件,生成相应的msg文件,且生成相应的互转程序;
S3.通过管理程序模块将CAN与ROS互转程序更新到互转程序模块中,将CAN报文和ROS消息相互转换;
S4.调用ROS工具链编译msg文件;
优选的,使用PlotJunggler对CAN报文中的信号绘制,使用Rosbag记录CAN上面的通讯,使用c++或者python对CAN报文转换所得的ROS消息进一步处理。
优选的,CAN报文和ROS消息相互转换的流程为:
a1.收到CAN报文;
a2.根据对应的报文ID建立可对应的ROS消息;
a3.按照dbc文件中各信号定义填充ROS消息中的各成员;
a4.发送ROS消息。
优选的,CAN报文和ROS消息相互转换的流程为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于知行汽车科技(苏州)有限公司,未经知行汽车科技(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110450963.1/2.html,转载请声明来源钻瓜专利网。