其他分享
首页 > 其他分享> > 智能小车迷宫训练

智能小车迷宫训练

作者:互联网

一、基本行驶模式

当小车直行前进时,三个传感器中一个位于黑色线上,两外两个分别在黑色线两侧;
当小车左转时,三个传感器中一个位于黑色线上,两外两个在黑色线右侧;
当小车右转时,三个传感器中一个位于黑色线上,两外两个在黑色线左侧;

当小车遇到十字路口或者丁字路口时,传统的左转右转显然无法完成任务。采取左转原则,遇到类似情况就左转。但是仍然存在一个问题:当小车遇到三个传感器下都是黑色线时,进行左转,当左转一定角度后,左边两个传感器下会变为背景色,仅最右边一个传感器下为黑色线,代码会判定此时需要右转,而右转之后又回到了原状。因此在遇到这种情况时,需加以判定,防止小车在遇到这种情况时车头左右摇摆,停滞不前。
在进行左转原则时,遇到前方没有路时,小车会在原地左转180°,进行掉头。
小车的行驶由两个轮子组成,两个轮子由两个电机分别控制,左轮的前行由低电平控制,后退由高电平控制;右轮的前行由高电平控制,后退由低电平控制。车子的行驶状态一共有三种,分别为:前进、左转和右转。

二、地图分析

小车从入口到出口的唯一路径是由1号标识出(出发点)开始经过2号标识处直行至3号标识处直行至4号标示处左拐至五号标识处直行至7号标识处左拐至8号标识处(出口)走出迷宫。
image

三、关键代码

前进:左轮前进,右轮前进,车子表现为前进,速度控制为115。关键代码如下图所示:
image

左转:左轮后退,右轮前进,左轮速度为0,右轮速度为100,车子表现为左转。关键代码如下图所示:
image

右转:左边前进,右轮后退,左轮速度为100,右轮速度为0,车子表现为右转。关键代码如下图所示:
image

在Arduino的循环体外编写这五个函数,分别为前进,后退,停止,左转,右转。函数名分别为advance、back_off、stop、turn_l和turn_r。在对小车的行进进行控制时,直接调用这五个函数,不需要再对小车电机进行数据的编写,实际操作起来比较方便。

标签:小车,迷宫,智能,右轮,右转,前进,左转,左轮
来源: https://www.cnblogs.com/muzi-allen/p/16373813.html