别人学单片机已经做小车了,你还在点灯么 ?
时间:2023-10-20 20:07:00
别人学单片机已经做了车,你还在点灯吗? ?
大家好,我是哥哥。本文介绍了机器人车室内避障漫游。
用树莓派做智能小车是一种很常见的玩法,整个过程涉及手工制作,GPIO在控制、网络通信等方面,知乎上的一些大神也添加了图像识别甚至人工智能元素。在制作过程中,我真的觉得很有趣,很有成就感。为了做这辆车,我毫不犹豫地花钱买了各种汽车零部件和电子元件(实际上不花多少钱),参考书的内容和网络信息也做了自己的车,虽然功能真的很简单,但这个记录是一个简单的避障功能。
1.避障主要方法简介
目前,无人驾驶汽车或机器人汽车避障技术主要包括五类:一是利用声波(主要是超声波)传感器检测障碍物和避障;二是利用红外(红外测距仪)检测障碍物和避障;三是利用微波(主要是微波雷达测距系统)检测障碍物和避障;四是使用激光传感器(包括3)D激光雷达)检测障碍物并避障;第五,基于视觉图像,使用可见光摄像头检测障碍物并避障。
////插播:今年年初,我录制了一套相对系统的入门级单片机教程和毕业设计指导。如果你想让我的同学免费拿,我可以私下写信~点击我的头像白色字体,我可以得到它。记得回复一哥////
基于超声波或红外测距传感器的方法广泛应用于机器人汽车避障。其优点是技术成熟,传感器体积重量小,成本低,但检测范围有限(一般只有3-5米,比如HC-SR04 超声波距离传感器模块的探测范围为 2cm - 400cm),而且对反射面的光整度要求较高,无法检测到无反射能力或弱反射能力的障碍物,会在一定程度上影响机器人汽车避障控制的准确性。
基于微波雷达或激光雷达的机器人汽车避障方法也在逐步应用。其优点是探测范围广,可以提供大量的环境扫描点距离信息,有利于为机器人汽车避障控制决策提供准确的信息。但一般成本高,技术复杂,编程难度大。
基于视觉图像的障碍物检测和避障方法是利用图像处理技术对环境图像进行分析和处理,提供环境信息,完成障碍物检测。随着计算机技术的发展,特别是计算机视觉领域的深入研究技术,视觉避障方法将得到越来越广泛的应用。其主要方法包括基于目的特征的方法、基于光流法的障碍物检测方法、基于三维视觉障碍检测方法等。
2.超声波距离传感器的工作原理及其安装
(1)HC-SR04传感器简介
与技术成熟的简单超声距离传感器相比,本实战了简单的方法进行障碍物检测和避障。具体来说,它是使用的HC-SR04 超声波距离传感器模块(图5-1)。
图5-1 HC-SR04 超声波距离传感器模块实物照片
HC-SR04超声距离传感器是一种便宜的设备,对机器人项目非常有用。这个小传感器可以测量自己和最近固体物体之间的距离,对避免机器人汽车撞到墙壁等障碍物非常有用。
HC-SR04能够测量2cm到4m距离(约1英寸至13英尺),精度可达3mm。HC-SR04的工作电压为5伏,工作电流为15mA,可直接连接Arduino或其它微控制器。它也可以连接到树莓派,但因为它需要5V因此,需要增加一个分压电路,即连接树莓派的3对电阻.3V GPIO端口,会显得更麻烦。因此,在本实战中直接与微控制器Arduino Uno R3相连接,用Arduino来控制它。
图5-2 HC-SR04尺寸及其有效探测角度示意图
HC-SR04尺寸如图5-2左图所示,长43mm,高20mm,厚15mm;有效的探测角度或测量角度为15°,当物体或障碍物直接位于其前面时,传感器是最准确的,尽管它可以在45岁°物体的响应(反射信号)在视角范围内,但只在左右两侧15°准确的读数(图5-2右图)可以在范围内获得。
HC-SR04模块由超声波发射器、超声波接收器和控制电路组成,四个引脚可以连接到控制设备,其中两个是电源引脚(VCC和GND,前者接5V后者连接电源接口GND地线接口),两个控制引脚(Trig和Echo,前者是触发器引脚施加脉冲,前者是触发器引脚,可触发超声波发射器发射超声波;后者是响应器的引脚,在接收到反射信号时产生脉冲,脉冲宽度与发送信号检测到的时间成正比)。
(2)工作原理
图5-3 超声波测距原理示意图
超声波测距原理非常简单,如图5-3所示,超声波发射装置发射超声波,局部超声波反射障碍物,超声波接管装置接管返回超声波,通过测量超声波和接管到超声波的时间间隔,乘以声速,可以准确计算超声波装置与障碍物之间的距离。
HC-SR04模块就是利用超声波测距原理进行障碍物距离测定工作的,其工作原理为:该模块的控制设备向Trig引脚施加5V脉冲触发超声波发射器向外发射40KHz超声脉冲;超声接管器接管从障碍物反射回来的超声脉冲,通过输出脉冲产生输出脉冲Echo将相应的脉冲信号输出到控制设备。
HC-SR04模块的详细工作流如下:
1)持续时间至少10微秒(μS)施加5伏脉冲Trigger(触发器)引脚。
2)HC-SR04通过以40KHz发送8个脉冲式使模块的超声签名独一无二,使接管机能够区分发射模式和超声背景噪声。
3)8个超声波脉冲同时通过远离发射器的空气传播Echo引脚变为高电平,初始形成回波信号。
4)如果脉冲信号不反射,回声信号将在38毫秒内(mS)超时后返回低电平,产生38毫秒脉冲,表明传感器内无障碍物(图5-4上图)。
5)如果脉冲反射回来,当收到信号时,Echo引脚变成低电平,产生脉冲,其宽度在150微秒到25毫秒之间变化,这取决于信号接管的时间(图5-4下图)。
接管到的脉冲宽度用于计算反射物体(障碍物)的距离。
图5-4 超声波传播和返回脉冲示意图无障碍物
需要注意的是,HC-SR在以下四种情况下,04模块将无法测量障碍物的距离:一是障碍物太远或太近,即距离大于4m或13英尺的障碍物,或距离小于2-3cm障碍物;第二,障碍物的反射面呈浅角(小于45)°)当超声波被反射到远处时HC-SR在04模块的方向上,接管器无法接管超声波脉冲,因此,无法测量距离(如图5-5所示);第三,障碍物太小,无法将足够的超声波反射回接管器,因此无法测量障碍物的距离;第四,柔软不规则的物体(如毛绒玩具、毛衣等)会吸收而不是反射超声波,因此HC-SR04传感器也可能难以检测到这些障碍物,无法测量与这些障碍物的距离。
图5-5 当障碍物的反射面呈浅角时,无法测量距离
(3)传感器的安装和连接
为了检测车辆前进方向上的障碍物及其与车辆的距离,并确定障碍物与车辆的相对位置(位于前方、右前方和左前方),必须有三个障碍物HC-SR04超声波距离传感器安装在汽车前方,其中中中中间传感器朝向汽车前方,左右传感器与前方有相同的偏角(约15°),分别偏向左侧和右侧。
由于Junior Runt Rover robot chassis kit汽车不提供固定和安装传感器固件,因此需要使用额外的材料,包括铁(或铝合金)或塑料、泡沫双面胶带和束带,包括铁或铝合金或塑料有形状要求,即应有三段,中间直,两侧两段分别向内折叠15°角,而且各段的长度应略长于传感器的长度,宽度应与传感器的高度基本一致。
HC-SR04超声波距离传感器的安装和固定包括以下两个步骤:第一步是用泡沫双面胶带和束带将传感器固定在铁件(或铝合金片)或塑料片上。除了粘合传感器外,双面胶带还可以与铁件或铝合金片绝缘,束带可以确保双面胶带的粘度在减弱后仍能固定传感器;第二步是使用框架上固定板前面的两个螺孔,铁件(或铝合金条)或塑料片用螺栓和螺帽固定在汽车上。
将3个HC-SR04超声波距离传感器安装固定在车前后,下一步是将这三个传感器和微控制器Arduino Uno R连接或接线的详细过程如下:
首先,从母亲到公跳线将是HC-SR04模块的VCC引脚与Arduino Uno R3的5V电源输出接口连接,跳线母头连接VCC引脚,公头接Arduino板上的5V电源输出接口。但由于Arduino板上独有1个5V电源输出接口,这里有三个传感器(实际上5个红外搜索传感器需要5个)V因此,有必要切断三条跳线中的两个公头,销售一定长度的绝缘层,并在另一条跳线的公头后销售一定长度的绝缘层用电工胶带包裹,插入跳线公头Arduino板上的5V可以使用电源输出接口Arduino板上的1个5V同时向三个传感器供电。
其次,因为板上只有两个GND因此,必须使用地线接口VCC引脚连接至5V同样的电源接口方法,三个传感器GND引脚用母到公跳线连接Arduino板上的一个GND接口。
第三,用母亲公跳线将三个传感器连接起来Trig引脚和Echo引脚连接至Arduino板上的六个数字信号接口之所以使用数字信号接口而不是模拟信号接口,是因为超声波距离传感器只需要高电平和低电平,所以适合使用数字信号接口。同时,由于Arduino使用树莓派Serial通信方式需要使用Arduino板上0和1两个数字信号引脚,不能被传感器占用。为此,本实战将使用6个数字信号接口,即中间传感器Trig和Echo引脚接头2、3数字接口,左传感器Trig和Echo引脚接头4、5数字接口,右传感器Trig和Echo引脚接6、7数字接口。
安装固定和接线后HC-SR04超声距离传感器见图5-6。
图5-6 安装固定和接线后HC-SR04超声波距离传感器
想学单片机的朋友 ,做毕业设计的同学,关注我们,回复一哥,与导师一起学习成长,共同进步,还有更多资料领取。
说了这么多,记得关注下面第一条评论(或私信我)有干货~
-END-
*本文为网络转载,版权归原作者所有。如有侵权,请联系删除