欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    机器人课程结课总结报告.pdf

    • 资源ID:85755855       资源大小:5.75MB        全文页数:62页
    • 资源格式: PDF        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    机器人课程结课总结报告.pdf

    -可编辑课程结课总结报告课程名称:机器人的制作实验一 基于 arduino控制器的轮式机器人循迹避障功能设计实验二应变式传感器电子秤实验实验三 基于 C51 单片机控制器的轮式机器人电机控制系统实验四 基于 ARM 控制器的博创平台轮式机器人循迹避障功能实现实验五 摄像头实现轮式机器人循迹功能的应用实验六 应用卓越联盟实验室设备进行设计和实现作品说明指导教师许晓飞系别机电工程学院专业机械电子工程学生姓名邓银涛班级/学号机电 1401/2014010339成绩-可编辑实验一基于 ardunio控制器的轮式机器人循迹避障功能设计实验目的1.了解 ardunio平台,并熟练使用此软件完成小车的各种活动2.了解 HC-SR04 超声波测距模块的原理,并且熟练使用此模块作为小车的传感器进行工作3.了解并且熟悉红外线传感器循迹原理实验器材:Adrunio软件,超声波传感器,红外线传感器,导线,底板,电机,电池,单片机等实验内容:1.将硬件组装成小车,即轮式机器人2.利用 ardunio使小车完成循迹功能步骤:(1)写好后缀为.txt 的 c 语言循迹文件(2)将文件导入单片机中(3)根据具体路况,运行并且进行调试红外线传感器的灵敏程度3.利用 ardunio使小车完成避障功能步骤:(1)写好后缀为.txt 的 c 语言避障文件(2)将文件导入单片机中(3)运行并且进行调试小车躲避障碍物的距离实验程序1.循迹程序:小车循迹程序思路图#include int Left_motor_back=8;/左电机后退(IN1)-可编辑int Left_motor_go=9;/左电机前进(IN2)int Right_motor_go=10;/右电机前进(IN3)int Right_motor_back=11;/右电机后退(IN4)int key=7;/定义按键数字 7 接口const int SensorRight=3;/右循迹红外传感器(P3.2 OUT1)const int SensorLeft=4;/左循迹红外传感器(P3.3 OUT2)int SL;/左循迹红外传感器状态int SR;/右循迹红外传感器状态void setup()/初始化电机驱动IO 为输出方式pinMode(Left_motor_go,OUTPUT);/PIN 8(PWM)pinMode(Left_motor_back,OUTPUT);/PIN 9(PWM)pinMode(Right_motor_go,OUTPUT);/PIN 10(PWM)pinMode(Right_motor_back,OUTPUT);/PIN 11(PWM)pinMode(key,INPUT);/定义按键接口为输入接口pinMode(SensorRight,INPUT);/定义右循迹红外传感器为输入pinMode(SensorLeft,INPUT);/定义左循迹红外传感器为输入void run(int time)/前进void run()-可编辑digitalWrite(Right_motor_go,HIGH);/右电机前进digitalWrite(Right_motor_back,LOW);analogWrite(Right_motor_go,255);/PWM比例 0255调速analogWrite(Right_motor_back,0);digitalWrite(Left_motor_go,HIGH);/左电机前进digitalWrite(Left_motor_back,LOW);analogWrite(Left_motor_go,255);/PWM比例 0255调速analogWrite(Left_motor_back,0);/delay(time*50);/执行时间,可以调整/void left(int time)/左转(左轮不动,右轮前进)void left()digitalWrite(Right_motor_go,HIGH);/右电机前进digitalWrite(Right_motor_back,LOW);analogWrite(Right_motor_go,200);analogWrite(Right_motor_back,0);/PWM比例 0255调速digitalWrite(Left_motor_go,LOW);/左轮后退digitalWrite(Left_motor_back,LOW);analogWrite(Left_motor_go,0);analogWrite(Left_motor_back,100);/PWM比例 0255调速/delay(time*50);/执行时间,可以调整-可编辑void right(int time)/右转(右轮不动,左轮前进)void right()digitalWrite(Right_motor_go,LOW);/右电机后退digitalWrite(Right_motor_back,LOW);analogWrite(Right_motor_go,0);analogWrite(Right_motor_back,100);/PWM比例 0255调速digitalWrite2.避障程序:char L1=9;/zhengchar L2=8;char R1=10;/zhengchar R2=11;int echopin=13;int trigpin=12;void setup()/初始化动作的区块,定义串行端口和脚位 pinMode(echopin,INPUT);/pwmpinMode(trigpin,OUTPUT);void loop()/版子重复执行动作的区块 int currDist;-可编辑long randnumber;currDist=MeasureDistance();/读取前端距离delay(5);if(currDist 10)straight();if(currDist 5)back();delay(1000);turnright();delay(800);else back();delay(1000);turnleft();delay(800);-可编辑int MeasureDistance()digitalWrite(trigpin,LOW);delay(2);digitalWrite(trigpin,HIGH);delay(10);digitalWrite(trigpin,LOW);int distance=pulseIn(echopin,HIGH);distance=distance/58.0;/计算距离344*100/1000000*pulseIn()/2delay(60);/循环间隔60uSreturn(distance);void straight()analogWrite(L1,100);/255 0 zhengzhuananalogWrite(L2,0);analogWrite(R1,100);/255 0 zhengzhuananalogWrite(R2,0);void turnright()analogWrite(L1,100);/255 0 zhengzhuananalogWrite(L2,0);analogWrite(R1,0);/255 0 zhengzhuan-可编辑analogWrite(R2,0);void turnleft()analogWrite(L1,0);/255 0 zhengzhuananalogWrite(L2,0);analogWrite(R1,100);/255 0 zhengzhuananalogWrite(R2,0);void back()analogWrite(L1,0);/255 0 zhengzhuananalogWrite(L2,100);analogWrite(R1,0);/255 0 zhengzhuananalogWrite(R2,100);实验过程中遇到的问题及解决办法循迹中:1.电机速度差异控制:发现左右轮写入同一数值时,小车行进方向偏离直线,对左右两轮写入不同数值,多次测试,指导左右轮速度相等。2.电机驱动器给arduino供电出现问题,改用充电宝给arduino供电,直接从gnd和 5v输出脚给电机驱动器供电3.一个电机有两根信号输入线,一根控制正转,一根控制反转。两个轮子一起测转地眼晕,容易出错。-可编辑避障中:1.超声装置避障距离的确定将HC-SR04 超声波避障程序中数值改短,提高避障灵敏性2.硬件的安装:超声装置无法固定曾尝试过用胶带,废旧车轮等但不理想,并未得到很好的解决实验结果小车可以成功的进行循迹和避障实验二电子秤实验一 单臂实验数据处理源码:axis(0 200 0 50)coords=0 20 40 60 80 100 120 140 160 180 200;0 2.8 5.1 7.5 9.9 12.4 14.8 17.2 19.6 22.0 24.6gridholdplot(coords(1,:),coords(2,:),*)x=coords(1,:)y=coords(2,:)b=size(coords)c=ones(1,b(2)MT=c;xM=MT-可编辑f=inv(MT*M)*MT*yy=,num2str(f(2),x+,num2str(f(1)x=-max(x):max(x)y=f(1)+f(2)*xmistake=max(x-y)/(max(y)-min(y);fprintf(电阻传感器的系数灵敏度S=%5.3f%n,abs(f(2)fprintf(非线性误差f=%5.3f%n,mistake)plot(x,y,-)xlabel(x/g)ylabel(V/mv)title(单臂实验)legend(y=,num2str(f(2),x+,num2str(f(1)Matlab处理结果电阻传感器的系数灵敏度S=0.122%非线性误差f=3.607%-可编辑半桥实验源码:axis(0 200 0 50)coords=0 20 40 60 80 100 120 140 160 180 200;0 4.0 8.8 13.7 18.6 23.5 18.4 33.2 38.2 43.1 47.9gridholdplot(coords(1,:),coords(2,:),*)x=coords(1,:)y=coords(2,:)b=size(coords)c=ones(1,b(2)MT=c;x-可编辑M=MTf=inv(MT*M)*MT*yy=,num2str(f(2),x+,num2str(f(1)x=-max(x):max(x)y=f(1)+f(2)*xmistake=max(x-y)/(max(y)-min(y);fprintf(电阻传感器的系数灵敏度S=%5.3f%n,abs(f(2)fprintf(非线性误差f=%5.3f%n,mistake)plot(x,y,-)xlabel(x/g)ylabel(V/mv)title(半桥实验)legend(y=,num2str(f(2),x+,num2str(f(1)Matlab处理结果电阻传感器的系数灵敏度S=0.238%非线性误差f=1.615%-可编辑全桥实验源码:axis(0 200 0 100)coords=0 20 40 60 80 100 120 140 160 180 200;0 7.4 15.3 23.1 30.9 38.8 46.7 54.6 62.6 70.5 78.4gridholdplot(coords(1,:),coords(2,:),*)x=coords(1,:)y=coords(2,:)b=size(coords)c=ones(1,b(2)MT=c;x-可编辑M=MTf=inv(MT*M)*MT*yy=,num2str(f(2),x+,num2str(f(1)x=-max(x):max(x)y=f(1)+f(2)*xmistake=max(x-y)/(max(y)-min(y);fprintf(电阻传感器的系数灵敏度S=%5.3f%n,abs(f(2)fprintf(非线性误差f=%5.3f%n,mistake)plot(x,y,-)xlabel(x/g)ylabel(V/mv)title(全桥实验)legend(y=,num2str(f(2),x+,num2str(f(1)Matlab数据处理电阻传感器的系数灵敏度S=0.393%非线性误差f=0.774%-可编辑实验三基于 C51 单片机控制器的轮式机器人电机控制系统实验目的了解 PWM 波控制电机的原理。基于 C51 单片机利用PWM波控制电机。实验器材C51 单片机、L298N驱动芯片、直流电机、杜邦线、普通导线、keil 软件、STC 下载器、示波器实验内容用 keil 新建一个“.c”文件,编写程序并对程序进行调试。将程序烧录进单片机内。进行硬件连接C51 引脚如图所示:-可编辑L298N 引脚如图所示:用单片通过P1.0、P1.1 和 L298 的第一对输入端IN1 和 IN2 相连,然后又L298 的第一对输出端 OUT1和 OUT2 与直流电机相连;单片通过P1.5、P1.6 和 L298 的第二对输入端IN3 和 IN4 相连,然后又L298 的第二对输出端OUT3 和 OUT4 与直流电机相连。给单片机上电。用示波器观察波形。-可编辑程序内容1、PWM 波控制电机启动#include reg51.h#include intrins.h#define FOSC 11059200L-可编辑typedef unsigned char BYTE;typedef unsigned int WORD;void delay_ms(int x);/*Declare SFR associated with the PCA*/sfr CCON=0 xD8;/PCA control registersbit CCF0=CCON0;/PCA module-0 interrupt flagsbit CCF1=CCON1;/PCA module-1 interrupt flagsbit CR=CCON6;/PCA timer run control bitsbit CF=CCON7;/PCA timer overflow flagsfr CMOD=0 xD9;/PCA mode registersfr CL=0 xE9;/PCA base timer LOWsfr CH=0 xF9;/PCA base timer HIGHsfr CCAPM0=0 xDA;/PCA module-0 mode registersfr CCAP0L=0 xEA;/PCA module-0 capture register LOWsfr CCAP0H=0 xFA;/PCA module-0 capture register HIGHsfr CCAPM1=0 xDB;/PCA module-1 mode registersfr CCAP1L=0 xEB;/PCA module-1 capture register LOWsfr CCAP1H=0 xFB;/PCA module-1 capture register HIGHsfr PCAPWM0=0 xf2;sfr PCAPWM1=0 xf3;sbit IN1=P10;-可编辑sbit IN2=P11;sbit IN3=P15;sbit IN4=P16;void main()CCON=0;/Initial PCA control reCL=0;/Reset PCA base timerCH=0;CMOD=0 x02;/Set PCA timer clock source as Fosc/2CR=1;/PCA timer start runwhile(1)int i;IN1=0;IN2=1;IN3=0;IN4=1;for(i=100;i=0;i-)CCAP0H=CCAP0L=i;/PWM0 port output 50%duty cycle square waveCCAPM0=0 x42;/PCA module-0 work in 8-bit PWM mode and no PCA interruptCCAP1H=CCAP1L=i;CCAPM1=0 x42;-可编辑delay_ms(100);for(i=0;i=0;i-)CCAP0H=CCAP0L=i;/PWM0 port output 50%duty cycle square waveCCAPM0=0 x42;/PCA module-0 work in 8-bit PWM mode and no PCA interruptCCAP1H=CCAP1L=i;CCAPM1=0 x42;delay_ms(100);-可编辑for(i=0;i0;x-)for(y=0;y1000;y+);控制方向#include reg51.h#include intrins.h-可编辑#define FOSC 11059200Ltypedef unsigned char BYTE;typedef unsigned int WORD;sbit IN1=P10;sbit IN2=P11;void main()IN1=0;IN2=1;PWM波对电机调速#include reg51.h#include intrins.h#define FOSC 11059200Ltypedef unsigned char BYTE;typedef unsigned int WORD;/*Declare SFR associated with the PCA*/sfr CCON=0 xD8;/PCA control registersbit CCF0=CCON0;/PCA module-0 interrupt flagsbit CCF1=CCON1;/PCA module-1 interrupt flagsbit CR=CCON6;/PCA timer run control bitsbit CF=CCON7;/PCA timer overflow flag-可编辑sfr CMOD=0 xD9;/PCA mode registersfr CL=0 xE9;/PCA base timer LOWsfr CH=0 xF9;/PCA base timer HIGHsfr CCAPM0=0 xDA;/PCA module-0 mode registersfr CCAP0L=0 xEA;/PCA module-0 capture register LOWsfr CCAP0H=0 xFA;/PCA module-0 capture register HIGHsfr CCAPM1=0 xDB;/PCA module-1 mode registersfr CCAP1L=0 xEB;/PCA module-1 capture register LOWsfr CCAP1H=0 xFB;/PCA module-1 capture register HIGHsfr PCAPWM0=0 xf2;sfr PCAPWM1=0 xf3;void main()CCON=0;/Initial PCA control registerCL=0;/Reset PCA base timerCH=0;CMOD=0 x02;/Set PCA timer clock source as Fosc/2CCAP0H=CCAP0L=0 x80;/PWM0 port output 50%duty cycle square waveCCAPM0=0 x42;/PCA module-0 work in 8-bit PWM mode and no PCA interrupt-可编辑CCAP1H=CCAP1L=0 xff;/PWM1 port output 0%duty cycle square wavePCAPWM1=0 x03;CCAPM1=0 x42;/PCA module-1 work in 8-bit PWM mode and no PCA interruptCR=1;/PCA timer start runwhile(1);五、实验心得本次实验中我学会用软件来延时实现PWM 的输出,从而实现对电机的控制。实验四基于 ARM 控制的博创平台轮式机器人循迹蔽障功能实验目的了解 NorthStar平台,并熟练使用此软件完成小车的各种活动了解 RobotServoTerminal机器人舵机调试系统并掌握使用了解并且熟悉灰度传感器循迹原理实验材料ARM 控制器灰度传感器红外探测器舵机电机等实验内容小车硬件的组装蔽障功能的实现循迹功能的实现循迹功能的实现-可编辑NorthStar循迹程序#includeApps/SystemTask.huint8 SERVO_MAPPING4=1,2,3,4;int main()intlgray=0;intrgray=0;MFInit();MFInitServoMapping(&SERVO_MAPPING0,4);MFSetPortDirect(0 x00000FF8);MFSetServoMode(1,1);MFSetServoMode(2,1);MFSetServoMode(3,1);MFSetServoMode(4,1);while (1)-可编辑lgray=MFGetAD(0);rgray=MFGetAD(1);/右偏if(lgray=350)/左转MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,-512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,-512);MFServoAction();DelayMS(400);else/左偏if (lgray=460)&(rgray=460)&(rgray=350)MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,512);MFServoAction();DelayMS(400);elseMFSetServoRotaSpd(1,0);MFSetServoRotaSpd(2,0);MFSetServoRotaSpd(3,0);MFSetServoRotaSpd(4,0);-可编辑MFServoAction();DelayMS(100);蔽障功能的实现程序#includeApps/SystemTask.huint8 SERVO_MAPPING5=1,2,3,4,5;int main()-可编辑intio0=0;intio1=0;MFInit();MFInitServoMapping(&SERVO_MAPPING0,5);MFSetPortDirect(0 x00000FFC);MFSetServoMode(1,1);MFSetServoMode(2,1);MFSetServoMode(3,1);MFSetServoMode(4,1);MFSetServoMode(5,0);while (1)io0=MFGetDigiInput(0);io1=MFGetDigiInput(1);if(io0=1)&(io1=1)MFSetServoRotaSpd(1,1023);MFSetServoRotaSpd(2,-1023);MFSetServoRotaSpd(3,1023);MFSetServoRotaSpd(4,-1023);MFSetServoPos(5,512,512);-可编辑MFServoAction();DelayMS(500);elseif (io0=0)/后退MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,512);MFSetServoPos(5,512,512);MFServoAction();DelayMS(1000);/右转MFSetServoRotaSpd(1,512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,512);MFSetServoRotaSpd(4,512);MFSetServoPos(5,512,512);MFServoAction();-可编辑DelayMS(2000);else/后退MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,512);MFSetServoPos(5,512,512);MFServoAction();DelayMS(1000);/左转MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,-512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,-512);MFSetServoPos(5,512,512);MFServoAction();DelayMS(2000);-可编辑实验中遇到的问题以及解决方案1、NorthStar编程完成后下载时遇到的问题解决方案及拓展步骤(1)打开 NorthStar软件点击帮助(3)点击帮助主题-可编辑(4)点 开 附录 以 及里 边 的常 见 问题及解决将出现一些列常见问题(5)点击遇到的问题,按照操作步骤即可解决环境对灰度传感器影响较大,赛道多次取点进行传感器灰度值测量,之后修改程序内AD 值条件。-可编辑(1)用 NorthStar打开循迹的程序(2)打开工具菜单下的查询传感器出现传感器页面,调整好下载模式以及端口的设置,点击启动服务(4)完成之后调整好查询数据模式电机查询 AD,会在相应AD 口内看到数据的变化。(5)测完后取黑线与地面值的中间值调整if 条件。-可编辑实验拓展将 红 外 蔽障功能,以及灰度传感器巡线功能同时装在小车上,通过一个自制红外开关来控制小车的程序选择。程序#includeApps/SystemTask.huint8 SERVO_MAPPING4=1,2,3,4;int main()intlgray=0;intyou=0;-可编辑intkey=0;intrgray=0;intzuo=0;MFInit();MFInitServoMapping(&SERVO_MAPPING0,4);MFSetPortDirect(0 x00000FF8);MFSetServoMode(1,1);MFSetServoMode(2,1);MFSetServoMode(3,1);MFSetServoMode(4,1);while (1)MFGetDigiInput(0);if(key=0)MFGetDigiInput(1);MFGetDigiInput(2);if (zuo=1)&(you=1)/前进MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,512);-可编辑MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,512);MFServoAction();DelayMS(1000);elseif(you=0)/后退MFSetServoRotaSpd(1,512);MFSetServoRotaSpd(2,-512);MFSetServoRotaSpd(3,512);MFSetServoRotaSpd(4,-512);MFServoAction();DelayMS(400);/左转MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,-512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,-512);MFServoAction();-可编辑DelayMS(400);else/后退MFSetServoRotaSpd(1,512);MFSetServoRotaSpd(2,-512);MFSetServoRotaSpd(3,512);MFSetServoRotaSpd(4,-512);MFServoAction();DelayMS(400);/右转MFSetServoRotaSpd(1,512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,512);MFSetServoRotaSpd(4,512);MFServoAction();DelayMS(400);else-可编辑lgray=MFGetAD(0);rgray=MFGetAD(1);/右偏if (lgray=350)/左转MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,-512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,-512);MFServoAction();DelayMS(400);else/左偏if(lgray=460)&(rgray=460)&(rgray=350)MFSetServoRotaSpd(1,-512);MFSetServoRotaSpd(2,512);MFSetServoRotaSpd(3,-512);MFSetServoRotaSpd(4,512);MFServoAction();DelayMS(400);elseMFSetServoRotaSpd(1,0);MFSetServoRotaSpd(2,0);MFSetServoRotaSpd(3,0);-可编辑MFSetServoRotaSpd(4,0);MFServoAction();DelayMS(100);通过本次实验对NorthStar熟练掌握,进而对今后使用博创平台实现视觉系统等一系列功能掌握。实验五摄像头实现轮式机器人电机控制系统一实验目的1.了解 OpenCv的使用方法,并以此为平台实现基于OpenCv摄像头巡线小车的制作2.掌握基于HSV 颜色模型的图像阈值分割算法3.使用 OpenCv图像去噪相关算法:膨胀腐蚀滤波等4.掌握串口通讯,并实现PC 机与 Arduino以蓝牙模块为载体通讯二实验器材OpenCv,HC-05主从一体蓝牙模块,Arduino,小车底盘,usb 摄像头实验内容三实验内容1.HSV 颜色模型HSV(Hue-Saturation-Value),色相(H)是色彩的基本属性,就是平常所说的颜色名称,-可编辑如红色,黄色等;饱和度(S)是色彩的纯度,越高色彩越纯,低则逐渐变灰;明度(V),指色彩的亮度。HSV 以人类更熟悉的方式封装了关于颜色的信息:“这是什么颜色?深浅如何?明暗如何?”HSV 把颜色描述为在圆柱坐标系的点,这个圆柱的中心轴取值为自底部的黑色到顶部的白色,而在它们中间是灰色;绕这个轴的角度对应色相,取值范围0 360,到这个轴的距离对应饱和度,取值范围0.0 1.0,而沿这个轴的高度对应亮度,取值范围0(黑色)1.0(白色)。2.阈值分割策略阈值化的基本思想是:给定一个数组和一个阈值,然后根据数组中的每个元素的值是低于还是高于阈值而进行一些处理。:检查源图像的每一个像素点的范围。在下限和上限之间的像素点,被置为255;否则置0。即感兴趣区域为白色,不感兴趣区域全为黑色。受光照影响,不同时刻表示同一颜色的空间模型取值不同。因此在图像处理之前先手动标定图像,把合适的H,S,V 取值范围输出到文本文件里,供后续处理读取。-可编辑3.图像去噪分割得到二值化图像之后,可以很明显看到图中仍然有很多细微的点噪声存在,而且目标内部出现空洞,周围存在毛刺,所以需要对噪声进行进一步处理,下面介绍滤出噪声的常用方法。3.1 膨胀膨胀是将与物体接触的所有背景点合并到该物体中,使边界向外部扩张的过程。可以用来填补物体中的空洞。膨胀的算法:用3X3 的结构元素,扫描图像的每一个像素;用结构元素与其覆盖的二值图像做“与”操作;如果都为0,结果图像的该像素为0,否则为1;结果使二值图像扩大一圈。函数这个函数膨胀源图像,存储结果到目标图像。参数详解:源图像,图像通道的数量是任意的,但图像深度应为 CV_8U,CV_16U,CV_16S,CV_32F或 CV_64F。目标图像,尺寸和类型与源图像相同-可编辑膨胀操作核。若为NULL 时,表示是使用参考点位于中心3x3 的核。一般使用函数配合参数使用。函数会返回指定形状和尺寸的结构元素(内核矩阵)。其中函数的第一个参数表示内核的形状,如下:矩形:MORPH_RECT交叉形:MORPH_CROSS椭圆形:MORPH_ELLIPSE锚的位置,默认值(-1,-1),表示锚位于中心迭代使用erode()函数的次数,默认值为1用于推断图像外部像素的某种边界模式,默认值:BORDER_DEFAULT使用 erode函数时,一般我们只需要设置前三个参数,后面四个参数都有默认值。例:3.2 腐蚀腐蚀是一种消除边界点,使边界向内收缩的过程。可以用来消除小而无意义的物体。腐蚀的算法:用3x3 结构元素,扫描图像的每一个像素;用结构元素与其覆盖的二值图像做“与”操作;如果都为1,结果图像该像素为1,否则为0;结果使二值图像减小一圈。-可编辑4.串口通讯串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。串口进行通信的方式有两种:同步通信方式和异步通信方式。同步通信方式要求通信双方以相同的时钟频率进行,而且准确协调,通过共享一个单个时钟或定时脉冲源保证发送方和接收方的准确同步,效率较高;异步通信方式不要求双方同步,收发方可采用各自的时钟源,双方遵循异步的通信协议,以字符为数据传输单位,发送方传送字符的时间间隔不确定,发送效率比同步传送效率低。4.1 串口通讯过程-可编辑4.2 串口通讯重要函数(1)(2)DCB 结构包含了串口的各项参数设置,下面仅介绍几个该结构常用的变量4.HC-05蓝牙一体化模块HC-05 嵌入式蓝牙串口通讯模块(以下简称模块)具有两种工作模式:命令响应工作模式和自动连接工作模式,在自动连接工作模式下模块又可分为主(Master)、从lave)和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输;当模块处于命令响应工作模式时能执行下述所有AT 命令,用户可向模块发送各种AT 指令,为模块设定控制参数或发布控制命令。通过控制模块外部引脚(PIO11)输入电平,可以实现模块工作状态的动态转换。实验成果-可编辑四实验心得通过这个实验尝试并学习了以前只听过没做过的东西,在做的过程中遇到很多问题,但都在与同学的讨论下找到了解决方法。在调试蓝牙模块时不能进入AT 模式,被这个问题绊了两个晚上;给电脑装了蓝牙驱动后,却不能连接到蓝牙模块,一直认为是驱动装错了,后来用手机测试成功连接上了,意识到是电脑有问题;巡线时小车突然动不了了,一开始认为是电机或驱动坏了,后面才知道是因为控制方法不当使电机在下次启动时进入死区,后来改进为PWM控制;这是非常有意义的一次实验课。实验六应用卓越联盟实验室设备进行设计和实现作品说明1.Protell99SE的使用及电路板的雕刻一实验目的1.了解 Protell99se的使用方法,并以此为平台设计电路板-可编辑2.了解将原理图转化为雕刻机所需的输出格式,并运用雕刻机制作出自己独有的电路板二.实验器材Pretell99se设计

    注意事项

    本文(机器人课程结课总结报告.pdf)为本站会员(索****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开