您的位置:首页 > 健康 > 美食 > 南宁美容网站建设_网络规划设计的步骤包括哪些_服务外包公司_手机网站模板下载

南宁美容网站建设_网络规划设计的步骤包括哪些_服务外包公司_手机网站模板下载

2025/1/8 14:05:01 来源:https://blog.csdn.net/weixin_44509533/article/details/144896553  浏览:    关键词:南宁美容网站建设_网络规划设计的步骤包括哪些_服务外包公司_手机网站模板下载
南宁美容网站建设_网络规划设计的步骤包括哪些_服务外包公司_手机网站模板下载

功能描述

小车可以根据黑色的循迹线行进,对于由分叉路口构成的迷宫状循迹路线,可以自动找到出口

硬件设计

利用TCRT-5000红外传感器进行循迹线的检测。由于黑色的循迹线会吸收传感器发出的红外线,因此反射光较少,可以据此检测出传感器所正对的部分是否有循迹线存在。
为了实现循迹和解迷宫两种功能,设置五个这样的传感器,传感器设置的位置如下图。
在这里插入图片描述
2、3、4号传感器用于实现循迹,当小车行进路径偏离循迹线时,可通过2、4号传感器检测到。而1、5号传感器主要用于识别迷宫中的不同路口,例如T字型路口、十字型路口、7字型路口等。

小车有两个独立的驱动轮,通过两轮差速实现转向。

算法设计

循迹算法

利用红外传感器进行循迹线的检测,将检测结果返回到arduino并进行误差判断,通过PID算法实现对小车左右轮转速的控制。
误差判断的原理是:根据各路传感器的位置,对其赋以不同的权值,从sensor2-sensor4分别赋以-1、0、1的权值,并设置变量error用于计算误差,当传感器检测到黑线时,将其对应的权值计入变量error中。当error小于0时,表示车体右偏;当error大于0时,表示车体左偏;当error=0时,表示车体基本没有偏离循迹线。得到的error将用于下一步PID的计算。
PID分为增量式PID和位置式PID,采用位置式PID,公式为:
在这里插入图片描述
根据上一步得到的error进行计算即可得到u(k)。起始时,将电机设置为初始速度init_speed,然后将计算得到的u(k)的正负值分别叠加到左右电机的初始速度上,即可实现PID控制。利用u(k)带来的左右轮的转速差实现小车转向的调整,当小车向一侧偏离时,就可以向相反一侧调整方向。
这里比例、积分、微分的系数需要根据实际硬件反复尝试。

解迷宫算法

实际上,我们可以将每一个岔路口或者转角看作一个结点,那么整个迷宫实际上是由结点构成的一个三叉树(可以查一下数据结构中树的概念)。那么解迷宫实际上就是一个树的搜索过程,可以用深度优先搜索、广度优先搜索算法。考虑到迷宫出口一般离入口比较远,采用深度优先搜索。深度优先搜索有两种实现方式:1.栈 2.递归调用。采用栈方式的好处是可以将搜索的结果直接保存在栈里,这样下一次小车再进入迷宫时,可以使用栈里保存的结果直接到达出口,免去了搜索出口的过程。
可以设置一个结构体,保存小车在路口三个方向上的探索情况,标记有三种类型:1.已探索,非出口 2.正在探索 3.未探索。每遇到一个新的路口,就往栈里压入这样一个结构体。

具体的实现和更多的细节见:代码

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com