ROS无人机开发常见错误
飞控部分
一、解锁时飞控不闪红灯,无任何反应,地面站也无报错
解决办法:
打开地面站的遥控器一栏
首先检查右下角Channel Monitor是否有识别出遥控各通道的值,如果没有,检查遥控器是否打开,遥控器和接收机是否对频成功,接收机和飞控的接线是否正确。
如果Channel Monitor可以识别出遥控各通道的值,再检查上方横滚/俯仰/水平/油门四个通道的微调是否在中点(即遥控器摇杆自然回中的情况下,地面站显示四个通道的值都在中位)。
如果微调不在中点,将遥控器的微调都设置到中点
如果微调都在中点,则手拨一下遥控器的摇杆的四个通道,观察地面站横滚/俯仰/水平/油门四个通道的行程和正反
如果行程过小,检查遥控的行程缩放,如果正反不对,在地面站重新校准遥控器
如果上述检查都没有问题,但是没法通过摇杆解锁无人机,可以检查飞行模式一栏的Arm switch channel,如果该通道设置了遥控器的通道,则只能通过该通道解锁,而无法通过摇杆解锁。因此如果想通过摇杆解锁,需要将该通道设置为Unassigned。
二、解锁时飞控闪红灯,地面站报错
解决办法:
根据具体的报错进行排查,常见的报错及解决办法如下:
1、Kill switch engagen
出现这个报错是因为使能了刹车开关
解决方法:将刹车开关拨到未使能状态。
或者关掉刹车开关,下图设置为unassigned,
2、Power redundancy not met:
如果出现下面的报错
这个参数是检查解锁时是否有电池供电,默认是需要插电流计供电才可以解锁。如果想通过其他方式(如ESC供电)给飞控供电进行解锁,则需要设置该参数为894281。
3、USB连接检查CBRK_USB_CHK(USB相关报错)
这个参数是检查起飞时是否有USB连接,默认情况下有USB连接时是无法解锁的,如果需要插USB解锁,需要设置为197848
4、安全开关检查CBRK_IO_SAFETY
默认情况下安全开关是慢闪状态,设置该参数蔚22027时,上电后安全开关自动切换为双闪。
5、high Accelerometer bios
如果报错加速度偏移过大,high Accelerometer bios
可以把com_arm_ekf_ab
这个参数调大一些,在1.13以后版本的固件中,把EKF2_ABL_LIM
调大。
6、high gyro bios
同理可以通过改下面这个参数把陀螺仪的起飞检查阈值该大一些,com_arm_ekf_gb
7、compasss inconsistent
如果报罗盘某个度数没包含的错误,COM_ARM_MAG_ANG
设为-1
8、GPS报错
如果GPS搜星少,长时间没有进入GPS定位,可以把下面EKF2_GPS_CHECK
改成0
9、Accels inconsistent
把下面这个COM_ARM_IMU_ACC
改大一些,图中以加速度计为例,如果陀螺仪出现类似报错也是修改相应的参数
10、偏航角一直漂移
解决办法是校准陀螺仪
11、PREFLIGHT FAIL: ACCEL SENSORS INCONSISTENT - CHECK CALIBRATION
当来自不同 IMU 单元的加速度测量值不一致时,会产生此错误消息。
此检查仅适用于具有多个 IMU 的板。
解决办法
将COM_ARM_IMU_ACC
参数改大(可能要超限强制保存)。
同理
12、PREFLIGHT FAIL: GYRO SENSORS INCONSISTENT - CHECK CALIBRATION
检查COM_ARM_IMU_GYR参数
13、PREFLIGHT FAIL: EKF INTERNAL CHECKS
如果水平 GPS 速度、偏航角、垂直 GPS 速度或者垂直位置传感器(气压计默认情况下可以使测距仪或 GPS ,如果使用非标准参数)其中之一新息过多,会产生此错误消息。 新息指的是惯性导航计算预测值与传感器测量值之间的差异。
用户应检查日志文件中新息级别以确定原因。 这些可以在ekf2_innovations消息下找到。 常见问题 / 解决方案包括:
IMU 启动时漂移。 可以通过重启自驾仪来解决。 可能需要 IMU 加速度计和陀螺仪校准。
相邻磁干扰在飞行器运动中。 通过等待或者重新上电解决。
磁力计校准不良在飞行器运动中。。 通过重新校准解决。
启动时的初始冲击或快速移动导致惯性导航失败。 通过重新启动飞行器并在前 5 秒内最大限度地减少移动来解决此问题。
14、PREFLIGHT FAIL: EKF YAW ERROR
当使用陀螺仪数据估计的偏航角和来自磁力计或外部视觉系统的偏航角不一致时,产生该误差。
检查 IMU 数据是否存在较大的偏航率漂移,并检查磁力计的对准和校准。
可以修改COM_ARM_EKF_YAW
关闭此检查
15、PREFLIGHT FAIL: EKF HORIZ POS ERROR
当 IMU 和位置测量数据(GPS 或外部视觉)不一致时会产生此问题。
检查位置传感器数据是否存在不真实的数据跳转。 如果数据质量看起来不错,请执行加速度计和陀螺仪校准并重新启动飞行器。
可以通过COM_ARM_EKF_POS
参数禁用
16、PREFLIGHT FAIL: EKF VEL ERROR
当 IMU 和 GPS 速度测量数据不一致时会产生此错误。
检查 GPS 速度数据是否存在不真实的数据跳转。 如果 GPS 质量看起来没有问题,请执行加速度计和陀螺仪校准并重新启动飞行器。
可以通过COM_ARM_EKF_VEL
参数禁用
17、PREFLIGHT FAIL: EKF HGT ERROR
当 IMU 和高度测量数据不一致时会产生此错误。
执行加速度计和陀螺仪校准并重新启动飞行器。 如果错误仍然存在,请检查高度传感器数据是否存在问题。
可以通过COM_ARM_EKF_HGT
参数禁用
18、yaw estimate error
如果报错 yaw estimate error ,则把下面参数改大
COM_ARM_EKF_YAW
19、CPU load too high / No CPU load information
COM_CPU_MAX
该参数设置为-1将禁用CPU利用率检查,如果改参数大于0,当飞控CPU利用率大于该值或者检测不到CPU信息时,将不能解锁,报下面的错:
Fail: No CPU load information
或者
Fail: CPU load too high:
20、 Crash dumps present on SD,vehicle needs service
如果报错:
Crash dumps present on SD,vehicle needs service
将COM_ARM_HFLT_CHECK
改为Disabled
21、安全开关
安全开关没打开也会导致无法解锁,有的是集成再GPS上,有的是单独的一个小按钮,慢闪就是没打开的状态,长按一下变成双闪,就是打开状态们就可以解锁了。
22、连接地面站能解锁,断开地面站不能解锁
参考第二节禁用电源检查
三、飞控无法记录日志
解决办法:将tf卡格式化
四、日志显示日期未知
这是由于飞控没有GPS校准时间,可以把旧的日志都删除,新刷出来的日志就是上一次飞行的日志。
五、飞机未相应对参数的请求
无人机在首次连接地面站时,加载参数时间超时,导致参数加载不完全,出现下面的提示
解锁方法:
修改数传口的参数,例如数传接的是Telem1口
修改参数如下:
ROS部分
一. Ubuntu 相关
1、SSH远程连接报错
解决方案:终端运行上述图中选中部分,更新一下即可
第一步:
第二步:根据提示输入yes后输入密码即可
第三步:成功后如下图所示
2、解决“E 无法获得锁/ var/lib/apt/lists/ (11 资源暂时不可用)
解决方法:
方法一:执行:sudo dpkg --configure -a
方法二:
(1)、查看 apt-get 的相关进程: ps -e | grep apt 1
(2)、用 sudo kill PID 代码 杀死进程 如: sudo kill 25379
方法三:强制解锁
sudo rm /var/cache/apt/archives/lock sudo
sudo rm /var/lib/dpkg/lock
3、 在执行 sudo apt update 时卡在正在等待报头的错误
解决方法:
sudo rm -rf /var/lib/apt/lists/*
sudo rm -rf /var/lib/apt/lists/partial/*
cd /var/cache/apt/archives
sudo rm -rf partial
4、 pip install 显示连接超时:Read time out
解决方法:修改超时限定时间
pip --default-timeout=100 install 包名
或
pip --default-timeout=100 install -U pip
5、状态栏无热点创建图标,可命令行创建热点
nm-connection-editor
6、 Ubuntu 系统无法打开 U 盘或无法剪切删除文件
解决方法:
1、sudo apt-get install exfat-utils
2、重新插拔U盘
7、解决虚拟机 nfs 挂载提示 mount.nfs: Stale file handle
解决方法:解除当前挂载,然后重新挂载即可
注意:以下接触挂载的是home目录下的mnt文件夹,对应上自己的挂载目录
1、解除挂载
sudo umount -t nfs 192.168.0.100:/home/cwkj/cwkj_ws/ ~/mnt
2、重新挂载对应的文件夹xxxx
sudo umount -t nfs 192.168.0.100:/home/cwkj/xxxx/ ~/mnt
二、ROS相关
1、编译时间报错,未生成绿色可执行文件
解决方案:修改系统时间,然后重新修改代码,然后重新编译
注:修改时间后,一定要重新修改代码,系统会根据时间判断文件是否改动
1、修改系统时间,尽量控制在误差不超过1分钟即可
2、修改文件:任意修改一个地方,空格也可以,然后保存
3、重新进行编译:
4、出现如下绿色可执行文件表示编译成功
2、catkin_make 只编译一个功能包
问题原因:使用过编译单独功能包指令,后续 catkin_make 也只编译同一个功能包:
解决方法:解除单独编译
catkin_make -DCATKIN_WHITELIST_PACKAGES=""
后续的 catkin_make 也会正常编译全部功能包
3 、打印和查看识别物体的位置信息
解决方案:在主控端查看即可,虚拟机没有对应的消息结构
同理:使用hz查看频率
相关文章:

ROS无人机开发常见错误
飞控部分 一、解锁时飞控不闪红灯,无任何反应,地面站也无报错 解决办法: 打开地面站的遥控器一栏 首先检查右下角Channel Monitor是否有识别出遥控各通道的值,如果没有,检查遥控器是否打开,遥控器和接收…...
Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现相机图像转换为AVI视频格式(C#)
Baumer工业相机堡盟工业相机如何联合NEOAPI SDK和OpenCV实现相机图像转换为视频格式(C#) Baumer工业相机Baumer工业相机的图像转换为OpenCV的图像的技术背景在NEOAPI SDK里实现相机图像转换为视频格式 工业相机通过OpenCV实现相机图像转换为视频格式的优…...

第一次面试总结 - 迈瑞医疗 - 软件测试
🧸欢迎来到dream_ready的博客,📜相信您对专栏 “本人真实面经” 很感兴趣o (ˉ▽ˉ;) 专栏 —— 本人真实面经,更多真实面试经验,中大厂面试总结等您挖掘 注:此次面经全靠小嘴八八,没…...

利用Qt输出XML文件
使用Qt输出xml文件 void PixelConversionLibrary::generateXML() {QFile file("D:/TEST.xml");//创建xml文件if (!file.open(QIODevice::WriteOnly | QIODevice::Text))//以只写方式,文本模式打开文件{qDebug() << "generateXML:Failed to op…...

OpenWrt智能路由器Wan PPPoE拨号配置方法
OpenWrt智能路由器的wan PPPoE拨号配置方法和我们常见的不太一样, 需要先找到wan网卡,然后将协议切换为 PPPoE然后才能看到输入上网账号和密码的地方. 首先登录路由器 http://openwrt.lan/ 然后找到 Network --> Interfaces 这里会显示你当前的路由器的所有接口, 选择 …...

(十一)IIC总线-AT24C02-EEPROM
文章目录 IIC总线篇AT24C02-EEPROM篇主要特性引脚说明AT24Cxx用几位数据地址随机寻址的(存储器组织)AT24C02设备操作AT24CXX设备寻址EEPROM写操作的种类EEPROM读操作的种类实现单字节写实现任意读读写应用 IIC总线篇 前面介绍过了,请参考 (十)IIC总线-PCF8591-ADC/…...
现在做电商还有发展空间吗?哪个平台的盈利比较大?
我是电商珠珠 对于部分人来说,实体店的投入太大,一上来就是十几w,有时候还看不到结果。 所以有的人就瞄准了电商这个圈子,做线上平台。 大家都知道,近年来直播电商很火,所以很多商家都会去找达人带货&am…...
多节点 docker 部署 elastic 集群
参考 Install Elasticsearch with Docker Images 环境 docker # docker version Client: Docker Engine - CommunityVersion: 24.0.7API version: 1.43Go version: go1.20.10Git commit: afdd53bBuilt: Thu Oct 26 09:08:01 202…...

2023年全国职业院校技能大赛软件测试赛题—单元测试卷⑨
单元测试 一、任务要求 题目1:根据下列流程图编写程序实现相应分析处理并显示结果。返回文字“xa*a*b的值:”和x的值;返回文字“xa-b的值:”和x的值;返回文字“xab的值:”和x的值。其中变量a、b均须为整型…...

C++核心编程——文件操作
本专栏记录C学习过程包括C基础以及数据结构和算法,其中第一部分计划时间一个月,主要跟着黑马视频教程,学习路线如下,不定时更新,欢迎关注。 当前章节处于: ---------第1阶段-C基础入门 ---------第2阶段实战…...

【REST2SQL】05 GO 操作 达梦 数据库
【REST2SQL】01RDB关系型数据库REST初设计 【REST2SQL】02 GO连接Oracle数据库 【REST2SQL】03 GO读取JSON文件 【REST2SQL】04 REST2SQL第一版Oracle版实现 信创要求用国产数据库,刚好有项目用的达梦,研究一下go如何操作达梦数据库 1 准备工作 1.1 安…...

GitLab 502 Whoops, GitLab is taking too much time to respond. 解决
1、先通过gitlab-ctl restart进行重启,2分钟后看是否可以正常访问,为什么要2分钟,因为gitlab启动会有很多配套的服务启动,包括postgresql等 2、如果上面不行,再看gitlab日志,通过gitlab-ctl tail命令查看&…...
vi ~/.bashrc 后如何编辑并退出
在使用 vi 编辑器打开 ~/.bashrc 文件后,可以按照以下步骤编辑并保存退出: vi ~/.bashrc 按 i 进入插入模式: 在 vi 编辑器中,按 i 键将进入插入模式。在插入模式中,您可以编辑文本。 编辑文件: 在插入模…...

KVM Vcpu概述
KVM Vcpu概述 Intel VTSMP系统CPU过载使用CPU模型CPU绑定和亲和性CPU优化 Intel VT Intel的硬件虚拟化技术大致分为3类: 1、VT-x技术:是指Intel处理器中的一些虚拟化技术支持,包括CPU中最基础的VMX技术,也包括内存虚拟化的硬件支…...
linux服务器ftp部署
1、ftp服务安装 # 检查是否安装 1、查询安装列表 sudo systemctl list-unit-files --typeservice | grep ftp 2、查询ftp服务状态 sudo service vsftpd status 或者 sudo systemctl status vsftpd # yum安装,一般yum仓库都有ftp安装包 sudo yum install vsftpd # 启…...
NSIS 安装windows 安装包(包括QT和MFC)
NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。 基本概念 区段 是对应某种安装/卸载选项的处理逻辑,该段代码仅当用户选择相应的选项才被执行…...
K8S----PVPVCSC
一、简介 1、PV(persistent volume)–持久卷 PV是集群中的一块存储,可以由管理员事先静态(static)制备, 也可以使用存储类(Storage Class)来动态(dynamic)制备。 持久卷是集群资源,就像节点也是集群资源一样。PV 持久卷和普通的 Volume 一样, 也是使用卷插件(volume p…...

RSIC-V“一芯”学习笔记(一)——概述
考研的文章和资料之后想写的时候再写怕趴 文章目录 一、阶段设计二、环境、开发语言和工具三、最重要的两个观念四、处理器芯片设计五、处理器芯片设计包含很多软件问题六、处理器芯片的评价指标七、复杂系统的构建和维护八、专业世界观九,提问的艺术(提问模板)十、…...

MATLAB读取图片并转换为二进制数据格式
文章目录 前言一、MATLAB 文件读取方法1、文本文件读取2、二进制文件读取3、 图像文件读取4、其他文件读取 二、常用的图像处理标准图片链接三、MATLAB读取图片并转换为二进制数据格式1、matlab 源码2、运行结果 前言 本文记录使用 MATLAB 读取图片并转换为二进制数据格式的方…...

时序数据库
SELECT *,max(lp_index) FROM lp.tdm_lp_original_data where ts > 2023-12-28 18:11:33.521 and ts < 2023-12-29 19:03:12.148 INTERVAL(2s) FILL(PREV) 在时间序列数据库TDengine中,FILL函数与GROUP BY子句结合使用,提供了对于在指定间隔内…...

linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
vue3 定时器-定义全局方法 vue+ts
1.创建ts文件 路径:src/utils/timer.ts 完整代码: import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...

从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
土建施工员考试:建筑施工技术重点知识有哪些?
《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目,核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容,附学习方向和应试技巧: 一、施工组织与进度管理 核心目标: 规…...

【51单片机】4. 模块化编程与LCD1602Debug
1. 什么是模块化编程 传统编程会将所有函数放在main.c中,如果使用的模块多,一个文件内会有很多代码,不利于组织和管理 模块化编程则是将各个模块的代码放在不同的.c文件里,在.h文件里提供外部可调用函数声明,其他.c文…...