機(jī)器人系統(tǒng)開發(fā)中的關(guān)鍵技術(shù)的理論闡述
近年來,隨著工業(yè) 4.0 標(biāo)準(zhǔn)的不斷推進(jìn)和人工智能、物聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)的快速發(fā)展,機(jī)器人產(chǎn)業(yè)迎來新一輪浪潮,正逐步向系統(tǒng)化、模塊化、智能化的方向發(fā)展。除了傳統(tǒng)的工業(yè)機(jī)器人外,在特種機(jī)器人和服務(wù)機(jī)器人領(lǐng)域,如水下機(jī)器人、娛樂機(jī)器人、醫(yī)療機(jī)器人、教育機(jī)器人、物流機(jī)器人等也都得到了大量的應(yīng)用。
那么如何利用機(jī)器視覺、多傳感器融合、自主導(dǎo)航、交互系統(tǒng)等技術(shù)進(jìn)一步加速機(jī)器人產(chǎn)品的智能化融合,如何快速有效地提高產(chǎn)品開發(fā)效率,促進(jìn)產(chǎn)品迭代周期就成為業(yè)界產(chǎn)品研發(fā)的重要課題。本文聚焦于感知、決策和執(zhí)行等機(jī)器人系統(tǒng)開發(fā)全面環(huán)節(jié),闡述如何利用MATLAB& Simulink將機(jī) 器人構(gòu)想、概念轉(zhuǎn)變?yōu)樽灾飨到y(tǒng)的相關(guān)技術(shù)環(huán)節(jié),并展示系統(tǒng)級建模、仿真、測試及自動代碼生成技術(shù)在產(chǎn)品開發(fā)中的實(shí)際應(yīng)用。Iframe
(自主機(jī)器人的路徑規(guī)劃和導(dǎo)航)
使用 MATLAB 和 Simulink,您能夠:
使用您開發(fā)的算法連接并控制機(jī)器人。
開發(fā)跨硬件的算法并連接到機(jī)器人操作系統(tǒng) (ROS)。
連接到各種傳感器和作動器,以便您發(fā)送控制信號或分析多種類型的數(shù)據(jù)。
可采用多種語言,如 C++/C++、VHDL/Verilog、結(jié)構(gòu)化文本和 CUDA,為微控制器、FPGA、PLC和 GPU 等嵌入式目標(biāo)自動生成代碼,從而擺脫手動編碼。
使用預(yù)置的硬件支持包,連接到低成本硬件,如 Arduino 和 Raspberry Pi。
通過創(chuàng)建可共享的代碼和應(yīng)用程序,簡化設(shè)計評審。
可利用遺留代碼,并與現(xiàn)有機(jī)器人系統(tǒng)集成。
使用 MATLAB 和 Simulink 簡化機(jī)器人路徑規(guī)劃和導(dǎo)航的復(fù)雜任務(wù)。此演示介紹了如何仿真自主機(jī)器人,只使用三個組件:路徑、汽車模型和路徑跟蹤算法。
一、機(jī)器人物理系統(tǒng)建模
在機(jī)器人系統(tǒng)開發(fā)中,通過對被控物理系統(tǒng)進(jìn)行準(zhǔn)確的建模仿真,可以幫助開發(fā)人員更加容易設(shè)計出實(shí)現(xiàn)預(yù)定控制目標(biāo)的控制器并且評估機(jī)器人物理系統(tǒng)的行為。
在設(shè)計機(jī)器人硬件平臺時,利用MATLAB和Simulink可以設(shè)計和分析三維剛體機(jī)械機(jī)構(gòu)(如汽車平臺和機(jī)械臂)和執(zhí)行機(jī)構(gòu)(如機(jī)電或流體系統(tǒng))。通過直接向 Simulink 中導(dǎo)入URDF文件或利用 SolidWorks和Onshape等CAD 軟件,可以直接使用現(xiàn)有CAD文件,添加摩擦等約束條件,使用電氣、液壓或氣動以及其他組件進(jìn)行多域系統(tǒng)建模。運(yùn)行后,可將設(shè)計模型重用為數(shù)字映射。
在機(jī)器人物理系統(tǒng)設(shè)計領(lǐng)域,MathWorks的Simscape產(chǎn)品系列提供全面的物理系統(tǒng)設(shè)計組件,包括機(jī)械、電器、磁場、液壓、氣壓和熱等,可跨越復(fù)合物理區(qū)域進(jìn)行建模。
二、機(jī)器人環(huán)境感知
機(jī)器人環(huán)境感知是智能機(jī)器人的神經(jīng)中樞,作用是獲取機(jī)器人內(nèi)外部環(huán)境信息,并把這些信息反饋給控制系統(tǒng)進(jìn)行決策。
開發(fā)人員可以開發(fā)跨硬件的算法并連接到機(jī)器人操作系統(tǒng) (ROS),通過 ROS 連接到傳感器。攝像機(jī)、LiDAR 和 IMU 等特定傳感器有ROS消息,可轉(zhuǎn)換為MATLAB數(shù)據(jù)類型進(jìn)行分析和可視化。設(shè)計人員可以實(shí)現(xiàn)常見傳感器處理工作流程自動化,比如導(dǎo)入和批處理大型數(shù)據(jù)集、傳感器校準(zhǔn)、降噪、幾何變換、分割和配準(zhǔn)。
在獲取到傳感器的數(shù)據(jù)之后,利用內(nèi)置的 MATLAB 應(yīng)用程序,可交互地執(zhí)行對象檢測和追蹤、運(yùn)動評估、三維點(diǎn)云處理和傳感器融合。使用卷積神經(jīng)網(wǎng)絡(luò) (CNN),運(yùn)用深度學(xué)習(xí)進(jìn)行圖像分類、回歸分析和特征學(xué)習(xí)。將算法自動轉(zhuǎn)換為 C/C++、定點(diǎn)、HDL 或 CUDA 代碼。
三、機(jī)器人路徑規(guī)劃和軌跡控制
運(yùn)動規(guī)劃是機(jī)器人控制的重要決策依據(jù),是確保機(jī)器人達(dá)到目的的最優(yōu)路徑并不與任何障礙物碰撞的手段。
在進(jìn)行機(jī)器人運(yùn)動規(guī)劃和軌跡控制時,可以通過以下的方式實(shí)現(xiàn)
1)使用 LiDAR 傳感器數(shù)據(jù),通過 Simultaneous Localization and Mapping (SLAM) 創(chuàng)建環(huán)境地圖;
2)通過設(shè)計路徑規(guī)劃算法進(jìn)行路徑和運(yùn)動規(guī)劃,在受約束的環(huán)境中導(dǎo)航;
3)使用路徑規(guī)劃器,計算任何給定地圖中的無障礙路徑;
4)實(shí)現(xiàn)狀態(tài)機(jī),定義決策所需的條件和行動;
5)設(shè)計決策算法,讓機(jī)器人在面對不確定情況時能做出決策,在協(xié)作環(huán)境中執(zhí)行安全操作。
四、基于AI的機(jī)器人控制系統(tǒng)設(shè)計
如何賦予機(jī)器人自主學(xué)習(xí)的能力,是人工智能領(lǐng)域的重要發(fā)展方向,為適應(yīng)日趨復(fù)雜的應(yīng)用場景,需要機(jī)器人系統(tǒng)學(xué)習(xí)大量的輸入數(shù)據(jù),自動優(yōu)化控制策略。
利用MATLAB & Simulink可以實(shí)現(xiàn)基于強(qiáng)化學(xué)習(xí)的機(jī)器人控制系統(tǒng)設(shè)計。設(shè)計人員使用算法和應(yīng)用程序,系統(tǒng)性地分析、設(shè)計和可視化復(fù)雜系統(tǒng)在時域和頻域中的行為。使用交互式方法(如波特回路整形和根軌跡方法)來自動調(diào)節(jié)補(bǔ)償器參數(shù)。還可以調(diào)節(jié)增益調(diào)度控制器并指定多個調(diào)節(jié)目標(biāo),如參考跟蹤、干擾抑制和穩(wěn)定裕度。并且可以實(shí)現(xiàn)代碼生成和需求可追溯性,有助于驗證設(shè)計人員的系統(tǒng),確認(rèn)符合要求。