自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 收藏
  • 关注

转载 【算法基础学习 6】龙格库塔法 求微分方程

龙格库塔法龙格库塔法对于一个工科学生来说估计并不陌生,因为我们做项目的时候或多或少会接触到微分方程,解微分方程的数值解是就需要用到龙格库塔方程了。我第一次接触到该方法是对四轴姿态角进行四元数解算的时候,当时用的是一阶龙格库塔,当时的理解就是这不就是泰勒展开式取一阶嘛,然后觉得二阶龙格库塔应该就是取二阶了,依次类推,所以当时没有深入的了解,现在因为遇到这方面的问题所以重新把他学了一遍。准...

2019-02-13 16:35:54 2099

原创 【算法基础学习 5】 欧拉角 方向余弦 四元数

什么是姿态解算:    飞行器的姿态解算过程涉及到两个坐标系,一个是运载体的机体坐标系,该坐标系与运载体固连,当运载体转动的时候,这个坐标系也跟着转动,我们假设运载体的坐标系为b系。另外一个是地理坐标系,即东北天坐标系,X轴指向东,Y轴指向北,Z轴指向天,这个坐标系也称为导航坐标系,我们假设这个坐标系为n系。    所谓的姿态解算,就是求出飞行器当前的姿态,也就是求出飞行器上固连的机体坐标...

2019-02-12 17:35:39 3449

转载 Git与Github的区别

本文旨在使用通俗易懂的文字,讲解版本控制背后的理论,以便你能对程序员们如何工作有个全局概念。本文不涉及代码,不用下载啥东西,循序渐进,不关注繁复细节,只有文字和一些不怎么漂亮的手绘涂鸦。写本文的动机学习任何东西都能在网络上找到如此之多的指导教程,这一直令我惊讶不已。Git 和 Github 也不例外,网络上有大量优秀资源,这些资源要么只对其中一个,要么兼顾二者引导你开始学习。以下是我特...

2019-01-31 16:27:50 319

转载 【算法基础学习 4】互补滤波算法——PX4姿态估计

目录应用场景名词解释陀螺仪加速度计磁力计(又叫磁罗盘)坐标系姿态表示滤波原理滤波主要过程预备知识预测校正加速度计校正磁力计校正更新四元数源码分析主程序运行流程图函数功能简述源码分析头文件using @@@namespace attitude_estimator_q类定义: class AttitudeEst...

2019-01-31 11:31:17 7329

转载 SDI,ASI,HDMI,DP等接口的区别

结了几种接口的参数:HDMI:传输的是数字信号,非压缩视频信号+音频信号,使用面广,高清电视上有DP(Display Port):传输的是数字信号,非压缩视频信号+音频信号(和HDMI比有一个角是直角),使用面广,有些笔记本上就有SDI:传输的是数字信号,非压缩视频信号(没有音频),传输距离远,用于广播电视领域ASI:传输的是数字信号,压缩视频信号(例如MPEG2-TS...

2019-01-30 11:01:54 1568 1

转载 数字信号与模拟信号的区别

模拟信号和数字信号一个是波形,一个是数字;一个是高低电平,一个是01010;一个是连贯的,一个是断开的;一个是自然的,一个是人工的。 模拟信号是将源信号的一些特征未经编码直接通过载波的方式发出,是连续的 数字信号则是通过数学方法对原有信号进行处理,编码成二进制信号后,再通过载波的方式发送编码后的数字流,是离散的 设计一个“游戏” 考虑要通过手电筒的灯光来实现一定距离内...

2019-01-30 10:55:04 12103

转载 【无人机学习笔记 9】运动目标跟踪算法综述

  运动目标跟踪是视频监控系统中不可缺少的环节。在特定的场景中,有一些经典的算法可以实现比较好的目标跟踪效果。本文介绍了一般的目标跟踪算法,对几个常用的算法进行对比,并详细介绍了粒子滤波算法和基于轮廓的目标跟踪算法。最后简单介绍了目标遮挡的处理、多摄像头目标跟踪和摄像头运动下的目标跟踪。一、一般的目标跟踪算法  一般将目标跟踪分为两个部分:特征提取、目标跟踪算法。其中提取的目标特征大致可以...

2019-01-28 14:48:58 8110 1

原创 无人机学习笔记 8 雷达工作波段划分

https://blog.csdn.net/Reborn_Lee/article/details/82913253https://blog.csdn.net/yanchuan23/article/details/81083906

2019-01-27 18:57:03 1430

转载 【算法基础学习 1】贝叶斯滤波

 (一). 概率基础回顾我们先来回顾一下概率论里的基本知识:1. X:  表示一个随机变量,如果它有有限个可能的取值{x1,x2,⋯,xn}2. p(X=xi):表示变量X的值为 xi的概率。3. p(⋅):称为概率质量函数(probability mass function).    例如:一个家里有3个房间,机器人在各个房间的概率为 p(room)={0.1,0.3,0...

2019-01-27 18:32:36 1469

转载 【Robot学习 5 】ROS通信编程 待更新。。。

https://blog.csdn.net/weixin_39036700/article/details/81660828ROS通信编程——话题编程如何运行文件                                                     rosrun learning_communication talker                      ...

2019-01-26 23:25:48 218

转载 【C++ 编程语言学习 8】C++ map的使用

一、map简介1、原型template < class Key,                                     // map::key_type           class T,                                       // map::mapped_type           class Compare = l...

2019-01-25 11:01:22 790

转载 【C++ 编程语言学习 7】C++命名空间

假设这样一种情况,当一个班上有两个名叫 Zara 的学生时,为了明确区分它们,我们在使用名字之外,不得不使用一些额外的信息,比如他们的家庭住址,或者他们父母的名字等等。同样的情况也出现在 C++ 应用程序中。例如,您可能会写一个名为 xyz() 的函数,在另一个可用的库中也存在一个相同的函数 xyz()。这样,编译器就无法判断您所使用的是哪一个 xyz() 函数。因此,引入了命名空间这个概...

2019-01-24 08:53:54 93

转载 【C++编写语言学习 6】vector容器

一、什么是vector向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence container)。跟任意其它类型容器一样,它能够存放各种类型的对象。可以简单的认为,向量是一个能够存放任意类型的动态数组。二、容器特性1.顺序序列顺序容器中的元素按照严格的线性顺序排序。可以通过元素在序列中的位置访问对应的元素。2.动态数组支持对序列中的任意元素进行快速直接...

2019-01-23 10:49:32 216

转载 【算法基础学习 3】卡尔曼滤波推导与应用(2)

转自:https://blog.csdn.net/heyijia0327/article/details/17667341这部分主要是通过对第一部分中提到的匀加速小车模型进行位移预测。先来看看状态方程能建立准确的时候,状态方程见第一部分分割线以后内容,小车做匀加速运动的位移的预测仿真如下。clcclear allclose all% 初始化参数delta_t=0.1;   ...

2019-01-22 16:01:15 429

转载 【算法基础学习 2 】卡尔曼滤波推导与应用(1)

前言          卡尔曼滤波器是在估计线性系统状态的过程中,以最小均方误差为目的而推导出的几个递推数学等式,也可以从贝叶斯推断的角度来推导。          本文将分为两部分:第一部分,结合例子,从最小均方误差的角度,直观地介绍卡尔曼滤波的原理,并给出较为详细的数学推导。第二部分,通过两个例子给出卡尔曼滤波的实际应用。其中将详细介绍一个匀加速模型,并直观的对比系统状态模型的...

2019-01-22 15:46:24 1147

转载 【slam学习 4】Gmapping代码解析

前言:        最近正好 用到GMapping,需要改代码, 但看过也总是在忘,那干脆写篇博客记录 下来同时也可以帮助想要了解GMapping代码的同学。      代码的入口依然是main函数,但GMapping代码中由很多是没有用的,所以并 不需要挨个看,可以说代码的作者代码能力挺强但代码风格却是不敢恭维。这里就 不带大家挨个文件度代码,只是对几个主要的 函数进行介绍。   ...

2019-01-21 16:40:23 993

转载 【slam 学习 3】Gmapping原理分析

概念:      1、Gmapping是基于滤波SLAM框架的常用开源SLAM算法。      2、Gmapping基于RBpf粒子滤波算法,即将定位和建图过程分离,先进行定位再进行建图。      3、Gmapping在RBpf算法上做了两个主要的改进:改进提议分布和选择性重采样。优缺点:     优点:Gmapping可以实时构建室内地图,在构建小场景地图所需的计算量较...

2019-01-21 16:36:32 9080 1

转载 视觉SLAM VS 激光SLAM

SLAM(同步定位与地图构建),是指运动物体根据传感器的信息,一边计算自身位置,一边构建环境地图的过程,解决机器人等在未知环境下运动时的定位与地图构建问题。目前,SLAM的主要应用于机器人、无人机、无人驾驶、AR、VR等领域。其用途包括传感器自身的定位,以及后续的路径规划、运动性能、场景理解。SLAM按照传感器来分,分为视觉SLAM(VSLAM)和激光SLAM,视觉SLAM基于摄像头返回的图像...

2019-01-21 16:15:59 928

转载 【slam 学习1】robot导航与定位框架

  导航与定位是机器人研究中的重要部分。        一般机器人在陌生的环境下需要使用激光传感器(或者深度传感器转换成激光数据),先进行地图建模,然后在根据建立的地图进行导航、定位。在ROS中也有很多完善的包可以直接使用。        在ROS中,进行导航需要使用到的三个包是:      (1) move_base:根据参照的消息进行路径规划,使移动机器人到达指定的位置;      (...

2019-01-21 11:03:38 1125

转载 【Robot学习 4 】Gmapping 算法学习

机器人地图一般分为三种类型:栅格地图,拓扑地图,特征地图机器人在创建地图时,使用多个传感器融合数据,提高创建地图的精度『内部传感器数据的融合通过卡尔满滤波完成,在长时间的运行时会有较大的误差,可以通过外部的激光传感器或者深度相机进行机器人位置和姿态的修正数据关联:1.已经存在的环境特征2.新的环境特征3.噪声数据机器人对采集回来的数据(观测值)进行分析,若为已经存在的数据,则利用这一新...

2019-01-21 10:38:12 3387

转载 【PX4 学习4】导航及任务框架

本文重点介绍PX4飞控的Navigator和mission控制框架和逻辑。Navigator导航部分是无人机自主飞行控制的核心所在,其中包括自主起飞、自主降落、自主返航、自主任务以及GPS失效保护等各个部分。搞懂这个部分有助于理解无人机的自主飞行过程,闲话少说,上干货。 PX4飞控的整体架构参见Px4源码框架结构图 Navigator模块主要功能在于确定任务类型、地理围栏、失效保护,把任务航点...

2019-01-19 09:02:51 1028

转载 【C++编程语言学习 5 】数据结构

C/C++数组允许定义可存储相同类型数据项的变量,但是结构是C++中另一种用户定义的可用的数据类型,它允许您存储不同类型的数据项。结构用于表示一条记录,假设您想要跟踪图书馆中书本的动态,您可能需要跟踪每本书的下列属性:Title :标题 Author :作者 Subject :类目 Book ID :书的 ID定义结构为了定义结构,您必须使用 struct 语句。struct ...

2019-01-18 16:07:12 267

转载 【C++ 编程语言学习 4】C++模板

C++ 模板两种C++程序设计泛型:按照面向过程式范型把程序划分成不同的函数; 按照面向对象式范型把代码和数据组织成各种各样的类并建立类之间的继承关系。模板是泛型编程的基础,泛型编程即以一种独立于任何特定类型的方式编写代码。基本的模板语法:在泛型编程技术力,我们仍然需呀编写自己的函数和类,但不必限定它们所使用的数据类型; 只需要使用一个占位符(通常用字母T来表示),然后用这个...

2019-01-18 15:42:44 169

原创 【C++ 编程语言学习3】 IO库学习

 一、IO库简介IO类型在三个独立的头文件中定义:iostream定义读写控制窗口的类型,fstream定义读写已命名文件的类型,而sstream所定义的类型则用于读写存储在内存中的string对象。IO 标准库类型和头文件 头文件 类型 iostream istream 从流中读取 ostream 写到流中去 iostream 对流进行读写:从...

2019-01-18 09:30:04 4700

原创 【C++ 编程语言学习2】C++封装、继承、多态

〇、面向对象的三个基本特征:封装、继承、多态面向对象的三个基本特征是:封装、继承、多态。其中,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已知存在的代码模块(类);它们的目的是为了代码重用。而多态是为了实现另外一个目的,接口重用。一、封装:代码模块化1、基本概念1)封装是把数据和操作数据的函数绑定在一起的概念,封装的本质是模块化。2)C++通过创建类来支持封装和数据隐...

2019-01-07 13:41:31 215

原创 【ubuntu 学习】

1、Ubuntu16.04 如何截屏如何截屏在你没有更改默认的快捷键的时候:对整个屏幕截图: PrintScreen对活动窗口截图: Alt+PrintScreen对任意矩形截图: Shift+PrintScreen以上三个快捷键再加上Ctrl,就会默认复制截图到粘贴板2、Ubuntu下使用SSH 命令用于登录远程桌面问题描述在小车工控机与自己的笔记本电脑上都安装的是U...

2019-01-06 16:11:27 238

原创 【读书笔记 1】《读大江大河 有感》

读《大江大河》是因为最近大火的同名电视剧,雷东宝、宋运辉、杨巡这三个主人公的搭建了整本小说。

2019-01-06 15:49:11 1464

转载 【Robot 学习2】ROS 基础学习

ROS架构的三个层次:基于Linux系统的OS层;实现ROS核心通信机制以及众多机器人开发库的中间层;在ROS master的管理下保证功能节点的正常运行的应用层。从系统实现角度讲ROS划分成的三个层次:计算图、文件系统和开源社区,涵盖ROS的关键概念如:节点、消息、话题、服务、功能包、元功能包等。ROS的三种通信机制:基于发布/订阅的话题通信、基于客户端/服务器的服务通信以及基于RPC的...

2019-01-06 15:30:34 872

原创 【Robot 学习1】 机器人平台搭建

 0、机器人组成的理论知识机器人是一个机电一体化的设备,从控制的角度来看,机器人系统可以分为四大部分,即执行机构、驱动系统、传感系统和控制系统。 1、 执行机构:人体的手和脚,直接面向工作对象的机械装置;2、驱动系统:人体的肌肉和筋络,负责驱动执行机构,将控制系统下达的命令转换成执行机构需要的信号;3、传感系统:人体的感官和神经,主要完成信号的输入和反馈,包括内部传感器...

2019-01-06 15:13:46 2847 3

原创 【飞机设计知识学习1】 伺服弹性试验

        飞机上装有感受飞机运动的传感器(如加速度、俯仰速率、滚转速率及偏航速率等)以测量飞机的飞行参数二由于飞机不是完全刚性的,因此这些传感器能够测量到诸如机身弯曲及扭转等弹性变形引起的结构加速度和角速率信号,通过控制面位置传感器也测量到控制面的旋转及弹性模态。一般来说,飞机结构运动会造成为人熟知的非指令性控制面偏转,这个由传感器感应产生的信号会反馈到飞行控制系统(FCS)计算机,持续地指...

2019-01-04 13:50:36 955

原创 【C++ 编程语言学习1】 类&对象详解

目录 类的基本概念、类成员函数、类访问修饰符、构造函数&析构函数、C++拷贝构造函数、C++友元函数、C++中的this指针、C++中指向类的指针、C++类的静态成员一、类的基本概念  类是把属性和方法进行封装,同时对类的属性和方法进行访问控制(类可以把自己的属性和方法只让可信的类或者对象操作,对不可信的进行信息的隐藏) 类是由我们根据客观事物抽象而成,形成一类事物,然后...

2019-01-03 10:01:30 2203 1

原创 个人学习计划笔记

想学的东西有点都,很多都是学了一点就扔了,没有一个深入的,觉得有必要整理一个条目出来,按顺序有计划的去学习:1、已修主要课程(数学力学为主):数学:高数、线性代数、概率论、数值计算等一堆数学;力学基础:材料力学、理论力学(刚体运动学+刚体动力学)、弹性力学、流体力学、粘性流体力学等一大堆力学;几何建模:AutoCAD、Catia、Solidworks;数值仿真:ICEM、Poi...

2018-12-23 09:43:48 1960 1

转载 【Robot定位 学习笔记 1】GPS和IMU(惯导)在无人驾驶中的应用

无人驾驶定位技术行车定位是无人驾驶最核心的技术之一,全球定位系统(GPS)在无人驾驶定位中也担负起相当重要的职责。然而无人车是在复杂的动态环境中行驶,尤其在大城市,GPS多路径反射的问题会很明显。这样得到的GPS定位信息很容易就有几米的误差。对于在有限宽度高速行驶的汽车来说,这样的误差很有可能导致交通事故。因此我们必须借助其他传感器来辅助定位,增强定位的精度。另外,由于GPS的更新频率低(10...

2018-12-16 16:17:08 5169

转载 【 學習心得 笔记 1】大疆技术总监:如何用六年成为一个全能的机器人工程师

origin: http://www.elecfans.com/app/api/focus/index/id/438628?from=singlemessage&isappinstalled=1   机器人学的核心问题是做好和物理世界的交互。现在主流的机器人学分支里,处理与物理世界的交互的学科分为三类:传感器和处理算法;多刚体系统动力学控制;机器人自主移动。  智能机器人会成为...

2018-12-16 16:09:57 1598 1

转载 【无人机 学习笔记 7】 真实空速、指示空速、标准空速、当量空速之间的关系

真实空速真实空速(True Air Speed),又称真空速。表示飞行器飞行时相对于周围空气运动的速度,其英文缩写形式为TAS,用符号VT表示。飞行器的飞行真空速定义为飞机的重心相对于空气气流的运动速度投影到飞机纵轴对称平面内的分量。飞机相对于空气的运动速度也可等价地视为飞机不动而空气以大小相等方向相反的流速流过飞机。根据流体的贝努利方程,流速可以折算成压力,即动压(近似地等于冲压)。根据空气...

2018-12-07 13:35:19 15477

转载 【编程语言学习 2】时间复杂度和空间复杂度的简单讲解

一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。文章最后,举例使用二分查找和斐波那契的递归和迭代方法,分别说明时间和空间复杂度。时间复杂度: 首先要说的是,时间复杂度的计算并不是计算程序具体运行的时间,而是算法执行语句的次数。 当我们面前有多个算法时,我们可以通过计算时间复杂度,判断出哪一个算法在具体执行时花费时间最多和最少。常见的时间复杂度有: 常数阶O(...

2018-12-06 23:17:26 590

转载 【编程算法学习 1 】(转发)哈希表(散列表)原理详解

什么是哈希表?(其实就是把字符通过哈希函数转化为索引)   哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。记录的存储位置=f(关键字)这里的对应关系f称为散列函数,又称为哈希(Hash函数),采用散列技...

2018-12-06 23:02:05 205

转载 leetcode 刷题 笔记 leetcode 使用说明

 又到了一年毕业就业季了,三年前的校招季我逃避了,可这一次终于还是要轮到我了=_=||。       作为要准备踏入码农行业的人来说,要准备校招,怎么能不去刷刷LeetCode呢?       LeetCode收录了许多互联网公司的算法题目,被称为刷题神器,我虽然早有耳闻,不过却一直没有上面玩过。即使这一年多来,做的编程还是挺多的,不过毕竟不是计算机专业的科班出身,在编程过程中土路子实在太多了...

2018-12-06 16:50:34 2078

原创 【leetcode 刷题笔记1】hash table 哈希算法

哈希表 1、Two SumGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you ma...

2018-12-06 16:40:10 179

原创 Robot 定位 学习(1) 传感器

传感器获得机器人的位置、姿态等信息;通过滤波器将传感器的信息过滤,对机器人进行定位;通过ROS Gazebo仿真实现,定位算法

2018-12-06 16:38:54 234

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除