使用開源代碼構建機器人時需要考慮的事項
或許你正在考慮(或正在進行)將機器人使用開源軟體推向市場。這個機器人是基於 linux 構建的。也許你正在使用機器人操作系統(ROS)或任務導向操作套件(MOOS),或者是另外一個可以幫助你簡化開發過程的開源中間件。 -- Kyle Fazzari
編譯自: https://insights.ubuntu.com/2017/07/18/things-to-consider-when-building-a-robot-with-open-source/
作者: Kyle Fazzari
譯者: SunWave
或許你正在考慮(或正在進行)將機器人使用開源軟體推向市場。這個機器人是基於 linux 構建的。也許你正在使用機器人操作系統[1](ROS)或任務導向操作套件[2](MOOS),或者是另外一個可以幫助你簡化開發過程的開源中間件。當開發接近實用化,對回報的期望開始給你帶來一些壓力。你可能會被問到「我們的產品什麼時候可以開始銷售?」,這時你將面臨重要的抉擇。
你可以做下面兩件事之一:
對現有的產品開始出貨
回過頭去,把產品化當做一個全新的問題來解決,並處理新的問題
不需要看很遠,就可以找到採用方式(1)的例子。事實上,在物聯網設備市場上,到處都是這樣的設備。由於急於將設備推向市場,這些可以在設備中找到硬編碼證書、開發密鑰、各種安全漏洞和沒有更新方式的產品並不少見。
想想 Mirai 殭屍網路,通過該殭屍網路發起的流量超過 1Tbps 的分散式拒絕服務攻擊(DDos),導致一些互聯網上最大的網站停止服務。這個殭屍網路主要由物聯網設備組成。這種攻破設備的防禦機制進而控制設備所開發的殭屍程序,是採用了超級酷的黑魔法在一個沒有窗戶的實驗室(或地下基地)開發的嗎?不是,默認(通常是硬編碼)證書而已。這些設備的製造商是否快速反應並發布所有這些設備的更新,以確保設備的安全?不,很多製造商根本沒有更新方法。他們召回設備而不是發布更新[3]。
不要急於將產品推向市場,而是退後一步。只要多思考幾點,就可以使你自己和你所在公司避免痛苦。
例如,你的軟體如何更新?你必須能回答這個問題。你的軟體不是完美的。只要幾個星期你就會發現,當你在加利福尼亞使用自主的高機動性多用途輪式車輛(HMMWV)時,它把小灌木識別為一棵橡樹。或者你不小心在軟體中包含了你的 SSH 密鑰。
基礎操作系統如何更新?也許這仍然是你的產品的一部分,也是你回答上一個問題的答案。但也許你使用的操作系統來自於另外一個供應商。你如何從供應商那裡得到更新並提供給客戶?這就是安全漏洞真正讓你頭痛的地方:從來不更新的內核,或者嚴重過時的 openssl。
當你解決了更新問題,在更新過程出現問題時,機器人怎麼恢復?我的示例是對前面問題的一個常見解決方案:自動安全更新。對於伺服器和台式機以及顯然是計算機的東西來說,這是一個很好的做法,因為大多數人意識到有一個可接受的方法來關閉它,而不是按住電源按鈕 5 秒鐘。機器人系統(以及大多數物聯網系統)有一個問題,有時它們根本不被認為是計算機。如果您的機器人表現奇怪,有可能會被強制關閉。如果你的機器人行為奇怪是因為它正在快速安裝一個內核更新,那麼,現在你就有一個安裝了半個內核的機器人鎮紙了。你需要能夠處理這種情況。
最後,你的工廠流程是什麼?你如何安裝 Linux,ROS(或者你使用的中間件),以及你要安裝在設備上的你自己的東西?小的工廠可能會手工操作,但這種方法不成規模,也容易出錯。其他廠商可能會製作一個定製化的初始發行版 ISO,但這是個不小的任務,在更新軟體時也不容易維護。還有一些廠商會使用 Chef 或者有陡峭學習曲線的自動化工具,不久你就會意識到,你把大量的工程精力投入到了本來應該很簡單的工作中。
所有這些問題都很重要。針對這些問題,如果你發現自己沒有任何明確的答案,你應該加入我們的網路研討會[4],在研討會上我們討論如何使用開放源代碼構建一個商業化機器人。我們會幫助你思考這些問題,並可以回答你更多問題。
作者簡介:
Kyle 是 Snapcraft 團隊的一員,也是 Canonical 公司的常駐機器人專家,他專註於 snaps 和 snap 開發實踐,以及 snaps 和 Ubuntu Core 的機器人技術實現。
via: https://insights.ubuntu.com/2017/07/18/things-to-consider-when-building-a-robot-with-open-source/
作者:Kyle Fazzari[5] 譯者:SunWave 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出
[1]: 機器人操作系統 - http://www.ros.org/
[2]: 任務導向操作套件 - http://www.robots.ox.ac.uk/%7Emobile/MOOS/wiki/pmwiki.php/Main/HomePage
[3]: 他們召回設備而不是發布更新 - https://krebsonsecurity.com/2016/10/iot-device-maker-vows-product-recall-legal-action-against-western-accusers/
[4]: 網路研討會 - https://www.brighttalk.com/webcast/6793/268763?utm_source=insights
[5]: Kyle Fazzari - https://insights.ubuntu.com/author/kyrofa/
※漏洞修復八個月後,仍有超過七萬台 memcached 伺服器面臨危險
※一年之後,React.js 許可協議再起爭端
※熱烈祝賀!LCTT 第一位達成翻譯 500 篇成就的譯者 geekpi!
※Neo4j 圖資料庫基礎
※6 個學習 OpenStack 的新指南和教程
TAG:Linux技術 |
※在機器出事的時刻,人類要像機器一樣操作
※智能機器人時代
※汽車裝配工廠更需要人,而不是機器人
※關於人工智慧機器人是否需要人權的思考
※專註服務機器人領域,機器取代人的時代
※選購智能電話機器人應該注意的問題
※機器人並不會取代人類
※不是機器人給出的機器人新命題
※機器人是否要代替人類?
※使用機器學習前,企業需要做的10項準備工作
※機器人代替人工已經不是新鮮事了
※機器比人更需要通證
※機器換人後,紡織行業需要什麼樣的人才?
※能隨意轉動六面體的機器人系統,讓機器人手臂更具人類靈活性
※智能製造進行時 國內工業機器人需求激增背後是何原因?
※極趣@餐廳服務員是機器人 你是否做好與機器人一併工作的心裡準備
※陸戰機器人也許將會投入使用,科技終於將夢想變為現實
※現代重工擬用機器人建造船舶
※阿里曝光兩款商用服務機器人,真的要開始轉型
※性別模擬機器人將要出現,只需要充電就能養活,我們還需要異性嗎