PX4 室外 GPS 设置部分 PX4 飞控禁止通过 USB 口给外设供电
如果需要对 GPS 进行配置,需要先用电池给飞控上电,再连接USB
或者用电池给飞控上电后通过数传进行配置校准
注:部分飞控保护措施不够完善,建议不要同时通过电池和 USB 上电,容易烧坏飞控
GPS 安装方向尽量将 GPS 安装的方向与机头方向一致,否则需要在 QGC 地面站中进行设置。
QGC 地面站配置GPS 与 罗盘配置GPS 所使用到的参数:
SYS_HAS_GPS = Enabled
当检测到 GPS 时启用 GPS
SYS_HAS_MAG = 1
部分飞控没有自带罗盘,需要将其设为 0
EKF2_MAG_TYPE = Automatic
GPS_1_CONFIG = GPS 1
根据飞控实际给出的 TELEM 接口说明进行修改为实际所使用的接口
GPS_1_PROTOCOL = u-blox
根据实际所购买的 GPS 的通信方式进行修改
SER_GPS1_BAUD = Auto
通信波特率,正常情况下使用 Auto
GPS ...
基于 NOKOV 动捕系统的无人机蜂群开发NOKOV 动捕系统配置网络配置无人机板载、动捕主机、动捕系统摄像头、PC 主机处于同一 10.1.1.1 网段下
在动捕主机上将网络 IP 网关改为 10.1.1.1,并关闭防火墙
再使路由器连接动捕主机,动捕主机连接交换机,交换机连接动捕系统
并在路由器内对 IP 进行设置,改为 10.1.1.1
无人机板载和 PC 主机连接 WIFI
并在配置内将 IP 改为 10.1.1.*(如 10.1.1.2),注意不要和已存在的 IP 重复
注:该套配置下仅为了使无人机、动捕主机、动捕系统摄像头、PC 主机能够进行交互,没有上网功能,如需网络,则需要给路由器连接上网口
系统配置需要进行 L 型和 T 型标定,再将无人机标定创建为刚体
无人机朝向动捕系统中的 x 轴,再在系统中打开 SDK 流
并确保无人机刚体 ID 和 ROS 中配置相同
PS:无人机使用 mavros 时:X 轴为机头方向,Y 轴为机头左边,Z 轴朝上
基础环境安装需要安装 ROS2 和 MavRos 功能包及相关依赖
请参考PX4 开发之旅
NOKOV 动捕系统的安装及配置N ...
MySQL 学习之旅MySQL 基础操作数据类型
数值类型
类型
大小
范围(有符号)
范围(无符号)
用途
tinyint
1 Byte
[-2^7, 2^7 − 1]
[0, 2^8 − 1]
小整数值
smallint
2 Bytes
[-2^15, 2^15 − 1]
[0, 2^16 − 1]
大整数值
mediumint
3 Bytes
[-2^23, 2^23 − 1]
[0, 2^24 − 1]
大整数值
int / integer
4 Bytes
[-2^31, 2^31 − 1]
[0, 2^32 − 1]
大整数值
bigint
8 Bytes
[-2^63, 2^63 − 1]
[0, 2^64 − 1]
极大整数值
float
4 Bytes
[−(2 − 2^−23)·2^127, (2 − 2^−23)·2^127];最小正正规数:2^−126
[0, (2 − 2^−23)·2^127];最小正正规数:2^−126
单精度 浮点数值
double
8 Bytes
[−(2 − 2^−52)·2^1023, ( ...
Ros 自动避障导航小车该项目基于 jetson nano 板载上的 Ubuntu 18.04 系统开发。
相关镜像已经上传至 172
PX4 仿真调试建议在 WSL 上进行仿真
不要在板载上进行仿真!!!!
该仿真方案所采用的环境为 Ubuntu20.04 ROS2-Foxy
如需进行 Ubuntu22.04 环境的仿真,自行将 Gazebo Classic 改为 gz_x500
前置环境安装 ros2请参考 于 orangepi5 plus 上部署 ros2
conda 安装
看查内核版本
1uname -m
诺为 x86_64:
安装相应的 x86_64 版本的 conda:
1234wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2024.10-1-Linux-x86_64.sh# 下载完后再安装sh Anaconda3-2024.10-1-Linux-x86_64.sh
执行 Enter(回车)同意继续往下安装:
123456Welcome to Anaconda3 2024.10-1In order to continue the installation process, please review the l ...
PX4 飞控调试方案
注:
每次无人机起飞前和降落后都应用手去触摸电机感受温度
若温度过高应等待电机冷却后再进行起飞
防止烧坏电机!
温度过高常常代表其 PID 调参有问题
D 过高会导致电机变烫
而 PID 整体调参过小导致无人机震荡也会造成电机变烫
QGC 地面站设置刷固件烧录固件前务必将连接到飞控的所有设备断开(拔掉飞控上的所有杜邦线)!否则可能会造成烧录出错。
无人机校准注:每次大改无人机结构件后一定要重新进行校准
PID 调试
PID 调参要点
在 PID 调参之前,需要先调整无人机滤波
先使用高度\自稳模式\定点模式调试 pitch、roll 内环 PID
再用定点模式调 yaw 内环 PID
每次调参后都需要重新飞行收集数据
如果飞行抖动剧烈一定要立刻降落、锁定桨叶,观察电机温度,防止电机烧坏
具体步骤:
每次起飞前和降落后都应用手去触摸电机感受温度;
在无人机上装上速传对飞机模式进行监控,如果模式发生突变(如:定点模式因 T265 定位飘掉,导致定位不准降级为高度模式),应立即下拉油门降落,并用制动按钮锁定桨叶;
飞手控制无人机在空旷的室内场地绕正方形飞行,飞行速 ...
于 orangepi5 plus 上启用外设引脚
orangepi5 plus 开发文档 提取码:8sf6
具体请参考开发文档 P264 页
进入图形化界面
1sudo orangepi-config
选择 System
选择 Hardware
使用方向键选择想要打开的外设引脚, 再用空格进行选中
点击 BACK 返回保存重启即可
下图为 Orangepi 5 plus 的外设引脚,详细请参考开发文档
下图为 UART 引脚高亮显示
Realsense 相机的疑难杂症主要是讲解几个 jetson 系列板载使用 Realsense 相机(主要是 T265 和 D435)时 常遇到的一些问题
T265 拔插识别的解决方案T265 插在板载上面启动后会被默认识别为 USB2.0 设备,无法正常使用
安装 uhubctl123456789101112131415161718192021222324252627sudo apt-get install libusb-1.0-0-dev -ygit clone https://github.com/mvp/uhubctl# git clone https://gitee.com/greymaner/uhubctl.gitcd uhubctlmakesudo make install# 这里简单介绍一下 uhubctl 的使用uhubctl -h # 查看使用说明Options [defaults in brackets]:--action, -a - action to off/on/cycle/toggle (0/1/2/3) for affected ports.--p ...
HAL 库看门狗
独立看门狗
由专用的低速时钟(LSI)驱动(40kHz),即使主时钟发生故障它仍有效。独立看门狗适合应用于需要看门狗作为一个在主程序之外 能够完全独立工作,并且对时间精度要求低的场合。
窗口看门狗
由从 APB1 时钟(36MHz)分频后得到时钟驱动。通过可配置的时间窗口来检测应用程序非正常的过迟或过早操作。窗口看门狗最适合那些要求看门狗在精确计时窗口起作用的程序。
独立看门狗
使用范畴:
出现程序跑飞
出现死循环
睡眠,休眠不合理
外部主晶振坏掉
工程建立
设置 RCC:
设置 HSE 为外部时钟
配置 IWDG:
IWDG 时钟预分频系数 4 分频计数器重装载值 4095 RLR
超出(溢出)时间计算:
Tout=((4×2^PRER) ×RLR)/LSI 时钟频率
对应不同预分频系数的 PRER 值:
HAL 库 独立看门狗 函数库HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg) 看门狗初始化函数
HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg) ...
HAL 库STM32CubeMX
简介及下载
在 CubeMX 上,通过傻瓜化的操作便能实现相关配置,最终能够生成 C 语言代码,支持多种工具链,比如 MDK、IAR For ARM、TrueStudio 等 省去了我们配置各种外设的时间,大大的节省了时间。
在蓝桥杯中,可以通过使用 STM32CubeMX 实现 HAL 库,达成快速编写代码的效果。
其 TM32CubeMX 的使用需要 JAVA 支持。
安装 HAL 库
在线安装
打开安装好的 STM32CubeMX 软件 点上面的 Help –> Manage embedded software packages
会跳出来一个选择型号界面 勾选上你要安装的 HAL 库, 点击“Install Now” 直到安装成功。 如下图:
离线安装(需掌握)
蓝桥杯中若主办方提供的固件包有误,需使用离线安装。
直接导入安装包 Help –> Manage embedded software packages –> From Local 选择离线包即可
新建工程方式
在主界面选择 File –> New ...

















