從開始設計機器人到功能實現,這三個核心問題是作為工程師和科研人員必須要解決的:
機器人系統的設計和仿真
機器人算法早期驗證
連接機器人平臺和外設
使用MATLAB和Simulink,加速機器人從設計仿真到最終實現的每一步。
機器人的系統設計和仿真
機器人系統的設計是一個多領域學科的話題,包括機械、電子、軟件、運動學等。MATLAB和Simulink在設計早期可以進行基于多學科的仿真和計算,在不具備硬件的情況下對機器人系統和算法進行調試驗證,達到了早發現錯誤、節約成本的目的。
在機器人設計的最初階段,MATLAB可以借助其Symbolic Math Toolbox進行基于運動學和動力學的數值求解,從數學的角度進行可行性證明。
在證明的運動和動力學的數學模型正確后,可以借助SimMultibody將CAD模型導入,形成機器人的被控對象模型的機械部分。
在確認被控對象的的機械部分的正確性后,在機械關節部位用SimElectronics加入電機模型和角度傳感器模型,即被控對象模型的電子部分。
在機器人的本體模型完成后,可以通過Simulink以及相應的控制工具箱進行電機控制算法的搭建、仿真和調優,形成閉環的機械、電子、控制一體化的閉環仿真。
加入從運動軌跡規劃逆解到電機控制的角度位置的MATLAB程序,并集成至Simulink控制模塊中,就可以在仿真環境下完成運動學、電機控制在機械、電子、軟件一體化系統下的整體虛擬仿真調試。
半實物仿真調試。在確認所有控制部分準確無誤后,可以通過Simulink Real Time將控制部分下載到HIL系統中(Hardware-In-the-Loop),通過高速實時總線連接到真實機器人,進行半實物仿真。
機器人算法早期原型驗證
現代機器人所涉及的算法多種多樣,可按如下領域劃分為:
感知和傳感器融合類算法
行走路徑算法類
機械臂規劃和控制算法類
MATLAB通過各種工具箱為這些算法提供了開發和驗證平臺。
感知和傳感器融合類算法
隨著機器人的更新換代,越來越多的機器人有了人工智能(AI)的能力,人工智能相對于傳統機器人最主要增加了感知能力(例如攝像頭、雷達、激光雷達)以及對多種傳感器識別輸出的融合能力。MATLAB在這方面主要提供如下工具箱:
Image Processing Toolbox
Signal Processing Toolbox
Computer Vision System Toolbox
值得一提的是,隨著AI的快速演進和發展,機器學習和深度學習已經成為圖像處理方面的熱點。Statistics and Machine Learning Toolbox和Neural Network Toolbox適合于大規模圖像的機器學習和深度學習方面的訓練和識別技術。
在傳感器融合方面,機器人技術和汽車自動駕駛有相同的技術背景和需求。在此背景之下,Automated Driving System Toolbox提供了多種傳感器融合所需要的編程框架和多種算法,以及各種融合的示例供參考。
行走路徑算法類
在行走機器人算法方面,MATLAB可以通過柵格(Occupancy Grids),道路模擬器,地理數據等方式來便利地表示地圖。
在路徑規劃和跟隨、自動避障、姿態和定位方面,Robotics SystemToolbox提供了內置的PRM,Pure Pursuit,VFH,Monte CarloLocalization,Scan Matching等現成算法和功能供使用。也可以用MATLAB語言自己實行算法。
機械臂規劃和控制算法類
在機械臂機器人的規劃和控制算法中,常用的算法和功能包括:
Kinematics 和Inverse Kinematics
Kinematic Constraints
Dynamics 和Inverse Dynamics
Impedance Control
PID
Jacobian Transpose
Trajectory Planning and Optimization
ObstacleAvoidance
Robotics System Toolbox提供了機械臂的剛體樹(Rigid Body)表示,也提供了這些基本算法或樣例,可靈活地配合其他工具箱驗證這些算法。
連接機器人平臺和外設
機器人作為一個生態系統,圍繞這個機器人產業,市面上出現了很多機器人仿真平臺:
基于通用硬件的:Arduino,Raspberry Pi,LEGO MINDSTORMS等
MATLAB和Simulink提供了對ROS的支持。通過這些接口,用戶可以方便地通過ROS導入傳感器信息、測試機器人控制算法、也可以進行基于支持ROS的模擬器的虛擬仿真。
用戶還可以通過硬件支持包(Hardware Support Package)下載Arduino,Raspberry Pi,LEGO MINDSTORMS的支持包,用戶只需在MATLAB/Simulink中編寫控制算法就可很快地通過支持包生成代碼下載并運行在這些硬件平臺上。
代碼生成
在用戶通過控制算法的仿真和驗證之后,用戶可以通過Embedded Coder將Simulink算法直接生成標準C、C++代碼。
這些算法可以為:
電機控制算法
機器人運動控制算法
傳感器感知和融合算法
生成的C、C++代碼具有高度的可讀性和安全可靠性,可輕易適配至任何硬件或者操作系統。
德國宇航中心的Justin機器人是世界上最先進的機器人之一。Justin有兩個手臂,可移動,是一種人形機器人。開發團隊使用MATLAB和Simulink設計機器人模型,開發先進的控制算法和路徑規劃算法。
它的53個自由度分布在不同機械部分,上身:19自由度,手臂:26自由度,移動平臺:8自由度。它是通過其頭部的立體相機和RGB-D傳感器來感知外界環境,在所有的關節都有力矩傳感器,并在其手指有皮膚觸覺傳感器。
-
傳感器
+關注
關注
2552文章
51293瀏覽量
755197 -
機器人
+關注
關注
211文章
28560瀏覽量
207697 -
模擬器
+關注
關注
2文章
879瀏覽量
43302
發布評論請先 登錄
相關推薦
評論