亚洲 欧美 自拍 中文字幕_欧美疯狂做受XXXX高潮_一级录像片高清版_午夜亚洲国产理论片亚洲2020_国产视频网_最新国产精品无码_男人女人午夜视频免费_同桌张开腿让我爽了一夜_亚洲一卡二卡三卡四卡

Bwin · 必贏(中國)唯一官方網站

English
日本語
Menu
技術解讀丨一文讀懂智元機器人自研中間件AimRT :2024-09-29 18:28:00


        8月18日,智元 2024 年度發(fā)布會上,智元機器人聯(lián)合創(chuàng)始人彭志輝介紹了一款自研的輕量化、高性能通信框架“AimRT”,并宣布在 9 月底正式開源。今天,智元機器人正式官宣機器人中間件AimRT已上線 ,兌現(xiàn)了其在發(fā)布會上的開源承諾。AimRT的源碼目前托管在Gitee,并同步鏡像至GitHub等主流開源社區(qū),相關文檔已上線官網aimrt.org。


        那么這個 AimRT 到底有哪些功能?

        它的設計架構如何?

        跟目前市面上常用的 ROS 有什么區(qū)別?

        ……


        今天我們就用一篇文章來揭開它的神秘面紗,先行一步了解一下它的主要特點。







01/

在機器人中間件領域

目前的現(xiàn)狀和問題是什么?


        在目前機器人中間件領域,ROS1 以及 ROS2 處于一家獨大的地位。ROS 最早在 2010 年發(fā)布 1.0 版本,但在后續(xù)的發(fā)展中暴露出各種問題,最終 ROS 官方于 2017 發(fā)布全新 ROS2 的第一個版本,并于 2022 年發(fā)布第一個長周期支持版 ROS2 Humble。同時官方也逐漸停止對 ROS1 的維護,全面轉向 ROS2。

 

        除了 ROS2,近幾年很火的自動駕駛領域也產生了不少中間件,可以在一定程度上復用到機器人領域,例如百度的 Apollo,最早也是基于 ROS 作為底層,但最終放棄 ROS,自研了 CyberRT 作為底層通信組件。不過這些畢竟不是專為機器人領域設計的,在生態(tài)、工具鏈、使用率等方面與 ROS2 還是有較大差距。

 

        但在目前以 ROS2 為主流的機器人中間件領域,也存在不少問題。一個比較突出的點是,ROS2 是為了傳統(tǒng)機器人控制領域設計的,對運動控制、Slam 等領域支持的較好,但對面向未來的機器人+ AI、機器人+云等都不太友好。

 

        除此之外,ROS2 較為冗重、官方支持平臺較少、迭代較慢、不太穩(wěn)定等各種問題制約著他的產業(yè)落地,很少有量產型產品直接使用 ROS2 作為自身產品的通信框架。





02/

AimRT 到底是什么?


        AimRT 是智元公司于成立之初(2023 年 2 月)就決定要去自行研發(fā)的一套通信中間件,目前已經迭代到了 v0.8.0 版本,框架的大部分核心功能都已經開發(fā)完成,有較為完善的文檔的示例,經過大量測試,在智元公司內部也實際使用了很長時間。

 

        AimRT 的整體定位如下:


AimRT 是一套用于現(xiàn)代機器人領域的基礎運行時框架,基于現(xiàn)代 C++ 開發(fā),輕量易部署,在資源管控、異步編程、部署配置等方面都有更現(xiàn)代化的設計。


AimRT 致力于整合機器人端側、邊緣端、云端等多種部署場合的研發(fā),服務于現(xiàn)代基于 AI 與云的機器人應用,提供現(xiàn)代且完善的調試、性能分析工具,以及良好的可觀測性支持。


AimRT 還提供全面的插件開發(fā)接口,具有高拓展性,兼容 ROS2、Http、Grpc 等傳統(tǒng)機器人生態(tài)或云服務生態(tài),支持漸進式升級您的存量系統(tǒng)。

 

        AimRT 現(xiàn)階段不是什么?


? AimRT 并不包括一個龐大的生態(tài),它目前定位還只是一個通信框架,其原生生態(tài)建設還需要較長時間。


? AimRT 并不是對某些已有生態(tài)、框架的簡單替代,它有著強大的兼容性,致力于打通現(xiàn)有的各個生態(tài)孤島,是對已有生態(tài)的有力補充。





03/

AimRT 有哪些特點?


        AimRT 具有以下主要特點:


        1. 輕量、易于集成部署:AimRT 非常輕量,約數萬行代碼,依賴很少,不挑操作系統(tǒng),易于部署集成。


        2. 設計更現(xiàn)代:AimRT 充分利用后發(fā)優(yōu)勢,基于 C++20 開發(fā),在資源管控、異步編程、可觀測性等許多方面都吸取了很多更現(xiàn)代、更主流的設計思想。


        3. 插件化設計:AimRT 提供了大量插接點和查詢 API,對插件開發(fā)友好,可靈活定制插件滿足特定需求。


        4. 支持更多底層通信方式:AimRT 的通信層由插件實現(xiàn),官方支持 ROS2、Zenoh、Http、Grpc、Mqtt 等通信插件,覆蓋常見的端、云通信場景。可以實現(xiàn)同一套上層代碼,無縫接入多套通信方式。


        5. 對云、AI領域支持較好:AimRT 從上層通信接口、底層通信方式上都對云、AI 領域支持的更好,支持Protobuf 做為接口協(xié)議,兼容原生 HTTP、Grpc、Mqtt 等。


        6. 兼容ROS2:AimRT 支持 ROS2 協(xié)議和 ROS2 插件,可以和原生 ROS2 模塊通信,兼容大部分 ROS2 生態(tài)的模塊。





04/

AimRT 的設計架構是什么樣的?


        目前,AimRT 主要有以下幾大核心功能:Configuration、Log、Executor、Parameter、RPC、Channel。

 

        AimRT 提供了一套業(yè)務模塊方向的接口,讓業(yè)務開發(fā)者來使用這些功能;同時 AimRT 還提供了一套插件開發(fā)方向的接口,讓插件開發(fā)者來增強這些功能。

 

        AimRT 整體架構圖如下:


jd1.png


        例如,上層的業(yè)務開發(fā)者只需要基于 RPC 接口進行 client 調用,而不用關心底層到底是用什么方式進行的通信。AimRT 官方提供了基于 grpc、http 的 RPC 后端,用戶可在運行時進行配置,使各個模塊之間在底層通過這些方式進行通信,并且還能夠和原生服務通信。當模塊部署在同一個進程內,還可以通過 local 后端在進程內通信來加速。

 

        開發(fā)者也可以基于插件接口自行實現(xiàn)一個基于其他 RPC 組件的后端(例如 brpc),使得底層通信可以基于新的后端進行,并能夠和原生服務進行通信。





05/

AimRT 和 ROS2 的區(qū)別和聯(lián)系?


        在討論 AimRT 與 ROS2 的詳細區(qū)別之前,需要明確一下兩者的總體定位區(qū)別。總的來說,AimRT 是一個通信中間件,而提到 ROS2 時更多的是指整個 ROS2 生態(tài),包括 ROS2 的通信組件 rclcpp/rclpy 和 ROS2 的大量算法包、功能包。AimRT 目前更多的對標 ROS2 的通信組件層,而在生態(tài)層面與 ROS2 更多的是一種互補關系。

 

        對于狹義的通信中間件這層,AimRT 與 ROS2 中 rclcpp/rclpy 的區(qū)別如下:


jd2.png


        除了以上區(qū)別,AimRT 還提供了很多 ROS2 所沒有的獨特功能,例如執(zhí)行器管理、協(xié)程、過濾器等,官方提供的大量插件也提供了諸如錄播包、頻率監(jiān)控、鏈路追蹤等實用功能。

 

        而對于廣義的生態(tài)這個層面,智元公司后續(xù)會開源提供一些 AimRT 算法模塊、功能模塊,作為原生生態(tài)的起點。ROS2 由于發(fā)展時間較長,其在生態(tài)方面的積累還是非常豐富的。

 

        但 AimRT 插件化的設計帶來了強大的兼容能力,加載了 AimRT 官方提供的 ROS2 (Humble)插件的 AimRT 節(jié)點可以被認為就是一個 ROS2 節(jié)點,可以使用大部分 ROS2 (Humble)的生態(tài),例如 rviz 或 plotjuggler 等。





06/

AimRT 主要面向哪些使用群體?


        AimRT 的適用群體非常廣,除了可以在傳統(tǒng)機器人領域使用,還能用于 AI、云服務領域,甚至可以拿它寫游戲后臺!

 

        ? 對于傳統(tǒng)機器人領域開發(fā)者,基于 ROS2 開發(fā)運動控制、Slam 等算法模塊,你可以引入 AimRT 開發(fā)你的新模塊,并基于 ROS2 后端與你已有的原生 ROS2 模塊通信。


        ? 對于AI 領域開發(fā)者,基于 Python 或 C++ 開發(fā)圖像、音頻、大模型等算法,你可以直接在你的代碼中引入 AimRT 與 ROS2、Mqtt 等節(jié)點通信,獲取傳感器數據或發(fā)布結果。


        ? 對于云服務后臺開發(fā)者,基于 Python 或 C++ 開發(fā)云服務后臺,你可以直接使用 AimRT 開發(fā)你的后臺微服務,基于 Grpc 或 Http 等后端接收請求或與下游微服務通信。

 

        除此之外,如果:


        ? 你是一個大型單體 C++ 軟件的開發(fā)者,需要一些框架來讓你的代碼更加模塊化;


        ? 你是一個厭倦了在不同通信框架的代碼間切換,需要一套代碼適配不同通信方式;


        ? 你是一個新技術嘗鮮者,渴望體驗更現(xiàn)代的開發(fā)范式;


        你都可以嘗試使用 AimRT 來滿足你的需求,我們也歡迎開發(fā)者加入,共同建設 AimRT 的生態(tài)。





07/

AimRT 目前還有哪些不足?


        AimRT 作為一個非常新的機器人通信框架,必須要客觀的認識到它還有很多不足,還需要時間來發(fā)展。以下列出了一些具體的點:


? 在原生生態(tài)方面,還需要長時間的積累,雖然 AimRT 的兼容性可以一定程度緩解這方面的問題;

? AimRT 的使用量還是偏小,一些潛藏的問題可能還沒有完全暴露;

? AimRT 在工具鏈方面還有較大提升空間;

? AimRT 的文檔、示例等相對于 ROS2 還有一定差距;

? AimRT 在國際化方面還沒怎么起步;

? ... ...

 

        相信隨著時間的發(fā)展,AimRT 一定會逐步解決各種問題,成長為一個優(yōu)秀的機器人通信框架。





08/

AimRT 后續(xù)將會如何發(fā)展?


        AimRT 已于 2024 年9月25日正式開源,上線官網aimrt.org和 Github 主頁。后續(xù),將繼續(xù)采取小步快跑迭代的方式,預計2~4個月發(fā)布一個新版本,并將在 2024 年底發(fā)布 v1.0.0 正式版,屆時將在功能、文檔、測試等方面都達到一個較為完善的狀態(tài)。

 

        智元正式開源機器人中間件AimRT,旨在通過開源開放和生態(tài)共創(chuàng),共同推進工業(yè)機器智能化以及具身機器人產業(yè)創(chuàng)新與發(fā)展。通過社區(qū)協(xié)作,驅動技術創(chuàng)新的快速迭代和創(chuàng)新成果的極致共享,牽引更多企業(yè)和開發(fā)者參與到機器人生態(tài)建設之中,共同營造一個活躍繁榮的生態(tài)系統(tǒng),為AI與機器人技術的深度融合與最終產業(yè)落地作出貢獻。

 

        我們也歡迎有意愿的開發(fā)者加入我們的社區(qū),共同建設 AimRT 框架和生態(tài),具體方式請參考 AimRT 官網aimrt.org的說明。




陵川县| 麻栗坡县| 包头市| 斗六市| 昆明市| 正蓝旗| 绥阳县| 团风县| 略阳县| 吐鲁番市| 博野县| 东台市| 青岛市| 宁波市| 文昌市| 许昌市| 上思县| 恭城| 建昌县| 桃园市| 钟山县| 伊吾县| 阜城县| 盐山县| 应城市| 佛冈县| 江华| 禄丰县| 乐平市| 泗洪县| 湟中县| 微山县| 志丹县| 莆田市| 宝清县| 黔东| 九江县| 海兴县| 楚雄市| 曲靖市| 灌阳县|