較大規模的機器人公司是怎麼進行開發的?
如題所述。
題目中"較大"指的是有一個以上產品,技術人員數量大於10。
知乎首答,在iRobot(&>500人)家用機器人部門實習過。
大公司機器人產品研發周期很長,因為出貨量非常大,要確保產品極高的可靠性。像Roomba這樣成熟的產品線,每一個型號從概念設計到產品發布需要3-4年左右,新概念產品內部周期會更長。初期階段會由產品經理進行詳細的市場調研,確定新型號的目標市場,目標價格和設計改進方向(調研做的非常的詳細,會針對不同國家使用情況以及消費水平制定目標,甚至推出針對特定地區的型號)。接下來分成硬體和軟體來討論
硬體:當設計改進方向明確之後,硬體部門開始設計原型機。初版原型機會非常像大學電設的作品,或者學生大作業:3D列印外殼,麵包板,一鍋粥的電線,毫無工業設計。。。隨著迭代設計的深入,每一版原型機都會更接近產品。經過十幾甚至幾十版原型機設計,原型機會非常接近最後產品的狀態。這個過程需要至少一年多的時間。
當原型機接近產品狀態時,成本核算就成為重要的工作。BOM表全部精確到美分以下,所有硬體配置(CPU,內存快閃記憶體,感測器)會被壓縮到最低,軟體組壓力很大。。
軟體:公司內部(工程部門,不包括research)幾乎不使用開源庫,尤其上機器人的代碼一定每一行都是自己寫的,從最底層bootloader,到矩陣運算,到最高層視覺/導航/路徑規劃。同一產品線繼承相同的代碼庫,十幾年歷史的代碼處處可見,維護非常困難,但是沒有人敢重構。。。由於硬體部門成本控制的壓力,軟體工程師需要花大量的精力優化編譯後代碼量/內存/CPU使用(重要性從高到低)。如果新產品加入了較主要的新功能(例如Roomba 980第一次使用視覺導航),那research部門的人也要大量參與進入工程部門的調試。
當軟硬體基本完成後,產品開始試生產並測試。首先是實驗室測試,公司有單獨的實驗室測試每一產品線,像Roomba吸塵器,有專業的實驗室模擬不同家庭的不同地面與障礙物情況。除了性能測試還有一項同樣重要的工作就是確保產品滿足所有目標國家的國家標準。經常有產品卡在一兩項國家標準(例如不符合節能標準)無法通過。。。當實驗室測試通過後,開始公司內部測試。員工可以註冊為志願者,免費領取機器人使用,但是要提交試用報告,主要是使用中存在的問題。當公司內部測試通過後,會開始(全球各國家的)內部試用家庭的測試。因為不同國家家庭的使用情況會有較大的差異,例如美國家庭多地毯,中國家庭多瓷磚,在不同國家測試是非常必要的。整個內部測試持續大約2年左右,如果發現加大的問題整個過程還有反覆。當所有測試通過後,就可以大批量投產準備發售啦。
=====
補充:以上流程為大出貨量家用機器人的流程,出貨量低的商用及軍用機器人會有不同的研發流程:
商用機器人相比家用主要有兩個特點,(1)售價高成本壓力小,且出貨量小,可以採購的模塊就不自行生產,比如相機,激光雷達,甚至包括軟體(例如遠程辦公機器人直接採用Cisco視頻會議軟體+攝像頭)。相反家用機器人絕大多數部件自行設計生產,比如相機模塊會採購CMOS晶元、鏡頭,將CMOS晶元焊接在PCB上直接與CPU通信,這樣就節省了USB介面晶元、USB線的成本。(2)可定製化。如果單一客戶有特殊需求,只要訂購量足夠大,可以專門為此客戶改動機器人設計。
軍用機器人那邊不太了解,已知的特點除了更高度的可定製化(只有軍方警察等少數幾個客戶。。),就是要滿足軍規測試,測試花的時間會更長。
=====
看到有評論提到過度壓縮硬體成本導致軟體工程師優化量急劇增加的情況,我想在這裡稍作解釋:設計中對硬體成本的壓縮並不是無限的,是在滿足設計功能的基礎上避免系統資源的浪費。軟體組所需要做的也是儘可能避免資源浪費。可以切入的幾個點包括去除冗餘代碼(節省快閃記憶體),合理的數據結構與演算法優化時間/空間複雜度(節省CPU/內存)。這些都屬於軟體工程師必須的功課(無論是否是機器人工程師),只是機器人代碼這方面要求稍高。
另外,關於硬體成本降低不抵碼農加班費的問題,至少在iRobot不需要擔心。2015年財報顯示在2015年iRobot出貨家用機器人243萬個,其中大部分是Roomba的幾個型號。所以在單個機器人每年出貨量幾十萬台的情況下,軟體成本是可以極大分攤的,所以大家不用擔心~
=====
看到有評論提到開源軟體與可靠性的話題想多說一點,確實隨著開源社區的發展,開源軟體不再是可靠性差、質量低下的代名詞,甚至軍工裝備中也逐漸開始使用開源代碼如Linux(乾貨 https://www.zhihu.com/question/27571515/answer/108705209)。所以機器人公司現在並不排斥使用開源社區軟體。但是要注意使用開源軟體並不意味著提高開發效率:開源軟體往往測試不完備需補測試,佔用空間大(開源較看中通用性)需自行剪裁,更重要的是開源軟體不能當作黑盒,需要理解所有代碼,因為出現任何bug都需要自己修,公司不可能依賴社區維護。這樣下來工作量未必小於自行開發。
iRobot很少使用開源軟體的原因主要是產品線時間長,歷史包袱重重構成本高。但是這僅限於機器人部分代碼,在開發工具、客戶端/雲端軟體上iRobot還是對開源軟體有很大興趣的。
首答就破百贊,謝謝大家!!!!
大部分時間都在寫報告材料之類
挖坑,填坑。
開鍋,甩鍋,背鍋,解決鍋。
叼人,被叼,叼回去。
上班,吃飯,卧槽怎麼又胖了,加班。
叼工廠,被工廠叼。
叼市場銷售,被市場銷售叼。
賣!
朋友圈轉發,開心,覺得幹了不得了的事情,出去吃火鍋。
循環
-------------------------------
和別的公司差不多吧,就是節奏快一點。機器人是系統工程,需要一伙人互相協調。市場定位很重要,因為一旦開始搞就根本停不下來哇哈哈g
工業機械手臂是能模仿人手和臂的某些動作功能,用以按固定程序抓取、搬運物件或操作工具的
自動操作裝置。機械手是最早出現的工業機器人,也是最早出現的現代機器人,它可代替人的繁重勞動以實現生產的機械化和自動化,能在有害環境下操作以保護人身安全,因而廣泛應用於機械製造、冶金、電子、輕工和原子能等部門。
工業機械手臂與有人類的手臂最大區別就在於靈活度與耐力度。也就是工業機械手的最大優勢可以重複的做同一動作在機械正常情況下永遠也不會覺得累!工業機械手臂的應用也將會越來越廣泛,機械手是近幾十年發展起來的一種高科技自動生產設備,作業的準確性和環境中完成作業的能力。工業機械手機器人的一個重要分支。
工業機械手臂種類,按驅動方式可分為液壓式、氣動式、電動式、機械式。特點是可以通過編程來完成各種預期的作業,構造和性能上兼有人和機械手機器各自的優點.按適用範圍可分為專用機械手和通用機械手兩種;按運動軌跡控制方式可分為點位控制和連續軌跡控制機械手等。
機器人機械手臂通常用作機床或其他機器的附加裝置,如在自動機床或自動生產線上裝卸和傳遞工件,在加工中心中更換刀具等,一般沒有獨立的控制裝置。有些操作裝置需要由人直接操縱,如用於原子能部門操持危險物品的主從式操作手也常稱為機械手。工業機械手臂在鍛造工業中的應用能進一步發展鍛造設備的生產能力,改善熱、累等勞動條件。
煙台睿海智能技術團隊經過長時間的自主研發和方案迭代,控制了成本,讓機械臂的價格不再高不可攀,從而機械臂能夠有辦公自動化、自動售賣、倉儲搬運、小作坊加工等更多商業及輕工業應用。
最終想實現的,是真正的讓機械臂走入大眾生活。
各種流程各種表,各種會議各種吵。
先市場調研確定主要規格參數,可行性分析,試製(各部門電器機械控制)批量試製,工藝分析,小批量生產,大批量生產
幸好,我有「一個以上產品,技術人員數量大於10」的機器人公司的工作經驗。機器人開發設計很多方面的技術和學科,一般研發人員需要有機械、電子、軟體、工業設計等方面的人員。樣機還需要很多外協生產廠家的配合,主要是結構件和外殼,前期都是手板的,以後量產了再開模具。模具根據產量開不同的模。產品出來就是營銷了,渠道、代理等。
總之,過程比較漫長,坑很多,需要有經驗的人把控,否則很容易夭折。
推薦閱讀:
※如何看待宇樹科技的「萊卡狗」四足機器人?
※機器人控制在實際中用到了動力學控制嗎?
※應該學習哪些方面的知識,才能適應機器人研發的工作?
※機器人方向目前研究熱點方向有哪些?