移动机器人综合实验实验报告

《移动机器人综合实验》

实验报告

移动机器人综合实验实验报告

姓名: 学号:

南京理工大学自动化学院

目 录

实验一 机器人U-II测试.........................................................................................2

实验二 机器人传感器实验..................................................................................8

实验三 机器人运动控制实验..................................................................................15

实验四 机器人避障实验.........................................................................................20 1

一. 实验目的 实验一 机器人U-II测试

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) 串口通信线连接在机器人上时,最好不要按复位键。否则容易死机。 2

(6) 机器人运动时,勿顶住障碍物,否则易造成电机堵转,烧毁芯片。

(7) 常见问题的处理,参见《AS-UII使用手册》附录。

五、系统检测

按下机器人的运行键,机器人开始自检,LCD 液晶屏上显示“AS-UII Inteligent Robot Test”:

1、检查LCD 液晶屏

LCD 液晶显示屏安装在机器人的外壳上,用于显示各种信息,便于了解程序执行中的情况。显示屏可以显示16×2 个字符(每行16 个字符,共2 行)。显示屏可以显示机器人运行的信息,这一点在以后调试程序时尤其显得重要。自检开始后,LCD 显示屏标明的测试项目为“Now Test NO.1”,接着提示“LCD Test”,然后就开始显示字符,如数字、符号、字母等。注意观察LCD 显示屏有没有出现黑屏(出现整排兰色条纹)或无字符等现象,如果没有,说明机器人的LCD 显示屏是正常的。

LCD 液晶显示是否正常??Yes ?No

(若不正常,现象为:

2、喇叭检测

第二次按下“运行”键,机器人就开始了第二项检查工作,LCD显示屏标明的测试项目为“Now Test NO.2”,接着提示“Piezo Test”,注意听机器人是否发出声音,声音是否清晰响亮。显示屏上的数字会伴随着机器人的声音不断变化,显示的数字是机器人发出的声音频率。音调越高,显示的数字就越大。

喇叭是否正常? ?Yes ?No

(若不正常,现象为: 3

3、光敏检测

机器人的光敏传感器安装在外壳上,两只光敏传感器一左一右,用来识别外界光线的强弱。再按一下“运行”键,机器人就开始了第三项检查工作,LCD标明的测试项目为“Now Test NO.3”,其后在LCD 上有类似“Photo L242 R248”的提示,其中L 表示“左光敏”,R表示“右光敏”,字母后面的数字表示机器人检测到的光线强度值。随着光强的不同,光敏传感器的感应数值也不同,其变化范围为0~255。光强越弱,数值越大,光强越强,数值越小。在相同光强条件下,左右两边光敏传感器的数值偏差应当小于10。

光敏传感器测量范围: 左: 4-255 右: 6-255

光敏传感器是否正常? ?Yes ?No

(若不正常,现象为:

4、红外检测

红外传感系统也安装在机器人的外壳上,左右两侧一边一只红外发射管,中间一只红外接收模块。红外传感器的作用是检测机器人前方、左前方、右前方是否有障碍物。再按下“运行”键,机器人就开始了第四项检查工作,LCD标明的测试项目为“Now Test NO.4”,其后在LCD 出现“IR Test”提示。红外检测的距离设置在30cm 左右。将A4 纸大小的障碍物分别放在机器人的正前方、左侧、右侧20 cm 左右,观察LCD 值。

红外传感器测量值:

红外传感器是否正常? ?Yes ?No

(若不正常,现象为: 无论光线来自哪一边,显示器箭头始终向右 发射插口反接,改正后正常显示

5、检测碰撞传感器

4

机器人的碰撞传感器,相当于人类的触觉。AS-UII虽然只用了四只碰撞传感器,却能感知全身碰撞的方位。再按一下“运行”键,机器人就开始了第五项检查工作,LCD标明的测试项目为“Now Test NO.5”,其后出现“Bumper Test”字样。用手从不同方向触动碰撞环时,LCD 就会相应地显示出机器人受到碰撞的方向:

用手从正前方挤压碰撞环,LCD 显示屏上显示“Front”;

用手从正后方挤压碰撞环,LCD 显示屏上显示“Back”;

左、右、左前、右前、左后、右后方等方向挤压碰撞环,观测观察LCD 值。

碰撞传感器是否正常? ?Yes ?No

(若不正常,现象为:

6、检测运动系统

再把机器人放到开阔的平地上(有2 米×2 米大小即可),按一下“运行”键,机器人就开始第六项检查工作。液晶屏标明的测试项目为“NowTest NO.6”,接着提示“Motor Test”,时在L其后机器人将会移动、转弯,同CD 上显示机器人移动的累计“距离”和瞬时电机转速。如系统机载程序默认值为:

Motor 30 L 100

Test 31 R 100

表示左电机速度100,右电机速度100,左轮转过30个单位,右轮转过31个单位。 系统实际测量值:左电机 转速 80 转过99 右电机 转速 -80 转过99

运动系统是否正常? ?Yes ?No

(若不正常,现象为:

7、检测光电编码器

第七项检测完成后,把机器人从地上拿起来,再按一下“运行”键,机器人 5

就开始了第七项检查工作,LCD 标明的测试项目为“NowTest NO.7”,接着提示“Encoders Test”。机器人的轮子每转动1 圈,码盘也随着转动1 圈,LCD 上显示的光电编码器的计数值约等于33。即轮子转动1 周,光电计数为33。 用手分别转动左、右两侧的轮子,观察显示屏上的数字变化情况。

(注意:可能碰到的问题:1) 机器人运动突然停止,可能是机器人电量不足,请给机器人充电;2) 注意不要让机器人运动时顶住障碍物,否则会造成电机堵转,容易损坏驱动芯片。)

光电编码器是否正常? ?Yes ?No

(若不正常,现象为:

8、检测结束

自检程序全部完成后,按一下复位键,机器人就会停止运行。最后关闭电源开关。

六、运行表演程序

1、安装开发软件

把VJC1.5 开发版安装光盘放入电脑光驱中, VJC1.5 就能自动安装到电脑上。如果未能自动安装,请打开“我的电脑”,打开“光盘”,运行光盘中安装程序“VJC1.5Setup.exe”,然后按照安装向导的提示一步步操作,就可以将VJC1.5 开发版安装上了。安装完成后,桌面上会出现VJC1.5 图标。

2、连接串口通信线

将串口通信线的一端与电脑机箱后面的9 针串口相连,另一端连在机器人的下载口上。

3、下载表演程序

单击菜单栏中“工具(T)”选项卡,在弹出的下拉菜单中单击“机器人表演程序”,随后会弹出“智能下载程序”对话框,并显示下载进程。注意观察下载程序是否正常。当对话框中出现“成功下载”字样后,关闭对话框。表演程序就下载到机器人中了。

4、运行表演

6

把串口通信线从机器人下载口拔下来,就可以让机器人表演了。机器人表演程序包含5个程序:

(1) 电子琴 Piano―――从不同的方位触动碰撞环,机器人会发出不同的声音。

(2) 声与光 I'm in dark―――在明暗不同的光线下,机器人会发出不一样的叫

声。

(3) 跟我走 Follow―――机器人会跟着前方的物体走。

(4) 走向亮光 Goto light―――如果房间里点着一支蜡烛,机器人就会向蜡烛

走过去。

(5) 三步舞 I'm dancing―――机器人跳舞。

表演是否正常? ?Yes ?No

(若不正常,现象为: 7

实验二 机器人传感器实验

一. 实验目的

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) 没有特殊情况,不要拆卸电池。如果确实要拆卸,应按住电池上的小塑 8

料片,使之贴住池身,以脱离卡槽,然后轻轻拔下来。

(5) 串口通信线连接在机器人上时,最好不要按复位键。否则容易死机。

(6) 机器人运动时,勿顶住障碍物,否则易造成电机堵转,烧毁芯片。

(7) 常见问题的处理,参见《AS-UII使用手册》附录。

五、红外传感器实验

1、工作原理

AS-UII机器人配备了2 只红外发射管和一只红外接收模块构成红外传感系统,主要用来检测前方、左前方和右前方的障碍,检测距离范围为10~80cm。可以通过调节两个电位器(主板上靠近红外传感器接口的黄色旋钮)来调节左右两个红外的检测距离,顺时针红外发射强,检测距离远,逆时针红外发射弱,检测距离近。逆时针将电位器旋转到底,将关闭红外发射管。

移动机器人综合实验实验报告

红外传感器

移动机器人综合实验实验报告

红外传感器电路图

2、安装

红外传感器的插针是有方向性的,安装时应注意方向。红外线发射接口IRR 和IRL 的正极已经标出。插反不会损坏元件,但传感器会不工作。红外线接收模块的正确接法是将紫色线朝向主板中间的缺口。如果插反不会损坏器件,但错位有可能损坏红外接收模块。

9

移动机器人综合实验实验报告

红外传感器安装位置图

3、编程测试

在JC 语言中,红外传感器的库函数是ir_detector(),在程序运行过程中,此库函数仅在被调用到时执行一次,即采集数据一次。在JC 代码编辑界面中间一行编辑框(JC 对话窗口)中输入如下程序块:{while(1) {printf("ir=%b\n", ir_detector());wait(0.5);}}按回车,JC 能立即编译这一段程序并下载运行,LCD 上显示:

ir=0 (表示此时没有障碍)

4、实验

用一张白纸分别挡在能力风暴智能机器人的前方、左方和右方,编程进行测试;

程序代码:

移动机器人综合实验实验报告

移动机器人综合实验实验报告

10

六、光敏传感器实验

1、工作原理

能力风暴智能机器人上有2 只光敏传感器(见图3-11),在机器人左前和右前方,可以检测到光线的强弱。

移动机器人综合实验实验报告

光敏传感器

移动机器人综合实验实验报告

光敏传感器电路图

2、安装

光敏传感器是可变电阻,它的接插方式没有方向性,它在主板上的位置如图所示:

11

光敏传感器安装位置图

3、编程测试

在JC 语言中,光敏传感器的库函数是:左光敏photo(1),右光敏photo(2)。在程序运行过程中,光敏检测库函数photo 仅在被调用到时执行一次,即采集数据一次。在JC 代码编辑界面中间一行编辑框(JC 对话窗口)中输入如下程序块(程序仅采集了左光敏的读数):

{while(1) {printf("photoleft=%d\n",photo(1));wait(0.5);}}

按回车(Enter),JC 能立即编译这一段程序并下载运行,LCD 上会有如下显示: photoleft=180 (表示此时照射在左光敏上的光强值是180),注意观察读数的变化。光越暗,数字越大,光越强,数字越小。

4、实验

编写程序,当光线暗于一定值时,机器人将叫两声。

移动机器人综合实验实验报告

移动机器人综合实验实验报告

七、碰撞传感器实验

1、工作原理

碰撞传感器是感知碰撞信息的传感器。在能力风暴智能机器人的左前、右前、左后、右后设置有四个碰撞开关,它们与碰撞环共同构成了碰撞传感器(见图3-2)。碰撞环与底盘柔性连接,在受力后与底盘产生相对位移,触发固连在底盘上的碰撞开关,使之闭合。

移动机器人综合实验实验报告

碰撞传感器

移动机器人综合实验实验报告

碰撞传感器接线图

2、安装

碰撞传感器在主板上的位置如图所示:

13

碰撞传感器的安装位置图

3、实验

编写程序,遇到障碍物后,机器人自动绕开并发出声音。 void main ()

{

int bill_trans=0;

int bill_rot=0;

int bmpr=0;

drive(100,0);

while(1) /*无限循环检测*/

{

bmpr=bumper(); /*检测碰撞传感器*/

if(bmpr!=0)

{beep();

beep();

if(bmpr==0b0011) /*正前方发生碰撞*/

{

bill_trans=-80; /*后退*/

bill_rot=0;

}

else if(bmpr==0b1100) /*正后方发生碰撞*/ {

bill_trans=80; /*前进*/

bill_rot=0;

}

else if(bmpr & 0b0101) /*左侧发生碰撞*/

{

bill_trans=0;

移动机器人综合实验实验报告

14

bill_rot=-80;

drive(bill_trans,bill_rot); wait(0.5); /*顺时针转一个角度*/ bill_trans=80; /*前进*/ bill_rot=0; }

else if(bmpr & 0b1010) /*右侧发生碰撞*/ {

bill_trans=0; bill_rot=80;

drive(bill_trans,bill_rot); wait(0.5); /*逆时针转一个角度*/ bill_trans=80; /*前进*/ bill_rot=0; }

drive(bill_trans,bill_rot); /*驱动电机*/ } } }

15

实验三 机器人运动控制实验

一. 实验目的

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使用手册》附录。

16

五、直流电机测试

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 的取值范围是-100~+100。

库函数drive(a,b)应用时应注意:

1) 此库函数是复合语句,同时控制左右两个电机的转速;

2) 此语句有两个参数a、b,都是整型数;

3) a 指定平移的速度,b 指定旋转的速度。左轮的速度=a+b,右轮的速度=a-b。

实验1:编写程序,使机器人以左轮40 右轮80 的速度前进0.5 秒钟,并走一条弧线。

移动机器人综合实验实验报告

实验2:比较以下两个程序,分析原因:

程序1:

void main()

{

drive( 80 ,0);

wait( 0.500000 );

stop();

}

17

程序2:

void main()

{

drive( 60 ,20);

wait( 0.500000 );

stop();

}

六、光电编码器测试

1、工作原理

光电编码器是一种能够传递位置信息的传感器,它由码盘和光电编码模块组成,分别安装在主动轮内侧和轮子支架内侧。光电编码模块运用反射式红外发射接收模块。反射器(即码盘)是黑白相间的铝合金圆片,黑白条纹把圆分成66 等分。当码盘随轮子旋转时,光电编码模块发出的红外线照射在码盘上,黑条和白条反射回来的信号状态不同,从而产生一个脉冲。轮子转一圈共产生33 个脉冲,每个脉冲对应角度约为10.91 度。

移动机器人综合实验实验报告

18

码盘及光电编码模块外形

移动机器人综合实验实验报告

光电编码模块安装位置示意图

2、编程测试

检测左右光电编码器当前状态的库函数为:encoder(1),encoder(2)。 在JC 对话窗口中输入如下程序块:

{while(1){printf("encoder_1=%d\n",encoder(1));wait(1.0);}}

按回车(Enter),JC 能立即编译这一段程序并下载运行,LCD 上会显示0 或1。0 表示当前无反射信号,码盘片的黑格正对编码器;1 表示当前有反射信号,码盘片的白格正对编码器。库函数rotation(1)、rotation(2)可以读出左右光电编码器脉冲累计值。

3、实验

要求:然后缓慢转动左轮,编程测量转一圈是否有33 个脉冲。

程序:

移动机器人综合实验实验报告

移动机器人综合实验实验报告

19

七、运动控制实验

要求:编写一个机器人直线行走的程序,先让机器人以速度100 前进3 秒,再让机器人以速度-60 后退5 秒,再在原地以角速度80度/秒旋转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、熟练编写机器人避障控制程序。

20

二. 设备清单

每组学生拥有一套机器人实验课程专用套件。上课期间由组长保管,上课期间遗失或损坏的器件须按原价赔偿。

(1) AS-UII智能机器人 1台

(2) 五金工具 1套

(3) 万用表 1只

(4) 《AS-UII使用手册》 1本

(5) 《使用手册》 1本

(6) VJC1.5安装盘 1张

三. 实验场地

实验场地范围大体为2.5m×2.5m的正方形区域,内有分隔小区及障碍物,隔板距离及长度不小于20cm。

四、课堂要求

(1) 课前认真预习,精心准备。

(2) 在不损坏器件或愿意赔偿的情况下自由使用器件。

(3) 不同小组的器件不要混用。

(4) 课后整理桌面。

(5) 不在课堂做任何与学习无关的事。

(6) 课后认真填写实验报告。

五、注意事项

(1) 运行前充饱电,能使机器人运行效果更好。

(2) 轻拿轻放机器人,防止摔落地面。

(3) 碰撞环是机器人最易损坏的部件,请注意保护。使用机器人时,尽量避

免提持、拉扯、捧托碰撞环。

(4) 没有特殊情况,不要拆卸电池。如果确实要拆卸,应按住电池上的小塑

料片,使之贴住池身,以脱离卡槽,然后轻轻拔下来。

(5) 串口通信线连接在机器人上时,最好不要按复位键。否则容易死机。

(6) 机器人运动时,勿顶住障碍物,否则易造成电机堵转,烧毁芯片。

(7) 常见问题的处理,参见《AS-UII使用手册》附录。

程序:

21

int bill_trans=50;

int bill_rot=0;

int bmpr=0;

int forward=0;

int running=0; /*能力风暴初始值处于静止状态*/ void billiards ()

{

while(1) /*无限循环检测*/

{

bmpr=bumper(); /*检测碰撞传感器*/ if(bmpr!=0)

{if(bmpr==0b0011) /*正前方发生碰撞*/ {

forward=0;

bill_trans=-80; /*后退*/

bill_rot=0;

}

else if(bmpr==0b1100) /*正后方发生碰撞*/ {

forward=1;

bill_trans=80; /*前进*/

bill_rot=0;

}

}

else if(bmpr & 0b0101) /*左侧发生碰撞*/ {

bill_trans=0;

bill_rot=80;

wait(0.5); /*顺时针转一个角度*/

forward=1;

bill_trans=80; /*前进*/

bill_rot=0;

}

else if(bmpr & 0b1010) /*右侧发生碰撞*/ {

bill_trans=0;

bill_rot=-80;

wait(0.5); /*逆时针转一个角度*/

forward=1;

bill_trans=80; /*前进*/

bill_rot=0;

}

}

22

void billiards_ir()

{

int ir;

while(1)

{

if(running) /*能力风暴没有开始运动,不检测障碍*/ { ir=ir_detector(); /*检测红外传感器*/

if(bmpr==0 && forward) /*后退或发生碰撞时,不避障*/ {

if(ir==2) /*右侧有障碍,向左绕*/

{

bill_trans=20;

bill_rot=-80; /*逆时针转*/

}

else if(ir==1) /*左侧有障碍,向右绕*/

{

bill_trans=20;

bill_rot=80; /*顺时针转*/

}

else if(ir==0) /*前方没有障碍,恢复直行*/ {

bill_trans=80;

bill_rot=0;

}

}

wait(0.1);

}}

}

void billiards_drive()

{

while(1)

{ running = bill_trans; /*能力风暴正在运动*/ drive(bill_trans,bill_rot); /*驱动电机*/ }

}

void main()

{

start_process(billiards_drive()); /*创建电机驱动进程*/ start_process(billiards_ir()); /*创建避障进程*/ start_process(billiards()); /*创建碰撞处理进程*/ }

23

相关推荐