基于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 地面站设置

  • 1、加载已下载好的固件

    • 首先用 USB 线将 pixhawk 连接到电脑,然后点断开连接,进入 “安装固件 Legacy” 中选择加载自定义固件,最后加载 2.1 小节下载好的 ardurover.apj 文件即可
      在这里插入图片描述
  • 2、加速度计校准、指南针校准和遥控器校准按照提示操作即可,这里不再赘述

  • 3、适配差速底盘参数修改

    • 由于下载的固件默认车型是阿克曼转向(电机加舵机)的,因此针对差速转向的底盘需要修改参数:Position 1 设置成 ThrottleLeft(左轮),Position 3 设置成 ThrottleRight(右轮)
      在这里插入图片描述
  • 4、设置遥控器切换 pixhawk 控制模式

    • “当前 PWM” 后的 5 代表遥控器当前所处通道(可通过全局参数表中 MODE_CH 参数修改),0 表示当前对应的 PWM 值
    • 建议设置遥控器三段控制模式分别为:Hold 停车模式、Manual 手动模式和 Auto 自动模式
      在这里插入图片描述

在这里插入图片描述

  • 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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。