课 程 设 计 说 明 书
2011年10月
1.摘要···························································1
2.前言···························································1
3.方案论证·······················································1
4.硬件设计·······················································4
5.软件设计·······················································5
6.修改建议······················································11
7.项目心得······················································12
8.参考文献······················································12
1摘要
机器人技术是一个集环境感知、轨迹规划、机械手应用等功能于一体的机电一体化系统。它是集中了计算机、机构学、传感技术、电子技术、人工智能及自动控制等多科而形成的高新技术。本次课程设计的采摘机器人智能小车就是这种高新技术综合体的一种尝试。采摘机器人智能小车主要由机械系统,环境识别系统,运动控制系统及机械臂控制系统组成。小车以单片机为核心,附以外围电路,采用光电检测器进行检测故障和循迹,并用软件控制小车及机械臂的运动,从而实现小车的自动行驶、转弯、寻迹检测、避障、停止及采摘等功能的智能控制系统。 2前言
果实采摘是农业生产的重要环节,其季节性强、劳动量大且费用高。因而许多国家开始研发智能控制的果实采摘机器人。果实采摘机器人作为农业机器人的一种类型,目前在日本、美国与荷兰等国家已有研制和初步使用,主要用于采摘番茄、黄瓜、草莓、葡萄、西瓜、甜瓜、苹果、柑桔与甘蓝等蔬菜和水果,具有很大的发展潜力。各类果实采摘机器形式多样,但主要由机械手、末端执行器、视觉系统、控制系统与行走系统等部分组成。本文介绍了智能车及采摘机器人系统。它是在智能循迹小车的基础上,自主设计一个球形果采摘的机械手并装配到原有的智能小车上,完成采摘机电一体化系统的设计、制作,进行机器人运动控制规划,控制机器人完成一系列复杂动作,如手抓张合、车体回转,智能循迹避障、协同作业等任务。
3机械手方案论证
电镀废水处理
3.1机械手臂方案设计
设计方案有如下三种:
A方案如图3-1(a)所示。由于手臂要执行采摘作业,于是我们首先想到了平行四边行的
稳定性,便设计了如下方案。该方案稳定性较好,使用电机数量也少,节约了成本,但它同时也限制了机械手的灵活性,且机械手不能抓取地面上的物体,缩小了机械手的操作空间。
图3-1(a)
B方案如图3-1(b)所示。该方案改进了方案A的机械手不能抓取到地面的缺点,但Z轴转动只能靠小车的转动来实现,耗能多,不符合“多动小关节、少动大关节”原则,而且需要控制车轮方能实现,车轮依靠步进电机控制,从而给编程和后期调试带来不便。
图3-1(b)
C方案如图3-1(c)所示。该方案在基座处又加了一个电机,改进了方案B的缺点,在球形果偏离预定位置时仍能通过腰关机的转动来实现作业,增强了机械手的灵活性,并能实现预定工作空间。
图3-1(c)
经过分析比较我们最终选定方案C。
3.2机械手爪方案设计
方案一如图3-2(a)所示。该方案手爪张合灵活且结构简单,易于实现,但由于其为悬臂结构且铝合金材料强度有限,不能抓取强度很大的物体。
图3-2(a)
方案二如图3-2(b)所示。该方案了在支撑手爪处增加一个平行四边行机构,增加了手爪的强度和稳定性,且抓取自如,方便灵活。
图3-2(b)
4硬件设计
4.1机械手臂的设计
4.1.1机械一尺寸的确定
设计用的尺寸包括:小车的高度75mm,机械手所能达到的总高度为200-400mm,小车在采摘时机械手机座距球形果175mm,球形果直径38-40mm,重量小于0.5kg。动作时小车到球的水平位置分别为350mm。
根据实际的要求尺寸进行设计,首先我们需要确定手臂一的高度,手臂一的高度将会很大程度上影响手臂的长度,根据计算,手臂末端要达到的竖直高度为200mm,如果机座太高则整个机械手稳定性将降低,而机座太低则手臂长度便会相应增长,影响其强度,因此选机座高度为40mm;样基座将不会非常的稳定,为此,我们采用在三角铝合金的下面加木质垫片来稳定其位置,并用木质的支撑来支持基座,这样也可以很好的吸收舵机工作时产生的震动。
图4-1机械手抓球时的位姿
4.1.2机械臂二、三尺寸的确定
根据要求,基座到球形果的距离即机械手最大高度为400mm,而小车在采摘是的停车位置距球形果175mm。为保证机械手能采摘到球形果,我们选定与末端执行器相连的手臂长为175mm;而为保证机械手能达到最大高度,我们选定与机座相连的手臂长为200mm。横向距离:175+200=375>350mm;垂直距离:200+175+40=410>400mm,即所设计的尺寸符合任务要求。
4.2 机械手爪设计
手爪的外形如图所示,球形果的直径为30mm-80mm。为保证在采摘过程中不致损伤球形果表面,在手爪上需要加装海绵,让手爪能够有效的抓紧球形果。海绵的长度设计为80mm,同时设定手爪内部的海绵厚度为5mm,这样两边的厚度加和为飞行棋棋盘10m。并且保证小球在被夹紧时手爪是平行的(这样可以更有效的夹紧)
5软件设计
5.1位移分析
分析确定连杆参数
图5-1 机械手初始位姿
连杆参数i | ai-1(mm) | αi-1(°) | 电能计量装置 di(mm) | 关节变量 | 初值(°) |
1 | 0 | 0 | 40 | θ1 | 0 |
2 | 0 | 90 | 0 | θ2 | 5.7 |
3 | 201 | 0 | 0 | θ3 | 84.3 |
4 | 0 | -90 | 175 | — | — |
裤衩裙 | | | | | |
5.1.1运动学正解
说明:由几何关系算得连杆转角,带入验证x y z 的坐标关系。a1 a2 a3 表示连杆1、2、3的转角。最后解得,矩阵最后一列表示小球在原点坐标系中的位置。
a1=0*pi/180;
a2=150*pi/180;
a3=-60*pi/180;
a4=0*pi/180;
d1=40;
d2=0;
d3=0;
实验室自动清洗机
d4=176;
%连杆间齐次变换矩阵
t10=[cos(a1) -sin(a1) 0 0;sin(a1)*cos(0) cos(a1)*cos(0) -sin(0) -d1*sin(0);
sin(a1)*sin(0) cos(a1)*sin(0) cos(0) d1*cos(0);0 0 0 1];
t21=[cos(a2) -sin(a2) 0 0;sin(a2)*cos(pi/2) cos(a2)*cos(pi/2) -sin(pi/2) -d2*sin(pi/2);
sin(a2)*sin(pi/2) cos(a2)*sin(pi/2) cos(pi/2) d2*cos(pi/2);0 0 0 1];
t32=[cos(a3) -sin(a3) 0 201;sin(a3)*cos(0) cos(a3)*cos(0) -sin(0) -d3*sin(0);
sin(a3)*sin(0) cos(a3)*sin(0) cos(0) d3*cos(0);0 0 0 1];
t43=[cos(a4) -sin(a4) 0 0;sin(a4)*cos(-pi/2) cos(a4)*cos(-pi/2) -sin(-pi/2) -d4*sin(-pi/2);
sin(a4)*sin(-pi/2) cos(a4)*sin(-pi/2) cos(-pi/2) d4*cos(-pi/2);0 0 0 1];
t=t10*t21*t32*t43
t =
-0.0000 -0.0000 -1.0000 -350.0711
0.0000 1.0000 -0.0000 -0.0000
1.0000 -0.0000 -0.0000 140.5000
0 0 0 1.0000
5.1.1运动学反解
说明:代入坐标x=-350,y=0, z=140。根据等式左右两端对应相等。解出关节旋转角度。选择最优解。
syms a1 a2 a3
a4=0*pi/180;
d1=40;
d2=0;
d3=0;
d4=176;
x=-350;
y=0;
z=140;
隔膜胶水t10=[cos(a1) -sin(a1) 0 0;sin(a1)*cos(0) cos(a1)*cos(0) -sin(0) -d1*sin(0);
sin(a1)*sin(0) cos(a1)*sin(0) cos(0) d1*cos(0);0 0 0 1];
t21=[cos(a2) -sin(a2) 0 0;sin(a2)*cos(pi/2) cos(a2)*cos(pi/2) -sin(pi/2) -d2*sin(pi/2);
sin(a2)*sin(pi/2) cos(a2)*sin(pi/2) cos(pi/2) d2*cos(pi/2);0 0 0 1];
t32=[cos(a3) -sin(a3) 0 201;sin(a3)*cos(0) cos(a3)*cos(0) -sin(0) -d3*sin(0);
sin(a3)*sin(0) cos(a3)*sin(0) cos(0) d3*cos(0);0 0 0 1];