ROS 2與Unity合作提升自主機器人性能

文章來源: 作者:frank 發(fā)布時間:2021年08月18日 點擊數(shù):

Unity在新版本中添加了ROS 2的官方支持,其強大的框架,加上模擬,將支持無數(shù)全新用例。

機器人操作系統(tǒng)(ROS)是從2007年開始開發(fā)機器人應用程序的流行框架。盡管最初是為了加速機器人研究而設計的,但它很快在工業(yè)和商業(yè)機器人中被廣泛采用。ROS 2建立在ROS可靠框架的基礎上,同時改進了對現(xiàn)代應用程序的支持,如多機器人系統(tǒng)、實時系統(tǒng)和生產(chǎn)環(huán)境。Unity目前已經(jīng)將其對ROS生態(tài)系統(tǒng)的官方支持擴展到ROS 2。

?

現(xiàn)代機器人技術正在將其重點轉(zhuǎn)向“自主性”,即研究和開發(fā)能夠在沒有人類開發(fā)者定義的嚴格規(guī)則的情況下做出決策的算法,而模擬算法則是通過實現(xiàn)比現(xiàn)實世界測試更大的靈活性和更快的實驗時間來實現(xiàn)這一轉(zhuǎn)變。在本篇文章中將演示如何模擬由Unity和ROS 2創(chuàng)建的自主移動機器人(AMR)的同時定位和映射(SLAM)以及導航功能。

ROS 2為現(xiàn)代機器人技術提供動力

雖然ROS仍然是機器人原型開發(fā)的優(yōu)秀框架,但它已經(jīng)接近生命周期的盡頭,并且缺少一些在機器人系統(tǒng)中實現(xiàn)超越原型,全面生產(chǎn)和部署所必需的功能。ROS 2的技術路線圖由行業(yè)專家委員會定義了明確的原則,以確保將ROS 2打造成為服務機器人最終用戶的合適框架。ROS 2支持更多的操作系統(tǒng)和通信協(xié)議,并且設計得比ROS分類更加精確。

自主模擬供電

ROS 2的許多新興用例都側(cè)重于自動化。引入自主性意味著機器人做出的決策以及這些決策的結(jié)果不完全可以僅使用狀態(tài)機和一組數(shù)學公式來進行預測,就像它們可能在許多工業(yè)機器人的案例中一樣。與工業(yè)機器人相比,自主機器人的操作環(huán)境呈指數(shù)級增長。它所遇到的輸入的排列遠遠超過了在受控的實驗室環(huán)境中所能復制的水平。為了完全驗證自主機器人的行為符合制造商的預期,制造商們也可以在機器人上進行編輯。在以Unity創(chuàng)建的模擬世界中,時間變得毫無意義,因此制造商們可以根據(jù)他們的需要對機器人進行:適當強度的模擬學習。

如果在模擬中期望機器人能夠感知周邊環(huán)境,那么該模擬必須在不對環(huán)境模擬拓撲和物理精度方面做出妥協(xié)的情況下實現(xiàn)對機器人身上的傳感器進行精確建模才能實現(xiàn)。如果該環(huán)境中有其他干擾,即人或其他機器人,則模擬過程必須能夠?qū)崿F(xiàn)代理行為的建模,同時仍然保持其傳感器模擬、拓撲展示和物理建模的準確性。為了讓機器人在所有可能遇到的情況下都能充分得到鍛煉,這個模擬需要運行很多很多次。這就意味著,要實現(xiàn)自主機器人模擬過程就需要工業(yè)機器人模擬不常用到的四個特點:靈活性、可擴展性、可量測性和保真度。而Unity正好位于所有這些需求的交叉點,目前Unity平臺中已經(jīng)包含了更多的功能來更好的支持自主機器人的開發(fā)。

通過Unity的Robotics軟件包,用戶將可以訪問已經(jīng)完成構建的接口,使與ROS或ROS 2的通信變得更加容易。用戶將能夠直接從Unity的URDF?Importer導入帶有機器人配置的URDF文件,并使用Unity高質(zhì)量、高效的渲染管道和高性能、高精確度的物理模擬來訓練他們的機器人。通過Unity的資產(chǎn)商店,用戶可以瀏覽各種額外的預制環(huán)境和道具,以幫助他們?yōu)闄C器人的特定環(huán)境和任務建模。只需點擊幾下鼠標,模擬就可以構建并部署到任何主流操作系統(tǒng)上,如Windows 10、Mac OS和Linux等。通過使用C#腳本、Bolt可視化腳本或Unity資產(chǎn)庫中可用的許多腳本和實用工具包,用戶可以繼續(xù)自定義特定模擬的功能,以適配特定的用例。

一鍵式ROS 2支持

事實上將Unity項目移動到ROS 2很簡單。在ROS-TCP-Connector包中,Unity添加了一個下拉菜單,允許用戶在ROS和ROS 2集成之間切換。更改協(xié)議后,Unity將根據(jù)用戶選擇的消息定義和序列化協(xié)議自動重新編譯包。用戶只需在自己的項目中進行這種更改,或者選擇示例存儲庫中的Robotics-Nav2-SLAM,即可完成測試。

?

上圖中的示例項目演示了如何使用Unity來模擬在ROS 2中運行的導航系統(tǒng)。導航的概念很簡單,在自主機器人模擬的內(nèi)容中變化不大。導航算法旨在找到一條直通下一步流程的道路。然而,要從我在什么地方到我要去什么地方,必須首先做SLAM——同時定位和制圖。SLAM描述了一組算法,用來回答“我現(xiàn)在在哪里,我去過哪里?”作為感官和大腦之間處理管道的固有部分,人類一直在執(zhí)行SLAM。對于自主機器人來說,執(zhí)行精確的SLAM對于大多數(shù)現(xiàn)實環(huán)境來說仍然是一個具有挑戰(zhàn)性的命題。一個自主移動機器人到底需要什么,才能讓它始終知道自己在哪里,相對于它曾經(jīng)去過的任何地方,這仍然是一個活躍的研究領域。對于給定的用例,真正能夠回答這個問題的唯一方法就是進行多次模擬試驗(對于傳感器、算法等)。

在示例中,我們會發(fā)現(xiàn)這是一個簡單的倉庫環(huán)境,一個帶有模擬雷達和電機控制器的Turtlebot 3移動機器人的完全鉸接模型,以及一個用于構建圖像的Dockerfile,該圖像包含模擬練習Nav2和slam_toolbox堆棧所需的所有ROS 2依賴關系。

?

左圖:在Unity中生成并發(fā)送的ROS 2消息的RViz顯示。右圖:TurtleBot 3在Unity中執(zhí)行SLAM和自主導航。

主站蜘蛛池模板: 欧美丰满熟妇XXXX| qvod小说区图片区亚洲| 99久久精品九九亚洲精品| 激情图片在线视频| 精品日韩欧美一区二区在线播放 | 电影在线观看视频| 朝桐光中文字幕| 成人人免费夜夜视频观看| 国产麻豆剧传媒精品网站| 国产性夜夜春夜夜爽| 向日葵视频app免费下载| 国产调教视频在线观看| 国产aⅴ无码专区亚洲av| 凹凸在线无码免费视频| 国产浮力第一影院| 午夜福利一区二区三区高清视频 | 国产精品jizzjizz| 午夜爽爽爽男女免费观看hd| 亚洲区小说区激情区图片区| 中文字幕不卡免费高清视频| 天堂/在线中文在线资源官网| 美女裸体a级毛片| 欧美人与动性xxxxx杂性| 岛国大片在线播放| 国产在视频线精品视频2021| 人人干人人干人人干| 久久99热精品免费观看牛牛| 18美女腿打开无遮挡| 色综合热无码热国产| 欧美日韩精品一区二区在线播放| 日韩精品第1页| 女人被躁到高潮嗷嗷叫游戏| 国产成人在线观看免费网站| 亚洲色欲久久久综合网东京热| 久久久无码精品亚洲日韩蜜桃 | 久夜色精品国产一区二区三区| 精品一区二区三区水蜜桃| 日本视频一区在线观看免费| 2021国产精品自拍| 视频一区在线免费观看| 欧美性狂丰满性猛交|