ROS无人机开发常见错误

news2024/9/24 21:17:59

飞控部分

一、解锁时飞控不闪红灯,无任何反应,地面站也无报错

解决办法:

打开地面站的遥控器一栏

首先检查右下角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查看频率

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1380451.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++学习笔记——私有继承、多重继承、类模板

目录 一、私有继承 二、多重继承 三、类模板 四、一个使用私有继承的示例代码 4.1代码 4.2输出结果 五、多重继承案列 六、类模板案例 C中的继承和模板是非常强大和灵活的特性,它们可以帮助我们实现代码复用、抽象和泛化等目标。本文将着重介绍私有继承、多…

如何公网远程访问Linux AMH服务器管理面板【内网穿透】

⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 文章目录 ⛳️ 推荐1. Linux 安装AMH 面板2. 本地访问AMH 面板3. Linux安装Cpolar4. 配置AMH面板公网地址5. 远程访问AMH面板6…

RibbonGroup添加QLabel

RibbonGroup添加 QLabel: QLabel *pLabel new QLabel(tr("Label:QLabel Sample")); pLabel->setToolTip(tr("Label")); groupClipboard->addWidget(pLabel); 添加文本:

nodejs+vue+ElementUi音乐分享社交网站77l8j

本文介绍的系统主要分为两个部分:一是前台界面:用户通过注册登录可以实现音乐播放、新闻浏览、留言评论等功能;另一个是后台界面:音乐网站管理员对用户信息进行管理,上传更新音乐资源,发布最新音乐资讯等功…

测试工程师能否作为一份「终身职业」?30岁+怎么办?

【讨论】测试工程师可否作为一份终生的职业? 这是我在论坛看到的一个讨论,你的答案是什么呢? 我希望大家能认真思考后给出一个属于自己的答案,无论你是新手入门,还是资深专家。回答这个问题请不要凭一腔热血&#xff…

【SAP】如何删除控制范围

经历就是财富,可你终将遗忘。期望文字打败时间。 本周心惊胆战地在配置系统删除了一个控制范围,还是有些收获,特此记录一下。 背景:在删除控制范围之前,我主要做了如下配置。 定义控制范围(自动生成了成本…

Spark---累加器

1.累加器实现原理 累加器用来把 Executor 端变量信息聚合到 Driver 端。在 Driver 程序中定义的变量,在Executor 端的每个 Task 都会得到这个变量的一份新的副本,每个 task 更新这些副本的值后,传回 Driver 端进行 merge。 //建立与Spark框架…

【MATLAB】逐次变分模态分解SVMD信号分解算法

有意向获取代码,请转文末观看代码获取方式~ 1 基本定义 逐次变分模态分解(Sequential Variational Mode Decomposition,简称SVMD)是一种用于信号处理和数据分析的方法。它可以将复杂的信号分解为一系列模态函数,每个…

状态图作业

状态图作业 一. 简答题(共7题,100分) (简答题) 什么是状态,对象的状态和对象的属性有什么区别? 正确答案: 状态是指在对象生命周期中满足某些条件、 执行某些活动或等待某些事件的一个条件和状 况。属性表…

函数的秘密

1. 函数的概念 在数学中我们学习过函数,而在C语言中其有着与数学不同的概念: 在C语言中,函数是指一组执行特定任务的语句,这些语句可以重复使用,并且可以在程序的不同部分调用。通过使用函数,程序员可以将…

sectigo dv证书适合场景买一年送一月

Sectigo是成立于美国的知名CA认证机构,随着互联网的发展,Sectigo颁发了越来越多的SSL数字证书。这些SSL证书产品不仅可以对网站传输数据进行加密服务,还可以对服务器身份进行认证服务。Sectigo旗下的DV证书产品比较齐全,适用场景也…

腾讯云TDSQL TCA/TCP/TCE 认证考试有什么区别呢?

腾讯云认证等级:专项认证考试&云方向认证考试 一、专项认证考试 数据库交付运维-腾讯云TDSQL认证考试一共分为三个等级: 初级TCA、高级工程师TCP、专家级TCE 1、TDSQL TCA培训(MySQL版/PostgreSQL版)考试安排 TCA考试是纯理论题,总分是…

全新加密叙事,以Solmash为代表的 LaunchPad 平台如何为用户赋能?

铭文市场的火爆带来“Fair Launch”这种全新的代币启动方式,Fair Launch 的特点在于其为所有人参与 Launch 带来了公平的机会,所有链上玩家们都需要通过先到先得的方式 Mint 资产,VC 在 Fair Launch 中几乎没有话语权,不同的投资者…

Java医院管理系统HIS源码带小程序和安装教程

Java医院管理系统HIS源码带小程序和安装教程该项目是用springbootlayuishiro写的医院管理系统,该系统的业务比较复杂,数据库一共有36张表。项目的视频业务参考文档,都在百度云盘中,可以先看看视频和参考文档。 项目分为门诊管理、…

计算机毕设项目(二)基于django+vue+sqlite实现自适应学习系统,在线考试系统

文章目录 自适应学习系统功能介绍分权分域用户管理考试与练习管理练习记录管理学习内容管理其他功能管理界面部分源码展示完整代码 自适应学习系统功能介绍 这个系统是一个基于Django框架的Python在线考试和学习平台。vuedjango在线学习系统,在线考试系统。数据库使…

HTML--图片

HTML中使用 img标签来显示一张图片 它有三个属性&#xff1a; src alt tiltle src属性&#xff1a; 图片路径建议为相对路径&#xff0c;以免文件移动造成无法正常工作 用法&#xff1a; <img src"图片路径和名字"><!DOCTYPE html> <html> <…

PHP代码审计基础知识

前言 本文章主要是PHP代码审计的一些基础知识&#xff0c;包括函数的用法&#xff0c;漏洞点&#xff0c;偏向基础部分&#xff0c;个人能力有限&#xff0c;部分可能会出现错误或者遗漏&#xff0c;读者可自行补充。 代码执行 代码执行是代码审计当中较为严重的漏洞&…

计算机毕业设计——SpringBoot仓库管理系统(附源码)

1&#xff0c;绪论 1.2&#xff0c;项目背景 随着电子计算机技术和信息网络技术的发明和应用&#xff0c;使着人类社会从工业经济时代向知识经济时代发展。在这个知识经济时代里&#xff0c;仓库管理系统将会成为企业生产以及运作不可缺少的管理工具。这个仓库管理系统是由&a…

【Huggingface】如何访问Huggingface,Huggingface镜像

镜像站&#xff1a; https://hf-mirror.com/本站域名 hf-mirror.com&#xff0c;用于镜像 huggingface.co 域名。 更多用法&#xff08;多线程加速等&#xff09;详见这篇文章。简介&#xff1a; 方法一&#xff1a;使用huggingface 官方提供的 huggingface-cli 命令行工具。…

Centos7.9服务器编译安装Nginx1.24.0和php8.3

Centos7.9服务器编译安装Nginx1.24.0和php8.3 服务器nginx原版本有安全漏洞,需要升级,由于原始是yum源安装,通过yum直接升级,无法正常升级完成,故而需要卸载yum源,重新编译安装。 1、查看原来nginx版本,ps查看原来nginx进程,运行状态: ps aux | grep nginx ​ root …