本技術屬于交通仿真,具體涉及一種虛實融合交通仿真系統的交互控制方法、裝置和系統和設備。
背景技術:
1、多端對多端交互控制在現代交互控制中越來越重要,例如:虛實融合交通仿真系統。在虛實融合的仿真交通系統中包括:交通仿真系統、交通對象硬件驅動系統以及交通仿真硬件設備等,交通仿真硬件設備包括:方向盤和踏板等。
2、然而,采用現有技術的方式,虛實融合交通仿真系統的交互控制效率不高。
技術實現思路
1、本技術實施例提供一種虛實融合交通仿真系統的交互控制方法、裝置和系統和設備。
2、第一方面,本技術實施例提供一種虛實融合交通仿真系統的交互控制方法,包括:
3、獲取交通仿真系統產生的目標消息;
4、將所述目標消息寫入共享內存的消息隊列中,以使應用客戶端或者交通對象硬件驅動系統訪問所述共享內存的消息隊列獲取所述目標消息,其中,所述交通對象硬件驅動系統用于與交通仿真硬件設備進行數據交互。
5、可選的,所述應用客戶端包括:交通行為分析系統和/或中控系統;
6、所述獲取交通仿真系統產生的目標消息,包括:
7、獲取交通仿真系統產生的交通對象狀態信息;
8、所述將所述目標消息寫入共享內存的消息隊列中,以使應用客戶端或者交通對象硬件驅動系統訪問所述共享內存的消息隊列獲取所述目標消息,包括:
9、將所述交通對象狀態信息寫入第一共享內存的消息隊列中,以使交通行為分析系統和/或中控系統訪問所述第一共享內存的消息隊列獲取所述交通對象狀態信息。
10、可選的,所述交通對象狀態信息包括下述至少一種:
11、交通對象實時狀態信息;
12、交通對象傳感器數據;
13、環境數據。
14、可選的,所述獲取交通仿真系統產生的目標消息,包括:
15、獲取交通仿真系統產生的力反饋消息;
16、將所述目標消息寫入共享內存的消息隊列中,以使應用客戶端或者交通對象硬件驅動系統訪問所述共享內存的消息隊列獲取所述目標消息,包括:
17、將所述力反饋消息寫入第二共享內存的消息隊列中,以使交通對象硬件驅動系統訪問所述第二共享內存的消息隊列獲取所述力反饋消息;所述力反饋消息包括下述至少一種:
18、方向盤力反饋消息;
19、振動設備力反饋消息;
20、運動平臺力反饋消息。
21、可選的,還包括:
22、獲取交通對象硬件驅動系統生成的交通工具操作數據;
23、將所述交通工具操作數據寫入第二共享內存的消息隊列中,以使交通仿真系統訪問所述第二共享內存的消息隊列獲取所述交通工具操作數據;所述交通工具操作數據包括下述至少一種:
24、方向盤角度;
25、油門踏板角度;
26、檔位位置;
27、燈光狀態;
28、制動信息。
29、可選的,所述將所述交通對象狀態信息寫入第一共享內存的消息隊列中之前,還包括:
30、確定所述交通對象狀態信息主題被應用客戶端訂閱,所述應用客戶端包括:交通行為分析系統和/或中控系統。
31、可選的,所述將所述交通對象狀態信息寫入第一共享內存的消息隊列中之前,還包括:
32、確定所述交通對象狀態信息主題被應用客戶端訂閱;和/或,
33、所述將所述力反饋消息寫入第二共享內存的消息隊列中之前,還包括:
34、確定所述力反饋消息主題被交通對象硬件驅動系統訂閱;和/或,
35、所述將所述交通工具操作數據寫入第二共享內存的消息隊列中之前,還包括:
36、確定所述交通工具操作數據主題被所述交通仿真系統訂閱。
37、可選的,所述消息隊列包括:隊列頭和消息存儲區域,所述隊列頭中包括:所述指針信息,所述消息存儲區域用于存儲消息體;所述消息體的數據結構包括:主題標識部分、消息頭和有效載荷部分,其中,所述消息頭中包括:主題標識的長度信息和有效載荷的長度信息;
38、所述指針信息包括:第一寫開始指針的初始位置和所述第一寫結束指針的初始位置;
39、所述將所述目標消息寫入共享內存的消息隊列中,包括:
40、根據目標消息的大小,修改所述第一寫結束指針的初始位置為結束位置,所述結束位置和所述初始位置的差值等于所述目標消息的大小;
41、從第一寫開始指針的初始位置開始寫入所述目標消息,直到所述目標消息寫入完成,更新所述第一寫開始指針的初始位置為所述目標消息的結束位置。
42、可選的,所述根據目標消息的大小,修改所述第一寫結束指針的初始位置為結束位置之前,還包括:
43、獲取互斥鎖;
44、所述從第一寫開始指針的初始位置開始寫入所述目標消息,直到所述目標消息寫入完成,更新所述第一寫開始指針的初始位置為所述目標消息的結束位置之后,還包括:
45、釋放所述互斥鎖。
46、可選的,所述根據目標消息的大小,修改所述第一寫結束指針的初始位置為結束位置之前,還包括:
47、確定所述第一寫開始指針的初始位置和所述第一寫結束指針的初始位置相同;或者,
48、若所述第一寫開始指針的初始位置和所述第一寫結束指針的初始位置不相同,則將所述第一寫開始指針的初始位置和所述第一寫結束指針的初始位置置為相同。
49、可選的,所述將所述第一寫開始指針的初始位置和所述第一寫結束指針的初始位置置為相同,包括:
50、將所述第一寫開始指針的初始位置更新為所述第一寫結束指針的初始位置,或者,將所述第一寫結束指針的初始位置更新為所述第一寫開始指針的初始位置。
51、可選的,所述根據目標消息的大小,修改所述第一寫結束指針的初始位置為結束位置之前,還包括:
52、確定所述目標消息的大小小于等于所述消息存儲區域的大小。
53、可選的,所述指針信息包括:第一寫開始指針的初始位置和所述第一寫結束指針的初始位置;
54、所述方法還包括:
55、從第二寫結束指針的初始位置開始讀取消息體,直到所述第一寫結束指針的初始位置讀取結束,所述第二寫結束指針的初始位置為上一次讀取的第一寫結束指針的初始位置。
56、可選的,所述直到所述第一寫結束指針的初始位置讀取結束之后,還包括:
57、從隊列頭中獲取第一寫結束指針的初始位置,確定所述第一寫結束指針的初始位置未超過已讀消息的邊界;和/或,從隊列頭中獲取第一寫結束指針的初始位置,確定所述第一寫結束指針的初始位置超過已讀消息的邊界,則丟棄所述已讀消息。
58、可選的,所述從第二寫結束指針的初始位置開始讀取消息體,直到所述第一寫結束指針的初始位置讀取結束之前,還包括:
59、確定所述第二寫開始指針的初始位置與所述第一寫開始指針的初始位置不一致,則確定所述有消息更新;和/或,
60、確定所述第一寫開始指針的初始位置與所述第二寫開始指針的初始位置的差值的大小大于等于所述消息體的消息頭的長度。
61、可選的,還包括:
62、確定所述第一寫開始指針的初始位置與所述第二寫開始指針的初始位置的差值的大小小于等于所述消息存儲區域的大小。
63、第二方面,本技術實施例提供一種虛實融合交通仿真系統的交互控制裝置,所述裝置包括:
64、獲取模塊,用于獲取交通仿真系統產生的目標消息;
65、處理模塊,用于將所述目標消息寫入共享內存的消息隊列中,以使應用客戶端或者交通對象硬件驅動系統訪問所述共享內存的消息隊列獲取所述目標消息,其中,所述交通對象硬件驅動系統用于與交通仿真硬件設備進行數據交互。
66、可選的,所述應用客戶端包括:交通行為分析系統和/或中控系統;
67、所述獲取模塊具體用于獲取交通仿真系統產生的交通對象狀態信息;
68、所述處理模塊具體用于將所述交通對象狀態信息寫入第一共享內存的消息隊列中,以使交通行為分析系統和/或中控系統訪問所述第一共享內存的消息隊列獲取所述交通對象狀態信息。
69、可選的,所述交通對象狀態信息包括下述至少一種:
70、交通對象實時狀態信息;
71、交通對象傳感器數據;
72、環境數據。
73、可選的,所述獲取模塊具體用于獲取交通仿真系統產生的力反饋消息;
74、所述處理模塊具體用于將所述力反饋消息寫入第二共享內存的消息隊列中,以使交通對象硬件驅動系統訪問所述第二共享內存的消息隊列獲取所述力反饋消息。
75、可選的,所述力反饋消息包括下述至少一種:
76、方向盤力反饋消息;
77、振動設備力反饋消息;
78、運動平臺力反饋消息。
79、可選的,所述獲取模塊還用于獲取交通對象硬件驅動系統生成的交通工具操作數據;
80、所述處理模塊還用于將所述交通工具操作數據寫入第二共享內存的消息隊列中,以使交通仿真系統訪問所述第二共享內存的消息隊列獲取所述交通工具操作數據。
81、可選的,所述交通工具操作數據包括下述至少一種:
82、方向盤角度;
83、油門踏板角度;
84、檔位位置;
85、燈光狀態;
86、制動信息。
87、可選的,所述處理模塊還用于確定所述交通對象狀態信息主題被應用客戶端訂閱;和/或,
88、確定所述力反饋消息主題被交通對象硬件驅動系統訂閱;和/或,
89、確定所述交通工具操作數據主題被所述交通仿真系統訂閱。
90、可選的,所述消息隊列包括:隊列頭和消息存儲區域,所述隊列頭中包括:所述指針信息,所述消息存儲區域用于存儲消息體;所述消息體的數據結構包括:主題標識部分、消息頭和有效載荷部分,其中,所述消息頭中包括:主題標識的長度信息和有效載荷的長度信息;
91、所述指針信息包括:第一寫開始指針的初始位置和所述第一寫結束指針的初始位置;
92、所述處理模塊具體用于根據目標消息的大小,修改所述第一寫結束指針的初始位置為結束位置,所述結束位置和所述初始位置的差值等于所述目標消息的大小;從第一寫開始指針的初始位置開始寫入所述目標消息,直到所述目標消息寫入完成,更新所述第一寫開始指針的初始位置為所述目標消息的結束位置。
93、可選的,所述處理模塊還用于獲取互斥鎖;釋放所述互斥鎖。
94、可選的,所述處理模塊還用于確定所述第一寫開始指針的初始位置和所述第一寫結束指針的初始位置相同;或者,若所述第一寫開始指針的初始位置和所述第一寫結束指針的初始位置不相同,則將所述第一寫開始指針的初始位置和所述第一寫結束指針的初始位置置為相同。
95、可選的,所述處理模塊具體用于將所述第一寫開始指針的初始位置更新為所述第一寫結束指針的初始位置,或者,將所述第一寫結束指針的初始位置更新為所述第一寫開始指針的初始位置。
96、可選的,所述處理模塊還用于確定所述目標消息的大小小于等于所述消息存儲區域的大小。
97、可選的,所述指針信息包括:第一寫開始指針的初始位置和所述第一寫結束指針的初始位置;
98、所述處理模塊還用于從第二寫結束指針的初始位置開始讀取消息體,直到所述第一寫結束指針的初始位置讀取結束,所述第二寫結束指針的初始位置為上一次讀取的第一寫結束指針的初始位置。
99、可選的,所述處理模塊還用于從隊列頭中獲取第一寫結束指針的初始位置,確定所述第一寫結束指針的初始位置未超過已讀消息的邊界;和/或,從隊列頭中獲取第一寫結束指針的初始位置,確定所述第一寫結束指針的初始位置超過已讀消息的邊界,則丟棄所述已讀消息。
100、可選的,所述處理模塊還用于確定所述第二寫開始指針的初始位置與所述第一寫開始指針的初始位置不一致,則確定所述有消息更新;和/或,
101、所述處理模塊還用于確定所述第一寫開始指針的初始位置與所述第二寫開始指針的初始位置的差值的大小大于等于所述消息體的消息頭的長度。
102、可選的,所述處理模塊還用于確定所述第一寫開始指針的初始位置與所述第二寫開始指針的初始位置的差值的大小小于等于所述消息存儲區域的大小。
103、第三方面,本技術實施例提供一種邊緣計算設備,包括處理器和存儲器,所述存儲器存儲可在所述處理器上運行的程序或指令,所述程序或指令被所述處理器執行時實現如第一方面所述的虛實融合交通仿真系統的交互控制方法的步驟。
104、第四方面,本技術實施例提供一種虛實融合交通仿真系統的交互控制系統,包括如第三方面所述的邊緣計算設備,所述邊緣計算設備配置基于共享內存的消息隊列,以供交通仿真系統與應用客戶端或者交通對象硬件驅動系統進行交互控制。
105、第五方面,本技術實施例提供一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲程序或指令,所述程序或指令被處理器執行時實現如第一方面任一項所述的虛實融合交通仿真系統的交互控制方法的步驟。
106、本技術實施例提供的虛實融合交通仿真系統的交互控制方法、裝置和系統和設備,通過獲取交通仿真系統產生的目標消息;將所述目標消息寫入共享內存的消息隊列中,以使應用客戶端或者交通對象硬件驅動系統訪問所述共享內存的消息隊列獲取所述目標消息。也就是通過共享內存中的消息隊列進行數據的交互,利用共享內存可以實現高效訪問且接口統一的特點,以及消息隊列可以實現高可擴展性和解耦合性等優點,從而,提高了虛實融合交通仿真系統的交互控制效率。