天天看點

《實時控制軟體設計》之機器人咖啡角

目前常用的工業機器人大緻可分為三種:

1)六軸關節機器人 http://www.siasun.com/product/industrialrobot/SR10A.html

2)Delta并聯機器人 http://www.siasun.com/product/railtransit/delta.html

3)SCARA機器人 http://www.siasun.com/product/industrialrobot/product20140924101702.html

從運動學的角度,第一種最複雜,最後一種最簡單,接下來我們就以SCARA機器人原理構造一個原型機器人應用軟體。

SCARA機器人通常有四軸,其中第一軸和第二軸基本描述了機器人的主要運動,見下面的動畫:

https://en.wikipedia.org/wiki/SCARA#/media/File:SCARA_left.gif

是以,我們進一步把SCARA機器人簡化為如上圖所示的兩軸平面機器人,并實作一個自動化咖啡角,我們後續的作業,将圍繞這個咖啡角展開。

By the way, 機器人泡的咖啡會更好喝麼,好像也沒有定論,參見: http://www.guokr.com/article/437568/

首先第一步先定義系統需求,咖啡小店裡沒有人,隻有:

1)兩軸SCARA平面機器人,固定在一個位置。(在原型系統中我們隻關注二維坐标)

2)咖啡機:有多個工位,用于空杯儲備,加濃縮咖啡,加牛奶,加巧克力糖漿.....,每個工位都有一個笛卡爾坐标值(x,y)

3)控制器:根據咖啡配方控制機器人的運動序列,取空杯,制作咖啡,并把做好的咖啡放到櫃台。

4)操作面闆:使用者通過按鈕選擇咖啡類型(美式,拿鐵,摩卡...)、杯子大小(Tall,Grande,Venti)和數量,使用者确認後操作面闆把訂單發送給控制器,并在面闆螢幕上顯示咖啡目前的制作進度。

大家将自由組隊完成咖啡角軟體的開發。

稍後我會提供一個測試程式,大家用來測試咖啡角軟體是否完成了所需的功能。

針對這個項目,如何進行需求分析?如何評估工作量?如何開展軟體開發過程?可以帶着這些問題,快速通讀《建構之法》,寫第二篇讀書筆記,來回答這些問題或提出自己的困惑。

建議大家同步學習ETH zurich的《Computing: Art, Magic, Science - Part II》線上課程:

https://www.edx.org/course/computing-art-magic-science-part-ii-ethx-cams-ii-x#!

該課程的第三周内容,通過例子和線上測試,講解了如何進行面向對象的設計,如何定義類,如何應用設計模式等等。

而平面機器人的正逆運動學計算、運動規劃等,可以通過調用或修改OROCOS/KDL的相關代碼來實作。