• 正文
    • AimRT的特點(diǎn)
    • AimRT的核心設(shè)計(jì)理念
    • AimRT的架構(gòu)
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

智元開(kāi)源機(jī)器人中間件AimRT

2024/09/26
1654
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

智元自主研發(fā)的機(jī)器人中間件AimRT正式開(kāi)源上線。

相關(guān)鏈接

    官網(wǎng):https://aimrt.org/文檔:https://docs.aimrt.org/index.htmlGitHub:https://github.com/AimRT/AimRTGitee:https://gitee.com/robot-os/AimRT

AimRT的特點(diǎn)

1、現(xiàn)代化、輕量級(jí)與高效性

AimRT基于現(xiàn)代C++新標(biāo)準(zhǔn)開(kāi)發(fā),摒棄了對(duì)其他庫(kù)的依賴,實(shí)現(xiàn)了輕量級(jí)、無(wú)依賴的架構(gòu)設(shè)計(jì)。這不僅提升了開(kāi)發(fā)效率,還降低了系統(tǒng)資源的消耗,使得AimRT成為ROS2等主流開(kāi)源中間件的輕量替代方案。

2.、高兼容性與靈活部署

AimRT能夠支持ROS2、gRPC、HTTP及MQTT等多種通信協(xié)議,為開(kāi)發(fā)者提供了靈活的選擇空間。無(wú)論是機(jī)器人端、邊緣端還是云端,AimRT都能高效運(yùn)行,滿足各種部署需求。

3.、強(qiáng)大的調(diào)試與性能分析工具

AimRT提供了完善的調(diào)試和性能分析工具,以及良好的可觀測(cè)性支持。這些工具能夠幫助開(kāi)發(fā)者快速發(fā)現(xiàn)并解決系統(tǒng)中的問(wèn)題,確保機(jī)器人系統(tǒng)的穩(wěn)定運(yùn)行。

4.、豐富的插件接口與拓展性

AimRT提供了全面的插件開(kāi)發(fā)接口,并附帶十余種官方插件。這些插件涵蓋了機(jī)器人開(kāi)發(fā)的多個(gè)方面,如運(yùn)動(dòng)控制、圖像處理等。同時(shí),智元機(jī)器人也鼓勵(lì)開(kāi)發(fā)者進(jìn)行二次開(kāi)發(fā),以適應(yīng)更多特殊場(chǎng)景的需求。

AimRT的核心設(shè)計(jì)理念

1、Initialize 階段和 Start 階段

2、邏輯實(shí)現(xiàn)與部署運(yùn)行分離

AimRT 的一個(gè)重要設(shè)計(jì)思想是:將邏輯開(kāi)發(fā)與實(shí)際部署運(yùn)行解耦。

3、AimRT 中的線程資源

4、兼容第三方生態(tài)

AimRT 的底層通信是交給插件來(lái)執(zhí)行的,也可以借此實(shí)現(xiàn)一些兼容第三方生態(tài)的功能。

AimRT的架構(gòu)

AimRT的架構(gòu)設(shè)計(jì)巧妙地平衡了硬件資源與高層應(yīng)用軟件之間的需求,為開(kāi)發(fā)者提供了一個(gè)清晰、易用的開(kāi)發(fā)環(huán)境。AimRT充分考慮了嵌入式系統(tǒng)的特性和需求,其主要模塊包括核心管理模塊、通信模塊、設(shè)備驅(qū)動(dòng)模塊、算法庫(kù)模塊以及應(yīng)用開(kāi)發(fā)模塊。

1. 核心管理模塊

核心管理模塊是AimRT的中樞神經(jīng),負(fù)責(zé)系統(tǒng)資源的高效管理和調(diào)度。它主要包括以下幾個(gè)子模塊:

任務(wù)管理:負(fù)責(zé)創(chuàng)建、刪除和管理系統(tǒng)中的任務(wù),包括實(shí)時(shí)任務(wù)和非實(shí)時(shí)任務(wù),確保各個(gè)任務(wù)在系統(tǒng)中的合理執(zhí)行和優(yōu)先級(jí)調(diào)度。

內(nèi)存管理:高效管理系統(tǒng)內(nèi)存資源,提供動(dòng)態(tài)內(nèi)存分配和釋放功能,確保內(nèi)存資源的合理利用和高效回收。

錯(cuò)誤處理:提供完善的錯(cuò)誤捕獲和處理機(jī)制,在系統(tǒng)運(yùn)行過(guò)程中檢測(cè)和處理各種可能的異常情況,保障系統(tǒng)的穩(wěn)定性和可靠性。

2. 通信模塊

通信模塊實(shí)現(xiàn)了功能模塊之間的高效通信,支持多種通信協(xié)議和方式。主要包括:

消息隊(duì)列:支持任務(wù)間通過(guò)消息隊(duì)列進(jìn)行數(shù)據(jù)傳遞,確保數(shù)據(jù)的有序傳遞和處理。

共享內(nèi)存:允許任務(wù)間通過(guò)共享內(nèi)存進(jìn)行數(shù)據(jù)共享,實(shí)現(xiàn)高速的數(shù)據(jù)交換。

網(wǎng)絡(luò)通信:支持TCP/IP、UDP等常用網(wǎng)絡(luò)協(xié)議,滿足遠(yuǎn)程數(shù)據(jù)通信需求。

串口通信提供對(duì)常見(jiàn)串行通信接口(UAR、CAN等)的支持,方便與外部設(shè)備進(jìn)行數(shù)據(jù)交互。

3. 設(shè)備驅(qū)動(dòng)模塊

設(shè)備驅(qū)動(dòng)模塊為開(kāi)發(fā)者提供了豐富的設(shè)備驅(qū)動(dòng)支持,能夠方便地接入各種傳感器執(zhí)行器。主要包括:

傳感器驅(qū)動(dòng):支持各種常見(jiàn)傳感器(如攝像頭、激光雷達(dá)、慣性測(cè)量單元等),并提供標(biāo)準(zhǔn)化接口,方便數(shù)據(jù)讀取和處理。

執(zhí)行器驅(qū)動(dòng):提供對(duì)各種執(zhí)行器(如電機(jī)、伺服機(jī)構(gòu)等)的驅(qū)動(dòng)支持,方便進(jìn)行運(yùn)動(dòng)控制和任務(wù)執(zhí)行。

存儲(chǔ)設(shè)備驅(qū)動(dòng):支持常見(jiàn)的存儲(chǔ)設(shè)備(如SD卡、USB存儲(chǔ)器等),方便數(shù)據(jù)存儲(chǔ)和讀取。

4. 算法庫(kù)模塊

算法庫(kù)模塊集成了一系列常用的機(jī)器人算法,涵蓋路徑規(guī)劃、運(yùn)動(dòng)控制和環(huán)境感知等方面,開(kāi)發(fā)者可以直接調(diào)用這些算法庫(kù),加速應(yīng)用開(kāi)發(fā)。主要包括:

路徑規(guī)劃算法:提供A*、Dijkstra、RRT等常見(jiàn)路徑規(guī)劃算法,幫助機(jī)器人在復(fù)雜環(huán)境中找到最優(yōu)路徑。

運(yùn)動(dòng)控制算法:支持PID控制、MPC(模型預(yù)測(cè)控制)等多種控制算法,確保機(jī)器人按照預(yù)定軌跡運(yùn)動(dòng)。

環(huán)境感知算法:集成SLAM(同步定位與地圖構(gòu)建)、目標(biāo)識(shí)別和跟蹤等算法,幫助機(jī)器人實(shí)時(shí)感知和理解周圍環(huán)境。

數(shù)據(jù)處理算法:提供信號(hào)濾波、數(shù)據(jù)融合等算法,提升傳感數(shù)據(jù)的精度和可靠性。

5. 應(yīng)用開(kāi)發(fā)模塊

應(yīng)用開(kāi)發(fā)模塊為開(kāi)發(fā)者提供了一系列簡(jiǎn)便的API和工具鏈,幫助快速開(kāi)發(fā)和部署機(jī)器人應(yīng)用。主要包括:

標(biāo)準(zhǔn)化API接口:提供統(tǒng)一的API接口,方便調(diào)用各個(gè)模塊的功能,加速開(kāi)發(fā)進(jìn)程。

開(kāi)發(fā)工具鏈:集成豐富的開(kāi)發(fā)工具(如代碼編輯器、調(diào)試器、編譯器等)和插件,提升開(kāi)發(fā)效率。

仿真環(huán)境:提供虛擬仿真環(huán)境,開(kāi)發(fā)者可以在仿真環(huán)境中測(cè)試和驗(yàn)證算法和功能,減少硬件調(diào)試的時(shí)間和成本。

調(diào)試工具:提供實(shí)時(shí)調(diào)試和監(jiān)控工具,幫助開(kāi)發(fā)者快速定位和解決問(wèn)題,提升系統(tǒng)穩(wěn)定性。

最后

AimRT的開(kāi)源,是智元機(jī)器人對(duì)機(jī)器人技術(shù)發(fā)展的又一次貢獻(xiàn)。它不僅為嵌入式行業(yè)相關(guān)工作者和學(xué)生提供了一個(gè)高效、靈活的開(kāi)發(fā)工具,更為整個(gè)機(jī)器人行業(yè)的發(fā)展注入了新的活力。

隨著更多企業(yè)和開(kāi)發(fā)者的參與,AimRT將不斷壯大其生態(tài)系統(tǒng),推動(dòng)機(jī)器人技術(shù)的不斷創(chuàng)新與發(fā)展。

讓我們共同關(guān)注AimRT!

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

本公眾號(hào)專注于嵌入式技術(shù),包括但不限于C/C++、嵌入式、物聯(lián)網(wǎng)、Linux等編程學(xué)習(xí)筆記,同時(shí),公眾號(hào)內(nèi)包含大量的學(xué)習(xí)資源。歡迎關(guān)注,一同交流學(xué)習(xí),共同進(jìn)步!