本文結合珞石的研發實際介紹一些機器人控制器的設計原則,主要包含以下內容:
1.如何寫一個簡單的機器人控制系統
2.現代機器人控制系統的設計原則
3.Design for Robots
4.Design for Applications
5.Design for Human
6.結語-費米悖論
1、如何寫一個簡單的機器人控制系統
從技術角度講,編寫一個簡單的機器人控制系統(Robot Controller,以下稱RC)讓機器人動起來確實不難,幾萬行代碼足矣。一個極簡版機器人控制系統可以分成幾個模塊:程序編輯器,解釋器,路徑規劃器,插補器,運動學逆解,硬件接口模塊,以讓機器人末端走一條直線為例:

如何搭建起來呢?
· 程序編輯器,可以找開源的文本編輯器改造;
· 解釋器,可以用正則表達式實現;
· 路徑規劃器,可以照著《機器人導論》第七章來;
· 插補器,也可以照著《機器人導論》第七章來;
運動學逆解,可以照著《機器人導論》第四章來;
· 硬件接口模塊,可以買現成的運動控制卡,也可以移植開源的通信協議棧。
另外網絡上有海量的基礎開源代碼可以供參考甚至直接使用,并不需要多大的工作量。一個有點編程基礎,了解基本機器人學的工程師兩個月就能“搞定”這樣一個“機器人控制系統”。
【Wola, you’ve made youself a robot controller ! 】
【You even don’t have to go through the whole book! ”What’s jacobian“?】
這樣的控制系統優化一下穩定性和用戶界面(HMI),也可以應付簡單的工作,放在三十年前也是世界一流水平。
2、當代工業機器人控制系統設計原則
上面的極簡版控制器實際是按從示教上的直觀體驗來設計的:能執行文本指令進行運動。僅從此點看,現在四大家的控制系統似乎也不過如此了。
事實上,經過這些多年的發展,控制系統早已不能用這種簡單描述來概括了。
當代的工業機器人控制系統至少考慮以下設計原則:

1. Design for Robots
2. robots has singularities, limitedpower, flexible structure;
3. imperfectly manufactured
4. by no means a perfect effector
5. Design for Applications
6. sensor-based path planning
7. FT sensor-based functions
8. communication protocols
9. easy integration
10.process-specific functions
11.highly reliable, robust and scalablesoftware architecture
12.Design for Human
13.intuitive interaction
14.easy-to-use
15.safety requirements
以上列出的細分點,每一個都可以寫一個很大的專題,因此本文只能給出一些概括性的介紹,歡迎各位一起探討。
2.1、Design for Robots
控制系統首先需要控制機器人的機電系統,發揮出機器人應有的性能,滿足性能需求。像上述極簡版控制器那么處理是肯定不行的,單以走直線為例,不考慮奇異的問題,實際中幾乎無法使用。 現實中的工業機器人絕非理想的執行器:輸出功率有限、結構有柔性、加工有誤差。在這些約束下如何滿足諸如高速高精度的性能要求,是控制系統必須解決的首要問題。
在成本限制下,當代控制系統一般采用基于模型的控制方案,首先需要一套動力學計算模型并辨識出準確的參數,這是基
此外工業上對機器人的節拍通常有很高的要求,這就需要控制系統在規劃過程中顯式地考慮機器人本體的動力學特性。
這是一個優化問題,而由于機器人連續運動的特點,離線優化方案一般不能使用。如何處理諸多不同類型的約束條件,如何設計在線優化算法,是當代控制系統要考慮的核心問題之一。
▲OptiMotion在線軌跡優化技術@ROKAE
高適用性、高穩定性、高可擴展性的軟件架構
當代工業機器人涉及到力學、感知、優化、控制、計算機、通訊等多個專業學科門類,又涉及到各種各樣的軟件硬件,還涉及復雜多變的應用場景。這對控制系統提出了諸多挑戰:
如何支持機器人各種控制策略的實現與切換;
如何實現多層級/多模塊間的實時數據交互;
如何保證諸多功能的并行不悖;
如何進行長時間穩定運行而不進入錯誤狀態;
如何設計友好的人機交互;沒有一個足夠健壯和開放的軟件架構幾乎是不可想象的。
機器人誤差標定與補償
工業機器人在生產時必然會引入加工裝配誤差;在負載狀態下又會發生彈性變形。為提高精度,一般會經過出廠前的標定,通過辨識方法來得到準確的幾何誤差和變形偏差,進而在控制系統內進行補償。更多關于誤差的內容可以參考:
韓峰濤:工業機器人有哪些誤差,需要做哪些校準?
基于模型的控制方案考慮了機器人本體的諸多特性,這是當代工業機器人控制系統有別于通用運動控制卡/器的一大特點,也是一大優勢?,F在主流的工業機器人有當前的性能,有賴于此。
隨著模型和算法的不斷復雜,如何優化/復用計算,如何分配計算量也成了軟件實現時不得不考慮的問題;Design forRobots也意味著軟硬件的聯合設計,例如如何用最小的成本達到功能性能需求,軟硬件的綜合優化才能達到成本與性能的良好平衡。
正是基于這樣的限制和需求,現在世界上幾乎所有的機器人大廠才選擇了自己研發控制系統+機械本體設計,其他諸如電機、減速器等零部件外購的策略。
工業應用可以說是工業機器人控制系統的發展的主要推動力。過去,其發展長期受汽車工業的需求驅動;隨著應用場景的擴展,各種新應用也對控制系統提出了各種各樣的需求。
基于傳感器的路徑規劃 sensor-based path planning
能根據傳感器信息來在線生成和修正路徑是當代工業機器人控制系統為許多應用提供支撐的一個重要基礎。
基于傳感器的路徑規劃需要根據外部傳感器(例如攝像頭、編碼器、焊縫跟蹤儀、3D相機等)的反饋信息,在位置、速度、加速度等約束條件下快速響應,動態生成、修正和優化機器人軌跡。典型的應用包括傳送帶跟蹤、焊縫跟蹤、視覺伺服、非結構環境下動態規劃與避障等。
▲傳送帶軌跡跟蹤@ROKAE
基于力傳感器的力控 F/T sensor-based force control
在打磨、拋光、裝配等與環境設備高度交互的一類應用中,在外部環境及機器人存在位置偏差時,只進行位置控制很容易造成設備或者工具損壞。
通過力/力矩傳感器(F/T Sensor)測量引入力反饋回路,并通過力反饋回路的控制改變機器人運動特性,從而起到機器人與外部環境動態交互的作用,在機器人與外部環境存在偏差或不確定性時,仍能保證交互過程的平穩安全。
如何以統一的框架滿足種類繁多的力控制應用需求,是當代工業機器人控制系統需要解決的難點之一。
工藝 process-specific functions
成熟的工業機器人控制系統一般積累了許多工藝選項包,例如ABB和KUKA都提供了種類繁多的可選工藝軟件包:
2.3、Design for Human
越來越多的應用場景需要取消隔離欄,取而代之的是機器人與人的近距離協作,此時機器人與人交互的直觀性和安全性變得尤為重要。
協作機器人的本質是安全和易于使用,這是控制和軟件的創新。
關于協作機器人的更多內容,也可參考:
讓機器人更安全(二)- 協作機器人的興起
國產協作機器人的機遇與挑戰
直觀交互 intuitive interaction
由于缺少專業的機器人調試人員,機器人應用過程中的復雜性是阻礙中小企業機器人應用的重要障礙,因此直觀的交互方式、簡易的故障恢復措施是當代控制系統面臨的挑戰之一。不管是離線編程、拖動示教還是新興的語音示教、自主規劃,都是機器人在努力降低使用門檻的嘗試。
安全 safety requirements
機器人大規模應用的前提是必須在盡可能低成本和高使用自由度的情況下保證安全。
碰撞檢測技術通過機器人自身測量信息或外部傳感器信息,實時感知機器人與外部的異常接觸,同時采取有效的避障處理措施,從而降低碰撞造成的風險,是人機協作過程中保證人員和設備安全的重要技術途徑。
3、成熟技術在哪里?
3.1 費米悖論
還有一種常見的觀點:工業機器人搞了這么多年,各種問題都應該上升到了理論,課本上都應該有了解決方案,只要照本宣科即可,因此沒什么可搞的。
這使筆者想到了費米悖論。
物理學家恩里科·費米在和人討論外星人的存在性時,突然來了一句:“他們都在哪兒呢?”?!钪婀爬隙鴱V闊,高技術文明的外星人很可能存在并來到地球,但為什么人類至今還沒有發現他們呢?
類似的,如果技術成熟又不乏專家,為什么大部分工廠充斥著的是國外的數控機床、機器人、自動化設備?為什么沒有人花兩個月造個趕超fanuc的機器人然后把圖紙和代碼開源出來?那樣整個行業都會心懷感激照抄不誤的。
3.2 語料分析之《機器人手冊》
有時候,調研人員可能面對不熟悉領域的學術和技術情況感到難以下手。除了訪談式的調研,筆者有一個建議:多做些語料分析工作。
比如機器人行業,2008年Springer出版了大神OussamaKhatib和Bruno Siciliano主編的《機器人手冊》(Springer Handbook of Robotics),2016年又出了第二版。這本手冊全景式的展示了機器人學的諸多領域,應該是分析機器人學科和行業的一個繞不過去的素材。
不需理解專業內容,單從語料分析的角度來對這部手冊進行統計分析,就會很多有意思的結論。比如:
1. 搜關鍵字“industrialrobot”,統計工業機器人在機器人手冊所占的篇幅。對比商業應用的占比。
2. 搜工業機器人廠家的名字:fanuc,yaskawa, kuka, abb等等, 統計其在機器人手冊中出現的篇幅。對比各家出貨量。
3. 統計編著者的分布:工業界和學術界的占比;各作者的國籍分布。
4. 各章引文的作者分布:工業界和學術界的占比;各作者的國籍分布。
做完以上統計,調研人員可以獲得以下數據對比,不一定準確,請各自品味。
