System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及智能網聯汽車,具體而言,涉及一種可控刷新率實時車輛軌跡展示的方法及系統。
技術介紹
1、智能網聯汽車技術正在迅速發展,其中一個關鍵領域是實時車輛軌跡展示。通常,車輛的實時數據由車載裝置(obu)上傳,后端服務通過websocket進行數據推送至web端瀏覽器進行展示。
2、現有技術中,有些系統直接使用車端obu上傳的實時數據進行軌跡展示,而不進行插值處理,這種方法的優點是實時性較高,直接展示最真實的數據,因為它幾乎立即反映了車輛的位置變化。然而,礙于推送頻率的限制,不使用插值可能導致軌跡顯示不夠平滑,尤其是在推送到瀏覽器端數據的頻率不穩定的情況下。因此,一些系統加入了插值算法,但是在固定刷新率下進行插值和展示,也即,以屏幕固定刷新率進行插值處理后,將軌跡數據以固定刷新率進行展示,這種方法雖然可以提高軌跡的平滑性,但可能會導致其他問題,例如:由于瀏覽器刷新率不是固定不變的,會存在波動,當在高刷新率下進行插值,但是在低刷新率下展示插值軌跡時,會造成車輛在地圖上運動速度的不一致;此外,固定高刷新率的顯示屏會在插值和播放軌跡時消耗更多的計算資源,造成不必要的性能損耗,當展示車輛達到一定數量級,甚至會掉幀,不能達到正常的展示效果。
技術實現思路
1、本專利技術提供一種可控刷新率實時車輛軌跡展示的方法及系統,用以克服現有技術中存在的至少一個技術問題。
2、一方面,本專利技術提供一種可控刷新率實時車輛軌跡展示的方法,包括:
3、接收車輛的實時數據
4、設定渲染刷新率f1,使得瀏覽器的刷新率f2是所述渲染刷新率f1的整數倍;
5、根據所述渲染刷新率f1,對所述實時數據中所有相鄰數據點進行插值補幀,并記錄補幀時對應的幀率,得到所有相鄰數據點之間的插值點位;
6、設置計數值為0;
7、利用瀏覽器提供的requestanimationframe方法執行回調函數,并將所述計數值加1;
8、基于瀏覽器的刷新率f2和所述渲染刷新率f1,判斷當前計數值是否滿足要求,若滿足要求,則執行渲染插值點位的方法,采用補幀時對應的幀率,將所述插值點位繪制到瀏覽器中,同時清除計數;若不滿足要求,則返回利用瀏覽器提供的requestanimationframe方法執行回調函數步驟。
9、可選地,對所述實時數據中所有相鄰數據點進行插值補幀,具體為:
10、采用線性插值方法對所述實時數據中所有相鄰數據點進行插值補幀。
11、可選地,采用線性插值方法對所述實時數據中所有相鄰數據點進行插值補幀,具體為:
12、設相鄰數據點分別為px和py,接收時間分別為tx和ty,則數據點px和py之間的時間差為δt=ty-tx;
13、根據所述渲染刷新率f,計算得到每幀時間間隔為1/f;
14、從tx開始,依次疊加每幀時間間隔1/f,計算得到各個插值點位的時間ti;
15、根據所述插值點位的時間ti在數據點p1和p2之間的時間差δt中的占比,計算得到對應的插值點位i。
16、可選地,根據所述插值點位的時間ti在數據點px和py之間的時間差δt中的占比,計算得到對應的插值點位i,具體為:
17、pxi=(ti-tx)÷(δt)×(py-px)
18、其中,ti=ti-1+1/f,當i=1時,t0=tx。
19、可選地,基于瀏覽器的刷新率f2和所述渲染刷新率f1,判斷當前計數值是否滿足要求,具體為:
20、判斷當前計數值是否等于所述瀏覽器的刷新率f2和所述渲染刷新率f1的比值,若等于,則表示當前計數值滿足要求;若不等于,則表示當前計數值不滿足要求。
21、另一方面,本專利技術還提供一種可控刷新率實時車輛軌跡展示的系統,包括:
22、接收模塊,用于接收車輛的實時數據;
23、設定模塊,用于設定渲染刷新率f1,所述渲染刷新率f1小于瀏覽器的刷新率f2;
24、插值模塊,用于根據所述渲染刷新率f1,對所述實時數據中所有相鄰數據點進行插值補幀,并記錄補幀時對應的幀率,得到所有相鄰數據點之間的插值點位;
25、設置模塊,用于設置計數值為0;
26、執行模塊,用于利用瀏覽器提供的requestanimationframe方法執行回調函數,并將所述計數值加1;
27、判斷模塊,用于基于瀏覽器的刷新率f2和所述渲染刷新率f1,判斷當前計數值是否滿足要求,若滿足要求,則執行渲染插值點位的方法,采用補幀時對應的幀率,將所述插值點位繪制到瀏覽器中,同時清除計數;若不滿足要求,則返回利用瀏覽器提供的requestanimationframe方法執行回調函數步驟。
28、可選地,所述插值模塊具體用于:
29、采用線性插值方法對所述實時數據中所有相鄰數據點進行插值補幀。
30、可選地,所述插值模塊包括:
31、第一計算模塊,用于設相鄰數據點分別為px和py,接收時間分別為tx和ty,計算得到數據點px和py之間的時間差為δt=ty-tx;
32、第二計算模塊,用于根據所述渲染刷新率f,計算得到每幀時間間隔為1/f;
33、第三計算模塊,用于從tx開始,依次疊加每幀時間間隔1/f,計算得到各個插值點位的時間ti;
34、第四計算模塊,用于根據所述插值點位的時間ti在數據點p1和p2之間的時間差δt中的占比,計算得到對應的插值點位i。
35、可選地,所述第四計算模塊,具體用于:
36、pxi=(ti-tx)÷(δt)×(py-px)
37、其中,ti=ti-1+1/f,當i=1時,t0=tx。
38、可選地,判斷當前計數值是否滿足要求時,所述判斷模塊具體用于:
39、判斷當前計數值是否等于所述瀏覽器的刷新率f2和所述渲染刷新率f1的比值,若等于,則表示當前計數值滿足要求;若不等于,則表示當前計數值不滿足要求。
40、本專利技術實施例的創新點包括:
41、1、本實施例中,通過插值算法生成插值點位,在車端數據推送頻率低于刷新率時,使用插值后生成的軌跡點位,與直接使用車端數據進行軌跡渲染相比,能更平滑的渲染車輛的實時軌跡,是本專利技術實施例的創新點之一。
42、2、本實施例中,通過自定義渲染刷新率,實現在不同刷新率下的插值處理,解決了現有技術中由于web瀏覽器的刷新率波動而導致的車輛在地圖上運動速度不一致的問題,從而提高軌跡展示的準確性和連貫性,是本專利技術實施例的創新點之一。
43、3、本實施例中,通過自定義渲染刷新率,還能夠減輕web瀏覽器端的性能負擔,有利于降低計算和網絡資源的使用,尤其在大規模車輛監控系統中,可以減少服務器負擔,是本專利技術實施例的創新點之一。
44、4、本實施例中,通過自定義渲染刷新率,允本文檔來自技高網...
【技術保護點】
1.一種可控刷新率實時車輛軌跡展示的方法,其特征在于,包括:
2.根據權利要求1所述的可控刷新率實時車輛軌跡展示的方法,其特征在于,對所述實時數據中所有相鄰數據點進行插值補幀,具體為:
3.根據權利要求2所述的可控刷新率實時車輛軌跡展示的方法,其特征在于,采用線性插值方法對所述實時數據中所有相鄰數據點進行插值補幀,具體為:
4.根據權利要求3所述的可控刷新率實時車輛軌跡展示的方法,其特征在于,根據所述插值點位的時間ti在數據點px和py之間的時間差Δt中的占比,計算得到對應的插值點位i,具體為:
5.根據權利要求1所述的可控刷新率實時車輛軌跡展示的方法,其特征在于,基于瀏覽器的刷新率f2和所述渲染刷新率f1,判斷當前計數值是否滿足要求,具體為:
6.一種可控刷新率實時車輛軌跡展示的系統,其特征在于,包括:
7.根據權利要求6所述的可控刷新率實時車輛軌跡展示的系統,其特征在于,所述插值模塊具體用于:
8.根據權利要求7所述的可控刷新率實時車輛軌跡展示的系統,其特征在于,所述插值模塊包括:
10.根據權利要求6所述的可控刷新率實時車輛軌跡展示的系統,其特征在于,判斷當前計數值是否滿足要求時,所述判斷模塊具體用于:
...【技術特征摘要】
1.一種可控刷新率實時車輛軌跡展示的方法,其特征在于,包括:
2.根據權利要求1所述的可控刷新率實時車輛軌跡展示的方法,其特征在于,對所述實時數據中所有相鄰數據點進行插值補幀,具體為:
3.根據權利要求2所述的可控刷新率實時車輛軌跡展示的方法,其特征在于,采用線性插值方法對所述實時數據中所有相鄰數據點進行插值補幀,具體為:
4.根據權利要求3所述的可控刷新率實時車輛軌跡展示的方法,其特征在于,根據所述插值點位的時間ti在數據點px和py之間的時間差δt中的占比,計算得到對應的插值點位i,具體為:
5.根據權利要求1所述的可控刷新率實時車輛軌跡展示的方法,其特征在...
【專利技術屬性】
技術研發人員:周智維,褚文博,朱聰,吳鵬程,何周澤,
申請(專利權)人:西部科學城智能網聯汽車創新中心重慶有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。