使用開源代碼構建機器人時需要考慮的事項

使用開源代碼構建機器人時需要考慮的事項

或許你正在考慮(或正在進行)將機器人使用開源軟件推向市場。這個機器人是基於 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. 對現有的產品開始出貨

  2. 回過頭去,把產品化當做一個全新的問題來解決,並處理新的問題

不需要看很遠,就可以找到採用方式(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/

相關推薦

推薦中...