智能车杂项

简介: 智能车杂项。一些想要说但不好归类的杂项

杂项

  • 我们使用的是单核板,裸机工程。
  • 双核板需要额外时钟同步,可以使用两个IO设置和读取高低电平来进行同步。另外需要自己设计串口通信协议,帧头和帧尾最好设置为功能数据内容不会出现的数据。
  • 电池使用的是2S的航模电池
  • 程序的浮点数运算好像有迷之问题。把浮点运算的结果用串口发到电脑上大概一秒或是几秒就会出现特别大或是特别小的数还有Inf和NAN,还是偶然现象。搞不好是数组越界操作/堆栈溢出程序跑飞/内存溢出访问越界/中断处理错误balabala。但是就连最基本的PID和一阶低通滤波偶尔都会随机出问题,降成int整形就不会出现这种情况。查了大概俩月也没查出问题在哪里,这种随机隐患万一赛场上发生了会很要命,所以把很多运算都降成整形了
  • 陀螺仪大概在比赛前一周不到突然抽风,稳定了好久改都没改的程序读取陀螺仪数据突然就不正常了。出现问题的当天在过了一小段时间之后又突然自己好了,再就没出现过这个问题。正式比赛前高强度跑了完整流程十几次测试稳定性也都没有问题。嗯也是很随机的小概率问题 然后赛场上就又碰到了 并且赛后重新烧程序跑了也没事... 只能说天有不测风云啊
  • math.h中的isnan()isinf()inanf()isinff())可以用来判断浮点数是否是NAN或Inf
  • 遇到单片机跑着跑着就重启,可以试下把固定用的铜柱换成尼龙柱,再换上纸垫片,说不定会有神奇的效果。
  • 不要像我们一样把变量定义拉成一个单独的.c和.h文件,还把所有头文件都放到一起,这个当时是为了解决最开始引用报错的问题,后来发现是工程设置的问题。就还蛮蠢的x
  • 九轴陀螺仪做AHRS(航姿参考系统)解算四元数,测试下来效果在智能车这个室内场景其实不如六轴。磁场传感器受地面影响很大,数据会很飘。
  • 陀螺仪安装最好要减震,不要直接热熔胶胶在底盘上,物理减震比算法处理效果要好些。
  • AHRS姿态解算算法大致分三类:Mahony互补滤波,扩展卡尔曼EKF姿态融合,梯度下降。强烈安利大家试一下梯度下降结算。运算量小并且收敛很快,调整学习率(步长)可以控制解算出的四元数抖动程度,真的很好用!

    Madgwick开源了梯度下降算法,可以下载下来自行验证下算法,并且也开源了互补滤波算法 https://x-io.co.uk/open-source-imu-and-ahrs-algorithms/

  • 比完赛后过一段时间再看自己的程序,还是有不少地方不满意的。比如四个电机结构体写成MortorTypedef_t Mortor[4]会比1-4这样写方便得多;再有就是陀螺仪的处理程序美观性真的挺一般的;还有就是变量和函数命名不是很规范等等等等。

    智能车这份程序是我从大一上实验室招新开始学单片机和C语言,一直写到暑假比赛结束,代码也是逐渐跟着学习进度叠起来的。即使是比完赛后过了不到半个学期再看自己的程序,还是能发现有不少地方蛮不满意的,那就更不用说做车的前辈和学长们了。赛后也想把程序整理下弄得工整和美观一些,不过车已经被下一届的预备役选手拆掉准备明年的比赛了,改完之后的程序也不能再上车验证一下,于是还是开源这份赛后稍加改动的程序吧!还有遗憾的地方就在明年的RoboMaster里完善好了!作用更多是抛砖引玉!

目录
相关文章
|
5月前
|
传感器
DIY_红外计数模块
DIY_红外计数模块
|
5月前
A-B罗克韦尔 6155R-NPXPDC 不带显示屏的紧凑型工业计算机
A-B罗克韦尔 6155R-NPXPDC 不带显示屏的紧凑型工业计算机
|
11月前
HMI-33-【运动模式】补上油量表和水温表
上一篇,以为是做了一个收尾,写了灯光控制面板和底部的信息栏,但是,有位眼见的小伙伴`江山壹角`,直接不给我面子,说我的水温表和油量表不会动。截图位置,我记仇哈。
|
算法 编译器
开源:智能宠物弹射喂食器连载贴之步进电机控制(二)
开源:智能宠物弹射喂食器连载贴之步进电机控制(二)
222 0
|
传感器 算法
智能车探索麦轮特色控制:三自由度循迹以及元素坡道、环岛、三叉、大小S弯的处理
智能车探索麦轮特色控制:三自由度循迹以及元素坡道、环岛、三叉、大小S弯的处理
446 0
测试第十七届智能车竞赛信标灯-初步测试
本文对于来自于龙邱通过对于来自LQ发送过来的新版的信标灯进行测试,可以看到: 它可以与以往的信标灯控制器进行兼容; 通过光电检测,可以检测到上面经过的车模物体;无线车模上面安装磁铁。
测试第十七届智能车竞赛信标灯-初步测试
|
传感器 机器学习/深度学习 人工智能
为什么只用摄像头和光学雷达是不够的:我们能从Uber的自动驾驶车致死事件中学到什么
3 月 18 日星期天晚十点左右,Uber 的一辆自动驾驶 SUV 在美国亚利桑那州坦佩市的街道上造成了一起交通致死事故。坦佩市的警方证实,在事故发生时,该 SUV 处于自动驾驶模式并撞上了一名推着自行车横穿马路的女士。这名女士在医院抢救无效后去世。
246 0
为什么只用摄像头和光学雷达是不够的:我们能从Uber的自动驾驶车致死事件中学到什么