四轴飞行器的设计与开发过程

2023-05-16

文章目录

  • 一、系统组成模块
    • 1、上位机 (PC)
    • 2、遥控器系统
    • 3、飞行器机体系统
      • 3.1 接收遥控器无线数据, 并发送飞行数据到遥控器
      • 无线通信模块 Nordic NRF24L01
      • 3.2 采集传感器数据并进行姿态解算
        • (1)陀螺仪 (角速度)
        • (2)加速度计 (测量载体与重力加速度的角度)
        • (3)磁力计 (测量载体与地磁场的绝对夹角)
      • 3.3 依据姿态信息解算各个电机的控制量并发送到电机驱动设备
      • 3.4 协调各个功能部件的逻辑运行
  • 二、硬件设备及作用
    • 1、电源
    • 2、传感器
      • 2.1 ICM20602 六轴传感器芯片
      • 2.2 磁力计传感器:HMC5983
      • 2.3 气压计传感器:MS5611
      • 2.4 电源稳压芯片:TPS62162
    • 3、存储器
      • 3.1 W25Q32BV
      • 3.2 TF卡
    • 4、遥控器
      • 1)无线模块接口 - SPI 接口 通信
      • 2)USART 串口通信模块(遥控器 - 上位机通信)
      • 3)遥控器主控器 STM32 F103
      • 4)PWM
      • 5) ADC
    • 5、灯光模块
    • 6、飞控模块
      • 【 APM飞控 】
        • - I2C 接口 (传感器信号)
        • - GPS接口
        • - 数据传入接口 3DR 数据传入
        • - USB数据线接口 USART 串口通信
    • 7、电调
      • PWM 信号驱动 无刷直流电机
      • 电机工作原理
    • 8、主控板MCU STM32 F411
  • 三、系统软件设计
    • 各模块软件设计
      • ucOS-III
        • 1) 系统上电
        • 2) 系统自检
        • 3)任务创建
        • 4)系统运行
      • 遥控器系统
      • 飞行器系统
      • 传感器系统
      • 系统整体软件功能
    • 任务设计
      • 无线通信任务设计
      • 串口通信任务设计
        • 遥控器与上位机通讯
          • 数据帧格式
        • 串口数据接收
        • 串口数据发送
      • 任务
        • 1)传感器读取任务
        • 2)飞行定高任务
        • 3)姿态解算任务
          • 姿态解算融合方法 :四元素
        • 4)数据发报任务
        • 5)飞行自稳控制任务
          • PID 控制 : 对电机转速不断调整,是的飞行姿态逼近期望姿态。
      • 主控移植
  • 四、整体步骤概括
    • 1、 准备材料
    • 2、 传感器驱动程序
    • 3、 芯片驱动程序
    • 4、调试控制算法参数
    • 5、 上位机通讯
  • 五、飞行器原理
    • 飞行布局
        • 1、垂直运动;
        • 2、 俯仰运动;
      • 3 滚转运动;
      • 4 偏航运动;
      • 3、前后运动;
      • 4、 侧向运动;
  • 五、过程考虑因素
    • 气流等外部环境干扰
    • 具有6个自由度 , 只有4个控制输入
    • 累积误差消除

一、系统组成模块

在这里插入图片描述

上位机与遥控器通过串口相连,用于实时显示和监测飞行状态。遥控器系统通过采集遥控控制量,并通过无线模块发送给飞行器,同时在 LCD 上进行相关数据显示。

##yy ?

1、上位机 (PC)

上位机与遥控器通过,串口, 相连。

2、遥控器系统

采集遥控控制量,并通过无线模块发送给飞行器,同时在LCD上进行相关数据显示。

3、飞行器机体系统

通过采集无线数据和传感器数据, 并通过主控器解算,进而控制4个电机的转速实现飞行姿态的闭环控制。

3.1 接收遥控器无线数据, 并发送飞行数据到遥控器

无线通信模块 Nordic NRF24L01

通信距离: 1750m

数据传输量: 32Byte 速率: 2Mbps

自动应答, 中断机制 。

SPI 接口 , 数据传输

在这里插入图片描述

3.2 采集传感器数据并进行姿态解算

(1)陀螺仪 (角速度)

姿态角测量: 提供旋转角速度信息, 用于计算载体的相对角度信息。

输出 : 角速度

角度: vt , 时间上积分。 获得角度。

陀螺仪最终测量结果会随着积分时间的增加, 而不断偏离真实值。

(2)加速度计 (测量载体与重力加速度的角度)

三轴加速度测量 物体的重力加速度 与载体坐标系的关系, 得到载体的倾斜角。

测量载体与重力加速度的绝对夹角, 对陀螺仪计算误差进行融合矫正;

(3)磁力计 (测量载体与地磁场的绝对夹角)

对陀螺仪误差矫正

将测量信息,转换为数字信号输出。

体积小、重量轻、 可微型化

进行地磁方向的导航

3.3 依据姿态信息解算各个电机的控制量并发送到电机驱动设备

3.4 协调各个功能部件的逻辑运行

二、硬件设备及作用

1、电源

1、MCU:TPS62162
2、ms5611:ME6219C30M5G
3、HMC5983
MCU采用2M开关频率的TPS62162保证了MCU的电源的稳定性,ICM20602,HMC5983采用3.3VLDO供电,MS5611根据数据手册采用3VLDO稳压芯片进行供电保证芯片数据的低噪声。TJA1050采用5V供电。

2、传感器

2.1 ICM20602 六轴传感器芯片

ICM20602六轴传感器芯片通过数据滤波处理把三轴陀螺仪数据和三轴加速度数据以及HMC5983三轴磁力计数据,MS5611气压计数据引入EKF进行IMU姿态解算。

2.2 磁力计传感器:HMC5983

2.3 气压计传感器:MS5611

2.4 电源稳压芯片:TPS62162

3、存储器

WQ25Q32BV用来存储传感器矫正数据。TF卡用来存储飞机飞行记录数据。

3.1 W25Q32BV

3.2 TF卡

4、遥控器

在这里插入图片描述

在这里插入图片描述

采用传统的DBUS遥控器反向电路

向飞控发出信号;四轴飞行器的遥控器至少需要 4 个通道,分别用于:油门、旋转、前后飞、左右飞;

1)无线模块接口 - SPI 接口 通信

2)USART 串口通信模块(遥控器 - 上位机通信)

PL2302 USART 转 USB接口

全双工异步串行通信。

PL2303 内置 带有全部调制解调器控制信号的USART

3)遥控器主控器 STM32 F103

4)PWM

5) ADC

5、灯光模块

采用3个SOT23-3封装的MOS管进行开关控制,与MCU隔离电源。

6、飞控模块

在这里插入图片描述

是飞行器的大脑,保持自身稳定飞行;接收遥控器信号,并将信号传输给电调告诉它如何飞行;

飞行控制系统(Flight control system)简称飞控,可以看作飞行器的大脑。多轴飞行器的飞行、悬停,姿态变化等等都是由多种传感器将飞行器本身的姿态数据传回飞控,再由飞控通过运算和判断下达指令,由执行机构完成动作和飞行姿态调整。

发送各种指令,并且处理各部件传回的数据。类似于人体的大脑,对身体各个部位发送指令,并且接收各部件传回的信息,运算后发出新的指令。

【 APM飞控 】

在这里插入图片描述

- I2C 接口 (传感器信号)

- GPS接口

- 数据传入接口 3DR 数据传入

- USB数据线接口 USART 串口通信

7、电调

将飞控的控制信号,转变为电流的大小,以控制电机的转速;

在这里插入图片描述

PWM 信号驱动 无刷直流电机

直流脉冲序列占空比

如何控制飞机转速?

电机工作原理

8、主控板MCU STM32 F411

在这里插入图片描述

三、系统软件设计

各模块软件设计

ucOS-III

抢占式 , 多任务, 嵌入式操作系统

可剪裁, 可移植,实时性

可以植入ROM

微处理器MCU

c语言 + 汇编(CPU)

大小: 2KB

在这里插入图片描述

1) 系统上电

首先对主控制器各寄存器和外设功能进行初始化配置;
然后

2) 系统自检

3)任务创建

4)系统运行

  • 任务优先级划分 *
  • 任务堆栈设置 *
  • 任务控制块 *
  • 信号量建立 *
  • uCOS 操作系统运行 *
  • 任务调度 ”

遥控器系统

任务优先级从高到低:

  • 无线通信任务
  • 串口通信任务
  • AD信号采集任务
  • 蜂鸣器任务
  • GUI显示任务

飞行器系统

任务优先级从高到低:

  • 无线通信任务
  • 传感器串口通信任务
  • 姿态控制量解算任务
  • 电池电压监测任务
  • LED闪烁任务

传感器系统

任务优先级从高到低:

  • IIC 通信任务
  • 超声波串口通信任务
  • GPS串口通信任务
  • 姿态解算任务
  • 与飞行器系统串口通信任务

系统整体软件功能

遥控器接收上位机控制指令/采集控制量, 通过无线模块发送给飞行器 ,同时接收飞行器发送的飞行数据发送给上位机。

飞行器接收传感器姿态信息并借壳遥控器的控制信息, 进行控制量解算,并控制电调进行电机速度控制;

传感器采集模块, 采集陀螺仪、 加速度计、磁力计、气压计、 GPS等传感器原始数据, 并进行滤波、姿态解算等操作, 并将处理结果发送到飞行器主控模块。

在这里插入图片描述

任务设计

无线通信任务设计

遥控器将数据发送到 飞行器 , 并从飞行器接收飞行数据。

硬件器件NRF24L01 , 与主控芯片STM32 , 通过SPI 接口连接。

首先配置STM32 的SPI 外设功能, 并将其映射到相应的硬件IO 。

无线模块 NRF24L01 之间的通信, 为单工通讯 , 即模块在某一时间自能处于接收, 或者发送的状态, 不能同时进行收发。

需要: 实时性: 分时复用

分时复用
- 在接收到数据后马上转换为发送状态进行发送, 发送完成后 转换为接收状态进行接收。

由于没有同步信号, 收发双方时序不匹配, 导致通讯中断。

NRF24L01 , 提供了 : 发送完成、 接收完成、 发送失败、 三个中断模式 和一个中断接口。

运用 uCOS 超时等待功能, 可以有效解决此问题。

在这里插入图片描述
当操作系统任务就续表中 , 最高优先级任务 为 : 无线通信任务时, 无线通信任务即获得执行权。

当任务第一次运行时, 首先将无线模块配置为输出模式; 人后通过SPI 发送32字节数据到无线模块;

由于无线模块发送数据需要一定时间, 因此可以挂起本任务, 并设置超时等待50ms , 任务唤醒条件为无线模块的硬件终端信号IRQ 。

任务被唤醒后 检测唤醒原因是等待时间超时, 还是发送了硬件中断, 弱势等待超时被唤醒, 则将 标记1 进行加一操作, 并判断该值是否达到了阈值1 , 从而判断无线模块NRF24101 是否已损坏, 并在LCD液晶显示相应信息;

若是因硬件中断被唤醒, 则读取无线模块内部寄存器并判断中断原因, 是发送完成中断, 还是达到最大重发次数中断, 达到最大重发次数则将标记2+1, 进而判断是否无线通信连接失败, 发送成功则将无线模块配置为接收模式。

发送过程结束后, 无线模块将在接收状态下等待接收数据, 同时将本任务挂起, 设置等待时间为50ms , 唤醒条件是无线模块接收中断信号。

任务被唤醒后 检测唤醒原因是等待超时, 还是无线信号接收完成硬件中断: 若是等待超时, 则将标记3+1 , 并进行LCD显示, 最后回到初始状态进行下一次循环。

若是接收到中断信号, 则从无线模块寄存器中一次读取32字节接收数据, 然后回到初始状态进行下一次循环。

通过对该任务的工作流程分析可以发现, 任务在挂起状态都是通过无线模块硬件中断, 或者挂起等待超时两种方式唤醒。 

在实际编程中, 通常用状态机编程方式进行实现。

经过实际调试, 在系统不发生硬件故障或者通信正常的情况下, 本任务可以实现无线模块NRF24L01 稳定的半双工贴心, 通信频率606HZ 。

通讯中断后可以迅速恢复对四轴飞行器的安全操作很有必要。。

串口通信任务设计

遥控器 + 上位机 PC通信

传感器模块 + 飞行器模块通信

通信任务功能 与通信数据格式 相似。

遥控器与上位机通讯

遥控器发送上位机: 飞行器姿态数据、 传感器数据、 接受到的控制命令数据、 GPS数据、 电池电压数据、 PID参数数据。

上位机发送遥控器: 控制命令数据, PID参数设置数据等。

数据帧格式

帧头 + 功能字 + 数据长度 + 数据值 + 校验值

在这里插入图片描述

串口数据接收

异步串口通讯

串口数据包接收 和解包, 校验: 中断服务函数进行。
接收传感器数据包为例 , 其处理流程如下图所示:

在这里插入图片描述

系统初始化的时候, 串口配置为: 中断接收方式, 主控器每接收到1直接串口数据, 将产生接收中断信号, 程序跳转到中断服务程序入口处, 开始进行数据接收的处理。

执行中断服务程序: 解析 判别, 更新状态, 结束。

串口数据发送

在这里插入图片描述
系统初始化, 串口发送数据缓存, 内存起始地址告知DMA 。
每次需要 发送串口数据时, 只需要将数据写入全局数组中, 激活DMA发送后 , 即可自动完成数组内容的传输。

发送完成后, DMA 会给出一个中断信号, 用于指示发送完成, 主控器可以在中断服务函数中进行其他操作 。

任务第一次执行时, 先挂起DMA发送完成信号量(在中断服务函数中发送)

再次执行5ms , 结束后再次开始执行。

直接进行下一次DMA发送, 然后再次挂起本任务。

串口发送的频率实际上是由任务挂起等待的时间决定的。

当挂起等待时间为5ms 时, 发送频率200Hz 。

任务

1)传感器读取任务

2)飞行定高任务

3)姿态解算任务

在这里插入图片描述

电机震动干扰 , 影响了陀螺仪信息的输入。

数字滤波器 设计: 算法平均 、 加权平均、 滑动平均

姿态解算任务 : 解算后的俯仰角、 滚转角、偏航角, 三个姿态角的过程。

加速度测量的是重力分量, 有绝对的参照物: 重力轴。

无外力的加速情况下, 能够准确输出俯仰角, 滚转角。

并且角度不会有累计误差。

在长时间内都是准确的。

虽然经过低通滤波器除了大部分由于电机振动引入的噪声信号。

姿态解算融合方法 :四元素

互补滤波、

卡尔曼滤波、

四元数法、

陀螺仪的积分误差: 加速度计测量的重力加速度分量 - 陀螺仪积分后得到的重力向量。

利用说的的误差, 修正陀螺仪的测量值。

利用修正后的陀螺仪的值, 更新四元数。

得到更新后的四元数规范化。

得到新的四元数之后, 就完成了一次四元数姿态融合的运算。

四元数可以转化成三个欧拉角。

在这里插入图片描述

MPU6050 内部 DMP 姿态解算

4)数据发报任务

5)飞行自稳控制任务

在这里插入图片描述
在这里插入图片描述

PID 控制 : 对电机转速不断调整,是的飞行姿态逼近期望姿态。

比例, 积分, 微分控制器 。

工业控制器。

在这里插入图片描述

PID 控制器 由 比例单元、 积分单元、 微分单元。 输入是期望值r(t) 和输出测量值y(t)
PID 控制中比例调节的作用可理解为:通过采集信号的负反馈,求得系统输出与期望值的偏差,经过比例换算得出系统输出控制量从而消除系统输出偏差。比例系数 Kp 决定了减少偏差的速度, Kp 越大偏差减少的越快,但容易引起系统超调,使系统产生震荡;而若减小 Kp 值,调节的速度也相应的变慢。 积分控制是对累积的偏差进行的调节,其目的是使累积偏差为零。积分控制的效果与偏差的大小和偏差持续的时间相关。 微分控制即控制误差的变化率,控制误差的变化趋势,起到提前修正误差的作用,同时提高输出响应的快速性,减小系统超调量[52]。

控制值 = 姿态解算后的俯仰角度 , 期望值 = 遥控器输入的俯仰角度 - 传感器模块解算的俯仰角度。

在这里插入图片描述
.

主控移植

四、整体步骤概括

1、 准备材料

2、 传感器驱动程序

3、 芯片驱动程序

4、调试控制算法参数

5、 上位机通讯

五、飞行器原理

飞行布局

在这里插入图片描述

1、 X 型布局

电机 1- 2 逆时针旋转同时 , 电机3,4 顺时针旋转

当飞行器平衡飞行时, 陀螺效应和空气动力扭矩效应被抵消。

##yy? 空气动力图

##yy? 扭矩? 反扭矩?

2、 基本运动状态
在这里插入图片描述

1、垂直运动;

在这里插入图片描述有两对电机转向相反,可以平衡其对机身的反扭矩,当同时增加四个电机的输出功率,旋翼转速增加使得总的拉力增大,当总拉力足以克服整机的重量时,四旋翼飞行器便离地垂直上升;

反之,同时减小四个电机的输出功率,四旋翼飞行器则垂直下降,直至平衡落地,实现了沿 z 轴的垂直运动;

当外界扰动量为零时,在旋翼产生的升力等于飞行器的自重时,飞行器便保持悬停状态;

保证四个旋翼转速同步增加或减小是垂直运动的关键;

2、 俯仰运动;

在这里插入图片描述
在图 b 中,电机1的转速上升,电机3的转速下降,电机2、电机4的转速保持不变;

为了不因为旋翼转速的改变引起四旋翼飞行器整体扭矩及总拉力改变,旋翼1 与 旋翼3 转速该变量的大小应相等;

由于 旋翼1 的升力上升,旋翼3 的升力下降,产生的不平衡力矩使机身绕 y 轴旋转(方向如图所示),同理,当 电机1 的转速下降,电机3 的转速上升,机身便绕 y 轴向另一个方向旋转,实现飞行器的俯仰运动;

3 滚转运动;

在这里插入图片描述
与图 b 的原理相同,在图 c 中,改变 电机2 和 电机4 的转速,保持 电机1 和 电机3 的转速不变,则可使机身绕 x 轴旋转(正向和反向),实现飞行器的滚转运动;

4 偏航运动;

旋翼转动过程中由于空气阻力作用会形成与转动方向相反的反扭矩,为了克服反扭矩影响,可使四个旋翼中的两个正转,两个反转,且对角线上的来年各个旋翼转动方向相同;

反扭矩的大小与旋翼转速有关,当四个电机转速相同时,四个旋翼产生的反扭矩相互平衡,四旋翼飞行器不发生转动;

当四个电机转速不完全相同时,不平衡的反扭矩会引起四旋翼飞行器转动;
在这里插入图片描述

3、前后运动;

在这里插入图片描述

要想实现飞行器在水平面内前后、左右的运动,必须在水平面内对飞行器施加一定的力;

在图 e 中,增加 电机3 转速,使拉力增大,相应减小 电机1 转速,使拉力减小,同时保持其它两个电机转速不变,反扭矩仍然要保持平衡;

按图 b 的理论,飞行器首先发生一定程度的倾斜,从而使旋翼拉力产生水平分量,因此可以实现飞行器的前飞运动,向后飞行与向前飞行正好相反;

当然在图 b 图 c 中,飞行器在产生俯仰、翻滚运动的同时也会产生沿 x、y 轴的水平运动;

4、 侧向运动;

在这里插入图片描述

在图 f 中,由于结构对称,所以侧向飞行的工作原理与前后运动完全一样;

五、过程考虑因素

气流等外部环境干扰

具有6个自由度 , 只有4个控制输入

多变量、非线性、强耦合和干扰敏感

累积误差消除

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

四轴飞行器的设计与开发过程 的相关文章

  • 终于把大数据类产品全流程解释清楚了

    你点开这文章 xff0c 说明你清晰知道了数据才是一切的基础 人工智能 机器学习 大数据等应用的基础都是基于这样的一个流程 xff0c 只是说运用领域不同 xff0c 那么偏重点不同 本文从数据采集到数据报告 xff0c 详细说明了大数据运
  • 关于slam

    什么是SLAM 机器人在未知环境中 xff0c 要实现智能化需要完成三个任务 xff0c 第一个是定位 Localization xff0c 第二个是建图 Mapping xff0c 第三个则是随后的路径规划 Navigation 之前地平
  • Linux(Ubuntu系统)同网段SSH连接不上,网络能ping通

    问题描述 测试以下命令同样连接不上 span class token function ssh span localhost 问题原因 Ubuntu系统自带 openssh client xff0c 但是没有自带 openssh serve
  • 本地进程间通信(二)--套接字socket

    目录 一 什么是Socket xff1f 二 socket通信流程 Server端 一 创建socket 二 命名socket 三 绑定 四 监听 五 关闭 Client端 一 创建socket 二 connect 三 发送数据 四 关闭s
  • debain服务器搭建之虚拟机安装(一)

    debain服务器虚拟机搭建系列 xff08 一 xff09 xff08 一 xff09 下载debain系统 xff08 二 xff09 搜索下载安装 vmware xff08 三 xff09 开始安装debain系统 xff08 四 x
  • 企业私有云技术设计方案

    1 概述 1 1 文档内容 本文档为某企业私有云技术路线设计文档 1 2 背景描述 1 2 1 某企业私有云业务线规划 近些年由于国内IDC市场发展迅速 xff0c 某企业从战略层面考虑 xff0c 建造了自己的高等级数据中心 xff0c
  • Qt的主窗口背景设置

    主界面设置背景一般有设置背景图片和背景颜色的需求 xff0c 其实二者之间设置方法类似 目录 主界面设置背景一般有设置背景图片和背景颜色的需求 xff0c 其实二者之间设置方法类似 方法一 xff1a 最简单的方式是通过ui界面来设置 xf
  • 7.使用码云

    使用GitHub时 xff0c 国内的用户经常遇到的问题是访问速度太慢 xff0c 有时候还会出现无法连接的情况 xff08 原因你懂的 xff09 如果我们希望体验Git飞一般的速度 xff0c 可以使用国内的Git托管服务 码云 xff
  • git diff命令之后,如何退出

    git diff命令是对比两次文件修改了什么 但如何退出呢 xff1f 输入q 按enter键盘
  • Float类型出现舍入误差的原因

    首先是float累加产生误差的原因 xff0c 该部分转自 xff1a http blog csdn net zhrh0096 article details 38589067 1 浮点数IEEE 754表示方法 要搞清楚float累加为什
  • React之antd Form回显数据

    转自 xff1a https blog csdn net welkin qing article details 110004969 文章目录 一 antd4如何回显数据 1 定义变量2 保存接口数据到form变量中3 form显示数据4
  • equals()方法和hashCode()方法

    1 hashCode 简介 该方法主要是利用一定的规则生成对象的哈希码 xff0c 也称散列码 它是是由对象导出的一个整数值 xff0c 是没有规律的 关于hashCode 使用的哈希算法 xff0c 越糟糕的哈希算法越容易产生哈希碰撞 产
  • 手把手教你基于STM32的BootLoader的OTA远程升级

    本文系21ic论坛蓝V作者小叶三千原创撰写 上次发过SD卡的Bootloader离线升级后 xff0c 应大家的要求 xff0c 这次就讲一下STM32的OTA远程升级 OTA又叫空中下载技术 xff0c 是通过移动通信的空中接口实现对移动
  • 转知乎,感觉非常棒,适合普通人c++学习路线图

    作者 xff1a 刘凯新 链接 xff1a https www zhihu com question 23447320 answer 39322848 来源 xff1a 知乎 著作权归作者所有 商业转载请联系作者获得授权 xff0c 非商业
  • InfluxDB和IotDB介绍与性能对比

    InfluxDB简介 InfluxDB 是用Go语言编写的一个开源分布式时序 事件和指标数据库 xff0c 无需外部依赖 用于存储和分析时间序列数据的开源数据库 适合存储设备性能 日志 物联网传感器等带时间戳的数据 其设计目标是实现分布式和
  • CVSNT SERVER Configuration

    title CVSNT SERVER Configuration 64 author H819 64 version 0 5 Copyright free reference note author name and the article
  • JavaScript高级使用(对象、BOM、封装)

    JavaScript高级 今天给大家介绍以下几个内容 xff1a JavaScript 面向对象JavaScript 内置对象JavaScript BOMJavaScript 封装 JavaScript面向对象 其实JavaScript中的
  • Python函数(函数定义、函数调用)用法详解

    Python 中 xff0c 函数的应用非常广泛 xff0c 前面章节中我们已经接触过多个函数 xff0c 比如 input print range len 函数等等 xff0c 这些都是 Python 的内置函数 xff0c 可以直接使用
  • zsh配置

    原本用WindTerm 43 bash xff0c WindTerm提供了高亮 自动记忆补全等功能 xff0c 基本上也够用 WindTerm还是比较早期阶段 xff0c 功能细节上还有待完善 xff0c 稳定性方面也有些小问题 比如用vi
  • Android CHRE (Context Hub Runtime Environment)简介

    当前的ARM处理的多个核心 xff0c Android系统运行在速度最快的大核上 xff0c 通常叫AP xff08 Application Processor xff09 AP主要为性能 体验优化 xff0c 相对来说能耗高 处理器中还有

随机推荐

  • Docker pull 命令

    Docker pull 命令 Docker 命令大全 docker pull 从镜像仓库中拉取或者更新指定镜像 语法 docker pull OPTIONS NAME TAG 64 DIGEST OPTIONS说明 xff1a a 拉取所有
  • strrchr函数的实现

    lt span style 61 34 font size 18px 34 gt include lt stdio h gt include lt string h gt char strrchr char const s1 int ch
  • UCOSIII概述

    又给自己挖了一个小坑 xff0c 今天开始学习UCOS xff0c 本篇文章只是作为学习笔记 xff0c 并不是什么教程 文章目录 序言源码概览配置文件UCOSIII与移植相关代码文件UCOS与CPU相关代码文件UCOSIII库文件UCOS
  • UCOSIII中的消息传递

    文章目录 序言什么是消息队列消息队列相关函数OSQCreate OSQPend OSQPost 消息队列实验总结 序言 前面我们介绍了信号量 xff0c 通过信号量我们能够解决优先级反转 xff0c 资源共享冲突等问题 xff0c 但是我们
  • Qt之可视化QSS生成器(初探)

    简述 QSS是Qt的样式表 xff0c 类似于CSS xff0c 目前主要支持CSS2 写代码调样式非常不直观 xff0c 因此需要一个所见即所得的可视化样式生成器 xff0c 网上有很多CSS样式生成器 xff0c 最适合网页开发人员的1
  • 【秒懂音视频开发】26_RTMP服务器搭建

    流媒体 基本概念 流媒体 xff08 Streaming media xff09 xff0c 也叫做 xff1a 流式媒体 是指将一连串的多媒体数据压缩后 xff0c 经过互联网分段发送数据 xff0c 在互联网上即时传输影音以供观赏的一种
  • 论文笔记之PPDM(Parallel Point Detection and Matching for Real-time Human-Object Interaction Detection)

    分为两分支 xff0c 一个用于点 xff08 人 物 交互三个点 xff09 检测 xff0c 一个用于点匹配 xff0c 达到了实时的效果 CVPR2020接收 论文地址 xff1a https arxiv org pdf 1912 1
  • FFmpeg入门 - rtmp推流

    FFmpeg入门 视频播放 音视频开发老马的博客 CSDN博客介绍了怎样用ffmpeg去播放视频 里面用于打开视频流的avformat open input函数除了打开本地视频之外 实际上也能打开rtmp协议的远程视频 实现拉流 demo
  • C/C++音视频高级开发 FFmpeg编程入门

    1 播放器框架 1 1常用音视频术语 容器 xff0f 文件 xff08 Conainer File xff09 xff1a 即特定格式的多媒体文件 xff0c 比如mp4 flv mkv等 媒体流 xff08 Stream xff09 x
  • 在vs code中调试编译有多个.c或.cpp文件的项目,报错undefined reference to “xxx“(cJSON小项目为例)

    项目下载链接 xff1a https sourceforge net projects cjson 项目主要文件 xff1a cJSON c cJSON h test c 问题点 xff1a 有完整的头文件但编译时找不到 xff0c 一直报
  • LSTM网络中各层解读

    构建深度神经网络最关键的部分之一是 当数据流经不同的层时 xff0c 要对其有一个清晰的视图 xff0c 这些层经历了维度的变化 形状的改变 扁平化和重新塑造 结构顺序 每层解读 xff1a 把单词变为tokens xff1b embedd
  • Pytorch安装过程中遇到的失败

    conda 进入虚拟环境 xff1a 1 conda 命令行安装 conda install pytorch torchvision cudatoolkit 61 10 2 c pytorch 但出现以下错误 错误原因 xff1a 1 问题
  • RuntimeError: Cannot initialize CUDA without ATen_cuda library.

    RuntimeError Cannot initialize CUDA without ATen cuda library PyTorch splits its backend into two shared libraries a CPU
  • CUDA安装成功后配置环境变量

    图森未来 2021届 提前批 岗位 图森未来 自动驾驶2021届 提前批 内推 xff1a 投递方式 配置环境变量 xff08 安装成功时 xff0c 有提示的相应地址 xff09 官方上面是直接输入 但是我觉着在 etc profile
  • pytorch gpu不可用 原因核查

    首先检查pytorch cuda 显卡驱动 之间的对应关系 查看pytorch对应的cuda版本 打开终端输入 xff1a python 输入命令 xff1a import torch 再输入 xff1a print torch versi
  • Pytorch CUDA Cudnn python nvidiam 对应关系

    微信公众号 xff1a 目标检测与跟踪基础前沿 目标跟踪基础与智能前沿 1 这里pytorch和cudatoolkit版本对应关系 xff1a https pytorch org get started previous versions
  • 目标跟踪环境配置(四):OTB配置安装 (从下载到绘图)

    目标跟踪基础与智能前沿 点击上方链接 xff0c 微信关注回复下方安装包对应的关键词 xff0c 获得对应的百度云下载链接 论文原文 1 xff09 Online Object Tracking A Benchmark 1 下载OTB数据集
  • 人体姿态估计综述(Monocular Human Pose Estimation: A Survey of Deep Learning-based Methods)

    1 总述 1 1 应用 电影和动画虚拟现实人机交互视频监控医疗救助自动驾驶运动动作分析 1 2 挑战 人体姿势估计所面临的挑战主要体现在三个方面 xff1a 灵活的身体构造表示复杂的关节间关节和高自由度肢体 xff0c 这可能会导致自我闭塞
  • 深度学习: Epoch 是什么?

    文章目录 神经网络的训练梯度下降法 Epochbatchsizeiterations 神经网络的训练 梯度下降法 学习率 xff1a 步长更大 61 学习率更高 误差函数不断减小 如果训练数据过多 xff0c 无法一次性将所有数据送入计算
  • 四轴飞行器的设计与开发过程

    文章目录 一 系统组成模块1 上位机 xff08 PC xff09 2 遥控器系统3 飞行器机体系统3 1 接收遥控器无线数据 xff0c 并发送飞行数据到遥控器无线通信模块 Nordic NRF24L013 2 采集传感器数据并进行姿态解