当前位置: 首页 > news >正文

IMU 积分的误差状态空间方程推导

0. 前言

本文推导的是 IMU 积分的误差状态空间方程,预积分的推导要比积分复杂,但是推到方法和本文是一样的,因此这里只给出积分的推导方式。

另外,本文的推导方式参考了 R2Live Supplementary Material 中给出的推导,这种方法是基于李群李代数使用 全增量 的方法计算误差状态空间方程,非常好理解。

1. 离散时间的IMU运动学方程

{pi+1=pi+viΔt+12[Ri(ami−bai−nai)−g]Δt2vi+1=vi+[Ri(ami−bai−nai)−g]ΔtRi+1=Riexp⁡[(ωmi−bωi−nωi)Δt]bωi+1=bωi+nbωiΔtbai+1=bai+nbaiΔt\left\{\begin{array}{l} \mathbf{p}_{i+1}=\mathbf{p}_i+\mathbf{v}_i \Delta t+\frac{1}{2}\left[\mathbf{R}_i\left(\mathbf{a}_{m i}-\mathbf{b}_{a_i}-\mathbf{n}_{a i}\right)-\mathbf{g}\right] \Delta t^2 \\ \mathbf{v}_{i+1}=\mathbf{v}_i+\left[\mathbf{R}_i\left(\mathbf{a}_{m i}-\mathbf{b}_{a i}-\mathbf{n}_{a i}\right)-\mathbf{g}\right] \Delta t \\ \mathbf{R}_{i+1}=\mathbf{R}_i \exp \left[\left(\mathbf{\omega}_{mi}-\mathbf{b}_{\omega i}-\mathbf{n}_{\omega i}\right) \Delta t\right] \\ \mathbf{b}_{\omega i+1}=\mathbf{b}_{\omega i}+\mathbf{n}_{b_\omega i} \Delta t \\ \mathbf{b}_{a_i+1}=\mathbf{b}_{a i}+\mathbf{n}_{b_a i} \Delta t \end{array}\right. pi+1=pi+viΔt+21[Ri(amibainai)g]Δt2vi+1=vi+[Ri(amibainai)g]ΔtRi+1=Riexp[(ωmibωinωi)Δt]bωi+1=bωi+nbωiΔtbai+1=bai+nbaiΔt

  • 式中忽略了参考坐标系,一般可以选择 worldworldworldW{W}W,此时 g=[0,0,9.8]Tg=[0, 0, 9.8]^Tg=[0,0,9.8]T
  • nai,nωi\mathbf{n}_{a i},\mathbf{n}_{\omega i}nai,nωi 为IMU读数的高斯白噪声;
  • nbai,nbωi\mathbf{n}_{b_a i},\mathbf{n}_{b_\omega i}nbai,nbωi 为IMU零偏的随机游走的高斯分布。

2. 状态变量定义

  • 名义状态 x^\hat{\mathbf{x}}x^:估计出来的状态,真正能算出来的状态;
  • 真实状态 x\mathbf{x}x:无法计算出来的状态,永远不知道的状态,只能用公式表示出来;
  • 误差状态 δx\mathbf{\delta x}δx:真实状态 x\mathbf{x}x 与 名义状态 x^\hat{\mathbf{x}}x^ 的差值,关系式为:x=x^+δx\mathbf{x} = \hat{\mathbf{x}} + \mathbf{\delta x}x=x^+δx,即 真实状态 = 名义状态 + 误差状态

比如:

  • 角速度 ω\mathbf{\omega}ω 的名义状态和真实状态:
    {名义值:ωi^=ωmi−b^ωi真实值:ωi=ωi^−δb^ωi−nωi=ωmi−b^ωi−δb^ωi−nωi\left\{\begin{array}{l} 名义值:\hat{\mathbf{\omega}_i} = \mathbf{\omega}_{m i} - \hat{\mathbf{b}}_{\omega i} \\ 真实值:\mathbf{\omega}_i = \hat{\mathbf{\omega}_i} - \delta\hat{\mathbf{b}}_{\omega i} - \mathbf{n}_{\omega i} = \mathbf{\omega}_{m i} - \hat{\mathbf{b}}_{\omega i} - \delta\hat{\mathbf{b}}_{\omega i} - \mathbf{n}_{\omega i} \end{array}\right. {名义值:ωi^=ωmib^ωi真实值:ωi=ωi^δb^ωinωi=ωmib^ωiδb^ωinωi

  • 加速度 a\mathbf{a}a 的名义状态和真实状态:
    {名义值:ai^=ami−b^ai真实值:ai=ai^−δb^ai−nai=ami−b^ai−δb^ai−nai\left\{\begin{array}{l} 名义值:\hat{\mathbf{a}_i} = \mathbf{a}_{m i} - \hat{\mathbf{b}}_{a i} \\ 真实值:\mathbf{a}_i = \hat{\mathbf{a}_i} - \delta\hat{\mathbf{b}}_{a i} - \mathbf{n}_{a i} = \mathbf{a}_{m i} - \hat{\mathbf{b}}_{a i} - \delta\hat{\mathbf{b}}_{a i} - \mathbf{n}_{a i} \end{array}\right. {名义值:ai^=amib^ai真实值:ai=ai^δb^ainai=amib^aiδb^ainai

3. 补充公式

  • 李代数上的增量和李群上的扰动之间的关系:
    exp⁡(ϕ+Δϕ)=exp⁡(JlΔϕ)⋅exp⁡(ϕ)=exp⁡(ϕ)⋅exp⁡(JrΔϕ)\begin{align} \exp (\phi+\Delta \phi) =\exp (J_l \Delta \phi) \cdot \exp (\phi) =\exp (\phi) \cdot \exp (J_r \Delta \phi)\end{align} exp(ϕ+Δϕ)=exp(JlΔϕ)exp(ϕ)=exp(ϕ)exp(JrΔϕ)

  • SO(3)SO(3)SO(3)的伴随性质:
    R⊤exp⁡(ϕ)R=exp⁡(R⊤ϕ)\begin{align}R^{\top} \exp (\phi) R=\exp \left(R^{\top} \phi\right)\end{align} Rexp(ϕ)R=exp(Rϕ)

  • BCH近似公式:
    log⁡[exp⁡(ϕ1)exp⁡(ϕ2)]={Jl⁡(ϕ2)−1ϕ1+ϕ2,ϕ1≈0Jr⁡(ϕ1)−1ϕ2+ϕ1,ϕ2≈0\begin{align} \log \left[\exp \left(\phi_1\right) \exp \left(\phi_2\right)\right]=\left\{\begin{array}{l}\operatorname{J_l}\left(\phi_2\right)^{-1} \phi_1+\phi_2, \quad \phi_1 \approx 0 \\ \operatorname{J_r}\left(\phi_1\right)^{-1} \phi_2+\phi_1, \quad \phi_2 \approx 0 \end{array}\right.\end{align} log[exp(ϕ1)exp(ϕ2)]={Jl(ϕ2)1ϕ1+ϕ2,ϕ10Jr(ϕ1)1ϕ2+ϕ1,ϕ20

4. IMU误差状态空间方程推导

4.1. 旋转误差 δr^i+1\delta\hat{\mathbf{r}}_{i+1}δr^i+1

定义:δr^i+1=log⁡[R^i+1⊤Ritt]名义值:R^i+1=R^iexp⁡(w^iΔt)真实值:Ri+1=R^iexp⁡(δr^i)⋅exp⁡(ωiΔt)\begin{aligned} \text { 定义:} \delta \hat{r}_{i+1} & =\log \left[\hat{R}_{i+1}^{\top} R_{i t t}\right] \\ \text {名义值:} \hat{R}_{i+1} & =\hat{R}_i \exp \left(\hat{w}_i \Delta t\right) \\ \text {真实值:} R_{i+1} & =\hat{R}_i \exp \left(\delta \hat{r}_i\right) \cdot \exp \left(\omega_i \Delta t\right) \end{aligned}  定义:δr^i+1名义值:R^i+1真实值:Ri+1=log[R^i+1Ritt]=R^iexp(w^iΔt)=R^iexp(δr^i)exp(ωiΔt)

则旋转误差如下:
在这里插入图片描述

4.2. 速度误差 δv^i+1\delta\hat{\mathbf{v}}_{i+1}δv^i+1

名义值:v^i+1=v^i+(R^ia^i−g)Δt真实值:vi+1=(v^i+δv^i)+[R^iexp⁡(δr^i)(a^i−δb^ai−nai)−g]Δt\begin{aligned} 名义值: \hat{v}_{i+1}&=\hat{v}_i+\left(\hat{R}_i \hat{a}_i-g\right) \Delta t \\ 真实值:v_{i+1} &= \left(\hat{v}_i+\delta \hat{v}_i \right) + \left[\hat{R}_i \exp \left(\delta \hat{r}_i\right)\left(\hat{a}_i-\delta \hat{b}_{a i}-n_{a i}\right)-g\right] \Delta t \end{aligned} 名义值:v^i+1真实值:vi+1=v^i+(R^ia^ig)Δt=(v^i+δv^i)+[R^iexp(δr^i)(a^iδb^ainai)g]Δt

在这里插入图片描述

4.3. 平移误差 δpi+1\delta \mathbf{p}_{i+1}δpi+1

名义值: p^i+1=pi^+v^iΔt+12(Ri^ai^−g)Δt2真实值: pi+1=(p^i+δp^i)+(v^i+δv^i)Δt+12[R^i⋅exp⁡(δr^i)(a^i−δb^ai−nai)−g]⋅Δt2\begin{aligned} & \text { 名义值: } \hat{p}_{i+1}=\hat{p_i}+\hat{v}_i \Delta t+\frac{1}{2}\left(\hat{R_i} \hat{a_i}-g\right) \Delta t^2 \\ & \text { 真实值: } p_{i+1}=\left(\hat{p}_i+\delta \hat{p}_i\right)+\left(\hat{v}_i+\delta \hat{v}_i\right) \Delta t+\frac{1}{2}\left[\hat{R}_i \cdot \exp \left(\delta \hat{r}_i\right)\left(\hat{a}_i-\delta \hat{b}_{ai}-n_{ai}\right) -g\right] \cdot \Delta t^2 \\ & \end{aligned}  名义值: p^i+1=pi^+v^iΔt+21(Ri^ai^g)Δt2 真实值: pi+1=(p^i+δp^i)+(v^i+δv^i)Δt+21[R^iexp(δr^i)(a^iδb^ainai)g]Δt2

在这里插入图片描述

4.4. 角速度零偏误差 δb^wi+1\delta \hat{b}_{w_{i+1}}δb^wi+1

名义值:b^wi+1=b^wi真实值:bwi+1=b^wi+δbwi+Δt⋅nbwi误差:δbwi+1=δbwi+Δt⋅nbwi\begin{aligned} \text { 名义值:} \hat{b}_{w_{ i+1}} &=\hat{b}_{w i} \\ \text { 真实值:} b_{w_{i+1} } &=\hat{b}_{w_i}+\delta b_{w i}+\Delta t \cdot n_{b_{wi}} \\ \text { 误差:} \delta b_{w_{i+1} } &=\delta b_{w i}+\Delta t \cdot n_{b_{wi}} \\ \end{aligned}  名义值:b^wi+1 真实值:bwi+1 误差:δbwi+1=b^wi=b^wi+δbwi+Δtnbwi=δbwi+Δtnbwi

4.5. 加速度零偏误差 δb^ai+1\delta \hat{b}_{a_{i+1}}δb^ai+1

名义值:b^ai+1=b^ai真实值:bai+1=b^ai+δbai+Δt⋅nbai误差:δbai+1=δbai+Δt⋅nbai\begin{aligned} \text { 名义值:} \hat{b}_{a_{ i+1}} &=\hat{b}_{a i} \\ \text { 真实值:} b_{a_{i+1} } &=\hat{b}_{a_i}+\delta b_{a i}+\Delta t \cdot n_{b_{ai}} \\ \text { 误差:} \delta b_{a_{i+1} } &=\delta b_{a i}+\Delta t \cdot n_{b_{ai}} \\ \end{aligned}  名义值:b^ai+1 真实值:bai+1 误差:δbai+1=b^ai=b^ai+δbai+Δtnbai=δbai+Δtnbai

4.6. 整理成矩阵状态空间方程的形式

定义IMU运动学的矩阵状态空间方程形式为

δx^i+1=Fx⋅δx^i+Fw⋅wi\delta \hat{\mathbf{x}}_{i+1}=\mathbf{F}_x \cdot \delta \hat{\mathbf{x}}_i + \mathbf{F}_w \cdot \mathbf{w}_i δx^i+1=Fxδx^i+Fwwi

其中状态变量的定义为:

δx^i=[δr^i,δp^i,δv^i,δb^wi,δb^ai]⊤wi=[δnwi,δnai,δnbwi,δnbai]⊤\begin{aligned} \delta \hat{\mathbf{x}}_i &= \left[\delta \hat{\mathbf{r}}_i, ~~\delta \hat{\mathbf{p}}_i, ~~\delta \hat{\mathbf{v}}_i, ~~\delta \hat{\mathbf{b}}_{wi}, ~~\delta \hat{\mathbf{b}}_{ai}\right]^{\top} \\ \mathbf{w}_i &= \left[\delta\mathbf{n}_{wi}, ~~\delta\mathbf{n}_{ai}, ~~\delta\mathbf{n}_{b_{wi}}, ~~ \delta\mathbf{n}_{b_{ai}}\right]^{\top} \end{aligned} δx^iwi=[δr^i,  δp^i,  δv^i,  δb^wi,  δb^ai]=[δnwi,  δnai,  δnbwi,  δnbai]

则系数矩阵为:

Fx=[exp⁡(−ωiΔt^)00−IΔt00IIΔt00−R^i(a^i)×Δt0I0−R^iΔt000I000000]Fω=[−IΔt00000000−R^iΔt0000IΔt0000IΔt]\begin{aligned} \mathbf{F}_x &= \left[\begin{array}{ccccc} \exp \left(-\hat{\omega_i \Delta t}\right) & 0 & 0 & -I \Delta t & 0 \\ 0 & I & I \Delta t & 0 & 0\\ -\hat{R}_i\left(\hat{a}_i\right)_{\times} \Delta t & 0 & I & 0 & -\hat{R}_i \Delta t \\ 0 & 0 & 0 & I & 0 \\ 0 & 0 & 0 & 0 & 0 \end{array}\right] \\\\ F_\omega &=\left[\begin{array}{cccc} -I \Delta t & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & -\hat{R}_i \Delta t & 0 & 0 \\ 0 & 0 & I \Delta t & 0 \\ 0 & 0 & 0 & I \Delta t \end{array}\right] \end{aligned} FxFω=exp(ωiΔt^)0R^i(a^i)×Δt000I0000IΔtI00IΔt00I000R^iΔt00=IΔt000000R^iΔt00000IΔt00000IΔt

协方差矩阵的传播公式为:

Pi+1=FxPiFx⊤+FωQFω⊤\mathbf{P}_{i+1}=\mathbf{F}_x \mathbf{P}_i \mathbf{F}_x{ }^{\top}+\mathbf{F}_\omega \mathbf{Q} \mathbf{F}_\omega{ }^{\top} Pi+1=FxPiFx+FωQFω

其中 Q\mathbf{Q}Q 为测量噪声的协方差矩阵。

相关文章:

IMU 积分的误差状态空间方程推导

文章目录0. 前言1. 离散时间的IMU运动学方程2. 状态变量定义3. 补充公式4. IMU误差状态空间方程推导4.1. 旋转误差 δr^i1\delta\hat{\mathbf{r}}_{i1}δr^i1​4.2. 速度误差 δv^i1\delta\hat{\mathbf{v}}_{i1}δv^i1​4.3. 平移误差 δpi1\delta \mathbf{p}_{i1}δpi1​4.4. …...

VirtualBox的克隆与复制

快照太多,想整合成1个文件怎么办? 最近,我就遇到一个问题。快照太多了。比较占用空间怎么办? 错误做法 一开始,我是这么操作的,选中某个快照,然后选择删除…然后我登录虚拟机后,发…...

每天5分钟玩转机器学习算法:逆向概率的问题是什么?贝叶斯公式是如何解决的?

本文重点 前面我们已经知道了贝叶斯公式,以及贝叶斯公式在机器学习中的应用,那么贝叶斯公式究竟解决了一个什么样的问题呢?贝叶斯是为了解决逆向概率的问题。 正向的概率和逆向的概率 正向概率:假设袋子里面有N个白球,有M个黑球,你伸手一摸,那么问题就是你摸出黑球的概…...

游戏闲聊之游戏是怎么赚钱的

其实一般情况下不太爱写这种文章,简单说就一点,这个行业的人我惹不起。 1、外挂 所谓外挂,是指通过技术手段,提供辅助游戏的工具,方便玩家获得一些额外的能力; 这事我特意咨询过律师,外挂分两…...

Redis高频面试题汇总(下)

目录 1.Redis中什么是Big Key(大key) 2.Big Key会导致什么问题 3.如何发现 bigkey? 4.为什么redis生产环境慎用keys *命令 5.如何处理大量 key 集中过期问题 6.使用批量操作减少网络传输 7.缓存穿透 8.缓存击穿 9.缓存雪崩 10.缓存污染(或满了…...

Windows修改Docker安装目录修改Docker镜像目录,镜像默认存储位置存放到其它盘

Windows安装Docker,默认是安装在C盘,下载镜像后会占用大量空间,这时需要调整镜像目录;场景:不想连服务器或者没有服务器,想在本地调试服务,该需求就非常重要。基于WSL2安装docker后,…...

376. 摆动序列——【Leetcode每日刷题】

376. 摆动序列 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如, [1, 7, 4, 9, 2, 5] 是一个…...

mgre实验

实验思路 1、首先根据拓扑结构合理分配IP地址,并对各个路由器的IP地址和R5环回接口的IP地址进行配置。 2、让私网中的边界路由器对ISP路由器做缺省路由。 3、根据实验要求,对需要配置不同类型认证的路由器进行认证配置,和需要不同封装的协议…...

一文彻底了解Zookeeper(介绍篇)

zookeeper 是什么? zookeeper是一个分布式协作框架,提供高可用,高性能,强一致等特性 zookeeper 有哪些应用场景? 分布式锁:分布式锁是指在分布式环境中,多个进程或线程需要互斥地访问某个共享…...

1. ELK Stack 理论篇之什么是ELK Stack?

ELK Stack 理论篇之什么是ELK Stack?1.1 什么是 ELK Stack?1.2 ELK Stack的发展史1.2.1 Elasticsearch1.2.2 引入 Logstash 和 Kibana,产品更强大1.2.3 社区越来越壮大,用例越来越丰富1.2.4 然后我们向 ELK 中加入了 Beats1.2.5 那么&#x…...

两道有关链表的练习

目录 一、分割链表 二、奇偶链表 一、分割链表 给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。 你不需要 保留 每个分区中各节点的初始相对位置。 示例 1: 输…...

Python uiautomator2安卓自动化测试

一、前言 uiautomator2是Python对Android设备进行UI自动化的库,支持USB和WIFI链接,可以实现获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作。 重点是它可以实现安卓自动化采集,甚至是群控采集,且安装和…...

Leetcode. 160相交链表

文章目录指针解法指针解法 核心思路 : 先 分别求两个链表的长度 然后长的链表先走 差距步(长-短) 最后长链表和短链表同时走 ,第一地址相同的就是交点 ,注意一定是地址相同 不可能出现上图这种情况 ,因为C1…...

MDPs —— 马尔可夫决策定义与算法

文章目录MDPs 定义——由实例开始时序决策问题给游戏增点乐子*为什么要有折扣游戏的解——原则所以,什么是 MDPs?MDPs 的基本原理、表示光环原理效用的求解是反向传播的原则不变条件MDPs 的表示MDPs 求解效用迭代法缺点原则迭代法MDPs 定义——由实例开始…...

【C++】图

本文包含了图的基本概念 1.相关概念 1.1 无/有向 无向图&#xff1a;每一个顶点之间的连线没有方向 有向图&#xff1a;连线有方向&#xff08;类似离散数学的二元关系 <A,B>代表从A到B的边&#xff0c;有方向&#xff09; <A,B>中A为始点&#xff0c;B为终点在…...

尾递归优化

文章目录1. 前言2. 什么尾调用&#xff08;Tail Call&#xff09;&#xff1f;3. 尾调用优化4. Linux内核下的尾递归优化使用5. 参考资料1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;对此给读者带来的损失&#xff0c;作者不错任何承诺。 2. 什么尾调用…...

P1120 小木棍(搜索+剪枝)

题目链接&#xff1a;P1120 小木棍 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 样例输入&#xff1a; 9 5 2 1 5 2 1 5 2 1 样例输出&#xff1a; 6 分析&#xff1a;这道题一看数据范围就知道是搜索&#xff0c;但关键是需要剪枝。 首先我们求出所有木棍的长度和&am…...

【专项训练】动态规划-3

动态规划:状态转移方程、找重复性和最优子结构 分治 + 记忆化搜索,可以过度到动态规划(动态递推) function DP():# DP状态定义# 需要经验,需把现实问题定义为一个数组,一维、二维、三维……dp =[][] # 二维情况for i = 0...M:...

【Linux】信号+再谈进程地址空间

目录 一、Linux中的信号 1、Linux中的信号 2、进程对信号的处理 3、信号的释义 二、信号的捕捉 1、信号的捕捉signal() 2、信号的捕捉sigaction() 三、信号如何产生&#xff1f; 1、kill()用户调用kill向操作系统发送信号 通过命令行参数模仿写一个kill命令 2、rais…...

C++回顾(二十一)—— list容器

21.1 list概述 list是一个双向链表容器&#xff0c;可高效地进行插入删除元素。list不可以随机存取元素&#xff0c;所以不支持at.(pos)函数与[]操作符。It(ok) it5(err)需要添加头文件&#xff1a;#include <list> 21.2 list构造 &#xff08;1&#xff09;默认构造…...

爱国者一体机电脑蓝屏怎么U盘重装系统教学?

爱国者一体机电脑蓝屏怎么U盘重装系统教学&#xff1f;有用户使用的爱国者一体机电脑开机了之后突然变成了蓝屏的了。而且无法继续使用了&#xff0c;那么遇到这样的蓝屏问题怎么去进行系统的重装呢&#xff1f;一起来看看以下的U盘重装系统教学吧。 准备工作&#xff1a; 1、U…...

Vue学习笔记(9)

9.1 axios 9.1.1 概述 Axios是一个流行的基于Promise的HTTP客户端&#xff0c;用于在浏览器和Node中发送HTTP请求。它可以用于处理各种请求类型&#xff0c;例如GET&#xff0c;POST等。Axios可以很容易地与现代前端框架和库集成&#xff0c;例如React&#xff0c;Vue等。 A…...

中值滤波+Matlab仿真+频域响应分析

中值滤波 文章目录中值滤波理解中值滤波的过程Matlab 实现实际应用频域分析中值滤波是一种滤波算法&#xff0c;其目的是去除信号中的噪声&#xff0c;而不会对信号本身造成太大的影响。它的原理非常简单&#xff1a;对于一个给定的窗口大小&#xff0c;将窗口内的数值排序&…...

自然语言处理中数据增强(Data Augmentation)技术最全盘点

与“计算机视觉”中使用图像数据增强的标准做法不同&#xff0c;在NLP中&#xff0c;文本数据的增强非常少见。这是因为对图像的琐碎操作&#xff08;例如将图像旋转几度或将其转换为灰度&#xff09;不会改变其语义。语义上不变的转换的存在是使增强成为Computer Vision研究中…...

PINN解偏微分方程实例1

PINN解偏微分方程实例11. PINN简介2. 偏微分方程实例3. 基于pytorch实现代码4. 数值解参考资料1. PINN简介 PINN是一种利用神经网络求解偏微分方程的方法&#xff0c;其计算流程图如下图所示&#xff0c;这里以偏微分方程(1)为例。 ∂u∂tu∂u∂xv∂2u∂x2\begin{align} \frac{…...

【python 基础篇 十二】python的函数-------函数生成器

目录1.生成器基本概念2.生成器的创建方式3.生成器的输出方式4.send()方法5.关闭生成器6.注意事项1.生成器基本概念 是一个特色的迭代器&#xff08;迭代器的抽象层级更高&#xff09;所以拥有迭代器的特性 惰性计算数据 节省内存 ----就是不是立马生成所有数据&#xff0c;而是…...

elasticsearch全解 (待续)

目录elasticsearchELK技术栈Lucene与Elasticsearch关系为什么不是其他搜索技术&#xff1f;Elasticsearch核心概念Cluster&#xff1a;集群Node&#xff1a;节点Shard&#xff1a;分片Replia&#xff1a;副本全文检索倒排索引正向和倒排es的一些概念文档和字段索引和映射mysql与…...

springboot2集成knife4j

springboot2集成knife4j springboot2集成knife4j 环境说明集成knife4j 第一步&#xff1a;引入依赖第二步&#xff1a;编写配置类第三步&#xff1a;测试一下 第一小步&#xff1a;编写controller第二小步&#xff1a;启动项目&#xff0c;访问api文档 相关资料 环境说明 …...

Qt 性能优化:CPU占有率高的现象和解决办法

一、前言 在最近的项目中&#xff0c;发现执行 Qt 程序时&#xff0c;有些情况下的 CPU 占用率奇高&#xff0c;最高高达 100%。项目跑在嵌入式板子上&#xff0c;最开始使用 EGLFS 插件&#xff0c;但是由于板子没有单独的鼠标层&#xff0c;导致鼠标移动起来卡顿&#xff0c…...

MySQL专题(学会就毕业)

MySQL专题0.准备sql设计一张员工信息表&#xff0c;要求如下&#xff1a;编号&#xff08;纯数字&#xff09;员工工号 (字符串类型&#xff0c;长度不超过10位)员工姓名&#xff08;字符串类型&#xff0c;长度不超过10位&#xff09;性别&#xff08;男/女&#xff0c;存储一…...

国外优秀设计网站推荐/b2b平台

双碳计算中涉及到的单位换算 在双碳&#xff08;碳中和与碳排放&#xff09;计算当中&#xff0c;经常会对吸收或者排放的碳 C或二氧化碳 CO₂进行定量表达&#xff0c;比如常用植被NPP&#xff08;Net Primary Productivity&#xff0c;净初级生产力&#xff09;来表示植被吸…...

深圳宝安网站建设/宁波seo外包推广

Python异常处理中try与except用法的案例发布时间&#xff1a;2020-11-03 09:44:36来源&#xff1a;亿速云阅读&#xff1a;85作者&#xff1a;小新小编给大家分享一下Python异常处理中try与except用法的案例&#xff0c;希望大家阅读完这篇文章后大所收获&#xff0c;下面让我们…...

做网站是不是要学编程/免费大数据网站

1、安装EPEL和Remi存储库 如果要安装PHP7&#xff0c;首先需要在Centos7系统上安装并启用EPEL和Remi存储库 yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpmyum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 2、安装…...

套模板做网站教程/seo超级外链工具

分组查询 关键字&#xff1a;group by 后面根列名&#xff0c;通常和聚合函数一起使用 聚合函数&#xff1a; max(列名) --------统计该列的最大值 min(列名) --------统计该列的最大值 avg(列名) --------统计该列的平均值 sum(列名) --------统计该列的和 count(列名) ----…...

不建网站如何做淘宝客/优就业seo课程学多久

对卷积网络可视化与可解释性相关资料的一些整理&#xff0c;不断更新中~ 最新更新参照知乎 主要作用 进一步理解CNN帮助我们分析训练好的网络学会如何生成热力图&#xff0c;如下图: 博客 Distill 非常推荐的一个网站Fun With ConvNets (dataviz!)Global Average Pooling Lay…...

网站建设价格评审资料清单/深圳seo推广培训

线程中一个比较大的问题,就是任务一般是死循环. 而且如果强行终止线程,往往会带来内存泄漏的问题. 这方面最好的办法,就是设置一个值作为标志. 如果这个标志发生了变化,就break. 最好的方式是用事件的方式,而不是用sleep()轮询的方式. 因为sleep是有不可避免的时间差的. 下面看…...