创意赛智能垃圾分类机器人(一个垃圾桶)_第1页
创意赛智能垃圾分类机器人(一个垃圾桶)_第2页
创意赛智能垃圾分类机器人(一个垃圾桶)_第3页
创意赛智能垃圾分类机器人(一个垃圾桶)_第4页
创意赛智能垃圾分类机器人(一个垃圾桶)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

智能垃圾分类机器人创意赛优化方案一———一个垃圾桶设计contents组装注意事项整体方案介绍主程序异同介绍库函数异同介绍1、组装注意事项①垃圾桶不用安装,需要自行设计。②所安装的控制板不同,常规赛用arduinoUNO板及配套的接口板,而创意赛用arduinoMega2560板及配套的接口板。③红外、颜色传感器与接口板的接线不同。④1、2、3号舵机与接口板的接线不同。2、整体方案介绍在机器人基础车模上设计一个垃圾桶,该垃圾桶不分颜色;该垃圾桶底部设有装卸板;

(1)当拾取垃圾块到垃圾桶时,装卸板关闭;

(2)当卸载垃圾块到垃圾收集区时,装卸板打开。设计效果图2.1方案优势拾取垃圾块过程:将所拾取的相同颜色垃圾块统一放在一个垃圾桶中,免去将垃圾块分别放置到不同颜色垃圾桶;卸载垃圾块过程:打开装卸板即可把垃圾桶上的垃圾块一起倾倒在垃圾收集区里,而不需要一块块地夹到垃圾收集区;行走圈数减少:机器人每跑一圈可以收集4块相同颜色的垃圾块,12个垃圾块只需要跑3圈。3、程序设计主流程3.1程序设计思路①启动机器人,走第一圈时,遇到每个十字路口都左转弯进入(即小区),在小区遇到T字停止线停下,并识别是否有垃圾块。记忆机器人遇到的每一个垃圾块的颜色和路口,机器人只夹取最开始遇到的同颜色的垃圾块,例如机器人最开始遇到绿色,那么这一圈只是夹取绿色的垃圾块,而红、蓝垃圾块先不夹取。在机器人走完12个路口后,开始执行卸载垃圾块程序,走到地图底部相应垃圾块的垃圾回收区的十字路口停下,卸载垃圾块。②机器人走第二圈时,读取步骤①中记忆的第2种颜色垃圾块所在的路口并夹取该垃圾块,这一圈夹完所有同颜色的垃圾块共4个,机器人走完12个路口后,开始执行卸载垃圾块的程序。③第三圈重复第二圈(即步骤②)的程序。4、与常规赛机器人库函数的异同①红外循迹模块的库函数(Track库函数)相同;②颜色传感器模块的库函数(ColSensor和ColQueue库函数)相同;③电机模块的库函数(Car库函数)相同。1、库函数相同之处4.1(1)红外传感器引脚号修改:将常规赛红外传感器引脚定义Trackstaticmytrack(A5,A4,A3,A2,A1)修改为Trackstaticmytrack(A0,A1,A2,A3,A4,true)(2)颜色传感器引脚号修改:将常规赛颜色传感器引脚定义ColSensorstaticmysensor(0,1,3,4,2,10)修改为ColSensorstaticmysensor(20,17,16,15,21,10)(3)电机引脚号修改:将常规赛电机引脚定义Carstaticmycar(8,9,10,11,5,6)修改为Carstaticmycar(12,11,4,53,10,9)2、库函数不同之处---需要在Function.h文件修改以下三处定义与常规赛机器人库函数的异同5、与常规赛机器人主程序的区别①舵机接口地址不同:常规赛机器人3个舵机的接口地址与创意赛机器人的4个舵机接口地址不同;②舵机动作不同:常规赛机器人:3个舵机将地上红、绿、蓝垃圾块分别夹取到相同颜色的垃圾桶上,等机器人达到垃圾回收区后,又将红、绿、蓝垃圾块分别卸载到相同颜色的垃圾回收区。创意赛机器人:1、2、3号舵机将地上红、绿、蓝各4个垃圾块一起夹取到垃圾桶上,等机器人达到垃圾回收区后,由4号舵机将垃圾桶上的4个相同颜色的垃圾块(例如红色垃圾块)倾倒到对应颜色的垃圾回收区(例如红色垃圾回收区)。1、常规赛与创意赛Catch与Down函数的区别注意:具体要修改的程序代码详见培训教材在常规赛中,机器人是先进入路口并检测是否有垃圾块(没有垃圾块就把0赋值给Memory[num],num是对应路口的值),若存在垃圾块就对垃圾块颜色进行判断,若机器人上的垃圾桶没有相应颜色的垃圾块,就把它夹起放到相应颜色的垃圾桶中,否则就把垃圾块颜色所对应的值赋值给Memory[num]。在创意赛机器人优化方案一中,机器人是一次性夹取完一种颜色的4个垃圾块,所以在设计机器人记忆函数时,需要定义一个变量temp,并给它赋予初值0,当机器人检测到第一个垃圾块时,就把垃圾块的颜色值赋值给变量temp,然后在行走一圈的过程中,机器人只夹取颜色值与temp变量的值相等的垃圾块,否则就把垃圾块颜色值与对应的路口记忆起来。2、记忆函数的区别5、与常规赛机器人主程序的区别2、记忆函数的区别5、与常规赛机器人主程序的区别(1)Setup程序夹取原程序(2)修改后的夹取程序在主程序前新增加一个变量inttemp=0;在常规赛中,当机器人走到垃圾收集区时,主程序对color[num]数组的值进行判断(color[1]表示红色垃圾桶,color[2]表示蓝色垃圾桶,color[3]表示绿色垃圾桶),如果color[num]不等于0,则说明机器人垃圾桶上有相应颜色的垃圾块,那么机器人就会在其相对应的垃圾收集区前停止,并执行卸载垃圾块程序。在创意赛机器人优化方案一中,由于只有一个垃圾桶,并且机器人在执行记忆垃圾块程序时就已经把垃圾桶所装载的垃圾块的颜色值赋给了变量temp,所以在卸载垃圾块时,主程序只需要对变量temp进行判断。当获得temp所储存的垃圾块颜色值后(例如红色垃圾块),使机器人只在与车上装载的垃圾块颜色相同的垃圾收集区前停止(例如红色垃圾回收区),然后再执行卸载垃圾块程序。3、卸载垃圾块函数的区别5、与常规赛机器人主程序的区别3、卸载垃圾块函数的区别5、与常规赛机器人主程序的区别(1)Setup程序卸载原程序(2)修改后的卸载程序在常规赛机器人程序设计中,其运用Get()函数(Get()函数在ColQueue函数的ColQueue.cpp文件里有定义)读取之前记忆的垃圾块所在的路口值,从而使机器人进入相对应的路口去夹取垃圾块。在创意赛机器人优化方案一程序中,其通过判断记忆垃圾块颜色的数组来获得路口值,即把第一个不等于0的数组值(垃圾块的颜色值)赋给变量temp,并进入相对应的路口去夹取垃圾块。4、读取记忆垃圾块颜色值的区别5、与常规赛机器人主程序的区别4、读取记忆垃圾块颜色值的区别5、与常规赛机器人主程序的区别(1)Loop程序原程序(2)修改后的程序常规赛机器人程序中,由于在读取记忆垃圾块颜色值时就已经把垃圾块所在的路口值赋给了color[i]数组,因此机器人可通过对路口进行判断来确定是否进入该路口去夹取垃圾块。在创意赛机器人优化方案一中,机器人把对应路口的垃圾块颜色值与temp变量进行对比判断,如果两者相等,机器人就会进入该路口并夹取垃圾块。5、loop函数中夹取垃圾块的区别5、与常规赛机器人主程序的区别5、loop函数中夹取垃圾块的区别5、与常规赛机器人主程序的区别(1)loop夹取原程序(2)修改后的夹取程序6、loop函数卸

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论