机器人跟人走

  • 格式:doc
  • 大小:166.50 KB
  • 文档页数:4

机器人跟人走
一、实验目的:
学习红外传感器的使用。

二、实验要求:
让机器人跟随人移动,若机器人没有检测到物体就停止。

三、实验内容、步骤:
1、机器人移动的路径为实验三所给的路径.
2、将机器人移动的轨迹打印在LCD上.打印的内容有
1)走直线移动的距离
2) 左转移动的距离。

3)右转移动的距离。

4)转向的次数。

四、实验过程与记录:
路径(即呈现出q字形):
实现过程:
当红外检测到前面有障碍的时候,启动电机。

当检测到的障碍不在正前方的时候,机器人自动向障碍所在方向偏移90度以实现转弯的目的。

实现代码:
#include "AS_UIII_LIB.h"
int ir_1=0;
int gi_1=0;
int gi_2=0;
int gi_3=0;
int gi_6=0;
int gi_7=0;
int gi_8=0;
void main()
{
while(1)
{
ir_1 = ir_detector();
{
drive( 20 ,0);
wait( 1.500000 );
stop();
wait( 0.500000 );
gi_1 = gi_1 + 1;
gi_6 = gi_1 * 2;
printf( "FRONT\ngi_6 =%d" ,gi_6);
}
else
{
ir_1 = ir_detector();
if(ir_1 == 1)
{
drive( 0 ,-20);
wait( 0.350000 );
stop();
drive( 20 ,0);
wait( 1.500000 );
stop();
wait( 0.500000 );
gi_2 = gi_2 + 1;
gi_7 = gi_2 * 2;
printf( "gi_2 =%d\ngi_7 =%d\n",gi_2,gi_7 );
}
else
{
ir_1 = ir_detector();
if(ir_1 == 2)
{
drive( 0 ,20);
wait( 0.350000 );
stop();
drive( 20 ,0);
wait( 1.500000 );
stop();
wait( 0.500000 );
gi_3 = gi_3 + 1;
gi_8 = gi_3 * 2;
printf( "gi_3 =%d\ngi_8 =%d\n",gi_3,gi_8 );
}
{
stop();
}
}
}
}
while(1){}
}
五、结果及分析:
实验主要是对于轨迹变化的实时输出。