机器人过丁字路口:并排安装4个地面灰度传感器

2026/3/11 9:49:57 1654 
 

机器人已经可以用2个或4个传感器,又快又稳定地进行 巡线运动了吧?不过,如果机器人行走的路线上除了直线、曲线还有各种路口又该怎么办 呢?这次的实验就来解决这个问题,先来看看图9-5中这样的丁字路口,机器人应该采 用什么样的策略才能通过。

为了让机器人成功通过各种路口, 一般我们还是需要给机器人并排安上4个传感器。 但是和用上节课中对4个传感器的使用不一样,这里用内侧两个传感器帮助机器人完成 巡线。而当外侧的两个传感器检测到黑线时,就知道了机器人遇到了路口。这时就可以 根据具体情况,让机器人做出转弯动作了。

实验器材

· 已经组装好的机器人;

· 计算机及软件编程环境;

·USB 下载线;

· 主控制器;

· 杜邦连接线若干;

· 4个使用杜邦连接线的地面灰度检测传感器;

· 用黑色胶布粘贴的丁字路口。

实验步骤

1.连接机器人

在机器人的底盘上并排安装4个地面灰度传感器,用杜邦连接线把它们按顺序分别 连接到主控板的A0~A3 端口,其中Z左端的传感器连接A0 口,Z右端的连接 A3 口。

2.调试灰度阈值

同样,像以前一样通过实验确定机器人所采用的灰度阈值。因为4个传感器的电路 和安装上可能会出现微小的差别,所以这里比较稳妥的处理方式是不要嫌麻烦,为它们每 个都测量一个灰度阈值。

3.编 写 和调试程序

通过上面的分析可以知道,对于机器人来说,只要是Z左或Z右端的传感器检测到了 黑线,就代表机器人遇到了路口。这时就可以停止巡线而进入90°转弯的过程。根据这 个思路,请同学们自己去编写或是参考下面的示例程序,将机器人通过丁字路口的程序实 现。这个示例程序大部分结构和上节课的示例程序类似,所不同的只是对机器人Z外端 两个传感器检测到黑线时的处理,我们用省略号把同上节课例程重复的大部分内容略过。

const int TurnTime=300;

void loop()(

leftValue=analogRead(LeftPort);

leftMiddleValue=analogRead (LeftMiddlePort);

rightMiddleValue=analogRead(RightMiddlePort);

rightValue=analogRead(RightPort);

if(leftValue Threshold&&leftValue analogWrite(LeftSpeedPort,ForwardSpeed);

analogWrite(RightSpeedPort,ForwardSpeed);

}else if(leftValue>Threshold II rightValue>Threshold){ digitalWrite(LeftDirPort,LOW);

analogWrite(LeftSpeedPort,ForwardSpeed);

analogWrite(RightSpeedPort,ForwardSpeed);

delay(TurnTime);

digitalWrite(LeftDirPort,HIGH);

}else if(leftMiddleValue>Threshold){

analogWrite(LeftSpeedPort,TurnHighSpeed);

analogWrite(RightSpeedPort,TurnLowSpeed); }else{

analogWrite(LeftSpeedPort,TurnLowSpeed);

analogWrite(RightSpeedPort,TurnHighSpeed); }

delay(100);

//原地转90°所需的时间

&&rightMiddleValue< //直行

//原地向左转90°

//向右转弯

//向左转弯

//延时.100ms

请注意,如果大家直接套用上面给出的示例程序,机器人往往是不会乖乖地通过路口 的。这时,就需要请同学们仔细观察机器人遇到路口的反应。然后,根据机器人运动时所 表现出的现象不同,对问题的所在进行判断并解决。比如,机器人的传感器端口接线的顺 序有错误;机器人转90°弯的速度或时间参数不合适,导致转向过度或不足等。就是在这 个过程中大家解决问题的能力才会得到提高,因此请同学们千万不要满足于弄懂了原理, 一 定要动手动脑,对机器人进行实际的调试工作。





 
上一篇   下一篇
 
返回顶部
  技术支持
  关于创泽
  隐私条款
咨询热线
 
销售咨询
4006-935-088 / 4006-937-088
 
客服热线
4008-128-728

版权所有 @ 创泽智能机器人集团股份有限公司
运营中心 / 北京市·清华科技园九号楼5层
生产中心 / 山东省日照市开发区太原路71