算法
文章平均质量分 61
奔驰的战猪
这个作者很懒,什么都没留下…
展开
-
EKF之雅克比矩阵(一)
EKF中,雅克比矩阵的含义以及推导方式,局部线性化实际工程中的非线性系统原创 2022-06-25 15:50:32 · 6341 阅读 · 0 评论 -
机器人避障之滑动窗口处理数据
机器人避障_传感器数据处理_滑动窗原创 2022-05-28 11:51:46 · 326 阅读 · 0 评论 -
机器人路径规划之迪杰斯特拉算法(二)
DFS和BFS说迪杰斯特拉算法之前,先为大家简单介绍两种常见的图论搜索算法,深度优先(DFS),广度优先(BFS)。深度优先深度优先就是从根节点开始,找到它的第一个子节点在找到第一个子节点的子节点,依次往下递推直到当前节点没有其他的子节点返回当前子节点的父节点,寻找有没有另外的子节点,若没有则一直重复这个步骤,直到找到目标点或者遍历完整个地图。学过二叉树的同学激动地拍了拍大腿,这不就是前序遍历嘛,那这个遍历的方式我们可以简单的写成:/* * describe : 前序便利 * pa原创 2021-06-03 22:46:06 · 1744 阅读 · 2 评论 -
机器人路径规划之栅格地图(一)
什么是栅格地图栅格地图:即以机器人出生点为中心,x轴和y轴的分辨率为单个格子大小,当x轴分辨率=y轴分辨率时,则每个格子为一个正方形,分辨率越小则表示地图精度越高,比如一个格子大小为1cm × 1cm,那么机器人定位精度就是1cm。可以想象成一个巨大的网把一个地面罩住,网面碰到东西则认为是障碍物/墙,没有碰到障碍物则可以认为是空地。那么每个格子如何区分自己的状态是障碍物/墙,还是空地呢?这里可以赋予每个格子不同的值,比如0代表空地,1代表墙。这个值的内容也可以扩展,比如2代表已经走过,3代表未被走过等等原创 2021-05-27 22:46:09 · 10220 阅读 · 4 评论 -
对一阶二阶低通滤波器推导,并用IMU数据验证算法效果
文章背景一直想学习一下数字信号处理算法,而不是每次遇到数据处理就求平均,求最值,看容差,做滑动窗。。。数字信号处理算法已经很成熟了,但网上大部分还是用matlab跑仿真,设计几个不同频率的sin信号相加,来验证算法的有效性。但是实际工程中该如何去使用这个算法,资料还是比较少的,这篇文章重心放在实际工程,对于工程中遇到的常见信号做处理。算法推导学习一个算法,掌握其思想和推导是必不可少的路。这里先以一阶低通滤波算法为例,在硬件电路中我们可以通过RC电路实现低通滤波功能,利用的便是电容原件的充放电特性。在原创 2021-05-18 23:09:17 · 6370 阅读 · 17 评论 -
查找算法之查找一维数组中的众数
算法场景项目中遇到一个场景,对一个长度为为20的滑动窗进行滤波操作,因为要保证数据平稳不突变,想选取这个滑动窗里的众数作为窗口输出,保证数据的最大平稳性。由于是基于单片机,只能用C实现,没有C++的map容器,还是比较麻烦的。算法实现自己造一个数据结构去装数据,第一个成员是数据大小,第二个成员是该大小出现的次数。算法的思想也比较简单,就是创建一个动态数组,数组长度为窗口大小。然后遍历窗口,将重复的数字装到一个pos上去,然后num++,没有重复就换个pos。做完这些就去找这个动态数组中,找到num最大原创 2021-05-06 15:44:26 · 977 阅读 · 0 评论 -
快速排序算法及其应用
常见的排序算法冒泡排序,简单排序,插入排序等算法时间复杂度为 n^2,在某些场景下如已知有序的数组中进行排序,调用这些算法可以有效地完成排序功能。其源码如下:/************************************************* title : 交换* 算法复杂度 : ************************************************/void swap(SqList *L,int i,int j){ int temp原创 2021-02-20 11:23:28 · 835 阅读 · 0 评论 -
PID算法原理及模板讲解
很早都想写一栏关于PID算法的专栏,整个大学期间把谈女朋友的时间都拿来搞PID算法了(这样你们还不信我是真的搞PID的嘛。。)。为了学习PID算法买过平衡小车之家的平衡车(最后拆成玩具了),买过正点原子的minifly(卖掉了)。做过2015年电赛风力摆,研究过2017年电赛板球系统(机械结构太难搭了就写了写代码),准备了这么久就是为了在电赛上拿个国奖,结果2019年电赛把控制类和电源类结合到了一...原创 2020-04-02 21:16:27 · 6683 阅读 · 13 评论