基于Pixhawk和ROS搭建自主无人车(一):底盘控制篇
发布时间:2024年01月11日
参考
1. 硬件篇
1.1 底盘构成一览
1.2 底盘接线示意
2. 软件篇
2.1 APM 固件下载
- pixhawk 是硬件平台,PX4 是 pixhawk 的原生固件,APM(Ardupilot Mega)是硬件平台,Ardupilot 是 APM 的固件(也称 APM 固件),APM 固件支持硬件更多,无人车平台推荐使用 APM 固件
- 本文使用 pixhawk 1 代硬件平台,因此下载的是 fmuv2 的固件(pixhawk 2 代则对应下载 fmuv3 固件)
- 下载地址:https://firmware.ardupilot.org/Rover/stable-4.2.3/fmuv2/
- 进入上述链接后只需下载 ardurover.apj 文件
2.2 Mission Planner 地面站设置
- 5、设置遥控器解锁和加锁
在解锁之前,通常应该等待 pixhawk 状态指示灯变成闪烁蓝色(如果只打算使用手动模式)或闪烁绿色(适用于所有其他模式)
- 解锁方式一:从遥控器操纵杆上解锁
- 确保小车处于停车 Hold 模式,先将油门杆推至中点(0),然后将横滚转向摇杆完全打向右边(或左边),然后保持 2 秒,当 pixhawk 状态指示灯为蓝灯或者绿灯长亮,则代表解锁成功
- 加锁方式一:从遥控器操纵杆上加锁
- 首先确保小车处于停车 Hold 模式,先将油门杆推至中点(0),然后将横滚转向摇杆完全打向左边(或右边),保持 2 秒,当 pixhawk 状态指示灯为蓝灯或者绿灯闪烁,则代表加锁成功
- 解/加锁方式二:Mission Planner 地面站界面解/加锁
3. 补充内容
3.1 控制模式介绍
-
停车模式 Hold Mode
- 在停车模式下打摇杆时,车不会响应,并保持停止状态,车轮指向前方
- 停车模式常用于解锁跟加锁,因为在停车模式下,摇杆解锁跟加锁时,电机和舵机不会响应
- 这个模式还可以起到失控保护作用,及时停车以防止车被损坏
-
手动模式 Manual Mode
- 在手动模式下,遥控器的转向和油门杆直接控制车辆的油门和转向输出,没有 PID 参与控制
- 此模式不需要位置估计(即不需要 GPS)
- 建议始终将一个遥控器模式开关位置分配给该模式
- 在手动模式下,油门的变换率由 MOT_SLEW_RATE 这个参数来限制。该参数默认为 100,即油门可以在 1s 内从 0% 到 100% 变换;设置成 0 的,油门的变换率不受限制
-
自动模式 Auto Mode
- 在自动模式下,车会按照预先设置好的航点或者任务进行自动行驶,不需要人为手动干预。这些任务航点主要包括:自动行驶的航点、到达航点后触发的动作等
- 自动模式需要良好的 GPS 定位才能切换进去,所以在解锁和起飞之前必须让 GPS 定位,可以通过查看 pixhawk 状态指示灯和 GPS 的 LED 灯来确认
-
引导模式 Guided Mode
- 在引导模式下,用户可以通过 Mission Planner 地面站手动控制小车行驶
- 首先,通过数传模块连接飞控;然后,在 “飞行数据” 主界面的地图中,移动鼠标到指定的位置,右击鼠标,选择 ”飞行至此 ”;此时,小车会切换为引导模式,并朝向指定的点行驶;一旦到达目的地则停车
-
返航模式 RTL Mode
- RTL 代表返回到解锁的位置
- 切换到 RTL 模式后,车辆将转弯并尝试直接返回到上次解锁的位置(除非从地面站修改了家的位置,否则会返航到最新解锁的位置)
- 一旦车到达返航的位置时,它会保持在当前的位置
- RTL_SPEED 参数用于设置车的返航速度(m/s),该参数默认为 0,此时车的返航速度由 WP_SPEED 决定
-
智能返航 SmartRTL Mode
- 和正常的返航模式一样,车会返回到家的位置,但它能原路返航,而不是直接朝着家的方向返航,所以智能返航在返航过程中,会自动避开遇到的障碍物,并不是直接朝着家的方向返航
- 如果是车返航到达家的位置时,会停车并切断所有动力输出
- 车在解锁时,一定要有良好的 GPS 定位,否则返航时不能切换进智能返航模式
3.2 pixhawk 状态指示灯解析
3.3 安全开关灯解析
3.4 解锁故障解析
- check firmware or FRAME_CLASS:请选择机架类型
- 3D Accel calibration needed:加速度计需要校准
- safe switch:安全开关未关闭,长按至灯长亮
- RC not calibrated:遥控器没有校准
- Baro not healthy:气压计不健康
- Alt disparity:气压计与惯性导航系统的高度不一致超过 2 米以上,这一消息通常是短暂的,当飞行控制器首次插入或如果它接收到一个硬的颠簸发生,如果没有消失,加速度计或许需要校准,或者气压计有故障
- Compass not healthy:罗盘不健康
- Compass not calibrated:罗盘没有校准
- Compass offsets too high:罗盘偏移值太大,也许是附近有金属或者其他干扰
- Check mag field:所感测的磁场在该区域中的磁场是 35%高于或低于预期值,需要重新校准罗盘
- Compasses inconsistent:内部和外部的罗盘指向不同的方向(从大于 45 度),通常是 GPS 外置罗盘放置位置不一致
- GPS Glitch:GPS 故障,当选择的飞行模式需要 GPS 定位,或者开启地理围栏,此时 GPS 没有定位会有此提示
- Need 3D Fix:全球定位系统没有三维固定,当选择的飞行模式需要 GPS 定位,或者开启地理围栏,此时 GPS 没有定位会有此提示
- Bad Velocity:飞行器的速度(根据惯性导航系统)是 50cm 以上的,可能导致这包括飞行器实际移动或被抛起,坏的加速度计校准,GPS 更新在低于预期的 5HZ
- High GPS HDOP:GPS 精度低于高于 2.0,可以在首页查看 GPS 精度实时变化数据
- INS not calibrated:加速度计没有校准
- Accels not healthy:加速度计不健康,可能硬件问题,可能发生在刷新固件没有重启
- Accels inconsistent:加速度计不一致超过 1m/s/s
- Gyros not healthy:陀螺不正常,可能硬件问题,可能发生在刷新固件没有重启
- Gyro cal failed:陀螺仪校准未能捕捉偏移,这个由于启动校准时候移动了飞控,在红蓝闪烁就是校准时刻
- Gyros inconsistent:陀螺不一致超过 20deg/sec
- Check Board Voltage:检查板上电压,应该在 4.3V 到 5.8V 之间,如果通过 USB 供电,请尝试更换端口或者线缆
- Ch7&Ch8 Opt cannot be same:7/8 通道不能设置一致
- Check FS_THR_VALUE:3 通道最低值太接近失控保护值
- Check ANGLE_MAX:控制飞控的最大倾斜角度设定在 10 度以下的 angle_max 参数(即 1000)或 80 度以上(即 8000)
- ACRO_BAL_ROLL/PITCH:acro_bal_roll:参数高于自稳 Roll P 和/或 acro_bal_pitch 参数高于自稳 Pitch P 值
文章来源:https://blog.csdn.net/qq_42994487/article/details/135538231
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:chenni525@qq.com进行投诉反馈,一经查实,立即删除!