智能小车设计规划_智能循迹避障小车设计

智能小车设计规划_智能循迹避障小车设计摘要该课题主要基于单片机的循迹、避障、WiFi、蓝牙等功能的智能小车,在一些特殊环境下有着特殊的意义。硬件控制以arduino为控制核心。采用超声波避障和红外避障传感器共同完成寻迹、避障功能,并将相关信号传送给单片机,经单片机控制系统分析判断后控制驱动芯片驱动直流电机实现小车前进、后退、左转、右转,停止。软件采用移植性较好的c语言编写,通过手机蓝牙App实现对智能小车的控制。通过TCP/UD协…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

摘要

该课题主要基于单片机的循迹、避障、WiFi、蓝牙等功能的智能小车,在一些特殊环境下有着特殊的意义。硬件控制以arduino为控制核心。采用超声波避障和红外避障传感器共同完成寻迹、避障功能,并将相关信号传送给单片机,经单片机控制系统分析判断后控制驱动芯片驱动直流电机实现小车前进、后退、左转、右转,停止。软件采用移植性较好的c语言编写,通过手机蓝牙App实现对智能小车的控制。通过TCP/UD协议以及WiFi无线操作系统完成远距离通过终端控制,并将所扫描的信息路线传输给服务器,终端图形界面通过Qt设计实现。通过多次测试使小车能无线遥控、避障、循迹功能。

关键词:智能小车,arduino,循迹,避障,TCP/UDP,WiFi,Qt

 

引言

在传感器、自动化、智能化的基于计算机科技技术的快速发展趋势下,不仅仅改善了人们的生活方式,也促进了人工智能机器人产业的兴起。

人们一直在探索自然奥秘的过程中,一直向机器能代替人工劳动的社会生活方式努力。智能机器人工劳动不仅大大提高了生产的效率,而且还可以在某些特殊情况下例如:疫情、自然灾害、危险场所等用机器人代替人工。

 

总体设计

总体上智能小车有自动、遥控两种模式。并可以自动识别处于哪种模式下。使用者可以根据具体的环境以及具体的情况下选择小车的工作模式,

 

自动模式

智能小车在单片机控制下能自主实现循迹功能。例如:按照白色路面,黑色宽度为2cm的路线行驶,自主判断是否需要拐弯、前方有无陡坡、悬崖等。

 

遥控模式

小车外部的红外遥控系统通过特定的编解码集成芯片对智能小车失效遥控操作;如果在操作过程中出现路障情况,则小车对遥控信号采取屏蔽措施并发出警报。

 

模块设计

智能小车由控制模块、避障模块、红外遥控模块、循迹模块、电源模块构成。

智能小车设计规划_智能循迹避障小车设计

控制模块

该设计采用Arduino作为通知芯片。Arduino是一款便捷灵活、方便上手的开源硬件产品,具有丰富的接口,有数字I/O口,模拟I/O口,同时支持SPI、IIC、UART串口通信。能通过各种各样的传感器感知环境,通过控制灯光、马达和其他装置来反馈、影响环境。它没有复杂的单片机底层代码,没有难懂的汇编,只是简单而实用的函数。

上电后,单片机通过是否接收到外部遥控信号,判断小车工作模式。如果是自动运行模式,通过红外传感器检测当前情况,控制驱动模式,完成小车的指定路线运行。

 

电机驱动模块

智能小车选择简单、便携、体积小、转动力矩大、的直流减速电机。

优点:

重量轻、转动力矩大、易组装、方面等。

可直接利用内部齿轮组的项目配合实现调节直流减速电机的转速和转向功能。

驱动:

采用左后轮和由后轮驱动。根据控制模块的电平变化,当需要向左转时,左后轮倒转,右后轮正传使小车实现左转;当需要向右转时,左后轮正转,右后轮反转是下车实现右转。

 

传感器模块

智能小车通过传感器模块实现循迹、避障功能。传感器模块采用红外光电传感器检测路况。因黑色、白色对红外线吸收系数不同,根据红外接收管接收到的红外线信号强弱判断路况情况,以及前方是否有障碍物。

循迹模块

控制模块的单片机根据反射回来的红外光来确定黑线位置和小车的行走路线。当小车左侧跑出黑线,小车左侧的红外线接收管导通,置低电平。单片机控制小车右转;当小车右侧跑出黑线,右侧导通,置低电平,小车左转。

避障方案有超声波、红外线避障。但因超声波传播的方向存在一定的偏差,而且电路复杂,成本高。红外线必涨是使用简单,成本低,性能较为稳定,而且传播的距离较远,因此避障选择红外线避障。

红外避障传感器主要安装在小车的下端和前端。当无障碍物时,因红外传感器随着距离的增加而减弱消失,红外接收器接收不到信号;而当有障碍物时,红外信号遇到障碍物会反射回来,红外接收器会收到红外信号,经过一系列的运算,使信号输出由默认的高电平变为低电平。发光二极管产生了电压差,所以信号指示灯亮。与此同时,信号输出给单片机,单片机根据电平的变化控制电机工作实现避障。

电源模块

该arduino控制单片机、电机驱动等芯片的供电采用4节1.5v干电池提供6V电压供电。

 

流程图

循迹流程图

当小车调用循迹模式后,直接调用循迹函数,完成循迹功能。车体正前方安装两个红外接收管,如果左侧红外接收管检测到了黑线,则小车需向左进行调整,因为此时小车已经向右偏离了;如果右侧红外线接收罐检测到了黑线,同理,小车此时需向右进行调整。

智能小车设计规划_智能循迹避障小车设计

防撞报警流程图

智能小车在行走过程中,当控制层检测到遥控器发出防撞信号后,直接调用防撞报警函数,完成防撞报警功能。

如果前方检测到有障碍,无法通过,小车则后退转向报警;如果左侧有障碍则控制层控制车右转;如果右侧有障碍物则控制层控制车左转。

智能小车设计规划_智能循迹避障小车设计

蓝牙模块示意图(蓝牙 app)

智能小车设计规划_智能循迹避障小车设计

终端Qt界面

 

智能小车设计规划_智能循迹避障小车设计

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180731.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • siamfC「建议收藏」

    siamfC「建议收藏」classSiameseAlexNet(nn.Module):def__init__(self,gpu_id,train=True):super(SiameseAlexNet,self).__init__()self.features=nn.Sequential(nn.Conv2d(3,96,11,2),nn.BatchNorm2d(96),nn.ReLU(inp.

    2022年10月1日
    0
  • 已知圆心及半径,通过MATLAB画圆「建议收藏」

    已知圆心及半径,通过MATLAB画圆「建议收藏」已知圆心及半径,使用MATLAB画圆文章目录已知圆心及半径,使用MATLAB画圆一、原理简介二、转换过程三、结果展示一、原理简介条件中已知圆的半径可以等价于极坐标系中的ρ,所以能根据已知的半径转换为直角坐标系中点的坐标来画圆。转换的原理是使用极坐标与直角坐标之间的转换公式来实现,公式如下:x=ρcosθy=ρsinθ二、转换过程主要分一下几步完成1.设置圆的一周由多少个点组成;2.设置圆周上点与点之间的间隔角度;3.设置圆心的坐标;4.读取半径值;5.求取X、Y轴坐标;6.画

    2022年6月19日
    37
  • navicat15永久激活码-激活码分享

    (navicat15永久激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~BI7JCUH1TG-eyJsaWNlbnNlSWQiOi…

    2022年3月22日
    507
  • django不使用外键连接表_创建表时为什么设不了外键

    django不使用外键连接表_创建表时为什么设不了外键外键删除操作如果一个模型使用了外键。那么在对方那个模型被删掉后,该进行什么样的操作。可以通过on_delete来指定。可以指定的类型如下:CASCADE:级联操作。如果外键对应的那条数据被删除了,

    2022年7月30日
    4
  • 个人对json的一些简单理解「建议收藏」

    个人对json的一些简单理解「建议收藏」在最近的学习中,查阅了很多资料,了解了一些关于json的基本知识,下面做一个简单的总结:json是什么没有.json结尾的这种文件,json(JavaScriptObjectNotation)是一种简单的数据交换格式,在此之前我也不知道这个东西其实没有想象的那么抽象,看看后面的例子会更清晰json中的数据结构json中只有两种数据基本结构,一种是MAP,或者叫对象,另一种是Ar…

    2022年6月9日
    38
  • Navicat 15 for MySQL激活码-激活码分享

    (Navicat 15 for MySQL激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月26日
    383

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号