- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
制作五 接力机器人
机器人制作与创新
PAGE
PAGE 7
制作五 接力机器人
任务描述
场地上有机器人跑道,跑道两侧有黑色轨迹,接力区为黑色区域。1号机器人将接力棒(乒乓球)传递给2号机器人,2号机器人把接力棒(乒乓球)传递给3号机器人,然后三号机器人再传递给四号机器人,四号机器人冲向终点区,在终点区停止。场地示意图如图5-1所示:
图5-1 场地示意图
硬件组装
机器人需要在跑道内行走并要产生接力,那么机器人最好的行走路线应该在跑道中间,而跑道两侧有黑色线,可以利用机器人的光电模块探测,保证机器人在跑道中间行走,机器人需要产生接力,应该有一个传递(接力)装置,机器人需
要识别到达接力区并产生接力需要一个碰撞装置。接力机器人如图5-2所示。
图5-2 接力机器人
三、任务难点分析
保证机器人在跑道中间行走
解决方案:可以在机器人的两侧分别装上两个光电模块,利用光电模块可以对跑道两侧的黑线进行检测保证机器人在跑道中间行走,考虑到接力区为黑色区域,因此光电模块应该是检测两条跑道线的外侧,这样可以提高完成任务的成功率。
机器人如何知道到达接力区
解决方案:在进行接力的两个机器人的前方和后方分别装上碰撞传感器,考虑到有的接力区在跑道的弯道位置,因此接力机器人的前方和后方应分别装上两个碰撞传感器,并将其并联且接触面尽量扩大(可以提高成功率)
如何产生接力
解决方案:当第一台机器人检测到接力信号时启动传递装置将物体传递给第二台机器人,第二台机器人的碰撞传感器检测到信号后延时一段时间后再启动行走。
机器人停止
解决方案:第四台机器人利用左右两侧的光电模块检测到全黑时说明机器人到达了停止线,此时让机器人强行前进一段时间后停止,即可让机器人停止在停止区。
四、程序设计
1.输入/输出端口说明
单片机输入/输出引脚
对应程序中的位变量
引脚功能
RB0
pin0
左侧电机正转
RB1
pin1
左侧电机反转
RB2
pin2
右侧电机正转
RB3
pin3
右侧电机反转
RB4
pin4
电机使能控制端
RB6
pin6
前碰撞开关
RB7
Pin7
后碰撞开关
RC1
pin9
电机正转(传递装置)
RC2
Pin10
电机反转(传递装置)
RC4
pin12
左侧光电传感器(寻黑线)
RC5
pin13
左侧光电传感器(寻黑线)
RC6
pin14
右侧光电传感器(寻黑线)
RC7
pin15
右侧光电传感器(寻黑线)
2.程序流程图
否
否
是
否
是
否
否
否
否
是
否
是
是
是
是
否
定义输入输出端口
Pin7=0
(pin12=1) or (pin13=1)
(pin14=1) or (pin15=1)
前进
左转
右转
启动投篮装置
停止100毫秒
X=x+1
Pin6=0
x400
Pin6=0
是
停止
(pin12=1) or (pin13=1)
左转
(pin14=1) or (pin15=1)
右转
前进
3.程序清单(仅供参考,数据需要调整)
rem 1,2,3号接力机器人程序
dirb0= rem定义0,1,2,3,4号端口为输出端口;5,6,7号rem端口为输入端口
dirb1= rem定义8,9,10,11号端口为输出端口;12,13,14,rem15号端口为输入端口
pinb0=0 rem将专用变量PINB0清0
pinb1=0 rem将专用变量PINB1清0
pause 100 rem机器人初始停止100毫秒
start1:
if pin7=0 then start rem机器人后碰撞或者声控模块产生信号rem执行START
goto start1
start:
pinb0=0
pause 2000 rem机器人停止2秒
a1:
x=x+1 rem变量X累加
if pin6=0 then a2 rem机器人前碰撞产生信号执行A2
if x400 then a3 rem变量X的值大于400执行A3
if (pin12=1) or (pin13=1) then zz rem左侧光电模块有
rem传感器识别到黑色执rem行左转
if (pin14=1) or (pin15=1) then yz rem右侧光电模块有一个rem传感器识别到黑色执rem行右转
goto qj
y
文档评论(0)