四轴FPV无人机手动操作简明介绍

2023-05-16

四轴FPV无人机手动操作简明介绍

通常航拍机都是有自稳算法 + GPS导航 + 辅助功能(避障)的支持,从而保证飞手能够相对容易且稳定的操作模型飞机,通常通过阅读说明书都能很快上手,这里就不在赘述。

本文主要侧重对手动FPV无人机的操控介绍,这里涉及到6个自由度的控制,难度较地面车辆的控制有所显著提升。通过经验逐步摸索,当然是一个方法,这里还是比较推荐从理论模型出发,这样可以知其然,知其所以然。以便我们更好的训练肌肉的记忆控制(有点像人工智能,通过不断的训练提升熟练度,精准度)。

通过以下几个步骤逐步理解:

  1. 物理学基础
  2. 飞控动力学&运动学模型
  3. 六自由度遥控操作
  4. 模拟&演示教学
  5. 飞控操作介绍回顾

(一)物理学基础

这个物理学经典力学,相信并不陌生。因为有些内容可能高中,甚至初中阶段就已经接触。这里我们重温下知识内容。

牛顿运动三个定律

  1. 牛顿第一运动定律:在没有外力作用下孤立质点保持静止或做匀速直线运动。
  2. 牛顿第二运动定律:动量在外力的作用下,其动量随时间的变化率同该质点所受的外力成正比,并与外力的方向相同。
  3. 牛顿第三运动定律:相互作用的两个质点之间的作用力和反作用力总是大小相等,方向相反,作用在同一条直线上。

牛顿定律基本假设

  1. 空间是绝对的,可以认为是数学上的抽象空间,和空间内的填充物质无关;
  2. 时间是连续的、均匀流逝的、无穷无尽的;
  3. 时间和空间无关;
  4. 时间和运动状态无关;
  5. 物体的质量和物体的运动状态无关。

牛顿定律适用范围

  1. 适用于质点;
  2. 适用于惯性参考系;
  3. 适用宏观问题;
  4. 适用低速问题

注:从四轴无人机的角度,还需要引入牛顿第二运动定律推倒出来的欧拉定律(角速度问题),以理解转动的问题。

(二)飞控动力学&运动学模型

注:这里的公式编辑还是花了不少时间学习,可以参考KaTex。

牛顿第二定律

F → = m a → = m d V → d t \overrightarrow{F} = m\overrightarrow{a}= m\cfrac{d\overrightarrow{V}}{dt} F =ma =mdtdV

欧拉运动定律

M → = I ω ˙ → + ω → × I ω → \overrightarrow{M} = I\overrightarrow{\dot{\omega}} + \overrightarrow{\omega} \times I \overrightarrow{\omega} M =Iω˙ +ω ×Iω

欧拉运动定律是牛顿运动定律的延伸,在牛顿发表牛顿运动定律超过半个世纪后,于1750年,欧拉才成功的用欧拉方程表述了该定律。

四轴模型前提假设

  1. 四轴是均匀对称的刚体
  2. 四轴的质量和转动惯量不发生改变
  3. 四轴的几何中心与其重心重合
  4. 四轴只受重力和螺旋桨拉力
  5. 螺旋桨1、4为顺时针转动,螺旋桨2、3为逆时针转动

飞控动力学模型

四轴模型在空中飞行,需要满足牛顿第二定律和欧拉运动定律:
{ m a → = m d V → d t = m g → + M L → G → + τ → = I ω ˙ → + ω → × I ω → \begin{cases} m\overrightarrow{a}= m\cfrac{d\overrightarrow{V}}{dt} = m \overrightarrow{g} + M \overrightarrow{L} \\ \overrightarrow{G} + \overrightarrow{\tau} = I\overrightarrow{\dot{\omega}} + \overrightarrow{\omega} \times I \overrightarrow{\omega} \end{cases} ma =mdtdV =mg +ML G +τ =Iω˙ +ω ×Iω

  • ψ \psi ψ:偏航角(yaw),机体轴在水平面上的投影与地轴之间的夹角,以机头右偏为正,又称方位角;
  • θ \theta θ:俯仰角(pitch),机体轴与地平面(水平面)之间的夹角,飞机抬头为正;
  • ϕ \phi ϕ:滚转角(roll),飞机对称面绕机体轴转过的角度,右滚为正,又称倾斜角。
  • g → \overrightarrow{g} g :重力加速度
  • m:飞控模型整体质量
  • ω \omega ω:飞控模型的角速度, ω b → = ω x b → + ω y b → + ω z b → \overrightarrow{\omega^b}=\overrightarrow{\omega^b_x}+\overrightarrow{\omega^b_y}+\overrightarrow{\omega^b_z} ωb =ωxb +ωyb +ωzb
  • V → \overrightarrow{V} V :飞机模型的速度
  • G → \overrightarrow{G} G :陀螺力矩
  • τ \tau τ:螺旋桨在机体轴上产生的力矩
  • I:3×3的惯性矩阵
  • T:每个电机和桨叶提供的升力
  • L:模型自身动力(升力), L → = T 1 → + T 2 → + T 3 → + T 4 → \overrightarrow{L}=\overrightarrow{T_1}+\overrightarrow{T_2}+\overrightarrow{T_3}+\overrightarrow{T_4} L =T1 +T2 +T3 +T4

注:四旋翼飞行器动力学及运动学方程参考,这个也重新从牛顿第二定律温习推倒了一遍。

位置动力学模型

{ V x e ˙ = − L m ⋅ ( cos ⁡ ϕ ⋅ sin ⁡ θ ⋅ cos ⁡ ψ + sin ⁡ ϕ ⋅ sin ⁡ ψ ) V y e ˙ = − L m ⋅ ( cos ⁡ ϕ ⋅ sin ⁡ θ ⋅ sin ⁡ ψ − sin ⁡ ϕ ⋅ cos ⁡ ψ ) V z e ˙ = g − L m ⋅ ( cos ⁡ ϕ ⋅ cos ⁡ θ ) \begin{cases} \dot{V^e_{x} }= -\cfrac{L}{m}\cdot(\cos\phi\cdot\sin\theta\cdot\cos\psi + \sin\phi\cdot\sin\psi) \\ \dot{V^e_{y}} = -\cfrac{L}{m}\cdot(\cos\phi\cdot\sin\theta\cdot\sin\psi - \sin\phi\cdot\cos\psi) \\ \dot{V^e_{z}} = g-\cfrac{L}{m}\cdot(\cos\phi\cdot\cos\theta) \end{cases} Vxe˙=mL(cosϕsinθcosψ+sinϕsinψ)Vye˙=mL(cosϕsinθsinψsinϕcosψ)Vze˙=gmL(cosϕcosθ)

姿态动力学模型

{ ω x b ˙ ( ϕ ) = 1 I x x [ τ x + ω y b ω z b ( I y y − I z z ) − I R P ω y b Ω ] ω y b ˙ ( θ ) = 1 I y y [ τ y + ω x b ω z b ( I z z − I x x ) + I R P ω x b ) Ω ] ω z b ˙ ( ψ ) = 1 I z z [ τ z + ω x b ω y b ( I x x − I y y ) ] \begin{cases} \dot{\omega^b_x}(\phi)= \cfrac{1}{I_{xx}}[\tau_x + \omega^b_y\omega^b_z(I_{yy} - I_{zz}) - I_{RP\omega^b_y}\varOmega] \\ \dot{\omega^b_y}(\theta)= \cfrac{1}{I_{yy}}[\tau_y + \omega^b_x\omega^b_z(I_{zz} - I_{xx}) + I_{RP\omega^b_x)}\varOmega] \\ \dot{\omega^b_z}(\psi)= \cfrac{1}{I_{zz}}[\tau_z + \omega^b_x\omega^b_y(I_{xx} - I_{yy})] \end{cases} ωxb˙(ϕ)=Ixx1[τx+ωybωzb(IyyIzz)IRPωybΩ]ωyb˙(θ)=Iyy1[τy+ωxbωzb(IzzIxx)+IRPωxb)Ω]ωzb˙(ψ)=Izz1[τz+ωxbωyb(IxxIyy)]

  • 电机角速度: Ω = ω 1 − ω 2 − ω 3 + ω 4 \varOmega = \omega_1 - \omega_2 - \omega_3 + \omega_4 Ω=ω1ω2ω3+ω4

飞控运动学模型

{ S e ˙ → = V e → Θ b = W ω b \begin{cases} \overrightarrow{\dot{S^e}}=\overrightarrow{V^e} \\ \Theta^b=W \omega^b \end{cases} {Se˙ =Ve Θb=Wωb

  • 坐标位置: S e = [ x    y    z ] T S^e=\lbrack x \space \space y \space \space z \rbrack^T Se=[x  y  z]T
  • 飞控姿态角: Θ b = [ ϕ ˙    θ ˙    ψ ˙ ] T \Theta^b=\lbrack\dot{\phi} \space \space \dot{\theta} \space \space \dot{\psi} \rbrack^T Θb=[ϕ˙  θ˙  ψ˙]T
  • 姿态角的变化率:
    W = [ 1 tan ⁡ ( θ ) sin ⁡ ( ϕ ) tan ⁡ ( θ ) cos ⁡ ( ϕ ) 0 cos ⁡ ( ϕ ) − sin ⁡ ( ϕ ) 0 sin ⁡ ( ϕ ) / cos ⁡ ( θ ) cos ⁡ ( ϕ ) / cos ⁡ ( θ ) ] W=\begin{bmatrix} 1 & \tan(\theta)\sin(\phi) & \tan(\theta)\cos(\phi) \\ 0 & \cos(\phi) & -\sin(\phi) \\ 0 & \sin(\phi)/\cos(\theta) & \cos(\phi)/\cos(\theta) \end{bmatrix} W= 100tan(θ)sin(ϕ)cos(ϕ)sin(ϕ)/cos(θ)tan(θ)cos(ϕ)sin(ϕ)cos(ϕ)/cos(θ)

在小扰动的情况下,即各个角度的变化较小的前提下,姿态角的变化率与机体的旋转角速度近似相等,则有:
[ ϕ ˙ θ ˙ ψ ˙ ] = [ ω x b ω y b ω z b ] \begin{bmatrix} \dot{\phi} \\ \dot{\theta} \\ \dot{\psi} \end{bmatrix}=\begin{bmatrix} \omega^b_x \\ \omega^b_y \\ \omega^b_z \end{bmatrix} ϕ˙θ˙ψ˙ = ωxbωybωzb

飞控刚体模型

{ x e ¨ = − L m ⋅ ( cos ⁡ ϕ ⋅ sin ⁡ θ ⋅ cos ⁡ ψ + sin ⁡ ϕ ⋅ sin ⁡ ψ ) y e ¨ = − L m ⋅ ( cos ⁡ ϕ ⋅ sin ⁡ θ ⋅ sin ⁡ ψ − sin ⁡ ϕ ⋅ cos ⁡ ψ ) z e ¨ = g − L m ⋅ ( cos ⁡ ϕ ⋅ cos ⁡ θ ) ϕ ¨ = 1 I x x [ τ x + ω y b ω z b ( I y y − I z z ) − I R P ω y b Ω ] θ ¨ = 1 I y y [ τ y + ω x b ω z b ( I z z − I x x ) + I R P ω x b ) Ω ] ψ ¨ = 1 I z z [ τ z + ω x b ω y b ( I x x − I y y ) ] \begin{cases} \ddot{x^e }= -\cfrac{L}{m}\cdot(\cos\phi\cdot\sin\theta\cdot\cos\psi + \sin\phi\cdot\sin\psi) \\ \ddot{y^e} = -\cfrac{L}{m}\cdot(\cos\phi\cdot\sin\theta\cdot\sin\psi - \sin\phi\cdot\cos\psi) \\ \ddot{z^e} = g-\cfrac{L}{m}\cdot(\cos\phi\cdot\cos\theta) \\ \ddot{\phi}= \cfrac{1}{I_{xx}}[\tau_x + \omega^b_y\omega^b_z(I_{yy} - I_{zz}) - I_{RP\omega^b_y}\varOmega] \\ \ddot{\theta}= \cfrac{1}{I_{yy}}[\tau_y + \omega^b_x\omega^b_z(I_{zz} - I_{xx}) + I_{RP\omega^b_x)}\varOmega] \\ \ddot{\psi}= \cfrac{1}{I_{zz}}[\tau_z + \omega^b_x\omega^b_y(I_{xx} - I_{yy})] \end{cases} xe¨=mL(cosϕsinθcosψ+sinϕsinψ)ye¨=mL(cosϕsinθsinψsinϕcosψ)ze¨=gmL(cosϕcosθ)ϕ¨=Ixx1[τx+ωybωzb(IyyIzz)IRPωybΩ]θ¨=Iyy1[τy+ωxbωzb(IzzIxx)+IRPωxb)Ω]ψ¨=Izz1[τz+ωxbωyb(IxxIyy)]

(三)六自由度遥控操作

通常来说:任何一个没有受约束的物体,在空间均具有6个独立的运动。3个平移运动分别是沿x,y,z轴的平移运动,3个转动分别是绕x,y,z轴的转动。

【1】FFT-GYRO 多自由度多旋翼无人机测试台架
【2】无人机控制系统-六自由度

约束控制操作

从遥控器的角度,六自由度实际上是通过4个通道进行远程控制。

遥控操作
 ├──> 1.油门(Throttle)
 ├──> 2.偏航(Yaw)
 ├──> 3.俯仰(Pitch)
 └──> 4.翻滚(Roll)

基本运动操控

从运动的角度,控制层面往往需要1个甚至多个通道,并根据实际期望调整通道的控制度量来达到。

运动控制
 ├──> 0. 姿态调整 (会影响1,2,3,4)
 │   └──> Pitch + Roll + Yaw
 ├──> 1.升降操作
 │   └──> Throttle (当level up时)
 │       ├──> Throttle > Gravity 上升
 │       ├──> Throttle = Gravity 悬停
 │       └──> Throttle < Gravity 下降
 ├──> 2.前进/后退(控高)
 │       └──> Pitch(方向:前进/后退) + Throttle+(由于前进/后退分解原有动力,提升升力弥补重力方向平衡)
 ├──> 3.旋转操控 
 │       └──> Yaw
 └──> 4.转弯(控高)
         └──> Roll(方向:左转/右转) + Throttle+(由于左转/右转向心力分解原有动力,提升动力弥补重力方向和前进阻力平衡)

(四)模拟&演示教学

网上有很好的经验角度模拟教学,软件可以使用Acro或者Auto模式,非常适合穿越机或者航拍机的朋友。详见FPV Freerider,steam游戏上也有。

网络教程(主要是YouTube,可能需要VPN)
How To Fly An FPV Multirotor - Lesson 1 - Managing Altitude In Hover
How To Fly An FPV Multirotor - Lesson 2 - Slow Forward Flight
How To Fly An FPV Multirotor - Lesson 3 - Safety Position
How To Fly An FPV Multirotor - Lesson 4 -Turning
How To Fly An FPV Multirotor - Lesson 5 - Putting It All Together
How To Fly An FPV Multirotor - Lesson 6 - Low Altitude Maneuvering
How To Fly An FPV Multirotor - Lesson 7 - Intro To Landing
How To Fly An FPV Multirotor - Lesson 8 - Drop And Catch
How To Fly An FPV Multirotor - Lesson 9 - Precision Landing
How To Fly An FPV Multirotor - Lesson 10 - Advanced Altitude Control
How To Fly An FPV Multirotor - Lesson 11 - Flat 180 Turns
How To Fly An FPV Multirotor - Lesson 12 - Low-Altitude Coordinated Turns
How To Fly An FPV Multirotor - Lesson 13 - Flips and Rolls
How To Fly An FPV Multirotor - Lesson 14 - Intermediate Flips And Rolls
How To Fly An FPV Multirotor - Lesson 15 - Somersault Over Obstacle
How To Fly An FPV Multirotor - Lesson 16 - Split S Turns
How To Fly An FPV Multirotor - Lesson 17 - Nose Down 180
How To Fly An FPV Multirotor - Lesson 18 - Nose Down 360
How To Fly An FPV Multirotor - Lesson 19 - Figure 8 Plus Drill
How To Fly An FPV Multirotor - Lesson 20 - Slow is Smooth and Smooth is Fast
How To Fly An FPV Multirotor - Lesson 21 - Nose-in Circles
How To Fly An FPV Multirotor - Lesson 22 - Slow Precision Flight
How To Fly An FPV Multirotor - Lesson 23 - Racing Turns
How To Fly An FPV Multirotor - Lesson 24 - Pylon Turns
1000 Subscriber Special: A new way to coordinate turns?
FPV Freerider: Use Camera Uptilt To Fly Fast

(五)飞控操作介绍回顾

本文主要温故了物理学基本原理,并推导了飞控动力学&运动学模型,如有兴趣的朋友可以看下网上教程多旋翼飞行器设计与控制。

通过理解遥控操作和分析飞控动力学模型,有如下感悟:

  1. 速度与角度并非线性关系,尤其当姿态角度不同,对于初学者来说,多变量调整尤其难以控制
  2. 垂直速度仅仅与俯仰(Pitch)&翻滚(Roll)相关,与偏航角(Yaw)无关,初学者尽量保持水平(控高)
  3. 前进/后退/转弯与三个姿态角度都有关系,换句话说取决于飞行姿态。当Pitch/Roll角度增加时,需要适当增加油门以保持垂直方向动力降低,做好控高。

无论是理论分析和经验分享,还是视频教学,可以给大家一个初步入门指导。了解如何操作,如何调整遥控器上的四个因素Throttle,Yaw,Pitch,Roll,以及判断什么场景下,那个因素,做出何种趋势的调整。作为强大的人脑神经网络,通过不断的训练和优化,让视觉==》大脑==》肌肉==》遥控器==》模型,做到人机统一的效果。

有点像学开车,也要人车统一的效果,上路就不会如刚学习那般吃力了! _


补充:转弯小技巧:

  1. 先动Yaw,目视前进方向
  2. 前进Yaw操作会抬升机头,减速,需要补Throttle保持高度
  3. 补Throttle时,要注意速度
  4. 同时调整Roll/Pitch水平,再适当减少Throttle控制速度和高度

注:按照上述操作,180度转弯可以快速将飞机停下来并很好的控制高度。

(六)FPV FreeRider简单训练结果

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

四轴FPV无人机手动操作简明介绍 的相关文章

  • 进阶训练赛(二十)

    目录 问题 A 计算矩阵边缘元素之和 问题 B 图像旋转 问题 C 最长最短单词 问题 D 输出亲朋字符串 问题 E 蓝桥杯2022初赛 李白打酒加强版 1 朴素版dfs 2 dfs 43 记忆化搜索 43 剪枝 问题 F 蓝桥杯2022初
  • 用EditPlus配置MASM汇编

    最开始写汇编程序 xff0c 是打开一个记事本就写 但是记事本不是专门的程序编辑器 xff0c 格式不好控制 xff0c 更容易写错程序 于是想到 xff0c 能有一个简单的文本编辑器 xff0c 能控制好ASM的格式 xff0c 有关键字
  • Codeforces Round #852(A~D)

    比赛原地址 xff1a Dashboard Codeforces Round 852 Div 2 Codeforces A Yet Another Promotion 买a种商品会买m送1 xff0c b种则不会 那么当a种商品单价小于等于
  • 动态联编和静态联编

    基本概念 1 静态联编 xff08 早联编 xff09 xff1a 在程序被编译时进行联编 程序执行快 xff0c 但灵活性较小 2 动态联编 xff08 晚联编 xff0c 滞后联编 xff09 xff1a 编译时无法确定要调用的函数 x
  • 函数重载常见问题

    问题一 cannot bind non const lvalue reference of type 39 Complex amp 39 to an rvalue of type 39 Complex 39 该错误提示出现的原因是 xff0
  • 输入输出流

    iomanip的控制符 resetiosflags long f 关闭由参数f指定的格式标志 xff0c 用于输入输出 setprecision int n 设置数据小数位数 xff0c 缺省时为6 xff0c 用于输入输出 setw in
  • 解决TIME_WAIT过多造成的问题

    看到TIME WAIT状态是在tcp断开链接时产生的 xff0c 因为TCP连接是双向的 xff0c 所以在关闭连接的时候 xff0c 两个方向各自都需要关闭 先发FIN包的一方执行的是主动关闭 xff1b 后发FIN包的一方执行的是被动关
  • linux后台开发常用调试工具

    一 编译阶段 nm 获取二进制文件包含的符号信息 strings 获取二进制文件包含的字符串常量 strip 去除二进制文件包含的符号 readelf 显示目标文件详细信息 objdump 尽可能反汇编出源代码 addr2line 根据地址
  • 将Ubuntu 8.04 Live CD Desktop放在硬盘上启动

    将Ubuntu 8 04 Live CD Desktop放在硬盘上启动 最近下了一个Ubuntu 8 04 Live CD Desktop 镜象文件 xff0c 放在VMWere虚拟机里试用了一下 xff0c 觉的还不错 于是更想把它放在硬
  • 如何在Android项目中使用Kotlin

    本文是作者阅读How to Use Kotlin in Your Android Projects xff0c 按照文章实现了一遍 xff0c 并将实现过程中碰到的坑总结出来的文章 简介 Kotlin是由JetBrains设计的开源编程语言
  • Android中使用log4j、android-logging-log4j-1.0

    Android中使用log4j android logging log4j 1 0 3 1 下载相关资源包 资源包下载路径 xff1a log4j xff1a http logging apache org log4j 1 2 downlo
  • 8G内存机器JVM设置模版

    Xms4096m Xmx4096m Xmn3072m XX MetaspaceSize 61 256m XX MaxMetaspaceSize 61 256m XX 43 UseParNewGC XX 43 UseConcMarkSweep

随机推荐

  • Java文件名及其他命名规则

    http bbs csdn net topics 70157841 关于JAVA 源文件命名的问题 Java文件命名 xff1a java程序是由类组成的 xff1b java应用程序必须有一个包含main方法的public类 xff0c
  • gdb+gdbserver调试详解

    1 gdb 43 gdbserver总体介绍 远程调试环境由宿主机GDB和目标机调试stub共同构成 xff0c 两者通过串口或TCP连接 使用 GDB标准串行协议协同工作 xff0c 实现对目标机上的系统内核和上层应用的监控和调试功能 调
  • TCP连接状态详解及TIME_WAIT过多的解决方法

    上图对排除和定位网络或系统故障时大有帮助 xff0c 但是怎样牢牢地将这张图刻在脑中呢 xff1f 那么你就一定要对这张图的每一个状态 xff0c 及转换的过程有深刻地认识 xff0c 不能只停留在一知半解之中 下面对这张图的11种状态详细
  • python爬虫 记录一次爬取淘宝的过程

    淘宝可以说是一个检验爬虫技术是否过关的最强关卡了 xff0c 下面来打破它吧 淘宝的所有操作差不多都是在登录的状态下进行的 xff0c 这时候想要对淘宝进行请求获取信息就必须在登录的状态下进行了 方式一 xff1a xff08 seleni
  • 计算机网络技术(一)——概论

    摘要 计算机网络的起源与发展计算机网络的分类计算机网络的硬件和软件设备计算机网络的性能指标计算机网络的功能和应用计算机网络的标准化组织 一 计算机网络的起源与发展 1 1 产生背景 计算机诞生后 xff0c 作为信息处理的核心器件 xff0
  • 链游玩家:浅谈链游开发平台,千里之行始于足下

    链游玩家 出品 区块链游戏行业 xff0c 截止目前已有近千款的产品 xff0c 往常我们只知道这些游戏好不好玩 xff0c 以及怎么玩 xff0c 却不知道这些游戏都是用什么开发出来的 今天 xff0c 就来带大家盘点一下 xff0c 几
  • 解决部分网页打不开的方法(特别是CSDN)

    近来遇到好几次CSDN网站连不上的状况 起初是在学校因为是连的校园网 xff0c 突然有一天连着校园网就打不开CSDN的相关网页了 xff0c 问了周围的同学 xff0c 问了几个她们也都打不开 xff0c 但是用流量就能打开CSDN网页
  • MTK平台Android项目开发框架搭建

    前言 xff1a 不同的项目配置存在差异 xff0c 原生的SDK无法兼容多个项目作业 xff0c 按照原生框架创建项目比较繁琐 xff0c 如果采用GIT分支形式来管理每个项目同样过于繁琐 因此一套代码多个项目框架是有必要的 1 编译脚本
  • windows平台 Anaconda及相关插件安装

    1 Anaconda官网 https www anaconda com products individual 2 Anaconda安装 3 创建python3 7虚拟环境 conda create n 名字 python 61 3 7 如
  • python paramiko 远程登陆主机并获取主机信息

    usr bin python encoding utf 8 filename host information get py author gaohaixiang writetime 20200409 import paramiko def
  • rk3568 android11 AP6275s调试

    一 AP6275S的32 768k波形要求 xff1a 1 43 25ppm xff0c 计算的范围是 xff1a 32767 1808 32768 8192Hz 2 占空比 xff1a 30 70 3 峰峰值 xff1a 1 8v 43
  • OpenCV如何获取视频当前的一帧图像

    xff08 OpenCV读取视频 OpenCV提取视频每一帧 每一帧图片合成新的AVI视频 xff09 CvCapture 是视频获取结构 被用来作为视频获取函数的一个参数 比如 CvCapture cap IplImage cvQuery
  • iptables raw表

    1 什么是raw表 xff1f 做什么用的 xff1f iptables有5个链 PREROUTING INPUT FORWARD OUTPUT POSTROUTING 4个表 filter nat mangle raw 4个表的优先级由高
  • NSMutableParagraphStyle & NSAttributedString 文本样式设置

    今天做工作时 xff0c 用到了 NSMutableParagraphStyle amp NSAttributedString xff0c 由于用C 语言 写 xff0c 一开始比较生疏 xff0c 有些语法和oc语言还是有点区别的 xff
  • 【计算机毕业设计】医院管理系统源码

    一 系统截图 xff08 需要演示视频可以私聊 xff09 一 xff0e 摘要 目前各医疗机构中 xff0c 绝大部分中小型医疗机构内部没有实现任何信息化管理 xff0c 医院临床信息 xff0c 业务流程的数据依然采取纸质记录 xff0
  • 【计算机毕业设计】88.人事工资管理系统源码

    一 系统截图 xff08 需要演示视频可以私聊 xff09 摘 要 本论文主要论述了如何使用 JAVA 语言开发一个 人事管理系统 xff0c 本系统将严格按照软件开发流程进行各个阶段的工作 xff0c 采用 B S 架构 xff0c 面向
  • 【计算机毕业设计】012基于springboot的社区团购系统设计

    一 系统截图 xff08 需要演示视频可以私聊 xff09 摘 要 本课题是根据用户的需要以及网络的优势建立的一个社区团购系统 xff0c 来满足用户 团购 的需求 本社区团购系统应用 Java 技术 xff0c MY SQL数据库存储数据
  • 四轴飞控DIY调试起飞简明步骤

    四轴飞控DIY调试起飞简明步骤 调试起飞简明步骤Step1 xff1a 飞控配置Step2 xff1a 试飞目标测试内容坐标系 Step3 xff1a 试飞方法1 升降 xff08 Throttle xff09 2 偏航 xff08 yaw
  • BetaFlight开源工程结构简明介绍

    BetaFlight开源工程结构简明介绍 Step1 获取开源代码开源代码版本克隆开源代码 Step2 了解工程情况支持模型类型 xff1a 多旋翼 amp 固定翼支持特性 amp 功能安装 amp 文档链接配置工具下载其他介绍 xff08
  • 四轴FPV无人机手动操作简明介绍

    四轴FPV无人机手动操作简明介绍 通常航拍机都是有自稳算法 43 GPS导航 43 辅助功能 避障 的支持 xff0c 从而保证飞手能够相对容易且稳定的操作模型飞机 xff0c 通常通过阅读说明书都能很快上手 xff0c 这里就不在赘述 本