PX4 EKF模块解读含matlab代码

2023-05-16

这里主要介绍px4里面的定位模块,即EKF库。

1、状态向量与协方差的预测

1、Px4的状态向量为24维,其如下所示:

x = [ q v p Δ θ b Δ v b m n e d m b v w i n d ] T x={{\left[ \begin{matrix} q & v & p & \begin{matrix} \Delta {{\theta }_{b}} & \Delta {{v}_{b}} & {{m}_{ned}} & \begin{matrix} {{m}_{b}} & {{v}_{wind}} \\ \end{matrix} \\ \end{matrix} \\ \end{matrix} \right]}^{T}} x=[qvpΔθbΔvbmnedmbvwind]T
其中 q q q表示NED系至体系的旋转四元数, v v v表示在ned系的速度, p p p表示机体系原点(imu位置)在ned系的位置,, Δ θ b \Delta {{\theta }_{b}} Δθb表示陀螺仪角度增量的偏差, Δ v b \Delta {{v}_{b}} Δvb为加速度计获取的速度增量偏差, m n e d {{m}_{ned}} mned为地磁向量在ned系的投影, m b {{m}_{b}} mb为磁力计的零偏, v w i n d {{v}_{wind}} vwind为水平方向的风速。

2、IMU传播

  • 四元数传播

Δ θ = Δ θ m - Δ θ b - Δ θ e a r t h + η \Delta \theta =\Delta {{\theta }_{m}}\text{-}\Delta {{\theta }_{b}}\text{-}\Delta {{\theta }_{earth}}\text{+}\eta Δθ=Δθm-Δθb-Δθearth+η
上式中 Δ θ m \Delta {{\theta }_{m}} Δθm为最优传感器输出的结果(通过标定、圆锥补偿、温补), Δ θ e a r t h \Delta {{\theta }_{earth}} Δθearth为地球自转运动所产生的角度增量,$\eta 为 均 值 为 0 , 方 差 为 d a V a r 的 高 斯 白 噪 声 。 将 为均值为0,方差为daVar的高斯白噪声。将 0daVar\Delta \theta 转 换 为 四 元 数 转换为四元数 \Delta {{q}_{k}}$得到,即;
q k + 1 = q k ⊗ Δ q k {{q}_{k+1}}={{q}_{k}}\otimes \Delta {{q}_{k}} qk+1=qkΔqk

  • 速度状态传播

Δ v = Δ v m − Δ v b + η a \Delta v=\Delta {{v}_{m}}-\Delta {{v}_{b}}+{{\eta }_{a}} Δv=ΔvmΔvb+ηa

上式中 Δ v m \Delta {{v}_{m}} Δvm为最优加速度计传感器输出的结果(通过标定、圆锥补偿、温补), η a {{\eta }_{a}} ηa为均值为0,方差为dvVar的高斯白噪声。故而得到
v k + 1 = v k + C n b Δ v + [ 0 ; 0 ; g ] Δ t {{v}_{k+1}}={{v}_{k}}+{{C}_{nb}}\Delta v+[0;0;g]\Delta t vk+1=vk+CnbΔv+[0;0;g]Δt

  • 位置状态传播

p k + 1 = p k + ( v k + 1 + v k ) Δ t / 2 {{p}_{k+1}}={{p}_{k}}+({{v}_{k+1}}+{{v}_{k}})\Delta t/2 pk+1=pk+(vk+1+vk)Δt/2

  • 其它状态传播
    其它状态全部建立为CV模型,故而
    KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ & \Delta {{\th…

3、状态方程、协方差方程递推
卡尔曼滤波的状态递推方程如下:
x k + 1 = f ( x k , u k ) = F ∗ x k + G ∗ u k {{x}_{k+1}}=f({{x}_{k}},{{u}_{k}})=F*{{x}_{k}}+G*{{u}_{k}} xk+1=f(xk,uk)=Fxk+Guk
其中 u k {{u}_{k}} uk为imu的测量信息,即 [ Δ θ m , Δ v m ] [\Delta {{\theta }_{m}},\Delta {{v}_{m}}] [Δθm,Δvm]

2、卡尔曼滤波初始化

2.1 俯仰、滚转角初始化

当imu静止时,其加速度计敏感到的力为重力的反作用力,故其

a m = − C b n [ 0 ; 0 ; g ] {{a}_{m}}=-{{C}_{bn}}[0;0;g] am=Cbn[0;0;g]
C b n = [ cos ⁡ ψ cos ⁡ θ cos ⁡ ψ sin ⁡ θ − cos ⁡ ϕ sin ⁡ ψ sin ⁡ ϕ sin ⁡ ψ + cos ⁡ ϕ cos ⁡ ψ sin ⁡ θ cos ⁡ θ sin ⁡ ψ cos ⁡ ϕ cos ⁡ ψ + sin ⁡ ϕ sin ⁡ ψ sin ⁡ θ cos ⁡ ϕ sin ⁡ ψ sin ⁡ θ − cos ⁡ ψ sin ⁡ θ − sin ⁡ θ cos ⁡ θ sin ⁡ ϕ cos ⁡ ϕ cos ⁡ θ ] T {{C}_{bn}}={{\left[ \begin{matrix} \cos \psi \cos \theta & \cos \psi \sin \theta -\cos \phi \sin \psi & \sin \phi \sin \psi +\cos \phi \cos \psi \sin \theta \\ \cos \theta \sin \psi & \cos \phi \cos \psi +\sin \phi \sin \psi \sin \theta & \cos \phi \sin \psi \sin \theta -\cos \psi \sin \theta \\ -\sin \theta & \cos \theta \sin \phi & \cos \phi \cos \theta \\ \end{matrix} \right]}^{T}} Cbn=cosψcosθcosθsinψsinθcosψsinθcosϕsinψcosϕcosψ+sinϕsinψsinθcosθsinϕsinϕsinψ+cosϕcosψsinθcosϕsinψsinθcosψsinθcosϕcosθT

即可以得到初始俯仰角和滚转角

θ = a sin ⁡ ( a m x / g ) \theta =a\sin ({{a}_{mx}}/g) θ=asin(amx/g)

ϕ = − a tan ⁡ ( a m y / a m z ) \phi =-a\tan ({{a}_{my}}/{{a}_{mz}}) ϕ=atan(amy/amz)

2.2 航向角初始化

通过磁力计获取
建立临时体系,其坐标系为ned系旋转初始航向角所形成的坐标系 b 1 b_1 b1系,通过 m b 1 = C b 1 b m b {{m}^{b1}}={{C}_{b1b}}{{m}^{b}} mb1=Cb1bmb即获取初始磁向量在 b 1 b_1 b1系的投影,即磁向量与 b 1 b_1 b1系x轴之间的夹角为 φ 1 = − a tan ⁡ 2 ( m y b 1 , m x b 1 ) {{\varphi }_{1}}=-a\tan 2(m_{y}^{b1},m_{x}^{b1}) φ1=atan2(myb1,mxb1)即真实航向角为 φ = φ 1 + d e c l \varphi ={{\varphi }_{1}}+decl φ=φ1+decl,其中 d e c l decl decl为磁偏角,可通过查表获取。
通过视觉获取
由于通过视觉传感器信息可以获取导航系至体系的转换矩阵,其形式为 C b n {{C}_{bn}} Cbn,故得到

φ = a tan ⁡ 2 ( C n b ( 2 , 1 ) , C n b ( 1 , 1 ) ) \varphi =a\tan 2({{C}_{nb}}(2,1),{{C}_{nb}}(1,1)) φ=atan2(Cnb(2,1),Cnb(1,1))

通过双天线获取
双天线单位矢量在体系的坐标为
ant   ⁣ ⁣ _  ⁣ ⁣  ve c b = [ cos ⁡ ( a n t _ y a w ) ; sin(ant   ⁣ ⁣ _  ⁣ ⁣  yaw);0   ⁣ ⁣ ]  ⁣ ⁣   \text{ant }\!\!\_\!\!\text{ ve}{{\text{c}}_{b}}=[\cos (ant\_yaw);\text{sin(ant }\!\!\_\!\!\text{ yaw);0 }\!\!]\!\!\text{ } ant _ vecb=[cos(ant_yaw);sin(ant _ yaw);0 ] ,其中 a n t _ y a w ant\_yaw ant_yaw为双天线矢量与无人机纵轴之间的夹角,其方向为纵轴绕z轴进行顺时针旋转。
ant   ⁣ ⁣ _  ⁣ ⁣  ve c n = C n b ant   ⁣ ⁣ _  ⁣ ⁣  ve c b \text{ant }\!\!\_\!\!\text{ ve}{{\text{c}}_{n}}={{C}_{nb}}\text{ant }\!\!\_\!\!\text{ ve}{{\text{c}}_{b}} ant _ vecn=Cnbant _ vecb

φ = a tan ⁡ 2 ( ant   ⁣ ⁣ _  ⁣ ⁣  ve c n ( 2 ) , ant   ⁣ ⁣ _  ⁣ ⁣  ve c n ( 1 ) ) − a n t _ y a w \varphi =a\tan 2(\text{ant }\!\!\_\!\!\text{ ve}{{\text{c}}_{n}}(2),\text{ant }\!\!\_\!\!\text{ ve}{{\text{c}}_{n}}(1))-ant\_yaw φ=atan2(ant _ vecn(2),ant _ vecn(1))ant_yaw

2.3 高度初始化

利用气压计或者外部视觉高度进行初始化,由_params.vdist_sensor_type进行控制。

2.4 Ned系地磁向量初始化

由磁力计测得的磁矢量为 m m {{m}_{m}} mm(已扣除先前估计的磁零偏值), m n e d = C n b m m {{m}_{ned}}={{C}_{nb}}{{m}_{m}} mned=Cnbmm
,其中 C n b {{C}_{nb}} Cnb由初始化所得到的姿态角获取。

2.5 其余状态初始化

其余状态全部初始化为0。

2.6 协方差初始化

已知姿态角初始方差 R 0 {{R}_{0}} R0为sq(_params.initial_tilt_err)

q = f ( Φ , d Y a w ) = a n g l e 2 q u a t ( Φ ) ⊗ a n g l e 2 q u a t ( C b n [ 0 , 0 , d Y a w ] T ) q=f(\Phi ,dYaw)=angle2quat(\Phi )\otimes angle2quat({{C}_{bn}}{{[0,0,dYaw]}^{T}}) q=f(Φ,dYaw)=angle2quat(Φ)angle2quat(Cbn[0,0,dYaw]T)

其中$\Phi $为姿态角, d Y a w dYaw dYaw为对准后的航向误差,其服从均值为0,方差为
R d Y a w {{R}_{dYaw}} RdYaw
(由对应航向传感器参数决定)。即 q = H ∗ Φ + G ∗ d Y a w q=H*\Phi +G*dYaw q=HΦ+GdYaw,其中 H = ∂ f ∂ Φ ∣ Φ = Φ 0 H=\frac{\partial f}{\partial \Phi }\left| \Phi ={{\Phi }_{0}} \right. H=ΦfΦ=Φ0, Φ 0 {{\Phi }_{0}} Φ0为初始化姿态角, G = ∂ f ∂ d Y a w ∣ d Y a w = 0 G=\frac{\partial f}{\partial dYaw}\left| dYaw=0 \right. G=dYawfdYaw=0

q q q对应的协方差为 R q = H ∗ R 0 ∗ H T + G R d Y a w G T {{R}_{q}}=H*{{R}_{0}}*{{H}^{T}}+G{{R}_{dYaw}}{{G}^{T}} Rq=HR0HT+GRdYawGT

水平速度项噪声为 R v h = sq(fmaxf(   ⁣ ⁣ _  ⁣ ⁣  params.gps   ⁣ ⁣ _  ⁣ ⁣  vel   ⁣ ⁣ _  ⁣ ⁣  noise, 0.01f)) {{R}_{vh}}=\text{sq(fmaxf( }\!\!\_\!\!\text{ params}\text{.gps }\!\!\_\!\!\text{ vel }\!\!\_\!\!\text{ noise, 0}\text{.01f))} Rvh=sq(fmaxf( _ params.gps _ vel _ noise, 0.01f))

垂向速度项噪声为 R v v = 1.5 2 R v h {{R}_{vv}}={{1.5}^{2}}{{R}_{vh}} Rvv=1.52Rvh

水平位置项噪声为 R p h = sq(fmaxf(   ⁣ ⁣ _  ⁣ ⁣  params.gps   ⁣ ⁣ _  ⁣ ⁣  pos   ⁣ ⁣ _  ⁣ ⁣  noise, 0.01f)) {{R}_{ph}}=\text{sq(fmaxf( }\!\!\_\!\!\text{ params}\text{.gps }\!\!\_\!\!\text{ pos }\!\!\_\!\!\text{ noise, 0}\text{.01f))} Rph=sq(fmaxf( _ params.gps _ pos _ noise, 0.01f))

垂向位置项噪声 R p v R_{pv} Rpv则由不同高度源对应的标准差参数确定。

陀螺零偏的初始方差为
R Δ θ b = sq(fmaxf(   ⁣ ⁣ _  ⁣ ⁣  params.switch   ⁣ ⁣ _  ⁣ ⁣  on   ⁣ ⁣ _  ⁣ ⁣  gyro   ⁣ ⁣ _  ⁣ ⁣  bias, 0.01f)) {{R}_{\Delta {{\theta }_{b}}}}=\text{sq(fmaxf( }\!\!\_\!\!\text{ params}\text{.switch }\!\!\_\!\!\text{ on }\!\!\_\!\!\text{ gyro }\!\!\_\!\!\text{ bias, 0}\text{.01f))} RΔθb=sq(fmaxf( _ params.switch _ on _ gyro _ bias, 0.01f))

加速度计零偏的初始方差为

R Δ v b = sq(fmaxf(   ⁣ ⁣ _  ⁣ ⁣  params.switch   ⁣ ⁣ _  ⁣ ⁣  on   ⁣ ⁣ _  ⁣ ⁣  acc   ⁣ ⁣ _  ⁣ ⁣  bias, 0.01f)) {{R}_{\Delta {{v}_{b}}}}=\text{sq(fmaxf( }\!\!\_\!\!\text{ params}\text{.switch }\!\!\_\!\!\text{ on }\!\!\_\!\!\text{ acc }\!\!\_\!\!\text{ bias, 0}\text{.01f))} RΔvb=sq(fmaxf( _ params.switch _ on _ acc _ bias, 0.01f))

其imu最优传感器切换时,即复位于上述值。

m n e d m_{ned} mned m b m_b mb的初始方差为 R m = s q (    ⁣ ⁣ _  ⁣ ⁣  params.mag   ⁣ ⁣ _  ⁣ ⁣  noise ) {{R}_{m}}=sq(\text{ }\!\!\_\!\!\text{ params}\text{.mag }\!\!\_\!\!\text{ noise}) Rm=sq( _ params.mag _ noise)

v w i n d v_{wind} vwind的初始方差为 R v w i n d = s q (    ⁣ ⁣ _  ⁣ ⁣  params.initial   ⁣ ⁣ _  ⁣ ⁣  wind   ⁣ ⁣ _  ⁣ ⁣  uncertainty ) {{R}_{{{v}_{wind}}}}=sq(\text{ }\!\!\_\!\!\text{ params}\text{.initial }\!\!\_\!\!\text{ wind }\!\!\_\!\!\text{ uncertainty}) Rvwind=sq( _ params.initial _ wind _ uncertainty)

3、下一讲继续讲px4 ekf模块里面的测量方程、时间同步与空间同步推导

关注公众号,获取imu与磁力计融合定位代码

❤️ 扫一扫,添加我的公众号或者搜索【无人机开发】
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PX4 EKF模块解读含matlab代码 的相关文章

  • 图像增强 - 从书写中清除给定图像

    我需要清理这张照片 删除 清理我 的字样并使其变亮 作为图像处理课程作业的一部分 我可能会使用 matlab 函数 ginput 来查找图像中的特定点 当然 在脚本中您应该对所需的坐标进行硬编码 您可以使用 conv2 fft2 ifft2
  • 如何使用Matlab提高PSD的分辨率

    我有音频信号 我用 Matlab 读取该信号 并使用 pwelch 获取其 PSD 这是我正在使用的代码 x Fs audioread audioFile wav x x 1 mono xPSD f pwelch x hamming 512
  • MATLAB 中的抗锯齿线和标记

    您好 我在 MATLAB 中有一张图像 我希望这条线是平滑的 看看从 0 4 到 0 8 的线 这太可怕了 当在图中使用 LineSmoothing on 运算符时 我得到了这个 我在线条上做得很好 但它也使标记变得平滑 而且它们太可怕了
  • 查找数组中元素之间的平均差异的有效方法

    希望标题不会让人困惑 通过例子来展示很简单 我有一个像这样的行向量 1 5 6 我想找到每个元素之间的平均差异 此示例中的差异为 4 和 1 因此平均值为 2 5 这是一个小例子 我的行向量可能非常大 我是 MatLab 新手 那么有没有一
  • 将 3d 矩阵重塑为 2d 矩阵

    我有一个 3d 矩阵 n by m by t 在 MATLAB 中表示n by m一段时间内网格中的测量值 我想要一个二维矩阵 其中空间信息消失了 只有n m随着时间的推移测量t剩下 即 n m by t 我怎样才能做到这一点 你需要命令r
  • 是否有一个函数可以检查矩阵是否对角占优(行占优)

    矩阵是对角占优 http en wikipedia org wiki Diagonally dominant matrix 按行 如果对角线处的值在绝对意义上大于该行中所有其他绝对值的总和 对于列也是如此 只是相反 matlab中有没有函数
  • 整数的十进制表示形式中的分隔数字

    例如 我想将用户输入作为整数输入 45697 并将前两位数字存储在数组 向量或其他内容中 例如 4 5 6 9 7 这样我就可以使用一些函数调用来检查前两个值 4 5 并对它们进行计算 问题 我不知道如何存储恢复前两个值 有没有简单的函数调
  • 通过傅里叶空间填充进行插值

    我最近尝试在 matlab 上实现一个在傅立叶域中使用零填充的插值方法的简单示例 但我无法正常工作 我总是有一个小的频移 在傅里叶空间中几乎不可见 但它在时空上产生了巨大的误差 由于傅里叶空间中的零填充似乎是一种常见 且快速 的插值方法 因
  • 在 MATLAB 中创建共享库

    一位研究人员在 MATLAB 中创建了一个小型仿真 我们希望其他人也能使用它 我的计划是进行模拟 清理一些东西并将其变成一组函数 然后我打算将其编译成C库并使用SWIG https en wikipedia org wiki SWIG创建一
  • 在 MATLAB 中定义其他中缀运算符

    有没有办法在 MATLAB 中定义额外的中缀运算符 具体来说 我想定义两个中缀运算符 gt and lt gt 这些符号是理想的 但如果需要 它可以是单个字符 它调用函数implies and iff以同样的方式 calls and and
  • 优化 MATLAB 代码(嵌套 for 循环计算相似度矩阵)

    我正在 MATLAB 中基于欧几里德距离计算相似度矩阵 我的代码如下 for i 1 N M N is the size of the matrix x for whose elements I am computing similarit
  • Matlab Solve():未给出所有解决方案

    我试图找到两条曲线的交点 syms x y g x 20 exp x 30 3 5 1 sol x sol y solve x 22 3097 2 y 16 2497 2 25 y g x x y Real true 它只提供一种解决方案
  • 单元格的 Fieldnames 函数的等效项

    正如标题所说 只是想知道是否有一个函数可以用作字段名 http www mathworks co uk help matlab ref fieldnames html 但适用于单元格 所以如果我有类似的东西 a imread redsqua
  • 如何每次使用按钮将数据添加到 MATLAB 中的现有 XLSX 文件?

    我有一个函数可以生成一些变量 例如分数 对 错 未回答 使用按钮调用此功能 问题是如何每次将函数生成的这些值添加 附加到 XLSX 文件中 或者 如何创建 MAT 文件以便可以添加它 可能的解决方案是什么 附加到 xls 文件所涉及的挑战是
  • 检查图像中是否有太薄的区域

    我正在尝试验证雕刻机的黑白图像 更多的是剪贴画图像 不是照片 我需要考虑的主要事情之一是区域的大小 或线条的宽度 因为机器无法处理太细的线条 所以我需要找到比给定阈值更细的区域 以此图为例 竖琴的琴弦可能太细而无法雕刻 我正在阅读有关 Ma
  • Matlab 一个图上有多个图例 2014b

    我想在一个地块上有多个传说 该解决方案在 2014b 版本之前完美运行 我试图弄清楚如何使用手柄优雅地制作它 但到目前为止还没有成功 欢迎任何想法 2013b 的示例 x 1 50 y1 sin x 2 y2 cos x 2 f figur
  • Matlab 图像数据的 hist 函数

    我是 Matlab 新手 我想制作自己的函数 与 imhist 显示图像数据的直方图 完成相同的工作 但我对此完全是新手 我不知道如何做开发这样的功能 我开始做一些东西 但它非常不完整 function output args myhist
  • 命令 A(~A) 在 matlab 中的真正作用是什么

    我一直在寻找找到矩阵非零最小值的最有效方法 并在论坛上找到了这个 设数据为矩阵A A A nan minNonZero min A 这是非常短且高效的 至少在代码行数方面 但我不明白当我们这样做时会发生什么 我找不到任何关于此的文档 因为它
  • 在matlab中,如何读取python pickle文件?

    在 python 中 我生成了一个 p 数据文件 pickle dump allData open myallData p wb 现在我想在Matlab中读取myallData p 我的Matlab安装在Windows 8下 其中没有Pyt
  • 获取向量幂的有效方法

    我编写了一个代码 在数值上使用勒让德多项式直至某个高 n 阶 例如 case 8 p 6435 x 8 12012 x 6 6930 x 4 1260 x 2 35 128 return case 9 如果向量x太长这会变得很慢 我发现说之

随机推荐

  • 韦东山嵌入式学习视频完整目录

    此文档不定期更新 xff0c 请到百度网盘 xff1a https eyun baidu com s 3b1UtLc 下载 xff0c 不再另行通知 韦东山视频总体介绍 ARM裸机1期加强版 新1期 与旧1期的区别 旧1期 xff0c 20
  • 高版本的angular cli(2以上)如何使用ng eject

    在creact react中有eject来暴露出配置文件 xff0c 但是在angular cli中却只有1 X版本的cli有这个功能 https github com angular angular cli wiki 1 x home 2
  • 嵌入式学习十-- uC/OS-III&FreeRTOS区别

    在阅读完uC OS III xff08 V3 03 01 xff09 和FreeRTOS xff08 V10 0 1 xff09 的源码后 xff0c 我对RTOS有了较深的认识 现将它们之间的一些区别总结出来 xff0c 有利于大家理解这
  • 嵌入式学习论坛公告

    一个人学习时 xff0c 是孤家寡人 xff0c 学习效率可想而知 xff1b 十个人一起学习时 xff0c 是团队作战 xff0c 进步显著提升 xff1b 一群人在学习时 xff0c 那是时代潮流 xff0c 气势澎湃 xff0c 你不
  • C++实践项目一:学生信息管理系统(内附完整代码)

    引言 这几乎是任何一门语言的经典案例 管理信息系统 MIS xff08 管理信息系统 Management Information System xff09 系统 xff0c 是一个由人 计算机及其他外围设备等组成的能进行信息的收集 传递
  • Matlab中meshgrid的用法简介

    meshgrid xff1a 网格 1 主要使用的函数为 X Y 61 meshgrid xgv ygv meshgrid函数生成的X xff0c Y是大小相等的矩阵 xff0c xgv xff0c ygv是两个网格矢量 xff0c xgv
  • 如何解决Chrome插件安装时出现的“.crx程序包无效”问题

    最近由于要写论文 xff0c 就尝试着使用Google浏览器插件 xff0c 访问外网 xff1b 但是有时候网络会不稳定 xff0c 就要重新添加插件 xff0c 当删除旧的插件后 xff0c 却发现无法登录Google应用商店了 不得已
  • 网络空间安全专业大学排名 网络空间安全专业就业前景

    我们都知道这几年互联网的发展可谓是日新月异 xff0c 所以很多的大学都开设了网络空间安全这个专业 xff0c 同时 xff0c 市场上对于这类专业人员的需求也是很稀缺的 xff0c 如果有兴趣报考这个专业的可以看看下面的学校 网络空间安全
  • Matlab神经网络(一)

    一 xff1a 从生物角度开始 几乎地球上每一种动物都有其特定的神经系统 xff0c 都是由简单的神经元组合成神经网络 xff0c 然后完成其特定的功能 比如 xff0c 简单的低等动物 xff0c 就像蚂蚁 可能只有几十万个神经元 但可以
  • 2019 年经典Python 面试 100 问

    0 遇到过得反爬虫策略以及解决方法 1 通过headers反爬虫 2 基于用户行为的发爬虫 xff1a 同一IP短时间内访问的频率 3 动态网页反爬虫 通过ajax请求数据 xff0c 或者通过JavaScript生成 4 对部分数据进行加
  • 数模常用算法——图论算法简介&代码实现

    图与网络优化概述 目录 1 求 两个指定顶点之间的最短路径 xff08 Dijkstra算法 xff09 2 求每对顶点之间的最短距离 xff08 Floyd算法 xff09 3 最小代价生成树 3 1 prim算法模板 xff0c 当前测
  • 华为的鸿蒙系统与谷歌的Android系统,究竟还有多大差距?

    摘要 xff1a 近期 xff0c 美国商务部宣布正式把华为列入 实体名单 xff0c 华为不能在未经美国政府批准下与美国公司有业务往来 随后迫于压力 xff0c 谷歌已暂停与华为部分业务往来 xff0c 最要命的是使用Android系统的
  • npm设置代理

    npm设置仓库 1 npm config set registry https registry npm taobao org npm config list 查看npm当前配置 2 命令行指定 每次执行命令前加入 registry指定仓库
  • CSDN 博客添加无水印图片的方法

    文章目录 前言Markdown编辑器方法一 xff1a 删除水印相关代码Markdown编辑器方法二 xff1a 修改水印相关代码中的参数富文本编辑器类似方法 前言 湛蓝的湖水 xff0c 远处隐约可见的雪山 xff0c 这就是人们梦中的神
  • RT-Thread(1)简介_笔记

    RT Thread 愿景和目标 做世界级的 OS xff0c 让万物互联 xff0c 信息畅通无阻 成为未来 AIoT 领域最为主流的操作系统平台 主要特点为RT Thread是一个组件完善丰富 高度可伸缩 简易开发 xff0c 超低功耗
  • vscode保存后代码自动格式化配置

    1 最近接手第二个项目 xff0c 之前的项目是基于vue 43 element 43 admin这个优秀的后台管理平台搭建的 xff0c 由公司大佬直接搭建 xff0c 接手的时候只是做一些简单的业务开发 最近接手了一个外包公司帮忙写的系
  • 安装laravel

    安装laravel之前首先应该设置好安装好php xff0c 配置好环境变量 之后安装好compser 1 安装php环境变量 我使用的php环境安装包是upupw xff0c xff08 php环境安装包有很多 xff0c 例如phpst
  • git关联远程仓库(本地库被其他远程库占用解决方案)

    关联远程库两种方式 1 你现在文件夹里有项目 xff0c 远程库还没建 xff0c 这个情况 先在远程库新建项目 xff0c 然后git clone git 64 github com xxxx lzzz git 到本地文件夹空文件夹内 然
  • 无人机坐标系定义与转换

    x 作者简介 xff1a 热爱科研的无人机 xff08 机器人 xff09 导航 制导 控制开发者 如有错误 xff0c 请指正 xff0c 不吝感谢 xff01 1 前言 我们在研究无人机 机器人 无人车等相关领域的导航 制导与控制算法时
  • PX4 EKF模块解读含matlab代码

    这里主要介绍px4里面的定位模块 xff0c 即EKF库 1 状态向量与协方差的预测 1 Px4的状态向量为24维 xff0c 其如下所示 xff1a x 61