资源描述
移动机器人综合实验实验报告姓名: 朱添麟 学号: 912110200129 南京理工大学自动化学院目 录实验一 AS-UII机器人测试.2实验二 机器人传感器实验.7实验三 机器人运动控制实验.13实验四 机器人避障实验.18实验五 机器人动态目标跟随实验.20实验心得. . . . . . . . .22实验一 AS-UII机器人测试一. 实验目的 1、熟悉AS-UII机器人的组成结构和工作原理; 2、熟练操作使用AS-UII机器人;3、掌握AS-UII机器人各项基本功能二. 设备清单每组学生拥有一套机器人实验课程专用套件。上课期间由组长保管,上课期间遗失或损坏的器件须按原价赔偿。(1) AS-UII智能机器人 1台(2) 五金工具 1套(3) 万用表 1只(4) AS-UII使用手册 1本(5) 使用手册 1本(6) VJC1.5安装盘 1张三、课堂要求(1) 课前认真预习,精心准备。(2) 在不损坏器件或愿意赔偿的情况下自由使用器件。(3) 不同小组的器件不要混用。(4) 课后整理桌面。(5) 不在课堂做任何与学习无关的事。(6) 课后认真填写实验报告。四、注意事项(1) 运行前充饱电,能使机器人运行效果更好。(2) 轻拿轻放机器人,防止摔落地面。(3) 碰撞环是机器人最易损坏的部件,请注意保护。使用机器人时,尽量避免提持、拉扯、捧托碰撞环。(4) 没有特殊情况,不要拆卸电池。如果确实要拆卸,应按住电池上的小塑料片,使之贴住池身,以脱离卡槽,然后轻轻拔下来。(5) 串口通信线连接在机器人上时,最好不要按复位键。否则容易死机。(6) 机器人运动时,勿顶住障碍物,否则易造成电机堵转,烧毁芯片。(7) 常见问题的处理,参见AS-UII使用手册附录。五、系统检测按下机器人的运行键,机器人开始自检,LCD 液晶屏上显示“AS-UII Inteligent Robot Test”:1、检查LCD 液晶屏LCD 液晶显示屏安装在机器人的外壳上,用于显示各种信息,便于了解程序执行中的情况。显示屏可以显示162 个字符(每行16 个字符,共2 行)。显示屏可以显示机器人运行的信息,这一点在以后调试程序时尤其显得重要。自检开始后,LCD 显示屏标明的测试项目为“Now Test NO.1”,接着提示“LCD Test”,然后就开始显示字符,如数字、符号、字母等。注意观察LCD 显示屏有没有出现黑屏(出现整排兰色条纹)或无字符等现象,如果没有,说 明机器人的LCD 显示屏是正常的。LCD 液晶显示是否正常?aYes 1No(若不正常,现象为: 故障排除方法: )2、喇叭检测第二次按下“运行”键,机器人就开始了第二项检查工作,LCD显示屏标明的测试项目为“Now Test NO.2”,接着提示“Piezo Test”,注意听机器人是否发出声音,声音是否清晰响亮。显示屏上的数字会伴随着机器人的声音不断变化,显示的数字是机器人发出的声音频率。音调越高,显示的数字就越大。喇叭是否正常?aYes 1No(若不正常,现象为: 故障排除方法: )3、光敏检测机器人的光敏传感器安装在外壳上,两只光敏传感器一左一右,用来识别外界光线的强弱。再按一下“运行”键,机器人就开始了第三项检查工作,LCD标明的测试项目为“Now Test NO.3”,其后在LCD 上有类似“Photo L242 R248”的提示,其中L 表示“左光敏”,R表示“右光敏”,字母后面的数字表示机器人检测到的光线强度值。随着光强的不同,光敏传感器的感应数值也不同,其变化范围为0255。光强越弱,数值越大,光强越强,数值越小。在相同光强条件下,左右两边光敏传感器的数值偏差应当小于10。光敏传感器测量范围: 左: 245 右: 249 光敏传感器是否正常?aYes 1No(若不正常,现象为: 故障排除方法: )4、红外检测红外传感系统也安装在机器人的外壳上,左右两侧一边一只红外发射管,中间一只红外接收模块。红外传感器的作用是检测机器人前方、左前方、右前方是否有障碍物。再按下“运行”键,机器人就开始了第四项检查工作,LCD标明的测试项目为“Now Test NO.4”,其后在LCD 出现“IR Test”提示。红外检测的距离设置在30cm 左右。将A4 纸大小的障碍物分别放在机器人的正前方、左侧、右侧20 cm 左右,观察LCD 值。红外传感器是否正常?aYes 1No(若不正常,现象为: 故障排除方法: )5、检测碰撞传感器机器人的碰撞传感器,相当于人类的触觉。AS-UII虽然只用了四只碰撞传感器,却能感知全身碰撞的方位。再按一下“运行”键,机器人就开始了第五项检查工作,LCD标明的测试项目为“Now Test NO.5”,其后出现“Bumper Test”字样。用手从不同方向触动碰撞环时,LCD 就会相应地显示出机器人受到碰撞的方向:用手从正前方挤压碰撞环,LCD 显示屏上显示“Front”;用手从正后方挤压碰撞环,LCD 显示屏上显示“Back”;左、右、左前、右前、左后、右后方等方向挤压碰撞环,观测观察LCD 值。碰撞传感器是否正常?aYes 1No(若不正常,现象为: 故障排除方法: )6、检测运动系统再把机器人放到开阔的平地上(有2 米2 米大小即可),按一下“运行”键,机器人就开始第六项检查工作。液晶屏标明的测试项目为“NowTest NO.6”,接着提示“Motor Test”,其后机器人将会移动、转弯,同时在LCD 上显示机器人移动的累计“距离”和瞬时电机转速。如系统机载程序默认值为:Motor 30 L 100Test 31 R 100表示左电机速度100,右电机速度100,左轮转过30个单位,右轮转过31个单位。系统实际测量值:左电机 -100 右电机 100 运动系统是否正常?aYes 1No(若不正常,现象为: 故障排除方法: )7、检测光电编码器第七项检测完成后,把机器人从地上拿起来,再按一下“运行”键,机器人就开始了第七项检查工作,LCD 标明的测试项目为“NowTest NO.7”,接着提示“Encoders Test”。机器人的轮子每转动1 圈,码盘也随着转动1 圈,LCD 上显示的光电编码器的计数值约等于33。即轮子转动1 周,光电计数为33。用手分别转动左、右两侧的轮子,观察显示屏上的数字变化情况。(注意:可能碰到的问题:1) 机器人运动突然停止,可能是机器人电量不足,请给机器人充电;2) 注意不要让机器人运动时顶住障碍物,否则会造成电机堵转,容易损坏驱动芯片。)光电编码器是否正常?aYes 1No(若不正常,现象为: 故障排除方法: )8、检测结束自检程序全部完成后,按一下复位键,机器人就会停止运行。最后关闭电源开关。实验二 机器人传感器实验一. 实验目的 1、掌握AS-UII机器人各传感器工作原理;2、熟练安装3、熟练使用VJC1.5 开发软件。二. 设备清单每组学生拥有一套机器人实验课程专用套件。上课期间由组长保管,上课期间遗失或损坏的器件须付费赔偿。(1) AS-UII智能机器人 1台(2) 红外传感器 2对光敏传感器 4个碰撞传感器 4个(3) 五金工具 1套(4) 万用表 1只(5) AS-UII使用手册 1本(6) 使用手册 1本(7) VJC1.5安装盘 1张三、课堂要求(1) 课前认真预习,精心准备。(2) 在不损坏器件或愿意赔偿的情况下自由使用器件。(3) 不同小组的器件不要混用。(4) 课后整理桌面。(5) 不在课堂做任何与学习无关的事。(6) 课后认真填写实验报告。四、注意事项(1) 运行前充饱电,能使机器人运行效果更好。(2) 轻拿轻放机器人,防止摔落地面。(3) 碰撞环是机器人最易损坏的部件,请注意保护。使用机器人时,尽量避免提持、拉扯、捧托碰撞环。(4) 没有特殊情况,不要拆卸电池。如果确实要拆卸,应按住电池上的小塑料片,使之贴住池身,以脱离卡槽,然后轻轻拔下来。(5) 串口通信线连接在机器人上时,最好不要按复位键。否则容易死机。(6) 机器人运动时,勿顶住障碍物,否则易造成电机堵转,烧毁芯片。(7) 常见问题的处理,参见AS-UII使用手册附录。五、红外传感器实验1、工作原理AS-UII机器人配备了2 只红外发射管和一只红外接收模块构成红外传感系统,主要用来检测前方、左前方和右前方的障碍,检测距离范围为1080cm。可以通过调节两个电位器(主板上靠近红外传感器接口的黄色旋钮)来调节左右两个红外的检测距离,顺时针红外发射强,检测距离远,逆时针红外发射弱,检测距离近。逆时针将电位器旋转到底,将关闭红外发射管。红外传感器红外传感器电路图2、安装红外传感器的插针是有方向性的,安装时应注意方向。红外线发射接口IRR 和IRL 的正极已经标出。插反不会损坏元件,但传感器会不工作。红外线接收模块的正确接法是将紫色线朝向主板中间的缺口。如果插反不会损坏器件,但错位有可能损坏红外接收模块。红外传感器安装位置图3、编程测试在JC 语言中,红外传感器的库函数是ir_detector(),在程序运行过程中,此库函数仅在被调用到时执行一次,即采集数据一次。在JC 代码编辑界面中间一行编辑框(JC 对话窗口)中输入如下程序块:while(1) printf(ir=%bn, ir_detector();wait(0.5);按回车,JC 能立即编译这一段程序并下载运行,LCD 上显示:ir=0 (表示此时没有障碍)4、实验用一张白纸分别挡在能力风暴智能机器人的前方、左方和右方,编程进行测试;程序代码:int ir_1=0;void main() while(1) ir_1=ir_detector(); printf( ir_1 =%dn ,ir_1);wait(0.5); 六、光敏传感器实验1、工作原理能力风暴智能机器人上有2 只光敏传感器(见图3-11),在机器人左前和右前方,可以检测到光线的强弱。光敏传感器 光敏传感器电路图2、安装光敏传感器是可变电阻,它的接插方式没有方向性,它在主板上的位置如图所示:光敏传感器安装位置图3、编程测试在JC 语言中,光敏传感器的库函数是:左光敏photo(1),右光敏photo(2)。在程序运行过程中,光敏检测库函数photo 仅在被调用到时执行一次,即采集数据一次。在JC 代码编辑界面中间一行编辑框(JC 对话窗口)中输入如下程序块(程序仅采集了左光敏的读数):while(1) printf(photoleft=%dn,photo(1);wait(0.5);按回车(Enter),JC 能立即编译这一段程序并下载运行,LCD 上会有如下显示:photoleft=180 (表示此时照射在左光敏上的光强值是180),注意观察读数的变化。光越暗,数字越大,光越强,数字越小。4、实验编写程序,当光线暗于一定值时,机器人将叫两声。程序代码:int photo_1=0;void main() while(1) photo_1 =(photo(1)+photo(2)/2; if(photo_1 = 220) tone(523.200012,0.250000); tone(523.200012,0.250000); printf(photo_1=%dn,photo_1); wait(0.5); 七、碰撞传感器实验1、工作原理碰撞传感器是感知碰撞信息的传感器。在能力风暴智能机器人的左前、右前、左后、右后设置有四个碰撞开关,它们与碰撞环共同构成了碰撞传感器(见图3-2)。碰撞环与底盘柔性连接,在受力后与底盘产生相对位移,触发固连在底盘上的碰撞开关,使之闭合。碰撞传感器碰撞传感器接线图2、安装碰撞传感器在主板上的位置如图所示:碰撞传感器的安装位置图3、实验编写程序,遇到障碍物后,机器人自动绕开并发出声音int bump=0;void main() motor( 1 , 80 ); motor( 2 , 80 ); while(1) bump=bumper(); if( bump = 3) wait( 0.500000 ); drive( 0 , 50); wait( 0.500000 ); stop(); tone(523.200012,0.250000); tone(523.200012,0.250000); wait( 0.500000 ); drive( 80 ,0); wait( 0.500000 ); stop(); else if( bump = 1) wait( 0.500000 ); motor(1,50);motor(2,-50); wait( 0.2500000 ); stop(); tone(523.200012,0.250000); tone(523.200012,0.250000); wait( 0.500000 ); drive( 80 ,0); wait( 0.500000 ); stop(); else if( bump = 2) wait( 0.500000 ); motor(1,-50);motor(2,50); wait( 0.2500000 ); stop(); tone(523.200012,0.250000); tone(523.200012,0.250000); wait( 0.500000 ); drive( 80 ,0); wait( 0.500000 ); stop(); else motor( 1 , 80 ); motor( 2 , 80 ); motor( 1 , 80 ); motor( 2 , 80 );实验三 机器人运动控制实验一. 实验目的 1、掌握AS-UII机器人运动控制系统组成和工作原理;2、熟练编写运动控制程序。二. 设备清单每组学生拥有一套机器人实验课程专用套件。上课期间由组长保管,上课期间遗失或损坏的器件须按原价赔偿。(1) AS-UII智能机器人 1台(2) 五金工具 1套(3) 万用表 1只(4) AS-UII使用手册 1本(5) 使用手册 1本(6) VJC1.5安装盘 1张三、课堂要求(1) 课前认真预习,精心准备。(2) 在不损坏器件或愿意赔偿的情况下自由使用器件。(3) 不同小组的器件不要混用。(4) 课后整理桌面。(5) 不在课堂做任何与学习无关的事。(6) 课后认真填写实验报告。四、注意事项(1) 运行前充饱电,能使机器人运行效果更好。(2) 轻拿轻放机器人,防止摔落地面。(3) 碰撞环是机器人最易损坏的部件,请注意保护。使用机器人时,尽量避免提持、拉扯、捧托碰撞环。(4) 没有特殊情况,不要拆卸电池。如果确实要拆卸,应按住电池上的小塑料片,使之贴住池身,以脱离卡槽,然后轻轻拔下来。(5) 串口通信线连接在机器人上时,最好不要按复位键。否则容易死机。(6) 机器人运动时,勿顶住障碍物,否则易造成电机堵转,烧毁芯片。(7) 常见问题的处理,参见AS-UII使用手册附录。五、直流电机测试AS-UII 机器人上有两个直流电机,机器人的调速是通过调节电机的平均电压实现的。AS-UII 机器人的驱动方式是差动驱动。两个主要的库函数是motor()和drive()。库函数motor(a,b)应用时应注意:1) 库函数motor(a,b)只控制单个的电机转速;2) 库函数motor(a,b)有两个参数a、b,都是整型数;3) 库函数motor(a,b)中a 指定是左轮或是右轮,a=1 代表左轮,a=2 代表右轮;b指定转速,b 的取值范围是100100。库函数drive(a,b)应用时应注意:1) 此库函数是复合语句,同时控制左右两个电机的转速;2) 此语句有两个参数a、b,都是整型数;3) a 指定平移的速度,b 指定旋转的速度。左轮的速度ab,右轮的速度ab。实验1:编写程序,使机器人以左轮40 右轮80 的速度前进0.5 秒钟,并走一条弧线。void main() motor( 1 , 40 ); motor( 2 , 80 ); wait( 0.500000 ); stop(); 实验2:比较以下两个程序,分析原因:程序1:void main()drive( 80 ,0);wait( 0.500000 );stop();21程序2:void main()drive( 60 ,20);wait( 0.500000 );stop();程序运行结果:1. 走直线2. 走右拐弧线原因分析Drive的命令是直线行驶,而drive(a,b)可以决定左右电机的速度,左电机速度=a+b,右电机的速度=a-b.第一个程序中,左右轮的速度是一样的,而且没有旋转速度。平移速度是80,旋转速度为0。第二个程序中,左轮速度为80,右轮速度为40,平移速度为60,旋转速度为20。左轮比右路速度快,因而向右走弧线。六、光电编码器测试1、工作原理光电编码器是一种能够传递位置信息的传感器,它由码盘和光电编码模块组成,分别安装在主动轮内侧和轮子支架内侧。光电编码模块运用反射式红外发射接收模块。反射器(即码盘)是黑白相间的铝合金圆片,黑白条纹把圆分成66 等分。当码盘随轮子旋转时,光电编码模块发出的红外线照射在码盘上,黑条和白条反射回来的信号状态不同,从而产生一个脉冲。轮子转一圈共产生33 个脉冲,每个脉冲对应角度约为10.91 度。码盘及光电编码模块外形光电编码模块安装位置示意图2、编程测试检测左右光电编码器当前状态的库函数为:encoder(1),encoder(2)。在JC 对话窗口中输入如下程序块:while(1)printf(encoder_1=%dn,encoder(1);wait(1.0);按回车(Enter),JC 能立即编译这一段程序并下载运行,LCD 上会显示0 或1。0 表示当前无反射信号,码盘片的黑格正对编码器;1 表示当前有反射信号,码盘片的白格正对编码器。库函数rotation(1)、rotation(2)可以读出左右光电编码器脉冲累计值。3、实验要求:然后缓慢转动左轮,编程测量转一圈是否有33 个脉冲。程序:void main()while(1)rotation(1);printf(left=%dn,(int)rotation(1);wait(1.0);七、运动控制实验要求:编写一个机器人直线行走的程序,先让机器人以快速前进3秒,再让机器人以慢速后退5秒,再在原地旋转1圈。void main() drive( 100 ,0); wait( 3.000000 ); stop(); drive( -60 ,0); wait( 5.000000 ); stop(); drive( 0 , 80); wait( 1.000000 ); stop(); 实验四 机器人避障实验一. 实验目的 1、掌握AS-UII机器人避障工作原理;2、熟练编写机器人避障控制程序。二. 设备清单每组学生拥有一套机器人实验课程专用套件。上课期间由组长保管,上课期间遗失或损坏的器件须按原价赔偿。(1) AS-UII智能机器人 1台(2) 五金工具 1套(3) 万用表 1只(4) AS-UII使用手册 1本(5) 使用手册 1本(6) VJC1.5安装盘 1张三. 实验场地实验场地范围大体为5m5m的正方形区域,内有分隔小区及障碍物,隔板距离及长度不小于20cm。四、课堂要求(1) 课前认真预习,精心准备。(2) 在不损坏器件或愿意赔偿的情况下自由使用器件。(3) 不同小组的器件不要混用。(4) 课后整理桌面。(5) 不在课堂做任何与学习无关的事。(6) 课后认真填写实验报告。五、注意事项(1) 运行前充饱电,能使机器人运行效果更好。(2) 轻拿轻放机器人,防止摔落地面。(3) 碰撞环是机器人最易损坏的部件,请注意保护。使用机器人时,尽量避免提持、拉扯、捧托碰撞环。(4) 没有特殊情况,不要拆卸电池。如果确实要拆卸,应按住电池上的小塑料片,使之贴住池身,以脱离卡槽,然后轻轻拔下来。(5) 串口通信线连接在机器人上时,最好不要按复位键。否则容易死机。(6) 机器人运动时,勿顶住障碍物,否则易造成电机堵转,烧毁芯片。(7) 常见问题的处理,参见AS-UII使用手册附录。六、实验要求 要求通过编写程序,利用传感器,感知障碍物,并能够在运动的过程中避开障碍物。七、实验程序代码及框图int ir_1=0;int bmp_1=0;void main() while(1) SubRoutine_1 (); SubRoutine_2 (); void SubRoutine_1( ) ir_1 =ir_detector(); if( ir_1 = 4) drive( 0 , -80); wait( 0.250000 ); stop(); else if( ir_1 = 1) drive( 0 , 80); wait( 0.150000 ); stop(); else if( ir_1 = 2) drive( 0 , -80); wait( 0.150000 ); stop(); else drive( 80 ,0); wait( 0.100000 ); stop(); return;void SubRoutine_2( ) bmp_1 = bumper(); if( bmp_1 = 4) drive( -80 ,0); wait( 0.500000 ); stop(); drive( 0 , 80); wait( 0.300000 ); stop(); else if( bmp_1 = 1) drive( 0 , 80); wait( 0.200000 ); stop(); else if( bmp_1 = 2) drive( 0 , -80); wait( 0.200000 ); stop(); else drive( 80 ,0); wait( 0.100000 ); stop(); return;实验五 机器人动态目标跟随实验一. 实验目的 1、掌握AS-UII机器人跟随运动原理;2、熟练编写目标跟随控制程序。二. 设备清单每组学生拥有一套机器人实验课程专用套件。上课期间由组长保管,上课期间遗失或损坏的器件须按原价赔偿。(1) AS-UII智能机器人 1台(2) 五金工具 1套(3) 万用表 1只(4) AS-UII使用手册 1本(5) 使用手册 1本(6) VJC1.5安装盘 1张三、实验场地实验场地范围大体为5m5m的正方形区域,内有分隔小区及障碍物,隔板距离及长度不小于20cm。四、课堂要求(1) 课前认真预习,精心准备。(2) 在不损坏器件或愿意赔偿的情况下自由使用器件。(3) 不同小组的器件不要混用。(4) 课后整理桌面。(5) 不在课堂做任何与学习无关的事。(6) 课后认真填写实验报告。五、注意事项(1) 运行前充饱电,能使机器人运行效果更好。(2) 轻拿轻放机器人,防止摔落地面。(3) 碰撞环是机器人最易损坏的部件,请注意保护。使用机器人时,尽量避免提持、拉扯、捧托碰撞环。(4) 没有特殊情况,不要拆卸电池。如果确实要拆卸,应按住电池上的小塑料片,使之贴住池身,以脱离卡槽,然后轻轻拔下来。(5) 串口通信线连接在机器人上时,最好不要按复位键。否则容易死机。(6) 机器人运动时,勿顶住障碍物,否则易造成电机堵转,烧毁芯片。(7) 常见问题的处理,参见AS-UII使用手册附录。六、实验要求. 要求通过编写程序,利用传感器,感知前方物体运动,并实现跟随运动。七、实验程序代码及框图void main() int ir=0; int bmp=0; int old_bmp=0; int fol_trans_def=80; int fol_rot_def=40; printf(Follown); while(1) ir=ir_detector(); bmp=bumper()&0b0011; if(old_bmp&(!bmp)wait(0.5); else if(bmp) stop(); else if(ir=0) stop(); else if(ir=4) drive(fol_trans_def,0); else if(ir=1) drive(fol_trans_def,fol_rot_def); else if(ir=2) drive(fol_trans_def,(-fol_rot_def); wait(0.1); old_bmp=bmp; 实验心得刚开始上这个课的时候,因为对机器人没有什么了解,所以觉得很困难,但是通过看指导书,在软件上自己摸索,就渐渐地熟悉了操作流程。通过这一个星期的移动机器人实验,我们初步掌握了AS-UII的工作原理,并学会通过能力风暴VJC1.6开发版软件编程控制机器人的基本动作,顺利的完成了实验内容,这期间,我认为刚开始的自检很重要,因为后面的实验中如果不能完成指定的任务,有哪里出错了的话,不是机器人的问题就是程序问题,所以自检没有问题的话,那就是程序出错了,就需要修改程序。通过本次实验,增强了团队合作精神,提高了动手能力,是一次很好的体验。
展开阅读全文