本技術(shù)涉及自動駕駛或輔助自動駕駛,尤其涉及消息通信方法、計算機系統(tǒng)及代理裝置。
背景技術(shù):
1、如圖1所示,自動駕駛車輛軟件架構(gòu)可以包括應(yīng)用層和框架層。應(yīng)用層包含了感知、融合、規(guī)控和執(zhí)行等應(yīng)用??蚣軐佑糜跒閼?yīng)用層提供基礎(chǔ)邏輯及規(guī)則,包括計算邏輯,通信邏輯等。當(dāng)前業(yè)界一般使用汽車開放系統(tǒng)架構(gòu)(automotive?open?systemarchitecture,autosar)或者機器人操作系統(tǒng)(robot?operating?system,ros)作為框架層。
2、autosar系統(tǒng)雖然對于車輛傳統(tǒng)的控制、執(zhí)行等部分的功能比較完善,但是對于自動駕駛系統(tǒng)的開發(fā)支持力度不夠,具體體現(xiàn)在,應(yīng)用層的感知、融合、規(guī)控和執(zhí)行等功能不容易開發(fā)。ros系統(tǒng)最初是面向機器人系統(tǒng)開發(fā)的面向數(shù)據(jù)面的軟件架構(gòu),因此對計算、決策等功能比較擅長,但是,對于車輛傳統(tǒng)的控制、執(zhí)行等部分需要進行額外的開發(fā)。因此,如何設(shè)計自動駕駛系統(tǒng)或輔助自動駕駛系統(tǒng),成為亟待解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、本技術(shù)的實施例提供消息通信方法、計算機系統(tǒng)及代理裝置,有助于使得自動駕駛系統(tǒng)或輔助自動駕駛系統(tǒng)能夠同時具備第一計算機系統(tǒng)與第二計算機系統(tǒng)的優(yōu)良特性,從而提高了自動駕駛系統(tǒng)或輔助自動駕駛系統(tǒng)的性能。
2、為達到上述目的,本技術(shù)的實施例采用如下技術(shù)方案:
3、第一方面,提供一種消息通信方法,應(yīng)用于自動駕駛系統(tǒng)或輔助自動駕駛系統(tǒng),該自動駕駛系統(tǒng)或輔助自動駕駛系統(tǒng)包括:第一計算機系統(tǒng)、第二計算機系統(tǒng)和代理裝置,該方法包括:代理裝置接收第一計算機系統(tǒng)發(fā)送的第一消息,第一消息的格式是第一計算機系統(tǒng)能夠識別的格式。代理裝置將第一消息轉(zhuǎn)換為第二消息。第二消息的格式是第二計算機系統(tǒng)能夠識別的格式。代理裝置向第二計算機系統(tǒng)發(fā)送第二消息。這樣,在自動駕駛系統(tǒng)或輔助自動駕駛系統(tǒng)中加入代理裝置用于轉(zhuǎn)換第一計算機系統(tǒng)和第二計算機系統(tǒng)的消息格式,以使得第一計算機系統(tǒng)與第二計算機系統(tǒng)進行消息的通信,有助于使得自動駕駛系統(tǒng)或輔助自動駕駛系統(tǒng)能夠同時具備第一計算機系統(tǒng)與第二計算機系統(tǒng)的優(yōu)良特性(例如,能夠兼顧autosar系統(tǒng)對車輛的傳統(tǒng)控制,以及ros的感知、計算、融合和仿真等高級功能)。
4、在一種可能的實現(xiàn)方式中,第一計算機系統(tǒng)包括autosar系統(tǒng),且第二計算機系統(tǒng)包括ros?;蛘?,第一計算機系統(tǒng)包括ros,且第二計算機系統(tǒng)包括autosar系統(tǒng)。這樣,可以實現(xiàn)autosar系統(tǒng)與ros消息的互通。
5、在一種可能的實現(xiàn)方式中,第一消息是遠程過程調(diào)用rpc模式的消息或參數(shù)模式的消息,第一消息包括第一消息標(biāo)識符,第一消息標(biāo)識符包括方法標(biāo)識符和/或參數(shù)標(biāo)識符。該方法還包括:根據(jù)第一計算機系統(tǒng)能夠識別的消息標(biāo)識符與第二計算機系統(tǒng)能夠識別的消息標(biāo)識符的對應(yīng)關(guān)系,確定第一消息標(biāo)識符對應(yīng)的第二消息標(biāo)識符。其中,第二消息包括第二消息標(biāo)識符,第二消息標(biāo)識符包括方法標(biāo)識符和/或參數(shù)標(biāo)識符。這樣,可以實現(xiàn)第一計算機系統(tǒng)的應(yīng)用程序調(diào)用第二計算機系統(tǒng)中的應(yīng)用程序,以及使得第一計算機系統(tǒng)能夠獲取或設(shè)置第二計算機系統(tǒng)中的參數(shù),從而實現(xiàn)第一計算機系統(tǒng)與第二計算機系統(tǒng)中遠程過程調(diào)用模式和參數(shù)模式的消息的通信。
6、在一種可能的實現(xiàn)方式中,第一計算機系統(tǒng)包括的第一對象發(fā)送的消息的主題,與代理裝置包括的第二對象接收的消息的主題相同。第一對象是第一計算機系統(tǒng)中發(fā)送消息的發(fā)送者,第二對象是代理裝置中的接收消息的接收者。第一對象發(fā)送的消息包括第一消息。代理裝置包括的第三對象發(fā)送的消息的主題,與第二計算機系統(tǒng)包括的第四對象接收的消息的主題相同。第三對象是代理裝置中發(fā)送消息的發(fā)送者。第四對象是第二計算機系統(tǒng)中接收消息的接收者。第三對象發(fā)送的消息包括第二消息。這樣,可以使得代理裝置中的對象分別與第一計算機系統(tǒng)和第二計算機系統(tǒng)中的對象匹配,用于消息的發(fā)送和接收。
7、在一種可能的實現(xiàn)方式中,第一計算機系統(tǒng)包括autosar系統(tǒng),且第二計算機系統(tǒng)包括ros,該方法還包括,代理裝置對第一消息進行過濾。代理裝置將第一消息轉(zhuǎn)換為第二消息,具體包括:代理裝置將過濾后的第一消息轉(zhuǎn)換為第二消息。這樣,使得autosar系統(tǒng)中發(fā)送的消息可以準(zhǔn)確對應(yīng)到ros中的應(yīng)用程序的進程。
8、在一種可能的實現(xiàn)方式中,第一計算機系統(tǒng)包括ros,第二計算機系統(tǒng)包括autosar系統(tǒng),且第二消息不包括實例標(biāo)識符,該方法還包括:代理裝置將實例標(biāo)識符添加至第二消息,其中,實例標(biāo)識符用于autosar系統(tǒng)確定第四對象。這樣,由ros發(fā)送給autosar系統(tǒng)的消息也可以準(zhǔn)確對應(yīng)到autosar系統(tǒng)中的應(yīng)用程序的進程。
9、在一種可能的實現(xiàn)方式中,第一計算機系統(tǒng)包括autosar系統(tǒng),且第二計算機系統(tǒng)包括ros,第一對象所使用的服務(wù)質(zhì)量(quality?of?service,qos)與第二對象所使用的qos兼容,或者,當(dāng)?shù)谝挥嬎銠C系統(tǒng)包括ros,且第二計算機系統(tǒng)包括autosar,第三對象所使用的qos與第四對象所使用的qos兼容。這樣,可以保障在代理裝置與autosar系統(tǒng)通信時,發(fā)送消息的發(fā)送者與接收消息的接收者,主題一致且qos兼容。在一種可能的實現(xiàn)方式中,發(fā)送者的qos需要與接收者的qos兼容。發(fā)送者的qos的值定義發(fā)送者所提供的服務(wù)質(zhì)量;接收者的qos的值定義接收者要求的服務(wù)質(zhì)量。發(fā)送者的qos與接收者的qos兼容指發(fā)送者提供的服務(wù)質(zhì)量必須滿足接收者要求的服務(wù)質(zhì)量。
10、第二方面,提供一種消息通信方法,應(yīng)用于自動駕駛系統(tǒng)或輔助自動駕駛系統(tǒng),該自動駕駛系統(tǒng)或輔助自動駕駛系統(tǒng)包括:第一計算機系統(tǒng)和第二計算機系統(tǒng),該方法包括:第二計算機系統(tǒng)接收第一計算機系統(tǒng)發(fā)送的第一消息,第一消息的格式是第一計算機系統(tǒng)能夠識別的格式,第二計算機系統(tǒng)將第一消息轉(zhuǎn)換為第二消息,第二消息的格式是第二計算機系統(tǒng)能夠識別的格式。這樣,第二計算機系統(tǒng)中增加了對第一計算機系統(tǒng)中格式轉(zhuǎn)換至第二計算機系統(tǒng)的格式的邏輯,使得第一計算機系統(tǒng)與第二計算機系統(tǒng)實現(xiàn)消息的通信。
11、在一種可能的實現(xiàn)方式中,第一計算機系統(tǒng)包括汽車開放系統(tǒng)架構(gòu)autosar系統(tǒng),且第二計算機系統(tǒng)包括機器人操作系統(tǒng)ros;或者,第一計算機系統(tǒng)包括ros,且第二計算機系統(tǒng)包括autosar系統(tǒng)。這樣,可以實現(xiàn)autosar系統(tǒng)與ros消息的互通。
12、在一種可能的實現(xiàn)方式中,第一消息是遠程過程調(diào)用rpc模式的消息或參數(shù)模式的消息,第一消息包括第一消息標(biāo)識符,第一消息標(biāo)識符包括方法標(biāo)識符和/或參數(shù)標(biāo)識符。該方法還包括:第二計算機系統(tǒng)根據(jù)第一計算機系統(tǒng)能夠識別的消息標(biāo)識符與第二計算機系統(tǒng)能夠識別的消息標(biāo)識符的對應(yīng)關(guān)系,確定第一消息標(biāo)識符對應(yīng)的第二消息標(biāo)識符。第二消息包括第二消息標(biāo)識符第二消息標(biāo)識符包括方法標(biāo)識符和/或參數(shù)標(biāo)識符。這樣,可以實現(xiàn)第一計算機系統(tǒng)的應(yīng)用程序調(diào)用第二計算機系統(tǒng)中的應(yīng)用程序,以及使得第一計算機系統(tǒng)能夠獲取或設(shè)置第二計算機系統(tǒng)中的參數(shù),從而實現(xiàn)第一計算機系統(tǒng)與第二計算機系統(tǒng)中遠程過程調(diào)用模式和參數(shù)模式的消息的通信。
13、在一種可能的實現(xiàn)方式中,第一計算機系統(tǒng)包括的第一對象發(fā)送的消息的主題,與第二計算機系統(tǒng)包括的第二對象接收的消息的主題相同。第一計算機系統(tǒng)包括的第一對象接收的消息的主題,與第二計算機系統(tǒng)包括的第二對象發(fā)送的消息的主題相同。第一對象是第一計算機系統(tǒng)中發(fā)送消息的發(fā)送者,第二對象是第二計算機系統(tǒng)中的接收消息的接收者。第一對象發(fā)送的消息包括第一消息;或者,第二對象發(fā)送的消息包括第二消息。這樣,可以使得第一計算機系統(tǒng)中的對象與第二計算機系統(tǒng)中的對象匹配,用于消息的發(fā)送和接收。
14、在一種可能的實現(xiàn)方式中,第一計算機系統(tǒng)包括autosar系統(tǒng),且第二計算機系統(tǒng)包括ros,該方法還包括:第二計算機系統(tǒng)對第一消息進行過濾。第二計算機系統(tǒng)將第一消息轉(zhuǎn)換為第二消息,包括:第二計算機系統(tǒng)將過濾后的第一消息轉(zhuǎn)換為第二消息。這樣,使得autosar系統(tǒng)中發(fā)送的消息可以準(zhǔn)確對應(yīng)到ros中的應(yīng)用程序的進程。
15、在一種可能的實現(xiàn)方式中,第一計算機系統(tǒng)包括ros,第二計算機系統(tǒng)包括autosar系統(tǒng),且第一消息不包括實例標(biāo)識符,該方法還包括:第二計算機系統(tǒng)將實例標(biāo)識符添加至第二消息,其中,實例標(biāo)識符用于autosar系統(tǒng)確定第二對象。這樣,由ros發(fā)送給autosar系統(tǒng)的消息也可以準(zhǔn)確對應(yīng)到autosar系統(tǒng)中的應(yīng)用程序的進程。
16、在一種可能的實現(xiàn)方式中,第一計算機系統(tǒng)包括autosar系統(tǒng),且第二計算機系統(tǒng)包括ros,所述第一對象所使用的qos與所述第二對象所使用的qos相兼容。這樣,可以保障在ros與autosar系統(tǒng)通信時,發(fā)送消息的發(fā)送者與接收消息的接收者,主題一致且qos兼容。
17、第三方面,提供一種代理裝置,該裝置可用于執(zhí)行上述第一方面至第一方面的任一種可能的實現(xiàn)方式中提供的任一種方法。示例的,該代理裝置可以是計算機設(shè)備(如終端設(shè)備、服務(wù)器或云端服務(wù)器)或芯片等。
18、根據(jù)第三方面,在第三方面的第一種可能的實現(xiàn)方式中,可以根據(jù)上述第一方面提供的任一種方法,對該裝置進行功能模塊的劃分。例如,可以對應(yīng)各個功能劃分各個功能單元,也可以將兩個或兩個以上的功能集成在一個處理單元中。
19、根據(jù)第三方面或第三方面的第一種可能的實現(xiàn)方式,在第三方面的第二種可能的實現(xiàn)方式中,該裝置可以包括處理器,處理器用于執(zhí)行上述第一方面提供的任一種方法。
20、第四方面,提供了一種計算機可讀存儲介質(zhì),如計算機非瞬態(tài)的可讀存儲介質(zhì)。其上儲存有計算機程序(或指令),當(dāng)該計算機程序(或指令)在計算機上運行時,使得該計算機執(zhí)行上述第一方面或第一方面的任一種可能的實現(xiàn)方式提供的任一種方法。
21、第五方面,提供了一種計算機程序產(chǎn)品,當(dāng)其在計算機上運行時,使得第一方面或第一方面的任一種可能的實現(xiàn)方式提供的任一種方法被執(zhí)行。
22、第六方面,提供了一種芯片,包括:處理器,用于從存儲器中調(diào)用并運行該存儲器中存儲的計算機程序,執(zhí)行第一方面或第一方面的任一種可能的實現(xiàn)方式提供的任一種方法。
23、第七方面,提供了一種計算機系統(tǒng),該計算機系統(tǒng)可用于執(zhí)行上述第二方面或第二方面的任一種可能的實現(xiàn)方式提供的任一種方法被執(zhí)行。根據(jù)第二方面,在第二方面的第一種可能的實現(xiàn)方式中,可以根據(jù)上述第二方面提供的任一種方法,對該計算機系統(tǒng)進行功能模塊的劃分。例如,可以對應(yīng)各個功能劃分各個功能單元,也可以將兩個或兩個以上的功能集成在一個處理單元中。
24、根據(jù)第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中,該計算機系統(tǒng)可以包括處理器,處理器用于執(zhí)行上述第二方面提供的任一種方法。
25、第八方面,提供了一種計算機可讀存儲介質(zhì),如計算機非瞬態(tài)的可讀存儲介質(zhì)。其上儲存有計算機程序(或指令),當(dāng)該計算機程序(或指令)在計算機上運行時,使得該計算機執(zhí)行上述第二方面或第二方面的任一種可能的實現(xiàn)方式提供的任一種方法。
26、第九方面,提供了一種計算機程序產(chǎn)品,當(dāng)其在計算機上運行時,使得第二方面或第二方面的任一種可能的實現(xiàn)方式提供的任一種方法被執(zhí)行。
27、第十方面,提供了一種芯片,包括:處理器,用于從存儲器中調(diào)用并運行該存儲器中存儲的計算機程序,執(zhí)行第二方面或第二方面的任一種可能的實現(xiàn)方式提供的任一種方法。
28、可以理解的是,上述提供的任一種代理裝置、計算機系統(tǒng)、計算機存儲介質(zhì)、計算機程序產(chǎn)品或芯片等均可以應(yīng)用于上文所提供的對應(yīng)的方法,因此,其所能達到的有益效果可參考對應(yīng)的方法中的有益效果,此處不再贅述。