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

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

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