自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 向量的期望和方差

对于向量而言它的期望和方差公式如下:x=[x1x2⋮xn]E(x)=[E(x1)E(x2)⋮E(xn)]\mathbf{x} = \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix} \\ E(\mathbf{x}) = \begin{bmatrix} E(x_1) \\ E(x_2) \\ \vdots \\ E(x_n) \end{bmatrix} x=⎣⎢⎢⎢⎡​x1​x2​⋮xn​​⎦⎥⎥⎥⎤​E(x)=⎣⎢⎢⎢⎡​E(x1​)E(x

2020-10-13 14:25:40 19363 1

原创 常用矩阵求导公式推导

引论矩阵求导的方法一直以来都很让我困惑,最近看了一些博客参考,得到了一些理解。接下来尝试从最基础的地方开始讲,在中学的时候,我们最常见到的函数是一元函数,类似这种:f1(x)=xf2(x)=ax2+bf_1(x) = x \\ f_2(x) = a x^2 + bf1​(x)=xf2​(x)=ax2+b它们的求导很简单:df1(x)dx=1df2(x)dx=2ax\frac{\text{d}f_1(x)} {\text{d}x} = 1 \\ \frac{\text{d}f_2(x)} {\te

2020-09-29 17:08:48 6097 1

原创 利用c++11 chrono库记录时间

在C++11中,是标准模板库中与时间有关的头文件。该头文件中所有函数与类模板均定义在std::chrono命名空间中。当我们想要记录模块代码或者函数的运算耗时的时候,可以利用chrono库实。相关的代码如下:#include <chrono>#include <iostream>class Timer{public: Timer(); virtual ~Timer(); int elapsedSecond(); int elapsedMil

2020-07-02 10:38:57 381 1

原创 IMU 计算 yaw,pitch 和roll

IMU 计算 yaw,pitch 和rollIMU是机器人领域中一种很重要的传感器,可以用于许多不同的用途。在,视觉slam,机器人导航,VR头盔中都有它的身影。不管要搞VSLAM还是机器人导航,我TM都绕不过这个传感器。所以,这篇文章主要是想记录一下看到的一下IMU的资料,以防自己以后忘记了。由于在市面上IMU的价格幅度变化很大,每个IMU也有很大的不同。这篇blog的IMU默认为是拥有9...

2019-05-20 22:49:03 18620 10

原创 一元和二元的泰勒展开式

一元函数的泰勒展开式由高等数学知识可知,对于一元函数f(x)f(x)f(x) 在kkk点,即x=x(k)x=x(k)x=x^{(k)}的泰勒展开式为: f(x)=f(x(k))+f′(x(k))(x−x(k))+12!f′′(x(k))(x−x(k))2+⋯+1n!f(n)(x(k))(x−x(k))n+Rnf(x)=f(x(k))+f′(x(k))(x−x(k))+12!f″(x(k))(...

2018-09-22 22:00:49 19777

原创 C++中的stringstream的使用例子

本文主要记录stringstream的简单使用例子。计算string中单词的个数int countWords (string str){ stringstream s(str); string word; int count = 0; while (s&gt;&gt;word) count++; return count;}...

2018-05-20 14:29:56 1197

原创 利用SVD求得两个对应点集合的旋转矩阵R和转移矩阵t的数学推导

1.问题描述 (R,t)=argmin∑i=1nwi||(Rpi+t)−qi||2(1)(1)(R,t)=argmin∑i=1nwi||(Rpi+t)−qi||2(R,t)=argmin \sum_{i=1}^n w_i||(Rp_i+t)-q_i||^2 \tag{1} wiwiw_i 表示每个点对之间的权重。 2. 计算转移矩阵 0=∂F∂t=∑i=1n2wi(Rpi+t−qi)=2t...

2018-05-18 16:01:54 17553 11

原创 PCA校准(alignment)两个对应的点集合,并且获得旋转矩阵R和转移矩阵T

代码的主要流程 1. 通过椭圆的公式计算出椭圆边的点的坐标,并作为点集合AAA。这里需要注意的是,需要对椭圆的公式进行一下处理。原始的椭圆公式为: x2a2+y2b2=1x2a2+y2b2=1\frac{x^2}{a^2} + \frac{y^2}{b^2} = 1 可以令,x=acos(θ)x=acos⁡(θ)x=a\cos(\theta),y=bsin(θ)y=bsin⁡(θ)y=b\s...

2018-05-17 15:09:43 2177

原创 计算两个对应点集之间的旋转矩阵R和转移矩阵T

假设有两个点集A和B,且这两个点集合的元素数目相同且一一对应。为了寻找这两个点集之间的旋转矩阵RRR和转移矩阵ttt。可以将这个问题建模成如下的公式: B=R∗A+tB=R∗A+tB = R*A+t 为了寻找RRR和ttt,通常需要一下三个步骤: 计算点集合的中心点 将点集合移动到原点,计算最优旋转矩阵RRR 计算转移矩阵ttt 计算中心点P=⎡⎣⎢⎢xyz...

2018-05-05 23:06:35 34900 48

原创 二维变换矩阵

二维平面上常见的三种几何变换 平移 缩放 旋转 平移在二维平面上每个点可以用(x,y)(x,y)(x,y)表示,假设有一点P(x,y)P(x,y)P(x,y),它平移到P′(x′,y′)P′(x′,y′)P'(x',y'),则相应的数学表达式子为: P′=P+ΔP[x′y′]=[xy]+[ΔxΔy]=[x+Δxy+Δy]P′=P+ΔP[x′y′]=[xy]...

2018-05-04 21:54:42 6846 2

原创 用python 实现龙格-库塔(Runge-Kutta)方法

龙格-库塔法是1900年数学家卡尔-龙格和马丁-威尔海姆在1900年提出的一种求解非线性常微分方程的一种方法。本篇博客主要利用python语言实现龙格-库塔方法。 首先介绍龙格-库塔方法的公式: 已知,方程的导数和初值信息如下: y′=f(t,y),y(t0)=y0y′=f(t,y),y(t0)=y0y' = f(t,y) , y(t_0)=y_0 则方程的迭代计算公式如下: y(t+Δ...

2018-05-03 11:46:53 24288 10

原创 一维和二维高斯分布的可视化

本篇主要用python代码实现一维和二维高斯分布的可视化 首先,一维和多为高斯分布的数学公式如下所示: p1(x)=12πσ2‾‾‾‾‾√exp{−12(x−μ)2σ2}p1(x)=12πσ2exp{−12(x−μ)2σ2} p_1(x) = \frac{1}{\sqrt{2\pi \sigma^2}} exp\{-\frac{1}{2}\frac{(x-\mu)^2}{\sigma^2}\}...

2018-04-23 22:07:59 6357

原创 高斯分布的乘积

假设有两个高斯分布: p1(x)=(2πσ21)−12exp{−12(x−μ1)2σ21}p1(x)=(2πσ12)−12exp{−12(x−μ1)2σ12}p_1(x) = (2\pi\sigma_1^2)^{-\frac{1}{2}}exp\{ -\frac{1}{2} \frac{(x-\mu_1)^2}{\sigma_1^2} \} p2(x)=(2πσ22)−12exp{−12(x−μ...

2018-04-22 22:23:12 18798 2

原创 机器人的运动模型

机器人的运动模型这篇文章主要介绍两轮机器人如何根据: 机器人轮子的编码信息和机器人当先位姿(x1,y1,θ)(x1,y1,θ)(x_1,y_1,\theta)计算出下一时刻机器人的位姿(x2,y2,θ2)(x2,y2,θ2)(x_2,y_2,\theta_2)。 即: 输入:(x1,y2,θ1)(x1,y2,θ1)(x_1,y_2,\theta_1)、 机器人左右轮子的间距www,码盘...

2018-04-09 09:31:01 4547 3

原创 关于Gazebo出现错误Error [Node.cc:90] No namespace found的解决方法

本文的解决方案来自https://github.com/jaejunlee0538/gazebo_2.2_ros_indigo/issues/1 在Ubuntu系统安装完gazebo,在终端输入gazebo启动gazebo的时候发现,gazebo的屏幕是如下所示黑色的, 而且在终端打印出如下错误Warning [gazebo.cc:215] Waited 1second

2018-01-19 09:40:29 3009 1

原创 Ubuntu中的clion的desktop文件编写

昨天在ubuntu安装了clion,然后我想要在Desktop文件夹中创建一个应用图标。想要通过双击图标实现启动clion。捣腾之后,把过程记录一下:cd ~/Desktoptouch clion.desktopvim clion.desktop在其中输入如下文本:#!/usr/bin/env xdg-open[Desktop Entry]Version=1.0Type=

2017-03-20 18:19:03 1700 1

空空如也

空空如也

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

TA关注的人

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