当前位置: 首页 > news >正文

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))//以只写方式&#xff0c;文本模式打开文件{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总线篇 前面介绍过了&#xff0c;请参考 (十)IIC总线-PCF8591-ADC/…...

现在做电商还有发展空间吗?哪个平台的盈利比较大?

我是电商珠珠 对于部分人来说&#xff0c;实体店的投入太大&#xff0c;一上来就是十几w&#xff0c;有时候还看不到结果。 所以有的人就瞄准了电商这个圈子&#xff0c;做线上平台。 大家都知道&#xff0c;近年来直播电商很火&#xff0c;所以很多商家都会去找达人带货&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&#xff1a;根据下列流程图编写程序实现相应分析处理并显示结果。返回文字“xa*a*b的值&#xff1a;”和x的值&#xff1b;返回文字“xa-b的值&#xff1a;”和x的值&#xff1b;返回文字“xab的值&#xff1a;”和x的值。其中变量a、b均须为整型…...

C++核心编程——文件操作

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

【REST2SQL】05 GO 操作 达梦 数据库

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

GitLab 502 Whoops, GitLab is taking too much time to respond. 解决

1、先通过gitlab-ctl restart进行重启&#xff0c;2分钟后看是否可以正常访问&#xff0c;为什么要2分钟&#xff0c;因为gitlab启动会有很多配套的服务启动&#xff0c;包括postgresql等 2、如果上面不行&#xff0c;再看gitlab日志&#xff0c;通过gitlab-ctl tail命令查看&…...

vi ~/.bashrc 后如何编辑并退出

在使用 vi 编辑器打开 ~/.bashrc 文件后&#xff0c;可以按照以下步骤编辑并保存退出&#xff1a; vi ~/.bashrc 按 i 进入插入模式&#xff1a; 在 vi 编辑器中&#xff0c;按 i 键将进入插入模式。在插入模式中&#xff0c;您可以编辑文本。 编辑文件&#xff1a; 在插入模…...

KVM Vcpu概述

KVM Vcpu概述 Intel VTSMP系统CPU过载使用CPU模型CPU绑定和亲和性CPU优化 Intel VT Intel的硬件虚拟化技术大致分为3类&#xff1a; 1、VT-x技术&#xff1a;是指Intel处理器中的一些虚拟化技术支持&#xff0c;包括CPU中最基础的VMX技术&#xff0c;也包括内存虚拟化的硬件支…...

linux服务器ftp部署

1、ftp服务安装 # 检查是否安装 1、查询安装列表 sudo systemctl list-unit-files --typeservice | grep ftp 2、查询ftp服务状态 sudo service vsftpd status 或者 sudo systemctl status vsftpd # yum安装&#xff0c;一般yum仓库都有ftp安装包 sudo yum install vsftpd # 启…...

NSIS 安装windows 安装包(包括QT和MFC)

NSIS&#xff08;Nullsoft Scriptable Install System&#xff09;是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。 基本概念 区段 是对应某种安装/卸载选项的处理逻辑&#xff0c;该段代码仅当用户选择相应的选项才被执行…...

K8S----PVPVCSC

一、简介 1、PV(persistent volume)–持久卷 PV是集群中的一块存储,可以由管理员事先静态(static)制备, 也可以使用存储类(Storage Class)来动态(dynamic)制备。 持久卷是集群资源,就像节点也是集群资源一样。PV 持久卷和普通的 Volume 一样, 也是使用卷插件(volume p…...

RSIC-V“一芯”学习笔记(一)——概述

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

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中&#xff0c;FILL函数与GROUP BY子句结合使用&#xff0c;提供了对于在指定间隔内…...

【第一次使用finalshell连接虚拟机内的centos】小白处理方式

第一次使用finalshell连接centos7的时候&#xff0c;因为都是新环境什么都没有配置&#xff0c;所以就需要安装finalshell和对新的centos7 进行一些配置。 安装finalshel&#xff0c;默认不安装d盘&#xff0c;就需要对安装路径做一下调整&#xff0c;其余都是下一步默认安装的…...

Pinia 踩坑记录

1、子store中如何使用router 以user.ts 这个store为例 错误写法 // 说明&#xff1a;不能使用插件实例化router&#xff0c;否则获取不到router的函数 // 错误写法如下&#xff1a;import { useRouter } from "vue-router"actions:{login(){const router useRout…...

在ASP.NET MVC中使用JQuery提供的弹出窗口(模态窗口)

在ASP.NET MVC中使用JQuery提供的弹出窗口&#xff08;模态窗口&#xff09; 原理 使用<div>图层灵活显示在浏览器的任何位置。默认情况下指定<div>不可见 引用 样式表 在JQuery的官方网站可以下载对应的css样式表。打开官网的样例页。 找到样式表引用路径 …...

基本工具配置

github加速 github.ur1.fun java # ubuntu20.04 安装 openjdk-17-jdk sudo apt install openjdk-17-jdk java -version javac -version which java参考 openjdk gradle换源 修改gradle-wrapper.properties distributionBaseGRADLE_USER_HOME distributionPathwrapper/dis…...

计算机网络——应用层(3)

计算机网络——应用层&#xff08;3&#xff09; 小程一言专栏链接: [link](http://t.csdnimg.cn/ZUTXU) 点对点&#xff08;P2P&#xff09;P2P网络一般用途优点缺点总结 套接字编程基本步骤UDP套接字TCP套接字基本步骤 二者对比 小程一言 我的计算机网络专栏&#xff0c;是自…...

配置ssh实现互相免密登陆

一、实验要求 通过两台linux主机 配置ssh 实现互相免密登陆 的操作 二、实验思路 免密登录我们可以理解为使用公钥登录&#xff0c;这里分别使用两台主机&#xff08;client&#xff09;和&#xff08;server&#xff09;作为实验主机。 首先让client免密登录server&#x…...

【UEFI基础】EDK网络框架(ARP)

ARP ARP协议说明 从这里开始涉及到的网络协议都是比较通用的了&#xff0c;在一般的TCP/IP四层模型中都能够看到这些内容&#xff0c;不过这里主要介绍的还是其在BIOS下的实现&#xff0c;但是在此之前还是需要先说明ARP的作用。 ARP的全称是Address Resolution Protocol&am…...

Linux进阶课:目录(文件夹)与文件操作

1、ls与cat的区别是是什么&#xff1f; 答&#xff1a;ls命令的含义是list&#xff0c;显示当前目录中内容。不加参数时它显示当前目录中除隐藏文件外的所有文件及目录的名字。 cat命令是linux下的一个文本输出命令&#xff0c;通常是用于查看某个文件的内容的。 2、[abc]这个…...

Flink自定义Source模拟数据流

maven依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.…...

[易语言]使用易语言部署工业级人脸检测模型

【框架地址】 https://github.com/ShiqiYu/libfacedetection 【算法介绍】 Libfacedetection是一个开源的计算机视觉库&#xff0c;主要用于实时的人脸检测。它利用深度学习技术&#xff0c;特别是卷积神经网络&#xff08;CNN&#xff09;&#xff0c;实现了高精度的脸部定位…...