《实时控制软件设计》之机器人咖啡角

目前常用的工业机器人大致可分为三种:

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的相关代码来实现。

posted @ 2015-11-30 21:10  chenhust  阅读(633)  评论(0编辑  收藏  举报