AI@Unity正在致力于機器人、計算機視覺和機器學(xué)習(xí)領(lǐng)域的深入研究和產(chǎn)品開發(fā),。而Unity為暑期實習(xí)生們提供的人工智能項目則更加具有真正的產(chǎn)品影響力,。
隨著機器人構(gòu)造與任務(wù)的越來越復(fù)雜,機器人行業(yè)對仿真的需求也越來越大,。機器人模擬技術(shù)能夠幫助開發(fā)人員對機器人進行擴展,,因此在他們需要測試的每個場景中他們并不需要真實的機器人。另外機器人模擬技術(shù)還能夠在開發(fā)過程中開發(fā)和測試某些任務(wù),,尤其是那些在機器人完全部署之前無法執(zhí)行的任務(wù),。
Unity的機器人團隊正專注于通過利用Unity引擎的能力、資產(chǎn)和可集成性來進一步推動機器人仿真技術(shù)更加成熟,,同時構(gòu)建和擴展具有仿真能力的機器人模擬專用工具與相關(guān)軟件包,。而在Unity Robotics Hub中也提供演示、教程和軟件包,,可以幫助用戶立即開始模擬他們自己的機器人,。
2021年夏天,,Unity機器人團隊的實習(xí)生們迎來了他們的首次工作,這為他們在Unity的工作中積攢了寶貴的經(jīng)驗,。在下面的文章中我們將向大家分享他們所開發(fā)的項目和所獲得的一些經(jīng)驗,。
Unity中的逆運動學(xué)與控制
雅各布·普拉特(Jacob Platin),賓夕法尼亞大學(xué)機器人學(xué)專業(yè)
逆運動學(xué)對于像READY Robotics這樣的客戶來說至關(guān)重要,。
今年夏天,,我得到了一個非常難得的機會——加入到Unity機器人團隊中來。作為機器人團隊的一員,,將反向運動學(xué)和機器人控制器集成到Unity中成為了我們首個項目,。當(dāng)用戶需要模擬機器人,尤其是機械臂時,,他們需要使用并控制與真實機器人相同或相似的API來控制機器人,。這些應(yīng)用編程接口被稱為機器人控制器,它們提供了各種功能,,包括將機器人從一個位置移動到另一個位置,,移動單個關(guān)節(jié)(在關(guān)節(jié)空間中),甚至移動機器人轉(zhuǎn)一圈等,。機器人控制器主要控制節(jié)空間工作,,我們可以發(fā)送給每個關(guān)節(jié)執(zhí)行目標角度的命令。然而,,人們只關(guān)心末端執(zhí)行器在笛卡爾空間中的位置和方向(即,,我們的3D世界中的X、Y和Z坐標),。因此,,反向運動學(xué)的目標是確定笛卡爾空間中給定位置和方向?qū)?yīng)的關(guān)節(jié)角度。反向運動學(xué)是機器人專家工具包中至關(guān)重要的一部分,,因此這個包使Unity作為機器人仿真平臺更有權(quán)威,,也更容易使用。
事實證明,,在Unity中集成這些功能是一個巨大的挑戰(zhàn),,要求我復(fù)習(xí)線性代數(shù)、物理,、微積分,、計算機科學(xué),甚至微積分這些前的知識,,同時以最用戶友好的方式設(shè)計軟件,。我還通過創(chuàng)建項目演示學(xué)習(xí)了如何在虛擬現(xiàn)實中模擬工業(yè)機器人,在這個演示中,,用戶可以在虛擬現(xiàn)實中移動一個由機器人手臂跟隨的立方體,。然而,伴隨著挑戰(zhàn)而來的是巨大的機遇,,有效地獨自設(shè)計,、構(gòu)建和運輸這樣基本的代碼來支持Unity中的機器人給我們帶來了全新的可能性。令人難以置信的是,,人們很少發(fā)現(xiàn)自己每天都在期待工作,,并不斷受工作中的挑戰(zhàn),我很幸運地說,,我在Unity找到了這種體驗,!
多智能體機器人仿真
蒂芬妮·尤(Tiffany Yau),多倫多大學(xué)機器人工程學(xué)士
西蒙·查莫羅(Simon Chamorro),,舍布魯克大學(xué)機器人工程學(xué)士
在工業(yè)應(yīng)用中,,具有不同專業(yè)能力的多個機器人必須協(xié)同工作來執(zhí)行復(fù)雜的任務(wù)。該項目展示了如何通過Unity編輯器和機器人仿真包以及ROS 2實現(xiàn)多個機器人之間的協(xié)調(diào),,以在倉庫中執(zhí)行查找和轉(zhuǎn)移任務(wù),。該演示還強調(diào)了使用Unity相對于其他機器人仿真工具的優(yōu)勢,在其他工具中,,像這樣的多智能體仿真很難完成,。我們的模擬由兩種類型的機器人組成,我們稱之為Findbot和Ferrybot,。多個Findbots負責(zé)使用機器學(xué)習(xí)在倉庫環(huán)境中查找目標多維數(shù)據(jù)集,,單個Ferrybot導(dǎo)航、拾取并在指定位置放下這些多維數(shù)據(jù)集,。為了實現(xiàn)這一點,,每個Findbot都配備了一個攝像頭來檢測立方體,而Ferrybot則有一個機械臂來拾取立方體,。這個示例項目對于希望在自己的模擬中使用Unity機器人工具的機器人開發(fā)人員和研究人員來說非常有用,。
總的來說,這是一次很好的體驗,,因為我們能夠在我們的項目中使用和集成大量的Unity軟件包,。例如,我們使用了計算機視覺感知包用于數(shù)據(jù)收集以訓(xùn)練我們的姿態(tài)預(yù)估模型,。我們還在費里波特上使用了一個反向運動學(xué)包(在上面雅各布的項目中提到過)來拾取立方體,。這對于我們來說也是學(xué)習(xí)協(xié)作和溝通的絕佳機會。