基于树莓派循迹小车设计概述

2019-07-12 14:47张一迪
探索科学(学术版) 2019年4期
关键词:循迹轮子质心

张一迪

电子科技大学 四川 成都 611731

一、循迹小车概述

智能循迹小车作为电子自动化技术的代表产品,是一个较为典型的高科技综合系统。在其工作过程中,囊括了很多在高新技术的使用,比如探测,传感,识别,避障,掌控运行路线并作出相应的决策等等,都是智能循迹小车的特点。和一些智能机器人相比,智能循迹小车的运行更加稳定,其操作也更简便。所以我认为,智能小车可以称得上是更优秀的智能机器人,只是将机器人的双腿变成了轮子。

二、小车运行过程

根据设计要求,小车将会在开始阶段携带小型物体,直行一段距离后,经过多个180度弯道后直行,在指定地点投出物体,再直行一段距离后,识别出在右侧的桥体,过桥之后通过门体结束运行。

三、小车硬件选择

1、运行主板。在本设计中,除了小车的基本结构之外,选择Raspberry Pi 3B+作为运行的主板,Raspberry Pi 3B+相比于其他的处理器,更接近于一个完整的系统,我们可以在上面添加其他驱动器和软件,例如OpenCV 和Python。同时作为一个处理速度更快的主板,更适合于寻迹小车的运行,不容易出现过程不连贯的情况。除此之外,作为一个体积有限,适用于其他情况的系统,在有限体积内,我们需要为其他硬件留出足够的组装空间,在这样的设计要求下,选择广泛电路板,连接PWM,GPIO 和电机。树莓派的GPIO 端口连接电路板GPIO,PWM 用于控制之后所需要的硬件,电机选择L298N,和其他电机相比它更稳定也允许高电流通过。

2、传感器选择。在本次设计中,我更倾向于选择超声波传感器,相比于其他设备,压力传感器分辨率较低,遥感效果差,光学传感器也太需要天气的支撑,一旦在恶劣天气下很有可能停止工作,另外,红外线感应器也有其缺点,有时它的敏感性较差,反应也不够灵敏。在权衡了多种设备下选择超声波传感器,首先通过Raspberry向引脚输入信号,触发该模块的距离检测功能。在激活之后该模块将发送超声波脉冲,并检测是否有信号返回。最后,信号被检测到,然后利用时间函数计算时间,从而计算出汽车与障碍物之间的实际距离。

3、释放目标物体设备选择。在本次设计之中,除了基本的循迹过程之外,投放目标物体到指定区域也是一项特殊的工作。权衡之下选择机械臂,的确其成本较高,并且体积较大,但是其优点极其明显,对于投放位置的把控非常精确,是其他设备所难以比拟的,相比之下,利用磁铁控制难以确定位置,并且也容易被其他金属设备干扰,并不适合这种精确要求,同时一种推放手臂也是可选择之列,其体积较小并且很容易控制,但是相比机械臂还是不够精确。机械臂的控制通过PWM 伺服机制就可以很好的驱动,其机械臂运动呈线性变化,所以,给定一定的脉冲宽度,它的输出轴将保持在一个相应的角度。

4、轮子驱动。相比于其他硬件,轮子的选用较为简单。驱动方式选择四驱,虽然和双驱相比成本偏高,但是四驱的稳定性值得信赖。同时,在轮子和履带的选择上选择轮子,虽然履带有着轮子无法企及的优点,根据这次设计的要求,在行驶正常道路之外,还有上桥的路线,履带毫无疑问因为高摩擦性在这段行驶路线占有优势,但是因为履带在转弯方面也有着劣势。在思考之下还是选择轮子,因为其高灵活性更适合这个设计。

5、摄像头选用。本次项目中选用300亿像素摄像机,可与USB 其他模块通讯。系统支持多种输出形式。这台摄像有两个舵,可以左右旋转180度,上下旋转180度。同时这台相机的作用首先是可以利用边界识别算法对小车的下一次运动进行检测,除此之外,可以通过在摄像机中的图像对颜色进行识别,对上桥和过门都有很重要的帮助。

四、软件概述

1、基于OpenCV 的Canny算法。由于树莓派的运算速度并不够快,所以也许不施加有效可靠的算法之外,得到的效果也是非常喜人的,但是在本设计中,除了所需要的效果之外,过程所需要的时间也很重要。Canny方法首先使用高斯滤波器对图像进行平滑的处理。其次,计算各点的梯度和方向。第三,采用非最大抑制来消除边缘检测中的杂散响应,然后进行双阈值检测。检测应用于确定真实边缘和潜在边缘,最后通过抑制孤立的弱边缘来实现边界识别。在使用这种过程之后,可以发现即使不调整参数,Canny方法的输出效果也是很优秀的。然而,这个输出效果依旧需要提升。目标路径不够清晰,因此需要降低噪声,突出目标路径。

2、膨胀腐蚀算法。根据上面的描述,Canny算法可以说的上是很优秀的输出方式,但是降低噪声来获得更优秀的输出结果对小车运动方向极其重要。在这里选择膨胀腐蚀算法。膨胀算法主要是对灰度值较大的像素进行扩展,用于突出目标路径。当使用膨胀算法时,卷积后每当中心点周围的一次足够多的点是高亮度的,中心点就将被设置为高亮度,否则被设置为低亮度。与膨胀算法相比,腐蚀算法是对灰度值较小的像素点进行扩展,其原理与膨胀算法相反,在这种情况下可以用来降低噪声。

3、运动控制。根据边界识别的结果,确定汽车运动的一种常用方法是先计算目标路径的质心,然后用质心位置来确定运动轨迹。首先,对于相机拍摄的照片,因为顶部和底部有一些部分将包含无用的图像。因此图片可以分为五个区域,分为中心区域,左部分,极左部分,右部分和极右部分(顶部和底部无用区域屏蔽掉)。如果目标路径的质心位于其中某个区域,那么小车将按照该区域的名称移动。例如,如果质心位于极右区域中,小车就会向右转。对于计算质心,遍历算法是常用且有效的,但因为Raspberry Pi的运算速度是较慢的。所以在这种情况下,使用一种改进的遍历算法。并不是遍历所有点,只表示目标路径的质心的三行。在这种情况下,结果是相对准确的,而速度将更快。

4、识别桥体。对于这个部分可以使用HSV 的格式检测,HSV 作为一个非常典型的方式在这个设计中也很实用。通过摄像机定时拍摄路边物体来检测出桥体颜色,同时利用阈值对所需颜色的HSV 范围进行调整,以适应情况。

五、结语

研究这类小车并不只是单纯为了兴趣和探索,若能够将其研发成熟,可以广泛用于人类的生产生活之中,比如货物的搬运,一些较为危险和狭小的地带的检测,或者军用的扫雷用途等等,人类可以从这类人工智能受益无穷。

猜你喜欢
循迹轮子质心
重型半挂汽车质量与质心位置估计
基于DFT算法的电力巡检无人机循迹检测系统设计
基于GNSS测量的天宫二号质心确定
两个轮子“走路”
人类最早的发明:轮子
没有轮子的挖挖
浅谈基于机器视觉和姿态检测的循迹智能车
基于轨迹的平面气浮台质心实时标定方法
智能差分循迹小车设计
香喷喷的轮子