OSCHINA
在機(jī)器人技術(shù)飛速發(fā)展的今天,實(shí)時(shí)操作系統(tǒng)如何突破硬件碎片化與響應(yīng)速度的桎梏?國產(chǎn)開源操作系統(tǒng) RT-Thread 正以硬實(shí)時(shí)內(nèi)核與模塊化生態(tài)開辟新路徑。
本文專訪嵌入式專家梁瑛健,揭秘其 3 微秒極速響應(yīng)的技術(shù)內(nèi)核,解析跨平臺(tái)混合部署實(shí)戰(zhàn)案例,并前瞻 AI 大模型與機(jī)器人深度融合背景下操作系統(tǒng)的進(jìn)化方向,為開發(fā)者呈現(xiàn)智能時(shí)代機(jī)器人軟件開發(fā)的破局之道。
本周六,梁瑛健也將出席【未來智造:機(jī)器?軟件系統(tǒng)技術(shù)前沿】OSC 源創(chuàng)會(huì)?深圳站活動(dòng),并發(fā)表【RT-Thread 為機(jī)器人軟件系統(tǒng)賦能】主題演講。
議題簡介
隨著機(jī)器人應(yīng)用場(chǎng)景的多樣化與智能化,操作系統(tǒng)面臨實(shí)時(shí)性不足、硬件碎片化、開發(fā)效率低下的問題。
RT-Thread 作為國產(chǎn)開源實(shí)時(shí)性的操作系統(tǒng),正通過“硬實(shí)時(shí)內(nèi)核 + 模塊化生態(tài) + 全棧工具鏈”的獨(dú)特優(yōu)勢(shì),為機(jī)器人軟件系統(tǒng)開發(fā)提供高效、靈活的解決方案。
報(bào)名入口: https://www.oschina.net/event/8595590
問:機(jī)器人場(chǎng)景對(duì)于操作系統(tǒng)有哪些特別的需求?RT-Thread 可以如何滿足這些需求?
答:
機(jī)器人場(chǎng)景中,對(duì)于操作系統(tǒng)的需求最主要的是硬實(shí)時(shí)性、高模塊化、跨平臺(tái)兼容性和低功耗支持。
比如硬實(shí)時(shí)性方面,其終端響應(yīng)需要達(dá)到微秒級(jí)別。比如機(jī)器人在做一些高速運(yùn)動(dòng)時(shí),或者是人形機(jī)器人在戶外行走,傳感器會(huì)采集很多數(shù)據(jù),傳感器數(shù)據(jù)采集后,就需要做大量運(yùn)算,每毫秒進(jìn)行多次判斷決策,這就可能導(dǎo)致整體表現(xiàn)較慢。因此,整個(gè)的操作系統(tǒng)需依賴高算力及強(qiáng)實(shí)時(shí)性,以便更快做出反應(yīng)判斷。
像是路徑規(guī)劃場(chǎng)景中,若僅考慮從 A 點(diǎn)到 B 點(diǎn)的速度,而忽略其他因素,理論上運(yùn)動(dòng)速度可以很快。然而,現(xiàn)實(shí)場(chǎng)景中的路徑規(guī)劃需考慮更多步驟和因素。系統(tǒng)需檢測(cè)是否存在障礙物,并根據(jù)障礙物情況做出反應(yīng)和反饋,接著重新規(guī)劃路徑,以確保沿著最優(yōu)路徑行進(jìn)。這就需要大量的運(yùn)算。
運(yùn)算處理主要是機(jī)器人主控系統(tǒng)來處理。即便機(jī)器人配備了多種傳感器,每個(gè)傳感器都能快速傳輸數(shù)據(jù),每毫秒可能產(chǎn)生多條傳感采集數(shù)據(jù),頻率很高。但如果機(jī)器人的運(yùn)算速度不夠快,響應(yīng)也會(huì)相應(yīng)變慢,表現(xiàn)為整體動(dòng)作遲緩。因此,機(jī)器人依賴主控系統(tǒng)的快速反饋,即接收數(shù)據(jù)、進(jìn)行運(yùn)算、得出結(jié)果并控制反饋。
RT-Thread 系統(tǒng)具有主控功能,其中斷響應(yīng)時(shí)間可以達(dá)到 3 微秒以內(nèi)。相比之下,像 Linux 這樣的大型系統(tǒng),其中斷響應(yīng)時(shí)間可能是毫秒級(jí)別,甚至達(dá)到秒級(jí)。
高模塊化就是需要每個(gè)功能的單獨(dú)模塊或者組件可以任意裁剪、添加。RT-Thread 構(gòu)建之初,就配備了較為豐富的中間件。其內(nèi)核與組件是相互獨(dú)立的,這是因?yàn)槲覀儾捎昧藰?biāo)準(zhǔn)的設(shè)備框架和統(tǒng)一的驅(qū)動(dòng)外設(shè)。這樣,每個(gè)功能都可以被單獨(dú)劃分為一個(gè)模塊,根據(jù)需求進(jìn)行裁剪和擴(kuò)展,從而提高代碼的復(fù)用性。
整體而言,RT-Thread 可以為機(jī)器人開發(fā)者提供國產(chǎn)開源、硬實(shí)時(shí)、模塊化生態(tài)的操作系統(tǒng),助力高效開發(fā)和靈活適配。
問:機(jī)器人硬件架構(gòu)差異大,RT-Thread 是否可以實(shí)現(xiàn)跨平臺(tái)兼容?能否舉例說明某款機(jī)器人產(chǎn)品如何快速適配不同芯片?
答:
RT-Thread 通過模塊化驅(qū)動(dòng)框架和統(tǒng)一外設(shè)接口實(shí)現(xiàn)跨平臺(tái)兼容,開發(fā)者無需過多關(guān)注底層芯片差異。
比如某語音對(duì)話機(jī)器人原用 A 芯片,因缺貨成本暴漲,快速切換至高性價(jià)比 B 芯片,業(yè)務(wù)代碼幾乎無需修改即可運(yùn)行,依托 RT-Thread 的統(tǒng)一接口和模塊化設(shè)計(jì),大幅降低適配成本。
問:對(duì)比傳統(tǒng) ROS 或 FreeRTOS,RT-Thread 的優(yōu)勢(shì)在哪?
答:
簡單易用:架構(gòu)清晰,調(diào)試便捷,支持多種編譯工具。
跨平臺(tái)支持:適配主流芯片,解決硬件碎片化問題。
豐富中間件:提供多樣化組件和軟件包,減少重復(fù)開發(fā)。
高可伸縮性:支持裁剪與擴(kuò)展,提升代碼復(fù)用性。
本地化技術(shù)支持團(tuán)隊(duì),項(xiàng)目上使用 RT-Thread 有任何問題,都可得到技術(shù)支持。
問:能否分享一個(gè) RT-Thread 在機(jī)器人領(lǐng)域的成功落地案例?以及目前 RT-Thread 應(yīng)用比較多的是什么場(chǎng)景?
答:
某服務(wù)機(jī)器人項(xiàng)目需在多核處理器上混合部署 Linux 和 RT-Thread,以兼顧實(shí)時(shí)控制和復(fù)雜應(yīng)用。我們通過采用 AMP 模式,Linux 運(yùn)行原有應(yīng)用,RT-Thread 負(fù)責(zé)高實(shí)時(shí)性運(yùn)動(dòng)控制,顯著提升系統(tǒng)響應(yīng)速度和穩(wěn)定性,完美解決實(shí)時(shí)性瓶頸。
我們做過許多虛擬化混合部署的案例,即 Linux 系統(tǒng)與我們自主研發(fā)的 RT-Thread 相結(jié)合。這種混合部署方式允許運(yùn)行原生的 Linux 應(yīng)用,而 RT-Thread 系統(tǒng)則負(fù)責(zé)運(yùn)動(dòng)控制。因?yàn)閷⑺性械膽?yīng)用遷移到 RT-Thread 并不現(xiàn)實(shí),因此,虛擬化混合部署很好地解決了這個(gè)問題,通過多種系統(tǒng)協(xié)同工作。
現(xiàn)在,高性能的 SoC 通常都是多核的,可以分配一些核心來運(yùn)行原生的 Linux 應(yīng)用,同時(shí)其他核心運(yùn)行 RT-Thread 系統(tǒng)進(jìn)行高性能的實(shí)時(shí)控制,這樣顯著提升了系統(tǒng)響應(yīng)速度和穩(wěn)定性。
具體到終端產(chǎn)品方面,我們主要做工業(yè)機(jī)械臂和服務(wù)機(jī)器人,比如教育行業(yè)的語音陪伴機(jī)器人,這類機(jī)器人不僅僅是一個(gè)教育工具,同時(shí)還具備運(yùn)動(dòng)控制功能,這使得它的實(shí)用性更強(qiáng)。
問:隨著 AI 與機(jī)器人深度融合,RT-Thread 未來是否會(huì)強(qiáng)化對(duì) AI 框架或者大模型的支持?在智能化趨勢(shì)下,操作系統(tǒng)需要哪些新能力?
答:
RT-Thread 已在強(qiáng)化 AI 支持,例如通過 LLVM 軟件包簡化 MCU 接入大模型的流程。比如我們控制一個(gè)機(jī)械臂,需要接入一個(gè)大模型。
實(shí)際上,我們剛才提到的 RT-Thread 系統(tǒng)中有一個(gè) LLVM 軟件包,可以將這個(gè)軟件包添加到機(jī)械臂控制系統(tǒng)中。這里需要實(shí)現(xiàn)的功能包括支持語音輸入,即語音錄入和播放功能。
此外,機(jī)械臂的動(dòng)作也需要根據(jù)交互指令來執(zhí)行,例如通過語音控制直接抓取或移動(dòng)到指定位置。
智能化趨勢(shì)下,操作系統(tǒng)需提升:
異構(gòu)計(jì)算與 AI 加速:支持 AI 框架深度融合。
安全與隱私:強(qiáng)化數(shù)據(jù)保護(hù)機(jī)制。
多模態(tài)交互:支持語音、視覺等自然交互融合。
問:對(duì)于想嘗試 RT-Thread 的機(jī)器人開發(fā)者,您建議從哪些功能模塊入手?社區(qū)提供了哪些資源(如文檔、開源項(xiàng)目)幫助他們快速上手?
答:
建議從 ROS 小車運(yùn)動(dòng)控制模塊入手,簡單易上手。
社區(qū)資源:提供詳細(xì)教程、API 文檔、開源示例項(xiàng)目(如小車控制 demo),以及活躍的論壇和倉庫,幫助開發(fā)者快速上手。
問:您認(rèn)為機(jī)器人行業(yè)需要怎樣的操作系統(tǒng)生態(tài)?對(duì)開發(fā)者、芯片廠商和終端企業(yè)有何合作倡議?
答:
需要一個(gè)以技術(shù)創(chuàng)新為主,開放靈活、可持續(xù)的操作系統(tǒng)生態(tài)。
合作倡議:
開發(fā)者:勇于創(chuàng)新,驅(qū)動(dòng)技術(shù)突破。
芯片廠商:共建開放生態(tài),統(tǒng)一標(biāo)準(zhǔn)。
終端企業(yè):以極致用戶體驗(yàn)為目標(biāo),攜手優(yōu)化產(chǎn)品。
↓分享、在看與點(diǎn)贊~Orz
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.