机器人控制理论与技术实验报告

机器人控制理论与技术》实验报告实验一 机器人 U-II 测试. 实验目的1熟悉AS-UII机器人的组成结构和工作原理;2、 熟练操作使用 AS-UII 机器人;3、 掌握 AS-UII 机器人各项基本功能二、实验要求1、 可以明确能力风暴机器人的各个组成部分2、 指出主要组成部分的结构和功能3、 学会程序的调试和下载三、实验内容、步骤:1.记录自检程序运行的结果,回答每一步用到的传感器和执行器1) LCD液晶显示是否正常?(字符显示清晰,16X 2个字符不应有缺行、缺 列现象运行结果:正常( 2)扬声器(喇叭)是否正常?(扬声器所播放的乐曲应清晰洪亮,无明显噪声运行结果:正常 传感器:话筒 执行器:扬声器( 3)光敏传感器是否正常? ( 左右光敏传感器的感应数值随光强不同而变化, 其 范围为0〜255光强越弱,数值越大,光强越强,数值越小在相同光强条件 下,左右两光敏传感器数值偏差小于 10 )运行结果:正常 传感器:光敏传感器 执行器: LCD( 4)红外传感器是否正常?运行结果:正常 传感器:红外传感器 执行器: LCD(5)话筒是否正常?(对着 AS-UII 话筒槽孔(蜂窝状小孔)说话,看 LCD 上 的 > 是否增加。
运行结果:正常 传感器: 话筒 执行器: LCD( 6 )碰撞传感器是否正常? (按动机器人下部的碰撞环,在 LCD 上能显示碰撞 方位运行结果:正常 传感器: 碰撞传感器执行器: LCD(7)运动系统是否正常?(机器人可移动、转弯,同时在 LCD 上显示光电编码 器累计计数值和瞬时电机转速 )运行结果:正常 传感器:光电编码器执行器:主动轮及其驱动机构、 从动轮、直流电机、 LCD ( 8)光电编码器是否正常?(机器人左、右轮子分别转动 1 圈,轮子内侧码盘也随之转动1圈,LCD上显示光电编码器的计数值约为 33轮子连续转动,LCD 上则显示光电编码器的累计计数值 )运行结果:正常 传感器:光电编码器 执行器:主动轮及其驱动机构、从动轮、 LCD 2.记录表演程序运行的结果,回答每一步用到的传感器和执行器1) 电子琴Pia no 从不同的方位触动碰撞环,机器人会发出不同的声音传感器:碰撞传感器 执行器:扬声器、 LCD(2) 声与光rm in dark 在明暗不同的光线下,机器人会发出不一样的叫声传感器:光敏传感器执行器:扬声器、 LCD(3) 跟我走Follow 机器人会跟着前方的物体走。
能力风暴就像一个可爱的宠物传感器:红外传感器 执行器:主动轮及其驱动机构、从动轮、直流电机、 LCD(4) 回声Echo 您叫机器人一声,机器人就会回应一声能力风暴是不是很听话?传感器:话筒 执行器:扬声器、 LCD(5) 走向亮光Goto light 如果房间里点着一支蜡烛,机器人就会向蜡烛走过去传感器:光敏传感器 执行器:主动轮及其驱动机构、从动轮、直流电机、 LCD(6) 三步舞rm dancing 机器人还会跳舞呢,欣赏一下吧传感器:光电编码器 执行器:主动轮及其驱动机构、从动轮、直流电机、 LCD实验二 机器人传感器实验. 实验目的1 、掌握 AS-UII 机器人各传感器工作原理;2、 掌握简单的程序设计、了解流程图文件的使用3、 掌握各传感器测试和使用方法实验要求使用VJC编写程序,并通过程序输出结果判断,测试传感器能否正常工作,如 果不能工作,试分析原因三、实验内容、步骤1. 红外传感器实验(1) 红外传感器的库函数:ir_detector()(2) 测试程序void main(){while(1) {printf("ir=%b\n",ir_detector());wait(1);}}(3) 程序输出结果与分析ir=0 表示没有障碍物;ir=00000100 表示正前方有障碍物;ir=00000010 表示右边有障碍物;ir=00000001 表示左边有障碍物。
2. 光敏传感器实验(1) 光敏传感器的库函数:左光敏 photo(1) ;右光敏 photo(2) ;(2) 编写程序,当光线暗于一定值时,机器人将叫两声void main(){int right;while(1){ printf("photoright=%d\n",photo(2));wait(1); right=photo(2);if(right>200){beep();beep();}}}(3) 程序输出结果与分析 根据当时做实验的环境,光强度大致处于 235~241之间,程序运行时机器人将持续叫3. 碰撞传感器实验(1) 碰撞传感器的库函数:bumper()(2) 编写程序,碰到障碍物后,机器人自动绕开并发出声音int bmp_1=0;void main(){while(1){bmp_1 = bumper();if( bmp_1 != 0){tone(523.200012,0.250000); bmp_1 = bumper();if( bmp_1 == 3){drive( -80 ,0); wait( 0.500000 ); stop();drive( 0 , 80); wait( 0.500000 );stop();}else{bmp_1 = bumper();if( bmp_1 == 12){drive( 80 ,0); wait( 0.500000 ); stop();drive( 0 , 80); wait( 0.500000 ); stop();} else{bmp_1 = bumper(); if( bmp_1 == 5) {drive( 0 , -80); wait( 0.500000 ); stop();} else{bmp_1 = bumper(); if( bmp_1 == 10) {drive( 0 , 80); wait( 0.500000 ); stop();}}}drive( 80 ,0);wait( 0.100000 );stop();}else{drive( 80 ,0);wait( 0.100000 );stop();}}}(3) 程序输出结果与分析正前方发生碰撞时 , 后退右转绕开并短叫一声 ; 正后方发生碰撞时 , 前进右 转绕开并长叫一声 ; 左侧发生碰撞时 , 左转一个角度绕开并短叫两声 , 前进; 右 侧发生碰撞时 , 右转一个角度绕开并长叫两声 , 前进。
4. 声音传感器实验(1)声音传感器的库函数:microphone()(2) 编写程序,听到声音后,机器人开始运动void main(){int b=1;int mic;while(1){mic= microphone();printf("mic=%d\n",mic);wait(0.5);if(mic>30) b=b*(-1);if(b==-1) drive(100,0); if(b==1) stop();}}(3) 程序输出结果与分析机器人跟随声音运动 给一次满足条件的声音 ,开始运动 ,再给一次,则停止, 如此循环 实验三 机器人运动控制实验. 实验目的1掌握AS-UII机器人运动控制系统组成和工作原理;2、熟练编写运动控制程序二 . 实验要求应用VJC语言编写程序,使机器人能够按照要求实现运动三、实验内容、步骤:1. 速度 75,前进 3 秒,停止 2 秒,再以速度 100,前进 2秒,停止void main(){drive( 75 ,0);wait( 3.000000 );stop();wait( 2.000000 );drive( 100 ,0);wait( 2.000000 );stop();}2. 把 1 中动作做完循环体,执行三次。
void main(){{int i_2;for(i_2=0;i_2< 3 ;i_2++){drive( 75 ,0);wait( 3.000000 );stop();wait( 2.000000 );drive( 100 ,0);wait( 2.000000 );stop();}}}3. 为什么机器人直走远了,轨迹会偏,如何调校 因为实验地面不一定非常的平整, 导致左右轮运转的功率虽然相同, 但所受阻力 不同,导致左右轮有时候速度不同,应该让机器人尽量在平滑的路面行走实验四 机器人避障实验. 实验目的1、 掌握 AS-UII 机器人避障工作原理;2、 熟练编写机器人避障控制程序实验要求:分别用流程图和VJC编写程序,要求机器人直行或者避开障碍物前行用红外线传感器判断障碍物,并且躲避发出警报*机器人可以绕过障碍物,回到直线行走三.实验场地实验场地范围大体为2.5mx 2.5m的正方形区域,内有分隔小区及障碍物,隔 板距离及长度不小于20cm四、实验内容、步骤1、程序流程图9 / 10主程序菖启动电机T1 芮诳鼻r2、VJC程序 int ir_仁0;void mai n(){motor( 1 , 80 );motor( 2,80 );while(1){ir_1 =ir_detector();if( ir_1 == 4){printf( "ir_1 =%d\n" ,ir_1); wait( 0.500000 );to ne(523.200012,0.250000); drive( 0,50);wait( 0.050000 );stop();gi_1 = 1 + gi_1;ir_1 =ir_detector();if( ir_1 == 4){}else{while((ir_1 == 1) || (ir_1 == 4)){ir_1 =ir_detector();if( ir_1 == 4){ tone(523.200012,0.250000); drive( 0 , 50); wait( 0.050000 ); stop();gi_1 = 1 + gi_1;printf( "ir_1 =%d\n" ,ir_1); wait( 0.500000 );}else{drive( 80 ,0); wait( 0.500000 ); stop();}}{int i_44;for(i_44=0;i_44< gi_1 ;i_44++){drive( 0 , -50);wait( 0.050000 );stop();drive( 80 ,0);wait( 0.050000 );stop();}}}else{drive( 80 ,0);wait( 0.500000 );stop();}}}3、运行结果以三个人站于前方作为障碍当排成“一”字形和“ ”倾斜形时,机器人靠近障碍时通过以一定的速度 不停地右转,并累加转动的时间,使得前方无障碍后,继续前行,直到左方无障 碍后,以同样的速度向左转动相同的时间 (每转动一次前进一些, 以绕过障碍边 界),使得机器人朝向最初的正前方。
当排成“「”直角形时,机器人同样先右转摆脱前方的障碍,前进到前方再 次出现障碍后,再右转,累计两次右转的时间,最终依此时间左转绕过障碍,回 到最初前进的方向。