久久精品人妻一区国产传媒国产精品|51黑料吃瓜网在线观看色噜噜色偷偷30根|久久久久久久久国产在亚洲中文字幕人妻|91av福利china人妻91九色|国语精品视频自产自拍|色婷婷av一区二区三区久久|国产91丝袜在线|亚洲二区中文字幕|91久久精品中文内射|中文 欧美 日韩,3d色噜噜狠狠一区二区三区,国产精品福利99,国产精品传媒网站

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

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

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

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

?

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

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

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

自主模擬供電

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

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

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

一鍵式ROS 2支持

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

?

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

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

?

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