0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

不仅能跑,还能自己刹车,用树莓派打造自主驾驶的 RC 车!

上海晶珩电子科技有限公司 ? 2025-05-29 16:33 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

团队致力于编程一辆自主遥控车/玩具车,使其能够沿车道行驶并在红色停车标志处停下。

本项目所用物品

硬件组件

罗技 HD Pro 网络摄像头 x 1

树莓派4B x 1

光学速度编码器 x 1

便携式充电器 x 1

软件应用与在线服务

OpenCV——开源计算机视觉

手工工具与制造设备

无绳电钻/驱动器

锉刀

通用电烙铁

项目背景

在本项目中,我们成功利用树莓派的能力,结合速度编码器和数模转换器DAC)进行运动控制,分别通过内核空间的gpiod驱动和Adafruit的I2C函数进行接口连接,从而创建了一辆能够保持车道的遥控车。我们使用网络摄像头和OpenCV方法实现了车辆的车道保持能力,使车辆能够通过PD控制熟练地检测并自主跟随车道标记。车辆保持在车道范围内,在第一次看到红色(即第一个停车标志)时停下,3秒后再次启动,并在遇到第二个停车标志(第二次看到红色)时永久停止。

本项目参考了用户raja_961在AutoDesk Instructables上的项目:

“使用树莓派和OpenCV的自主车道保持车”。Instructables。

网址:https://www.instructables.com/Autonomous-Lane-Keeping-Car-Using-Raspberry-Pi-and/

此外,我们还参考了此Hackster项目以指导我们的停车标志检测逻辑。

https://www.hackster.io/beagle-bone-baja-blast/beagle-bone-baja-blast-eae48e

999d806c-3c67-11f0-986f-92fbcf53809c.jpg

为了优化车道保持遥控车的性能,我们在摄像头的分辨率上做出了战略性决策。尽管原生分辨率为1280x720,但我们明智地将其降为176x144。这一调整在计算机视觉功能所需的细节与我们的树莓派4的处理能力之间取得了平衡。选择更高的分辨率会损害帧生成率,而帧生成率是实时响应性的关键因素。

我们通过实时数据分析过程精心指导了预定义比例增益(kp)和微分增益(kd)值的调优,该过程涉及比较程序期望的转向角度与实际转向角度,并将其与车辆PD控制前后的转向值进行比较。由此,我们确定了给定的kp和kd值变化将在车辆的实际转向中产生多大影响。在尝试了各种比例增益值后,我们确定了kp = 0.08的最佳初始增益,以确保车辆对车道偏离做出准确响应。微分增益旨在抵消比例分量引起的振荡,被设置为kd = 0.3 * kp。在反馈回路中同时使用这两个分量,我们的代码根据计算出的偏差动态调整转向量。偏差计算为期望转向角度与预定义角度(本例中为90度)之间的差值。

停车标志逻辑涉及停车标志检测、第一个和第二个停车标志的处理以及计时。摄像头每隔几帧就会定期扫描红色地面(模拟停车标志)。一旦检测到第一个停车标志(通过摄像头有限区域内存在一系列RGB值来表示),车辆将暂停计算出的3秒钟。在此间隔后,车辆将平稳恢复速度。为了防止在第一个停车标志后立即检查第二个停车标志,我们引入了故意延迟。这确保了第二个停车标志仅在定义的宽限期后才被考虑。一旦开始,检测到第二个停车标志将促使车辆永久停止。这一复杂的逻辑增强了车辆对交通信号的响应性和遵守性。

以下图表显示了车辆在赛道上单次运行过程中误差、转向电压和速度电压随时间(帧数)的变化:

99b98910-3c67-11f0-986f-92fbcf53809c.jpg

聚焦于速度电压值:

9a05dde2-3c67-11f0-986f-92fbcf53809c.jpg

(图表显示,基于编码器定时,速度电压有非常微小的波动变化,这与我们的预期一致)

以下图表显示了车辆在赛道上单次运行过程中误差、比例响应和微分响应随时间(帧数)的变化:

9a214d48-3c67-11f0-986f-92fbcf53809c.jpg

聚焦于比例增益值:

9a3f7962-3c67-11f0-986f-92fbcf53809c.jpg


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RC
    RC
    +关注

    关注

    0

    文章

    236

    浏览量

    49834
  • 树莓派
    +关注

    关注

    122

    文章

    2054

    浏览量

    107847
  • 自主驾驶
    +关注

    关注

    0

    文章

    19

    浏览量

    4688
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    树莓入门套装

    的性能提升6倍,内存翻了一番。 树莓不仅能跑全系列ARM GNU/Linux发行版,而且支持Snappy Ubuntu Core及Windows 10,哥不是传说。[/url]·树莓
    发表于 02-22 09:51

    树莓怎么打造开心农场

    ` 本帖最后由 goyuqinghua 于 2016-3-1 14:42 编辑 两个罐头、一个直流潜水泵和树莓,做一个迷你水培弄场,重点番茄马铃薯什么的,健康又美味。所需材料:·1个大锡罐
    发表于 02-22 15:14

    树莓智能AlphaBot系列教程

    ;catid=57树莓智能AlphaBot教程1:人生若只如初见 ...树莓智能Alph
    发表于 05-15 15:39

    树莓+nodejs之打造物联网图传控制履带

    树莓+nodejs打造物联网图传控制履带
    发表于 05-08 06:36

    树莓二代介绍_树莓二代 参数

    。Raspberry Pi 2不仅能跑全系列ARM GNU/Linux发行版,而且支持Snappy Ubuntu Core及Windows 10[1] IoT Core(物联网版本)
    发表于 11-27 21:44 ?9902次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>二代介绍_<b class='flag-5'>树莓</b><b class='flag-5'>派</b>二代 参数

    树莓什么语言编程_树莓python编程详解

    树莓是一个非常廉价的、只有手掌大小的完全可编程的计算机。虽然树莓的体积小,但是它的潜力无限。你可以像使用常规台式计算机一样在树莓派上创建
    发表于 01-15 17:00 ?3.9w次阅读

    树莓怎么

    连接树莓和电脑.网线直连电脑,不经过路由器。这个方法最大的特点最少的工具玩树莓
    的头像 发表于 11-07 16:21 ?2.4w次阅读

    如何700元树莓自己做一个相机?

    手机拍照不够爽,带个单反又太重? 试试做个树莓复古相机,还能自己编写处理算法的那种—— 成本不到700元。 没错,颜值很高,拍出来的照片也能打。 你也可以快速上手做一个。 如何制作一
    的头像 发表于 05-20 11:44 ?3437次阅读
    如何700元<b class='flag-5'>用</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>自己</b>做一个相机?

    使用树莓的避障

    电子发烧友网站提供《使用树莓的避障.zip》资料免费下载
    发表于 12-09 10:22 ?0次下载
    使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>的避障<b class='flag-5'>车</b>

    树莓与OpenMediaVault打造自己的NAS

    众所皆知,云端硬盘空间免费的额度有限,真的购买付费服务几年下来也挺伤荷包的。若是买NAS,今日的NAS已添加太多额外功能服务,花了钱不启用功能感觉可惜浪费,但很多功能确实不太受用,实在让人两难。因此,或许自己搭建个简易、阳春的NAS是另一个可行方案,本文以下将说明如何用树莓
    的头像 发表于 06-09 11:29 ?7490次阅读
    <b class='flag-5'>用</b><b class='flag-5'>树莓</b><b class='flag-5'>派</b>与OpenMediaVault<b class='flag-5'>打造</b><b class='flag-5'>自己</b>的NAS

    全网疯传!树莓GUI开发竟然可以这么轻量?

    嘿,各位树莓的发烧友们!今天我要和大家分享一个超酷的技巧——如何在没有桌面环境的情况下,在树莓派上开发GUI应用。想象一下,你的树莓就像
    的头像 发表于 04-05 09:36 ?1245次阅读
    全网疯传!<b class='flag-5'>树莓</b><b class='flag-5'>派</b>GUI开发竟然可以这么轻量?

    树莓也能实现海上自动化驾驶

    全员登船,共赴树莓之旅生活中有些问题,树莓派来解决会更有乐趣。今天,我们要与航海爱好者们分享一个由创客TommyJoad打造的巧妙项目。
    的头像 发表于 04-24 16:04 ?321次阅读
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>也能实现海上自动化<b class='flag-5'>驾驶</b>?

    车牌识别新花样:树莓打造智能车牌监控系统!

    器,他将其命名为“Platefetcher”。它不仅能检测到车牌,还能获取该车牌所登记车辆的详细信息,并将这些信息展示在一个可通过移动设备访问的网页上。树莓负责
    的头像 发表于 04-26 09:03 ?309次阅读
    车牌识别新花样:<b class='flag-5'>树莓</b><b class='flag-5'>派</b><b class='flag-5'>打造</b>智能车牌监控系统!

    树莓 Zero 打造的智能漫游

    使用PXFMini和树莓Zero打造自己自主漫游。本项目所用组件硬件组件ErleRobo
    的头像 发表于 05-13 16:39 ?537次阅读
    <b class='flag-5'>用</b> <b class='flag-5'>树莓</b><b class='flag-5'>派</b> Zero <b class='flag-5'>打造</b>的智能漫游<b class='flag-5'>车</b>!

    使用 Betaflight 和树莓实现 FPV 无人机自主飞行!

    开始利用Betaflight飞行控制器、简单的10个Python文件和树莓,为你的FPV战斗无人机构建自己的自动驾驶仪。FPV无人机搭载树莓
    的头像 发表于 06-07 08:32 ?1061次阅读
    使用 Betaflight 和<b class='flag-5'>树莓</b><b class='flag-5'>派</b>实现 FPV 无人机<b class='flag-5'>自主</b>飞行!