[發(fā)明專利]一種CAN報文與ROS消息的互轉(zhuǎn)設(shè)備及其互轉(zhuǎn)方法有效
| 申請?zhí)枺?/td> | 202110450963.1 | 申請日: | 2021-04-26 |
| 公開(公告)號: | CN112866304B | 公開(公告)日: | 2021-08-17 |
| 發(fā)明(設(shè)計(jì))人: | 朱為文 | 申請(專利權(quán))人: | 知行汽車科技(蘇州)有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 南京常青藤知識產(chǎn)權(quán)代理有限公司 32286 | 代理人: | 高遠(yuǎn) |
| 地址: | 215123 江蘇省蘇州市工業(yè)園區(qū)金*** | 國省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 can 報文 ros 消息 設(shè)備 及其 方法 | ||
本發(fā)明涉及汽車控制技術(shù)領(lǐng)域,具體涉及一種CAN報文與ROS消息相互轉(zhuǎn)換的設(shè)備及其互轉(zhuǎn)方法,包括CAN總線模塊、CAN模塊、核心模塊、以太網(wǎng)模塊以及上位機(jī)模塊;所述CAN總線模塊通過所述CAN模塊電性連接于所述核心模塊,所述核心模塊通過所述以太網(wǎng)模塊電性連接于所述上位機(jī)模塊;其中,所述核心模塊包括CAN與ROS互轉(zhuǎn)程序模塊和管理程序模塊,所述CAN與ROS互轉(zhuǎn)程序模塊負(fù)責(zé)CAN報文與ROS消息的相互轉(zhuǎn)換,所述管理程序模塊負(fù)責(zé)CAN與ROS互轉(zhuǎn)程序的更新,且與上位機(jī)模塊的相互交互。本發(fā)明能將ROS的強(qiáng)大生態(tài)運(yùn)用與CAN通訊上,不僅對CAN通訊的調(diào)試監(jiān)控能力,更重要的是本發(fā)明的成本低,可以極大降低汽車相關(guān)企業(yè)的成本。
技術(shù)領(lǐng)域
本發(fā)明涉及汽車控制技術(shù)領(lǐng)域,具體涉及一種CAN報文與ROS消息相互轉(zhuǎn)換的設(shè)備及其互轉(zhuǎn)方法。
背景技術(shù)
CAN(Controller Area Network),是一種用于實(shí)時應(yīng)用的串形通訊協(xié)議總線,它可以用雙絞線來傳輸信號,是世界上應(yīng)用最廣泛的現(xiàn)場總線之一。CAN作為汽車控制領(lǐng)域的事實(shí)標(biāo)準(zhǔn),盡管存在一些問題(例如速度慢,報文短),但仍然是所有車輛的核心網(wǎng)絡(luò)。而ROS(Robot Operating System)作為機(jī)器人領(lǐng)域的事實(shí)標(biāo)準(zhǔn),相對CAN優(yōu)點(diǎn)很多(速度快,靈活,工具豐富),但也有其限制,目前在量產(chǎn)車輛上沒有得到運(yùn)用。
在車輛開發(fā)過程中我們需要從CAN網(wǎng)絡(luò)上獲取數(shù)據(jù),記錄數(shù)據(jù)和可視化數(shù)據(jù),能夠做到這部分工作我們所需要的設(shè)備往往價格高昂(例如Vector相關(guān)工具),而且與其他工具鏈整合麻煩(例如需要設(shè)置一個虛擬節(jié)點(diǎn))。實(shí)際上如果僅將CAN數(shù)據(jù)轉(zhuǎn)換記錄,其硬件價格很低,但軟件價格很高(如CANoe)。而ROS作為開源軟件其工具鏈成熟,容易整合,并且軟件無需額外費(fèi)用。如果能使用開源的ROS可以極大的降低企業(yè)成本,且工具鏈成熟,還不斷有新的開源工具出現(xiàn)。
發(fā)明內(nèi)容
本申請中為了解決上述技術(shù)問題,本發(fā)明提供了種CAN報文與ROS消息相互轉(zhuǎn)換的設(shè)備及其互轉(zhuǎn)方法。
本發(fā)明提供了如下的技術(shù)方案:
一種CAN報文與ROS消息的互轉(zhuǎn)設(shè)備,包括CAN總線模塊、CAN模塊、核心模塊、以太網(wǎng)模塊以及上位機(jī)模塊;所述CAN總線模塊通過所述CAN模塊電性連接于所述核心模塊,所述核心模塊通過所述以太網(wǎng)模塊電性連接于所述上位機(jī)模塊;其中,所述核心模塊包括CAN與ROS互轉(zhuǎn)程序模塊和管理程序模塊,所述CAN與ROS互轉(zhuǎn)程序模塊負(fù)責(zé)CAN報文與ROS消息的相互轉(zhuǎn)換,所述管理程序模塊負(fù)責(zé)CAN與ROS互轉(zhuǎn)程序的更新,且與上位機(jī)模塊的相互交互。
一種CAN報文與ROS消息的互轉(zhuǎn)設(shè)備的互轉(zhuǎn)設(shè)備的互轉(zhuǎn)方法,包括如下步驟:
S1.用戶提供dbc文件;
S2.上位機(jī)模塊識別dbc文件,生成相應(yīng)的msg文件,且生成相應(yīng)的互轉(zhuǎn)程序;
S3.通過管理程序模塊將CAN與ROS互轉(zhuǎn)程序更新到互轉(zhuǎn)程序模塊中,將CAN報文和ROS消息相互轉(zhuǎn)換;
S4.調(diào)用ROS工具鏈編譯msg文件;
優(yōu)選的,使用PlotJunggler對CAN報文中的信號繪制,使用Rosbag記錄CAN上面的通訊,使用c++或者python對CAN報文轉(zhuǎn)換所得的ROS消息進(jìn)一步處理。
優(yōu)選的,CAN報文和ROS消息相互轉(zhuǎn)換的流程為:
a1.收到CAN報文;
a2.根據(jù)對應(yīng)的報文ID建立可對應(yīng)的ROS消息;
a3.按照dbc文件中各信號定義填充ROS消息中的各成員;
a4.發(fā)送ROS消息。
優(yōu)選的,CAN報文和ROS消息相互轉(zhuǎn)換的流程為:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于知行汽車科技(蘇州)有限公司,未經(jīng)知行汽車科技(蘇州)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110450963.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





