树莓派wifi智能小车基本原理
- 格式:pptx
- 大小:2.73 MB
- 文档页数:26
基于树莓派的智能车辆自动导航技术研究智能车辆是未来交通领域的一个重要发展方向,而自动导航技术则是实现智能车辆的关键。
本文将探讨基于树莓派的智能车辆自动导航技术的研究内容和进展。
一、引言智能车辆自动导航技术是指利用计算机视觉、传感器等技术,使车辆能够在无人驾驶的情况下自动感知、计算和控制,实现路线规划、避障和车道保持等功能。
树莓派作为一种小型而强大的计算机平台,被广泛应用于智能车辆的研究中。
二、树莓派在智能车辆中的应用树莓派作为一个低功耗、高性能的嵌入式计算机平台,可方便地实现车辆的感知和决策。
通过连接摄像头模块和传感器,树莓派可以实时获取车辆周围的图像和环境信息,并通过图像处理和数据分析等算法,确定车辆的行驶方向和速度。
此外,树莓派还具备良好的扩展性,可以通过连接其他硬件模块,如超声波传感器和红外线传感器,进一步提高车辆的环境感知能力。
三、基于树莓派的智能车辆自动导航技术研究内容1.视觉感知和识别通过树莓派连接摄像头模块,实时获取车辆周围的图像信息,利用计算机视觉技术对图像进行处理和分析,实现道路识别、交通标志识别和车辆检测等功能。
其中,道路识别是智能车辆自动导航的基础,通过识别道路的边缘和特征物体,实现车道保持和车辆位置定位。
2.路径规划和导航基于树莓派的智能车辆可以通过激光雷达等传感器获取周围环境的三维点云信息,根据点云数据进行路径规划和导航。
利用树莓派的计算能力,可以实现实时的路径规划和障碍物避障,确保车辆行驶的安全和高效。
3.环境感知和决策树莓派连接超声波传感器和红外线传感器等硬件模块,可以实时感知车辆周围的障碍物和环境信息。
通过数据的处理和分析,树莓派可以对周围环境进行判断和决策,如判断前方是否有障碍物,并作出相应的行驶控制。
四、基于树莓派的智能车辆自动导航技术研究进展近年来,基于树莓派的智能车辆自动导航技术取得了一系列进展。
例如,研究人员通过利用树莓派的计算能力和图像处理算法,实现了实时的道路识别和车道保持功能。
使⽤树莓派制作智能⼩车电影⾥,时不时地可以看到⼀些这样的场景,⼀辆⼩车,上⾯装有摄像头,这辆⼩车可以通过电脑或都是⼿机进⾏远程遥控,车上摄像头拍到的画⾯,可以实时地显⽰在电脑或⼿机上,就像下图这样。
没有接触过这⽅⾯的朋友或许会觉得这是⼀门很⾼⼤上的技术活,其实,并不然,这种⼩车做起来其实很简单。
那么,这样⼦的⼩车,需要怎么去做呢?其实,我们只需要准备⼀块控制⼩车的电路板(开发板),2到4个电机(马达)、⼩车架⼦⼀个、摄像头以及摄像头云台⼀个,以上这些基础配件,然后对开发板进⾏编程、控制就可以了,整体硬件成本加起来不到500块钱。
开发板:开发板有很多种,⽐如51单⽚机、树莓派、STM32、Arduino、micro:bit等等,都可以做为⼩车的控制板,我使⽤的是树莓派开发板,然后,可持树莓派有很多版本、型号,最便宜的树莓派zero 68元就可以买到,不过不建议买这种,没有⽹卡,需要另外买⽹线模块,我使⽤的是树莓派3B,价格220元,带有⽆线和有线⽹卡,还带有蓝⽛。
⼩车架⼦:某宝上有很多这种车架⼦,各式各样的,只需要在某宝上搜索“智能⼩车”就能找到,带上马达⼀整套,也就五六⼗块钱。
摄像头+云台:某宝上也是⼀搜⼀⼤堆,⽐如我下⾯⽤的那个,45块钱。
配件准备好了,就是给⼩车的开发板装系统,然后对⼩车进⾏编程控制。
⼩车的控制最主要有两⽅⾯的控制,⼀个是⼩车的前后左右的运动控制,⼀个是摄像头的拍摄、上下左右转运的控制。
#-*- coding:UTF-8 -*-import RPi.GPIO as GPIOimport time#⼩车电机引脚定义LeftIn1 = 20LeftIn2 = 21LeftSpeed = 16RightIn1 = 19RightIn2 = 26RightSpeed = 13#设置GPIO⼝为BCM编码⽅式GPIO.setmode(GPIO.BCM)#忽略警告信息GPIO.setwarnings(False)#电机引脚初始化操作def car_init():global pwm_LeftSpeedglobal pwm_RightSpeedglobal delaytimeGPIO.setup(LeftSpeed,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(LeftIn1,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(LeftIn2,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(RightSpeed,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(RightIn1,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(RightIn2,GPIO.OUT,initial=GPIO.LOW)#设置pwm引脚和频率为2000hzpwm_LeftSpeed = GPIO.PWM(LeftSpeed, 2000)pwm_RightSpeed = GPIO.PWM(RightSpeed, 2000)pwm_LeftSpeed.start(0)pwm_RightSpeed.start(0)#⼩车前进def run(delaytime):GPIO.output(LeftIn1, GPIO.HIGH)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.HIGH)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车后退def back(delaytime):GPIO.output(LeftIn1, GPIO.LOW)GPIO.output(LeftIn2, GPIO.HIGH)GPIO.output(RightIn1, GPIO.LOW)GPIO.output(RightIn2, GPIO.HIGH)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车左转def left(delaytime):GPIO.output(LeftIn1, GPIO.LOW)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.HIGH)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车右转def right(delaytime):GPIO.output(LeftIn1, GPIO.HIGH)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.LOW)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车原地左转def spin_left(delaytime):GPIO.output(LeftIn1, GPIO.LOW)GPIO.output(LeftIn2, GPIO.HIGH)GPIO.output(RightIn1, GPIO.HIGH)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车原地右转def spin_right(delaytime):GPIO.output(LeftIn1, GPIO.HIGH)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.LOW)GPIO.output(RightIn2, GPIO.HIGH)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车停⽌def brake(delaytime):GPIO.output(LeftIn1, GPIO.LOW)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.LOW)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)摄像头控制有两部分,⼀是拍摄、⼆是云台转动。
实验五:树莓派平台-------按键控制小车启动实验1、实验前准备图1-1 树莓派主控板图1-2 按键开关2、实验目的ssh服务登录树莓派系统之后,编译运行按键控制小车启动实验后,按下KEY 启动小车,小车会自动先前进1s,后退1s,左转2s,右转2s,原地左转3s,原地右转3s,接着停止0.5s。
3、实验原理按键消抖:通常我们的按键开关一般都是机械弹性开关,当机械触点断开,闭合时,由于机械触点的弹性作用,一个按键开关子在闭合时不会马上就能稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开时会伴随着一连串的抖动。
图3-1 按键抖动状态图抖动时间一般都是由按键的机械特性决定的,一般都会在10ms以内,为了确保程序对按键的一次闭合后一次断开只响应一次,必须进行按键的消抖处理,有硬件消抖和软件消抖。
其中,软件消抖指的是检测出键闭合后执行一个延时程序,产生5ms~10ms 的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。
当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。
硬件消抖是在开关两段接一个0.1uf的电容。
本次实验我们采取的是软件延时去抖。
4、实验步骤4-1.看懂原理图图4-1 树莓派主控板电路图图4-2 按键图4-3 树莓派40pin引脚对照表4-2 由电路原理图可知按键是直接连接到主控板上的wiringPi编码的10口。
我们设置10口为输入模式,并当按下按键时通过检测该引脚的电平状态,来判断按键是否被按下。
4-3 程序代码如下:输入:gcc KeyScanStart.c -o KeyScanStart -lwiringPi -lpthread ./KeyScanStart接着./initpin.sh初始化引脚。
基于51单片机WiFi智能小车制作基于51单片机WiFi智能小车制作一、基本原理51单片机WiFi智能小车是利用PC或手机作为控制端,通过手机连接wifi模块(路由器)以获得wifi信号,同时车载也连接wifi模块以获得和手机相同的IP地址,实现手机和小车的连接,然后利用PC或手机上的控制软件以wifi网络信号为载体发送相关信号,wifi模块接收PC 或手机端发送来的相关信号并分析转换成TTL 电平信号,然后发送给单片机,单片机接收到的电平信号处理、分析、计算,转化成控制指令并发送给电机驱动模块以实现小车的前进、后退、左拐、右拐等功能。
二、购买所需材料了解51单片机WiFi智能小车基本原理后,需要购买所需材料进行制作。
下面列出所需制作材料:序号材料备注图例6 小车底盘7 摄像头 根据固件支持摄像头购买8 电源根据自己需要购买种类9 杜邦线及小配件制作所需工具:序号工具名备注图例称1 电烙铁一套 包括松香焊锡2 螺丝刀 平口、十字等3 微型电钻 可以自制4手工刀5 剪刀6 万用表7 热熔胶枪或快干胶8US B下载器三、开始制作1、制作流程开始制作前,我们首先需要看购买路由器的型号,笔者采用的是703n 路由器,所以需要引出ttl 线。
总体步骤为:路由器引TTL 线→路由器刷OpenWrt 固件→制作51单片机最小系统→下载下位机程序到51单片机→安装上位机程序至PC 或手机→测试上、下位机通信→组装→调试完成。
2、路由器引ttl线首先打开703n路由器,按照下图标示位置焊接ttl线。
注意:1、焊接的时候要小心焊接,焊好后微拉下查看松紧2、焊接最好采用软线焊接,防止意外整块拉掉焊点3、焊好后一定用胶固定,最好采用热熔胶下图为引好ttl线样子3 刷OpenWrt固件何为OpenWrt固件,OpenWrt可以被描述为一个嵌入式的Linux 发行版,(主流路由器固件有dd-wrt,tomato,openwrt三类)而不是试图建立一个单一的,静态的系统。
实验一:树莓派平台-------七彩探照灯1、实验前准备图1-1 树莓派Pi3主控板图1-2七彩探照灯模块2、实验目的SSH远程登录树莓派后,运行七彩灯可执行程序,循环显示7种不同颜色的灯。
3、实验原理树莓派的强大不仅在于它是一个卡式电脑,更重要的是引出的GPIO,可以通过编程使GPIO管脚输出高低电平。
所谓的RGB三色灯和普通的LED灯其实没有什么不同,只是在封装上,RGB 灯内封装了三个LED(红,绿,蓝),通过控制三种LED亮度(256种亮度级别可选),可以混合出不同的颜色(256*256*256)。
由电路原理图可知,本实验中采用的RGB LED灯是共阴LED,一个引脚接地,其余的三个RGB引脚分别接在树莓派主控板上的wiringPi编码3,2,5引脚上.同时每个LED灯需要串联一个220欧的电阻作为限流电阻,我们只需在树莓派主控板上控制相应的引脚为高电平,即可点亮相应的LED。
4、实验步骤4-1.看懂原理图图4-1 树莓派电路图图4-2 RGB LED灯图4-3 树莓派40PIN引脚对照表4-2 由电路原理图可以知道相应的连接电路,LED_R连接到主控板上的物理引脚15口对应的wiringPi编码的引脚为3,LED_G和LED_B分别接在主控板上的物理引脚为13和18口,对应于wiringPi编码的引脚为2,5。
(以后的代码中我们只会显示对应的wiringPi编码的引脚)LED_R--------- 3(wiringPi)LED_G--------- 2(wiringPi)LED_B--------- 5(wiringPi)注:我们在编写程序采用的是wiringPi库,有关这个库的详细情况,见树莓派软件与文档文件夹。
4-3 程序代码如下:编译之前先使用gpio readall查看引脚的模式和电平状态变化。
我们先在树莓派系统中编译该文件。
注意需要加上-lwiringPi 连接到库文件。
输入./ColorLED即可看到我们的七彩灯模块的led点亮了。
基于树莓派的智能小车控制系统设计智能小车控制系统已经成为现代科技的研究热点之一。
它使得机器人具有更好的自主感知和行为决策能力,为人类生产和生活提供了更多便利和选择。
在这篇文章中,我们将探讨基于树莓派的智能小车控制系统的设计原理、实现方法以及其在实际应用方面的优势。
一、设计原理基于树莓派的智能小车控制系统的设计原理主要包括三个方面:感知模块、控制模块和决策模块。
1.感知模块感知模块主要是通过多种传感器来感知环境,包括红外线传感器、超声波传感器、摄像头和麦克风等。
通过收集和处理感知模块所得到的数据信息,可以实现对其所处环境的自主感知。
2.控制模块控制模块主要是根据感知模块所提供的数据信息,通过控制电机、舵机和灯光等组成的执行器来实现小车的运动控制、转向控制和灯光控制。
3.决策模块决策模块主要是通过分析感知模块所提供的数据信息,从而得出连续动作序列,完成运动控制、转向控制和灯光控制等行为决策。
二、实现方法基于树莓派的智能小车控制系统的实现方法主要包括硬件实现和软件实现两个方面。
1.硬件实现硬件实现主要包括小车的机械结构设计和电路设计。
机械结构设计需要满足小车运动的必要条件,保证小车在各种情况下的稳定性和安全性。
而电路设计则包括了电源管理、传感器接口设计、执行器控制和通信接口等电路部分。
树莓派板载GPIO(General Purpose Input Output)口提供了以电平信号为基础的输入输出接口,使用树莓派适配板将这些口映射到通用接口上,即可完成与各种硬件的连接。
2.软件实现软件实现主要包括操作系统安装、驱动程序编写和应用程序开发等方面。
在树莓派上,可以安装常用的操作系统,如Raspbian 等,针对赛车所用的传感器与执行器设备编写驱动程序,并根据实际需求使用Python等编程语言进行应用程序开发。
三、实际应用基于树莓派的智能小车控制系统在现实中已经有了广泛的应用。
例如,可以用于智能家居场景中的清洁机器人、智能物流配送中的 AGV 等。
实验十:树莓派平台-------超声波避障实验1、实验前准备图1-1 树莓派主控板图1-2 超声波模块2、实验目的SSH服务登录树莓派系统之后,编译运行超声波避障可执行程序后,按下启动按键K2,启动超声波避障功能,当前方有障碍物时则相应的转向避障。
3、实验原理超声波模块是利用超声波特性检测距离的传感器。
其带有两个超声波探头,分别用作发射和接收超声波。
其测量的范围是3-450cm。
图3-1 超声波发射和接收示意图图3-2 超声波模块引脚该模块的工作原理:先使用树莓派的wiringPi编码引脚31向TRIG脚输入至少10us的高电平信号,触发超声波模块的测距功能。
如下图3-3所示:图3-3 超声波模块发送触发信号测距功能触发后,模块将自动发出 8 个 40kHz 的超声波脉冲,并自动检测是否有信号返回,这一步由模块内部自动完成。
一旦检测到有回波信号则ECHO引脚会输出高电平。
高电平持续的时间就是超声波从发射到返回的时间。
此时可以使用时间函数计算出echo引脚高电平的持续时间,即可计算出距被测物体的实际距离。
公式: 距离=高电平时间*声速(340M/S)/2。
4、实验步骤4-1.看懂原理图图4-1 树莓派主控板电路图4-2 超声波接线头图4-3树莓派40pin引脚对照表4-2 由电路原理图可知超声波的Trig引脚接在接在主控板上的wiringPi编码上的31口(SCL_C)上,而Echo接在主控板上的30口(SDA_C)上。
4-3 程序代码如下:输入:gcc avoid_ultrasonic.c -o avoid_ultrasonic -lwiringPi -lpthread ./avoid_ultrasonic接着另开一个终端./initpin.sh初始化引脚。
基于树莓派4B的循迹避障小车设计
李文海;郭伟;宋莉
【期刊名称】《计算机与网络》
【年(卷),期】2022(48)19
【摘要】设计实现了一种基于树莓派4B的循迹避障智能小车系统,以快速、准确
地完成交通标识识别、避障、循迹任务作为研究目标。
智能小车利用LeNet网络
架构进行交通标识识别,超声波测距传感器进行避障决策,摄像头模组进行循迹行驶。
实验结果表明,智能小车能够在实际搭建的环境下,完成交通标识识别、避障、循迹
的任务,且具有准确率高、稳定性好、泛化能力强的特点。
【总页数】5页(P53-57)
【作者】李文海;郭伟;宋莉
【作者单位】马鞍山学院人工智能创新学院
【正文语种】中文
【中图分类】TP393
【相关文献】
1.基于树莓派的智能预警避障小车设计
2.基于树莓派的自动避障小车的设计与实现
3.基于树莓派的自动避障小车的设计与实现
4.基于STM32的智能小车循迹避障测距的设计
5.基于STM32的循迹避障小车设计
因版权原因,仅展示原文概要,查看原文内容请购买。
智能小车的原理
智能小车的原理是基于传感器技术和控制算法的综合应用。
首先,智能小车配备了多种传感器,如红外线传感器、超声波传感器、摄像头等。
这些传感器能够实时感知小车周围的环境信息,如距离、障碍物、路面状态等。
其次,小车将传感器采集到的数据通过微处理器进行处理和分析。
微处理器是小车智能控制的核心,它能够将传感器数据解读为对应的环境状态和障碍物位置等信息。
然后,小车的控制算法根据微处理器分析的结果进行决策。
这些算法通常基于模糊逻辑、遗传算法、神经网络等技术,能够对不同的情况做出适当的反应和调整。
最后,智能小车根据控制算法的指令,通过电机或舵机等执行器对车轮进行控制,实现前进、后退、左转、右转等动作。
总的来说,智能小车依靠传感器感知环境,通过微处理器进行数据处理和算法执行,最终通过执行器实现对车轮的控制,从而实现智能驾驶。
基于 donkeycar无人驾驶巡逻智能小车的设计摘要:donkeycar无人驾驶巡逻智能小车是集无人驾驶、微信报警、远程监控、避障、北斗定位多功能一体的巡逻智能车,其终极目标是为校园、企业等封闭环境下的安防市场需求提供更经济、智能化的解决方案,通过AI机器学习技术,实现无终端控制和手机端的自主识别报警。
由于donkeycar的无人驾驶巡逻智能小车是在以树莓派wifi控制小车技术为核心的技术扩展,本文旨在通过基于树莓派4B主板的wifi小车的硬件设计、程序设计及基本工作原理,制造出拥有自主学习功能的巡逻智能小车,并对实物进行测试,使其达到稳定、可控的状态。
关键词:树莓派,自动驾驶,微信报警,智能车一、无人驾驶巡逻智能车研究背景在自动驾驶全面实现之前,智能辅助驾驶已经商用,且将进一步普及。
目前以ADAS(先进驾驶辅助系统)为代表的高新技术装备在车辆上的渗透率正在大幅提升,有望在2021年迎来爆发。
德国等汽车工业发达国家ADAS已经普及,中国渗透率较低,因此存在巨大市场空间。
ADAS应用了传感器、图像识别等人工智能技术,给了人类眼观八方的能力、提醒人类不要犯类似于疲劳驾驶的错。
事实上部分ADAS已实现Ll级别的自动驾驶,例如特斯拉的AutoPi10t已实现级别的自动驾驶,人工智能辅助人类驾驶已经成为现实。
随着现代信息技术的快速发展和智能时代的推进,树莓派这种微型且多功能系统在科学研究领域被广泛应用。
该项目利用树莓派进行远程控制智能小车,基于人脸识别和智能安防系统,将自动驾驶与邮箱报警进行充分融合。
同时,ADAS (先进驾驶辅助系统)应用传感器和图像识别等人工智能技术,在汽车驾驶方面,给人类最安全的保障。
基于大数据的发展,ADAS在未来小车应用领域会更有发展,智能家居、货物搬运、医疗物资运输等方面,智能车将会带动这些行业快速发展,未来无人驾驶有可能代替人工驾驶,提高效率,促进产业的优化和升级。
二、小车总体设计传统树莓派3B的wifi小车基于wifi网络,以树莓派作为下位机,以虚拟机作为上位机,采用单向通信的方式,在远程控制,双向数据传输,扩展性以及AI赋能,图像识别方面有所欠缺。