《机器人控制导论》实验报告姓名:李小强学号:1110200125南京理工大学自动化学院实验一机器人U-II测试一. 实验目的1、熟悉AS-UII机器人的组成结构和工作原理;2、熟练操作使用AS-UII机器人;3、掌握AS-UII机器人各项基本功能。
二、实验要求1、可以明确能力风暴机器人的各个组成部分。
2、指出主要组成部分的结构和功能。
3、学会程序的调试和下载。
三、实验内容、步骤:1.记录自检程序运行的结果,回答每一步用到的传感器和执行器。
(1). LCD 液晶显示是否正常?运行结果:显示正常, 字符显示清晰,16×2 个字符不应有缺行、缺列现象。
执行器: LCD 液晶显示器(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)电子琴 Piano运行结果:从不同的方位触动碰撞环,机器人会发出不同的声音。
传感器:碰撞传感器执行器:扬声器(2)声与光 I'm in dark运行结果:在明暗不同的光线下,机器人会发出不一样的叫声。
光线越暗,频率越高。
传感器:光电传感器执行器:扬声器(3)跟我走 Follow运行结果:机器人会跟着前方的物体走。
能力风暴就像一个可爱的宠物。
如果碰撞刚刚结束,等待一会儿再跟踪;如果有碰撞,就地停下;如果没有发现可跟踪物就地停下;如果正前方有物体,向前走;如果右前有障碍,向右转弯;如果左前有障碍,向左转弯。
传感器:碰撞传感器、红外传感器执行器:直流电机(4)回声 Echo运行结果:叫机器人一声,机器人就会回应一声。
传感器:话筒执行器:扬声器(5)走向亮光 Goto light运行结果:如果房间里点着一支蜡烛,机器人就会向蜡烛走过去。
把机器人放在黑暗的地方,机器人会朝有亮光的地方走去。
传感器:光敏传感器执行器:直流电机(6)三步舞 I'm dancing运行结果:机器人会跳舞。
执行器:直流电机实验二机器人传感器实验一. 实验目的1、掌握AS-UII机器人各传感器工作原理;2、掌握简单的程序设计、了解流程图文件的使用。
3、掌握各传感器测试和使用方法二. 实验要求使用VJC编写程序,并通过程序输出结果判断,测试传感器能否正常工作,如果不能工作,试分析原因。
三、实验内容、步骤1.红外传感器实验(1)红外传感器的库函数:int ir_detector() 红外传感器检测。
返回值意义:0=> 无障碍,1=>左边有障碍,2=>右边有障碍,4=>前方有障碍。
(2)测试程序void main(){while(1){printf("IR=%b\n",ir_detector());wait(0.5);}}(3)程序输出结果与分析测试时将手放在机器人左边,LCD显示屏上显示00000001;将手放在机器人右边,LCD显示屏上显示00000010;将手放在机器人前方,LCD显示屏上显示00000100。
2.光敏传感器实验(1)光敏传感器的库函数:int photo() 光敏传感器检测。
photo(1)为检测左光敏,photo(2)为检测右光敏,返回值为0~255的数字量。
(2)编写程序,当光线暗于一定值时,机器人将叫两声void main(){int right;while(1){right=photo(2);if(right>240){beep();beep();}}}(3)程序输出结果与分析将机器人置于光电较暗的环境中,机器人会叫两声。
3.碰撞传感器实验(1)碰撞传感器的库函数:int bumper() 碰撞传感器检测。
返回值的意义:1 左前,2 右前,4 左后,8 右后,3 前,12 后,5 左,10 右。
(2)编写程序,碰到障碍物后,机器人自动绕开并发出声音。
void main(){int bumpvalue;while(1){bumpvalue=bumper();if(bumpvalue==1){beep();beep();stop();wait(1.0);drive(-50,0);wait(1.0);drive(50,50);wait(0.5);}else if(bumpvalue==2){beep();beep();stop();wait(1.0);drive(-50,0);wait(1.0);drive(50,-50);wait(0.5);}drive(50,0);}}(3)程序输出结果与分析当左前方检测到障碍物时,机器人叫两声,后退并右转;当右前方检测到障碍物时,机器人叫两声,后退并左转;无障碍时机器人会一直往前走。
4.声音传感器实验(1)声音传感器的库函数:int microphone() 声音传感器检测。
返回值为0~255的数字量。
(2)编写程序,听到声音后,机器人开始运动。
void main(){int b=1;int mic;while(1){mic= microphone();printf("mic=%d\n",mic);wait(0.5);if(mic>40) b=b*(-1);if(b==-1) drive(100,0);if(b==1) stop();}}(3)程序输出结果与分析第一次声音大于40时,能力风暴智能机器人全速前进,第二次声音大于40时能力风暴智能机器人停止运动;如此循环。
实验三机器人运动控制实验一. 实验目的1、掌握AS-UII机器人运动控制系统组成和工作原理;2、熟练编写运动控制程序。
二. 实验要求应用VJC语言编写程序,使机器人能够按照要求实现运动。
三、实验内容、步骤:1.速度75,前进3秒,停止2秒,再以速度100,前进2秒,停止。
void main(){drive(75,0);wait(3.0);stop();wait(2.0);drive(100,0);wait(2.0);stop();}2.把1中动作做完循环体,执行三次。
void main(){int i=0;for(i=0;i<3;i++){drive(75,0);wait(3.0);stop();wait(2.0);drive(100,0);wait(2.0);stop();}stop();}3.为什么机器人直走远了,轨迹会偏,如何调校上述的控制为开环控制,不反馈任何速度值和方向值,由于摩擦等扰动的存在,机器人会偏离理想路线,而且机器人没有自校正能力,所以当机器人直走远了,轨迹会偏。
引入反馈,可以采用PID控制,将采集到的方向值和速度值送入控制器,计算机器人的轨迹偏差,产生控制量去纠正偏差,这样必须合理选择PID参数。
实验四机器人避障实验一. 实验目的1、掌握AS-UII机器人避障工作原理;2、熟练编写机器人避障控制程序。
二、实验要求:分别用流程图和VJC编写程序,要求机器人直行或者避开障碍物前行。
*用红外线传感器判断障碍物,并且躲避发出警报。
*机器人可以绕过障碍物,回到直线行走。
三. 实验场地实验场地范围大体为2.5m×2.5m的正方形区域,内有分隔小区及障碍物,隔板距离及长度不小于20cm。
四、实验内容、步骤1、程序流程图2、VJC程序int ir_1=0;void main(){while(1){drive( 80 ,0);wait( 0.500000 );stop();ir_1=ir_detector();if(ir_1 == 2){drive( 0 , -30);wait( 1.000000 );stop();}else{if(ir_1 == 1){drive( 0 , 30);wait( 1.000000 );stop();}else{if(ir_1 == 4){drive( -30 ,0);wait( 1.000000 );stop();drive( 0 , 30);wait( 1.000000 );stop();}}}}}3、运行结果当前方有障碍物时,机器人会避开障碍物前行。
10。