第一周铁二战队学习总结

2023-10-09 04:59
文章标签 学习 总结 第一周 二战

本文主要是介绍第一周铁二战队学习总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

智能车技术报告

  • 一、机械结构
    • 1.机械结构制作部分的设计原则
    • 2.对于舵机的改造
    • 3.底盘改造
    • 4.前轮定位
      • 主销后倾
      • 车轮外倾角
      • 转向轮前束
    • 5.长连杆
    • 6.麦克纳姆轮
    • 6.斑马线检测传感器原理
    • 7.坡道检测传感器原理
    • 8.双车接力时测距原理
    • 9.车胎处理
  • 二、控制软件算法
    • 1.对于系统控制总体设计
    • 2.巡线原理
      • 2.1电磁巡线原理
      • 2.2摄像头巡线原理
    • 3.赛道元素处理
      • 3.1十字处理
      • 3.2环岛处理
      • 3.3坡道处理
    • 4.赛道信息获取
      • 4.1电感获取赛道信息
      • 4.2摄像头获取赛道信息
        • 4.2.1图像处理
        • 4.2.2拟合赛道中心线
      • 4.3麦克风获取赛道信息
    • 5.直立控制
    • 总结
      • 1.需要对PID算法深入了解
      • 2.需要对各种算法均有涉及
      • 3.需要学会此文中加粗字体的意思理解及其运用
      • 4.需要对各种赛道元素的软件控制均知其原理并深入
      • 5.需要对电磁及摄像头获取赛道信息进行学习
      • 6.需要熟悉各种数据整合的方法

一、机械结构

1.机械结构制作部分的设计原则

“轻、牢、简”为机械结构的主要原则,且为了提高车模运动性能,对于车轮的位置调整也有很多道理,如车轮前束等。

2.对于舵机的改造

为了提高舵机的反应速度,即在相同的转角下,有尽可能大的线航程,因此需要延长鸵机臂。(但是不知道其原理所在)

3.底盘改造

尽可能的低在保证能通过坡道的情况下,其目的为保证智能车行驶的稳定性。
但不知道为何在没有较多颠簸道路,要将后避震拆除。

4.前轮定位

车模前轮可以可以调整的角度有主销前倾、内倾、前束。且其根本作用为在车辆行驶时,能保证车辆最为稳定。

主销后倾

是指主销装在前轴,上端略向后倾斜,如图。在这里插入图片描述
使车辆转弯时产生的离心力所形成的力矩方向与车轮偏转方向相反,迫使车轮偏转后自动回复到原来的中间位置上。且主销后倾角越大,车速越高,前轮稳定性也越好。
主销内倾与后倾都可使汽车转向自动回正,但主销内倾的回正与车速无关,主销后倾的回正与车速有关。因此高速时后倾作用大,低速内倾回正作用大。

车轮外倾角

是指从前放看前轴时,轮胎的中心平面不是垂直的,而是上面向外倾斜一个角度。在这里插入图片描述
其目的为平衡和协调因为车重造成的前轮内倾倾向,使轮胎和路面呈垂直接触的最佳状态。

转向轮前束

是指前轮前束是指前轮前端面与后端面在汽车横向方向的距离差。
在这里插入图片描述
设置前束角的原因为正的前束角在车轮中心产生向内的侧向力,而正的外倾角在车轮中心产生向外的侧向力。因此前束角的作用是与外倾角协调,保持车轮做纯滚动和直线行驶,从而减少轮胎磨损,提高车辆的操纵稳定性。

5.长连杆

因为其优点有:
(1)可以根据所需要的舵机输出杆的长度,从而获得所需要的灵敏度
但不能太长,否则对舵机输出力矩有较高要求。
(2)效率较高。
(3)转角大,由于舵机输出杆的转动在一个平面内,当到达极限位置时,转角比平行四边形大。
(4)转向更灵敏,因为放大倍数比平行四边形方案大。(此处不知平行四边形方案,也查询不到)

6.麦克纳姆轮

通过声音信标组的技术报告,知道麦克纳姆轮具有极高的灵活性。基于有许多小滚轮位于机轮周边的轮轴的中心轮的原理。在这里插入图片描述

6.斑马线检测传感器原理

当传感器检测到黑色遮挡物时输出高电平,单片机通过检测高电平引发系统中断。

7.坡道检测传感器原理

当传感器检测到满足强度阈值的遮挡物引发系统中断。

8.双车接力时测距原理

采用超声波测距,需要将超声波发射端朝向地面防止误触发。

9.车胎处理

根据西南石油大学经验得,在高速情况下,当小车过弯时轮胎容易外翻,这样车模就不能提供车模转弯时所需要的向心力,车模已出现滑出跑道及漂移现象。
西南石油大学解决方案为将轮胎边缘和轮子边缘固定。
因未实践,故难以理解,但可作为经验学习。

二、控制软件算法

1.对于系统控制总体设计

了解到控制转向不仅需要舵机转向,还需要电机的两个轮子的差值。(目前原因未知,猜想为可以使其在最短距离实现转向)

2.巡线原理

2.1电磁巡线原理

比赛中的两种磁场,其一为作为起跑线的固定磁场,其为由永磁铁产生;其二为100mA交变电流的导线所产生的电磁场。
交变电信号产生交变磁场,由于交变磁场在电感线圈中可以产生与磁场强度相关的电流。于是通过三个水平放置的电感值来判断路况,从而控制鸵机的打角大小及拐弯电机的差速大小。

2.2摄像头巡线原理

比赛的环境是在蓝色背景布上铺设白色赛道,使赛道差距明显。
可通过摄像头采集图像,但为了适应不同的场地出现的亮暗差距不同,可使用动态阈值对图像进行二值化,寻找像素点中的颜色跳变点(如灰度图下,由黑到白的跳变点),并对跳变点的行列坐标进行运算,得到每一行的中点列坐标,通过每一行的中点列坐标与直到上的中点列坐标做差,后进行累加,可得到偏差值,通过偏差值控制舵机的打角大小及拐弯电机的差速大小。

当赛场上光线不均匀时,可以对摄像头加偏光镜使对比度更加明显。

3.赛道元素处理

3.1十字处理

通过摄像头来判断是否遇到十字,即通过遍历图像数组,当全部为白色像素点的行数大于一定值,即可判断遇到了十字。
在过十字时,采用斜率补线的方式,且同时使用电磁导引和摄像头导引,将两者误差进行权重分配,即可通过。
不单独采用摄像头的原因,图像左下方与右下方提取不到边界点,导致车模跑错。

3.2环岛处理

采用电磁判断环岛标志位,当经过环岛时水平电感会增大,可设置三个水平电感,当三个电感的和大于阈值,判断前方为环岛。使用电磁导引进入环岛,当完全进入环岛后,开启摄像头导引,即将出环时,使用电磁导引。

3.3坡道处理

通过使用加速度计陀螺仪来共同判断是否进入坡道,将加速度计值与陀螺仪计值进行卡尔曼滤波,来得到真实角度值,当真实值大于阈值,即为上坡状态。
由于上坡车模存在倾角,摄像头会获取干扰信息,因此在判断为坡道后,应关闭摄像头。
此方法存在的问题,由于导引的方式切换,会导致偏差值存在突变。

4.赛道信息获取

4.1电感获取赛道信息

由于电感、匹配质量无法保证完全相同,需要对采集的电感值进行一次归一,即除以本身在直到上采集的最大值,需保证电感最后得到的数据的相对变化范围一致。
由电子科技大学的经验得,单次采集到的电感值可能会因为抖动等影响,导致采集到的值被干扰,电子科技大学做法为代码中利用滑动平均滤波法,滑动20次获得最终数据。

4.2摄像头获取赛道信息

4.2.1图像处理

利用彩色摄像头获取彩色图像,再将RGB图像转换为灰度图像。再利用大津法二值化,将灰度图转化为二值化图像。
由电子科技大学双车可知,由彩色摄像头获取彩色图像,再将彩色图像转灰度的原因为,RGB有三个通道信息,灰度摄像头只有一个通道信息。在某些恶劣情况下,如反光赛道,三个通道的RGB图像更能保留正确信息。

4.2.2拟合赛道中心线

共有三种情况:
(1)左右边界线均存在:利用已知点进行最小二乘法拟合出所有中心点。
(2)单边丢线:利用仅存在的边界线,向中间偏移路宽。
(3)双边丢线:不可能拟合出赛道中心线,判定为丢线,此时需换为电磁跑。

4.3麦克风获取赛道信息

利用传感器接收利用调频广播中的CHIRP信号,用驻极体话筒接收在空气中传播的CHIRP声音信号。

5.直立控制

需通过姿态传感器的信息采集,经过互补滤波之后,得到智能车的俯仰角及其数据,采用PD控制对内环速度环外环速度环

总结

1.需要对PID算法深入了解

原因:否则无法处理其不足之处,即积分截断效应大,有静态误差;溢出的影响大。

2.需要对各种算法均有涉及

3.需要学会此文中加粗字体的意思理解及其运用

4.需要对各种赛道元素的软件控制均知其原理并深入

5.需要对电磁及摄像头获取赛道信息进行学习

大致为如何进项赛道信息运用及分析

6.需要熟悉各种数据整合的方法

这篇关于第一周铁二战队学习总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/170509

相关文章

C# List.Sort四种重载总结

《C#List.Sort四种重载总结》本文详细分析了C#中List.Sort()方法的四种重载形式及其实现原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录1. Sort方法的四种重载2. 具体使用- List.Sort();- IComparable

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

python3中正则表达式处理函数用法总结

《python3中正则表达式处理函数用法总结》Python中的正则表达式是一个强大的文本处理工具,用于匹配、查找、替换等操作,在Python中正则表达式的操作主要通过内置的re模块来实现,这篇文章主要... 目录前言re.match函数re.search方法re.match 与 re.search的区别检索

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

Unity新手入门学习殿堂级知识详细讲解(图文)

《Unity新手入门学习殿堂级知识详细讲解(图文)》Unity是一款跨平台游戏引擎,支持2D/3D及VR/AR开发,核心功能模块包括图形、音频、物理等,通过可视化编辑器与脚本扩展实现开发,项目结构含A... 目录入门概述什么是 UnityUnity引擎基础认知编辑器核心操作Unity 编辑器项目模式分类工程