亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于數(shù)字孿生的三維校園車輛漫游系統(tǒng)

        2022-04-09 12:56:40王藝儒
        電腦知識(shí)與技術(shù) 2022年6期

        王藝儒

        摘要:隨著科技的發(fā)展與進(jìn)步,數(shù)字孿生嶄露頭角。若具有足夠強(qiáng)大的技術(shù),數(shù)字孿生技術(shù)可以完美地復(fù)制現(xiàn)實(shí)世界。因此數(shù)字孿生當(dāng)前最大的應(yīng)用方向就是車輛的智能駕駛,即車輛漫游。在現(xiàn)實(shí)世界,昂貴的測試金額以及具有限制的實(shí)驗(yàn)場地讓智能駕駛止步不前,而數(shù)字孿生的出現(xiàn),提高了智能駕駛的開發(fā)能力。該文對車輛在虛擬校園的漫游為主要內(nèi)容。首先利用Cityengine和游戲引擎Unity3d對校園環(huán)境、車輛、樹木等場景進(jìn)行建模。通過C#設(shè)計(jì)系統(tǒng)需要的代碼,讓用戶可以在虛擬校園下自由的控制車輛。最后收集車輛的信息、數(shù)據(jù)、參數(shù)等傳輸?shù)骄W(wǎng)絡(luò),進(jìn)行人工交互功能。系統(tǒng)讓真實(shí)校園與虛擬校園成功地結(jié)合,節(jié)約了測試成本,為各大領(lǐng)域提供一種智能駕駛方法,為未來的數(shù)字孿生的發(fā)展奠定了基礎(chǔ)。

        關(guān)鍵詞:數(shù)字孿生;Unity3d;三維建模;人機(jī)交互;C#

        中圖分類號:TP391.9? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號:1009-3044(2022)06-0094-03

        開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):

        1 數(shù)字孿生

        1.1 什么是數(shù)字孿生

        什么是數(shù)字孿生?數(shù)字孿生從基礎(chǔ)來看,就是利用某些軟件把現(xiàn)實(shí)生活中存在的物體情況通過數(shù)字化體現(xiàn)出來。就像谷歌,百度地圖等,它們將現(xiàn)實(shí)生活的建筑物、街道、樹木進(jìn)行數(shù)字化智能化,然后將信息傳輸?shù)矫總€(gè)人的手機(jī)上。

        數(shù)字孿生被Grieves教授首次提出[1],隨著社會(huì)的發(fā)展,數(shù)字孿生的基本思想逐步形成,即虛擬空間中,將數(shù)字模型具有的信息和物理世界的實(shí)體互相映射,最后完美地復(fù)制出物理實(shí)體的活動(dòng)軌跡及其生物特征。

        隨著時(shí)代的進(jìn)步與社會(huì)的發(fā)展,數(shù)字孿生逐漸被越來越多的專家提出,通過與物聯(lián)網(wǎng),人工智能,大數(shù)據(jù)等領(lǐng)域結(jié)合并應(yīng)用于各行各業(yè)。同時(shí)構(gòu)思了越來越多以數(shù)字孿生為基礎(chǔ)的智能信息模式。

        1.2 數(shù)字孿生下的車輛漫游

        首先采集數(shù)據(jù)是重中之重。需到現(xiàn)場采集車輛內(nèi)部的照片或圖片,車輛基本尺寸、校園風(fēng)景、校園建筑、校園行走人員等,建立三維建模所需要用到的材質(zhì)和圖片庫。需要對車輛等信息進(jìn)行簡化繪制和建模。最后通過物聯(lián)網(wǎng)得到車輛參數(shù)與各結(jié)構(gòu)數(shù)據(jù),設(shè)計(jì)數(shù)據(jù)庫,界面設(shè)計(jì),實(shí)現(xiàn)交互漫游,最后完成校園車輛漫游管理??偠灾?,就是充分利用物理模型、傳感器更新、車子運(yùn)行歷史等數(shù)據(jù),對車輛在不同環(huán)境和路線等進(jìn)行仿真、監(jiān)測、計(jì)算、調(diào)節(jié)、控制和集成,最后在虛擬空間中完成映射,從而反映相對應(yīng)的實(shí)體車輛的活動(dòng)周期過程[2]。

        2 三維校園設(shè)計(jì)

        隨著互聯(lián)網(wǎng)的發(fā)展,三維校園為眾多領(lǐng)域的工作人員帶來巨大的便利。想要成功構(gòu)建與現(xiàn)實(shí)相似的三維校園,不同的應(yīng)用技術(shù)有著不同的方法。當(dāng)前主要的建模方法有:先畫出校園cad圖紙,然后導(dǎo)入3dmax進(jìn)行建筑建模;直接利用Sketch Up 畫出模型最后渲染; ArcGIS Engine三維建模等。經(jīng)過研究與實(shí)驗(yàn)后,本文使用了專用于大規(guī)模城市仿真的 CityEngine 進(jìn)行校園模型制作[3]。

        2.1 三維校園實(shí)現(xiàn)過程

        首先,校園建模所需的影像數(shù)據(jù)可以通過 CityEngine 中Get Map Data功能獲取,本文利用了Openstreetmap得到校園地圖具體的建筑信息,路網(wǎng)信息等。在建模前,要了解校園區(qū)域每一個(gè)建筑特點(diǎn),例如顏色,高度,形狀等。通過得到的信息,找到相似的貼圖,最后編寫詳細(xì)的參數(shù)規(guī)則[4]。CityEngine中,建筑模型都是通過CGA規(guī)則進(jìn)行描述的,當(dāng)一個(gè)CGA被指定給一個(gè)圖形,那么這個(gè)建筑模型就會(huì)根據(jù)指定的圖形范圍來生成,如表1所示。

        成功構(gòu)建校園后,可以將整體建筑導(dǎo)出為fbx格式,進(jìn)而導(dǎo)入Twinmotion軟件對植物,道路,人物等進(jìn)行美化。同時(shí)在Twinmotion中在不同環(huán)境下對校園內(nèi)部進(jìn)行初級的動(dòng)畫演示。最終結(jié)果如圖1所示。

        3 車輛漫游實(shí)現(xiàn)

        在虛擬的校園環(huán)境下,對車輛進(jìn)行和現(xiàn)實(shí)相同的操作,通過虛擬現(xiàn)實(shí)技術(shù)漫游系統(tǒng)在車輛上的應(yīng)用,利用腳本語言、碰撞檢測技術(shù)、界面設(shè)計(jì),使用戶真實(shí)了解車輛功能和結(jié)構(gòu),設(shè)計(jì)和實(shí)現(xiàn)了虛擬車漫游展示系統(tǒng)[5]。

        用戶可以像玩游戲一樣,駕駛汽車查看虛擬模型和各種相關(guān)數(shù)據(jù)信息。虛擬車輛與真實(shí)車輛也可以同步接收信息與狀態(tài),從而讓虛、實(shí)狀態(tài)的同步,進(jìn)而邁向自動(dòng)駕駛領(lǐng)域。車輛漫游流程如圖2所示。

        3.1 車輛漫游系統(tǒng)

        本文選用Unity3d為開發(fā)工具,同時(shí)本身內(nèi)置了種類非常多的組件,采用C#作為編輯語言,作為業(yè)界著名的開源游戲引擎,它可以讓使用人員感受到炫酷,現(xiàn)實(shí)化的三維游戲,人物,VR等交互界面[6]。因此它非常個(gè)人或小型團(tuán)隊(duì)進(jìn)行使用,如圖3所示。

        3.2 車輛漫游跟隨視角

        對車輛建模后,令相機(jī)跟隨車輛。例如按下Q,E可以左右旋轉(zhuǎn)視角;滾動(dòng)鼠標(biāo)滑輪可以放大或者縮小視角[7];

        首先,新建C#腳本FollowPlayer并掛載相機(jī)上,設(shè)置跟隨物體的Tag值為Player;調(diào)整當(dāng)前Scene視角對準(zhǔn)跟隨物體,按下Ctrl + Shift + F,讓相機(jī)視角對準(zhǔn)跟隨物體,設(shè)置好相關(guān)參數(shù);之后運(yùn)行場景,相機(jī)即可跟隨游戲物體移動(dòng)。

        3.3 車輛漫游的碰撞技術(shù)

        碰撞技術(shù)對Unity3d來說非常重要。在虛擬三維的校園中,建筑物與正在行駛的車輛是相互獨(dú)立的。車輛在漫游過程中會(huì)自動(dòng)避開障礙物。而碰撞技術(shù)也可以檢查物體之間是否發(fā)生物理接觸,同時(shí)根據(jù)物體的特點(diǎn)做出對應(yīng)的碰撞響應(yīng)[8]。在 Unity3d 里面要想實(shí)現(xiàn)碰撞,物體之間都要具有碰撞組件,同時(shí)運(yùn)動(dòng)的組件具有剛體。這樣可以詳細(xì)描繪車輛在漫游時(shí)不小心與墻壁,建筑物等相撞時(shí)具體的反應(yīng)和狀態(tài)。

        另外,車輪碰撞器(WheelCollider)是一種特殊的地面車輛碰撞器,是用Unity3d制作車輛漫游的關(guān)鍵,它可以模擬輪子的碰撞過程,車輛的物理引擎等。

        在添加輪子時(shí),可以給車輛添加碰撞器Rigidbody并調(diào)整質(zhì)量。另外在車輛模型下建立名為PhysicalBody的空物體,用于存放車輛的碰撞器組件。同時(shí)再添加四個(gè)空物體組件代表車輛的四個(gè)輪子[9]。在PhysicalBody里添加名為Collider的空物體,用于給車輛添加碰撞器。最后給2個(gè)Collider添加BoxCollider組件,然后點(diǎn)擊Collider的屬性面板的Edit Collider調(diào)整位置和大小。再給4個(gè)輪子分別添加WheelCollider,根據(jù)Transform的數(shù)值調(diào)整輪子的位置和大小。

        3.4 車輛的自動(dòng)尋路

        首先選擇校園場景,設(shè)置可通過區(qū)域與障礙區(qū)域。Inspector視圖窗口static旁的小三角形按鈕顯示下拉列表,選中navigation static。在菜單欄打開Navigation窗口。其中Bake窗口顯示的參數(shù)主要是尋路過程中不同地形的影響,可以根據(jù)需要進(jìn)行修改。單擊Bake按鈕計(jì)算整體地形,得到的尋路數(shù)據(jù)會(huì)與目前的Scene相關(guān)聯(lián)[10]。

        選中車輛,把得到的尋路組件給予車輛。在菜單欄上選擇Component→Nav Mesh Agent。最后利用C#寫出車輛運(yùn)動(dòng)的代碼,讓車輛移動(dòng)到用戶指定的目的地。最后將代碼指定為車輛的腳本組件,實(shí)現(xiàn)了車輛的自動(dòng)漫游。

        4 車輛漫游的交互設(shè)計(jì)

        車輛在漫游時(shí)進(jìn)行人機(jī)交互,用戶在現(xiàn)實(shí)生活中控制真實(shí)車輛的數(shù)據(jù),利用網(wǎng)絡(luò)將得到的數(shù)據(jù)發(fā)送給Unity3d,進(jìn)而利用得到的參數(shù)與函數(shù)控制虛擬車輛[11]。同理可知,在虛擬校園中控制車輛,得到的數(shù)據(jù)也可以利用網(wǎng)絡(luò)發(fā)送給現(xiàn)實(shí)車輛。實(shí)現(xiàn)了用戶在不同環(huán)境下的車輛漫游過程,成功對現(xiàn)實(shí)與虛擬進(jìn)行交互。GUI作為Unity3d的交互界面,它可以通過撰寫代碼,對腳本進(jìn)行編寫。GUI的代碼需要寫在OnGUI()這個(gè)函數(shù)里,每當(dāng)重啟GUI,都會(huì)執(zhí)行這個(gè)方法。

        首先,在Unity3d里面新建一個(gè)C#腳本,把它附加到某個(gè)虛擬物品上。然后將OnGUI()函數(shù)放在新創(chuàng)建的腳本里面。同時(shí)大多數(shù)GUI控件都需要一個(gè)Rect對象,這是因?yàn)槊糠N控件都需要設(shè)置其位置和大小。其中,第二個(gè)參數(shù)可以為一個(gè)字符串,也可以為圖像。另外,Rect對象的四個(gè)參數(shù)分別代表:控件左上角x坐標(biāo),控件左上角y坐標(biāo),控件的寬度,控件的高度。

        4.1 車輛漫游交互的功能

        1) 利用Carsim或其他軟件,將現(xiàn)實(shí)的車輛信息數(shù)據(jù)收集起來,因此虛擬車輛中可以正確獲取相關(guān)的參數(shù)。Carsim以車輛動(dòng)力學(xué)為基礎(chǔ),將數(shù)據(jù)發(fā)送到服務(wù)器,最后控制虛擬場景,駕駛虛擬車輛。

        2) 用戶可以切換不同景色,觀測校園下不同景色的車輛漫游過程[12]。代碼如下:

        public class changeweather : MonoBehaviour

        {

        UniStormWeatherSystem_C UniStormSystem;

        // Start is called before the first frame update

        private void OnGUI()

        {

        Rect rect1 = new Rect(10, 20, 50, 30);

        Rect rect2 = new Rect(10, 60, 50, 30);

        Rect rect3 = new Rect(10, 100, 50, 30);

        Rect rect4 = new Rect(10, 140, 50, 30);

        if ( GUI.Button(rect1, “雨”))

        {

        UniStormSystem.GetComponent<UniStormWeatherSystem_C>().weatherForecaster = 12; //雨

        }

        if (GUI.Button(rect3, “晴天”))

        {

        UniStormSystem.GetComponent<UniStormWeatherSystem_C>().weatherForecaster = 8; //晴天

        }

        if (GUI.Button(rect4, “霧霾”))

        {

        UniStormSystem.GetComponent<UniStormWeatherSystem_C>().weatherForecaster = 1; //霧霾

        }

        }

        void Start()

        {

        UniStormSystem = GameObject.Find(“UniStormSystemEditor”).GetComponent<UniStormWeatherSystem_C>();

        }}

        3) 在車輛漫游的過程中,可以利用MySql作為校園建筑的數(shù)據(jù)管理與開發(fā)的基礎(chǔ)。首先定義連接數(shù)據(jù)庫的字符串后連接數(shù)據(jù)庫,代碼如下:

        public static MySqlConnection Connect()

        {

        MySqlConnection conn=new MySqlConnection(CONNECTIONSTRING);

        try

        {

        conn.Open();

        return conn;

        }

        catch (Exception e)

        {

        Console.WriteLine("打開數(shù)據(jù)庫錯(cuò)誤!"+e);

        return null;

        }}

        因此當(dāng)用戶在虛擬校園漫游時(shí),也可以利用數(shù)據(jù)庫,通過菜單查詢路過的建筑等物體信息。在車輛漫游的同時(shí)完成并實(shí)現(xiàn)信息的交互。

        5 結(jié)束語

        本文構(gòu)建一種虛擬校園環(huán)境下的車輛漫游系統(tǒng)?,F(xiàn)實(shí)世界各種動(dòng)態(tài)可以在虛擬環(huán)境里同步更新,同時(shí)虛擬校園也可以做各種測試、分析等結(jié)果,進(jìn)而進(jìn)行信息數(shù)據(jù)的傳輸。車輛在現(xiàn)實(shí)校園運(yùn)行的同時(shí),車輛的運(yùn)動(dòng)狀態(tài),車輛信息采集后反饋給虛擬場景,從而完成虛、實(shí)狀態(tài)的同步,實(shí)現(xiàn)整個(gè)數(shù)字孿生系統(tǒng)仿真。

        參考文獻(xiàn):

        [1] 朱睿.數(shù)字孿生驅(qū)動(dòng)的螺線管裝配生產(chǎn)線運(yùn)維系統(tǒng)設(shè)計(jì)與研究[D].南京:東南大學(xué),2019.

        [2] 葛雨明,汪洋,韓慶文.基于數(shù)字孿生的網(wǎng)聯(lián)自動(dòng)駕駛測試方法研究[J].中興通訊技術(shù),2020,26(1):25-29.

        [3] 孫守清,陳宜金,陳俊美.基于CityEngine和SketchUp的快速精細(xì)三維建模[J].北京測繪,2021,35(7):880-883.

        [4] 賀體剛,陳鑫.基于CityEngine建模技術(shù)的三維虛擬校園開發(fā)與制作[J].電子技術(shù)與軟件工程,2020(24):42-43.

        [5] 李芳,邱利偉,王會(huì)艷.虛擬現(xiàn)實(shí)技術(shù)漫游系統(tǒng)在軌道車輛上的研究及應(yīng)用[J].科技視界,2018(12):245-246.

        [6] Cheliotis K.ABMU:an agent-based modelling framework for Unity3D[EB/OL].[2021-08-20]. https://www.sciencedirect.com/science/article/pii/S2352711021000881.

        [7] Lin M,Shan L J,Zhang Y C.Research on robot arm control Based on Unity3D machine learning[J].Journal of Physics:Conference Series,2020,1633(1):012007.

        [8] 李虹,陸培培.基于Unity3D的虛擬動(dòng)畫系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2021,44(8):164-168.

        [9] 彭俊江.基于Unity3D的軌道車輛虛擬設(shè)計(jì)系統(tǒng)研究[D].南昌:華東交通大學(xué),2020.

        [10] 王志崗.基于Unity3D的自動(dòng)尋路導(dǎo)航系統(tǒng)的研究[J].電腦知識(shí)與技術(shù),2019,15(36):209-211.

        [11] Ruan Weihua.Design and Implementation of AR Vehicle Display Model Based on Unity3D[C]//International Information and Engineering Association.Proceedings of 2018 3rd International Conference on Mechatronics and Information Technology(ICMIT 2018).International Information and Engineering Association:計(jì)算機(jī)科學(xué)與電子技術(shù)國際學(xué)會(huì)(Computer Science and Electronic Technology International Society),2018:8.

        [12] 萬平,彭俊江,肖乾,等.基于Unity3D的軌道車輛虛擬設(shè)計(jì)系統(tǒng)研究[J].華東交通大學(xué)學(xué)報(bào),2021,38(1):106-112,142.

        【通聯(lián)編輯:謝媛媛】

        国产熟人av一二三区| 69精品国产乱码久久久| 日本xxxx色视频在线观看免费| 欧洲熟妇色 欧美| 婷婷丁香91| 日韩精品成人一区二区在线观看 | 国产亚洲真人做受在线观看| 欧美日韩电影一区| 国产亚洲午夜高清国产拍精品不卡| 不卡一区二区三区国产| 日韩国产精品无码一区二区三区| 丰满人妻妇伦又伦精品国产 | 国产丰满老熟女重口对白| 亚洲色欲色欲欲www在线| 丰满老熟女性生活视频| 少女韩国电视剧在线观看完整 | 日韩熟妇精品视频一区二区| 隔壁人妻欲求不满中文字幕| 精品亚洲a∨无码一区二区三区| 少妇人妻200篇白洁| 黑人巨大精品欧美在线观看| 免费人成黄页在线观看国产| 久久人妻少妇嫩草av| 亲子乱aⅴ一区二区三区下载| 久久91精品国产91久| 一区二区三区亚洲视频| 久久久国产打桩机| 91免费永久国产在线观看| 国产肥熟女视频一区二区三区| 极品嫩模大尺度av在线播放| 国产伦精品一区二区三区| 国产美女高潮流白浆在线观看| 99伊人久久精品亚洲午夜| 色婷婷亚洲一区二区三区| 亚洲AV无码一区二区三区人| 国产精品一区二区久久精品蜜臀| 国产偷国产偷亚洲高清视频| 欧美亚洲国产片在线播放| 国产三级精品美女三级| 亚洲av色av成人噜噜噜| 天堂а√在线最新版中文在线 |