说明书识别搬运机器人汇总.docx
- 文档编号:29134384
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:17
- 大小:76.35KB
说明书识别搬运机器人汇总.docx
《说明书识别搬运机器人汇总.docx》由会员分享,可在线阅读,更多相关《说明书识别搬运机器人汇总.docx(17页珍藏版)》请在冰豆网上搜索。
说明书识别搬运机器人汇总
作品名称:
识别搬运机器人
指导老师:
吴爱梅、刘永平
作者:
谢春伟、杜存忠、董航、高军林
机器人综合了机械学、电子学、计算机科学、自动控制工程、人工智能、仿生学等多个学科的最新研究成果,代表了机电一体化的最高成就,是当今世界科学技术发展最活跃的领域之一。
一、作品组成
1.BASICStamp微控制器
BASICStamp微控制器是以PBASIC为编程语言,通过解释器对PBASIC应用程序进行解释执行的微型计算机,具有8路或16路I/O通道,每个I/O通道接脚可以直接连接发光二极管、蜂鸣器、颜色识别传感器等各种传感器。
通过增加一些额外元器件,可以实现不同的功能。
BASICStamp由一个5伏特电压调节器、晶振器、SerialEEPROM、及一个PBASIC解释器组成。
2.伺服马达
伺服马达有三根不同色线,分别为:
黑、红、白,其中红色的为电源线;黑色为地线;白色的为控制信号线,通过对这信号线输入脉冲序列来控制电机的运动,可以控制电机的运动速度,运动方向。
3.传感器
TCS230颜色传感器属于图像传感器,图像传感器可分为互补金属氧化物半导体(CMOS)图像传感器和电荷耦合器件(CCD)图像传感器两类。
CMOS型和CCD型固态图像传感器在光检测方面都利用了硅的光电效应原理,采用感光元件作为影像捕获的基本手段,感光元件的核心都是一个感光二极管(photodiode),该二极管在接受光线照射之后能够产生输出电流,而电流的强度则与光照的强度对应。
每个感光元件对应图像传感器中的一个像点,由于感光元件只能感应光的强度,无法捕获色彩信息,因此必须在感光元件上方覆盖彩色滤光片。
TCS230颜色传感器是由一个颜色检测器组成,包括一个TAOSTCS230RGB的传感器芯片,白色的发光二极管,瞄准镜,板卡上的插槽和连接线。
TCS230颜色传感器通过插槽或直接相连来与其他BASICStamp模块接口,在其固定的范围内对可见光颜色进行检测。
4.机械手
主要有手爪支架,手爪臂,及手爪组成,用来模拟人手用来抓取已识别的物体,然后进行搬运指定区域。
二、创新来源
该作品启示于生活当中港口码头对不同颜色的集装箱搬运。
从而联想到机器人根据不同颜色自动分拣的目的,以提高搬运工作效率。
三、实现功能
机器人从指定区域启动后,到达设定目的地用机械手对不同色块进行分捡和搬运。
机器人在得到指令后启动,不需再次接触机器人,由机器人自主运行完成任务,每次任务机器人连续运行。
四、调试说明
1.将机器人放置于启动区的中心位置,此位置相对比较重要(此位置关系到整体的运动结果)。
保证机器人在第一次行走后能到达正五边行的中间位置。
2.调整传感器的位置,与水平面夹角约为75度。
(可根据实际的情况调整)
3.若机器人经测试未能达到指定位置,可进行参数的调整。
五、注意事项
1.CMUCAM传感器对周围的环境要求比较严格,故在改变环境的情况下,需要重新设置各种颜色的参数值。
2.调试时,尽量保证周围无相同颜色的物体,以免误检测。
3.在每次运行机器人前,必须对机器人各部件进行详细检查。
例如,电源电压(6-9v),机械手的灵活性等。
4.伺服电动机必须调零。
六、机器人的控制
1.机器人控制组成部分
机器人主要由单片机控制,通过驱动电路控制直流伺服电动机,从而控制机器人的行走和机械手的动作。
控制流程图1所示:
图1控制流程图
2.机器人直流电源和功率放大器
该机器人的驱动采用的是直流伺服电动机,直流电源由4节5号电池提供,电压范围为6-9V,所以它省略了整流电路和稳压电路。
功率放大电路,我们采用的是PWM脉宽调制电路,脉宽调制放大电路有较宽的频带,动态特性较好,抗干扰能力强。
功率放大电路如图2所示:
图2功率放大电路
3.单关节机器人的建模与控制
该机器人的机械手抓物属于单关节的位置控制,其单关节开环控制传递函数框图如图3所示:
图3单关节开环控制传递函数框图
单关节的位置控制是利用由电机组成的伺服系统使关节的实际角位移跟踪预期的角位移,把伺服误差作为电机输入信号,产生适当的电压。
即
式中,kp是位置反馈增益(v/rad);
是系统误差;n是转比。
实际上“位置负反馈”把单关节机器人系统从开环系统变为闭环系统。
关节角度的实际值可用光电编码器或电位器测出。
对式进行拉普拉斯变换,得
其闭环传递控制函数框图如图4所示:
图4闭环传递控制函数框图
七、电子元件布置图:
八、程序流程图
九、程序与调试
'{$STAMPBS2}
'{$PBASIC2.5}
DO
GOSUBarm_on‘大角度打开机械手
GOSUBarm_off‘关闭机械手
GOSUBarm_on1‘小角度打开机械手
GOSUBarm_off‘关闭机械手
LOOP
arm_on:
FORi=1TO20
PULSOUT13,450
PAUSE20
NEXT
RETURN
arm_off:
FORi=1TO20
PULSOUT13,780
PAUSE20
NEXT
RETURN
arm_on1:
FORi=1TO10
PULSOUT13,450
PAUSE20
NEXT
RETURN
'{$STAMPBS2}
'{$PBASIC2.5}
'CMUcamBoe-BotDemoProgram3
'Copyright2002,SeattleRobotics
'BasicStamp2
'CMUcamjumperedforBaud9600
RcvDataVARByte(10)
step1VARWord
ConfidVARByte
iVARWord
blue_countVARWord
red_countVARWord
'Pause1secondforCMUcamstartup
'PAUSE1000
'Send"reset"tosyncCMUcamandStamp
SEROUT10,84,["RS",CR]
SERIN9,84,[WAIT(":
")]
PAUSE1000
'Turnonautoadjustfor5seconds
SEROUT10,84,["CR1844",CR]
SERIN9,84,[WAIT(":
")]
PAUSE100
'Pause5secondsforCMUcamtoautoadjusttolightingconditions
PAUSE5000
'Turnoffautoadjust
SEROUT10,84,["CR18441932",CR]
SERIN9,84,[WAIT(":
")]
PAUSE100
'Sendcommand-Setpollmode-onlysendsonereturnpacket-
'ofdataaftereachcommand-reducesdataflow
SEROUT10,84,["PM1",CR]
SERIN9,84,[WAIT(":
")]
PAUSE100
'Sendcommand-Setrawdatamode-alsosuppressAck:
/Nak:
to-
'furtherreduceserialdata
SEROUT10,84,["RM3",CR]
PAUSE100
'直行至五边形中间位置
GOSUBarm_on
step1=200
GOSUBFwd
GOSUBarm_off
Main:
DOWHILE(blue_count<3)
GOSUBCMUCam_blue
IFRCVData
(2)<55ANDConfid>15THEN
blue_count=blue_count+1'记录识别到的颜色个数
GOSUBarm_on1
step1=80'向前行走一段距离
GOSUBFwd
IFblue_count<3THENGOSUBarm_off'机械手动作
GOSUBback
ELSE
step1=1
GOSUBturn_left
ENDIF
LOOP
GOSUBturn_back_right_180
blue_count=0
DOWHILE(blue_count<2)
GOSUBCMUCam_blue
IFRCVData
(2)>41ANDConfid>15THEN
'记录识别到的颜色个数
blue_count=blue_count+1
GOSUBarm_on'机械手动作
step1=80
GOSUBFwd'向前行走一段距离
IFblue_count<2THEN
GOSUBarm_off
GOSUBback
ENDIF
ELSE
step1=1
GOSUBturn_right
ENDIF
LOOP
step1=210
GOSUBFwd
step1=17
GOSUBturn_right
step1=100
GOSUBFwd
GOSUBarm_on
step1=200
GOSUBback
step1=17
GOSUBturn_right
step1=130
GOSUBFwd
step1=10
GOSUBturn_left
red_count=0
DOWHILE(red_count<3)
GOSUBCMUCam_red
IFRCVData
(2)>40ANDConfid>15THEN
red_count=red_count+1'记录识别到的颜色个数
GOSUBarm_on1
step1=110
GOSUBFwd'向前行走一段距离
GOSUBarm_off
ELSE
step1=1
GOSUBturn_right
ENDIF
LOOP
GOSUBarm_on1
step1=100
GOSUBback
step1=22
GOSUBturn_right
GOSUBarm_on
step1=100
GOSUBFwd
red_count=0
DOWHILE(red_count<3)
GOSUBCMUCam_red
IFRCVData
(2)<55ANDConfid>15THEN
red_count=red_count+1'记录识别到的颜色个数
IFred_count<3THEN
GOSUBarm_on1
IFred_count<3THEN
step1=160
ELSE
step1=120
ENDIF
GOSUBFwd'向前行走一段距离
GOSUBarm_off'机械手动作
ELSE
GOSUBarm_on
step1=120
GOSUBFwd
ENDIF
ELSE
step1=1
GOSUBturn_left
ENDIF
LOOP
step1=200
GOSUBFwd
PAUSE200
red_count=0
DOWHILE(red_count<1)
GOSUBCMUCam_red
IFRCVData
(2)<35ANDConfid>15THEN
red_count=red_count+1'记录识别到的颜色个数
ELSE
step1=1
GOSUBturn_left
ENDIF
LOOP
step1=150
GOSUBFwd
step1=100
GOSUBback
step1=21
GOSUBturn_left
step1=255
GOSUBFwd
PAUSE50000
GOTOMain
Fwd:
FORi=1TOstep1
PULSOUT14,803
PULSOUT15,650
PAUSE20
NEXT
RETURN
back:
FORi=1TOstep1
PULSOUT14,708
PULSOUT15,850
PAUSE20
NEXT
RETURN
turn_back_left_180:
FORi=1TO44
PULSOUT14,708
PULSOUT15,650
PAUSE20
NEXT
RETURN
turn_back_right_180:
FORi=1TO44
PULSOUT14,803
PULSOUT15,850
PAUSE20
NEXT
RETURN
turn_right:
FORi=1TOstep1
PULSOUT14,803
PULSOUT15,850
PAUSE20
NEXT
RETURN
turn_left:
FORi=1TOstep1
PULSOUT14,708
PULSOUT15,650
PAUSE20
NEXT
RETURN
arm_on:
FORi=1TO10
PULSOUT13,850
PAUSE20
NEXT
RETURN
arm_off:
FORi=1TO50
PULSOUT13,1060
PAUSE20
NEXT
RETURN
arm_on1:
FORi=1TO50
PULSOUT13,920
PAUSE20
NEXT
RETURN
CMUCam_blue:
SEROUT10,84,["TC1320104050100",CR]
SERIN9,84,[STRRcvData\10]
Confid=RcvData(9)
RETURN
CMUCam_red:
SEROUT10,84,["TC306010501050",CR]
SERIN9,84,[STRRcvData\10]
Confid=RcvData(9)
RETURN
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 说明书 识别 搬运 机器人 汇总