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、状态栏无热点创建图标,可命令行创建热点

javascript 复制代码
`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查看频率

相关推荐
LittroInno20 小时前
无人机侦察打击方案(3)
人工智能·无人机
云卓SKYDROID21 小时前
无人机的激光雷达避障系统阐述!
科技·安全·无人机·云卓科技·激光雷达避障系统
古月居GYH1 天前
ROS一键安装脚本
人工智能·机器人·ros
DeepAlchemy1 天前
ROSSERIAL与Arduino IDE交叉开发(UBUNTU环境,包含ESP32、arduino nano)
c++·单片机·ros·rosserial
Matlab程序猿小助手2 天前
【MATLAB源码-第218期】基于matlab的北方苍鹰优化算法(NGO)无人机三维路径规划,输出做短路径图和适应度曲线.
开发语言·嵌入式硬件·算法·matlab·机器人·无人机
创小董2 天前
无人机挂载超细干粉灭火装置技术详解
无人机
LittroInno3 天前
无人机侦察打击方案(2)
深度学习·无人机·tofu
创小董3 天前
无人机飞手入门指南
无人机
LittroInno3 天前
无人机侦察打击方案(1)
无人机·无人机打击·tofu
云卓SKYDROID4 天前
无人机在森林中的应用!
科技·安全·无人机·知识科普·云卓科技