【PX4-AutoPilot教程-TIPS】MAVROS2插件的黑名单白名单设置

环境:

Ubuntu :20.04 LTS

ROS :ROS2 Foxy

PX4 :1.13.0

在ROS2与PX4集成时,MAVROS2插件提供了一个强大的桥梁,可以帮助ROS与MAVLink通信。在实际应用中,可能会有不需要的MAVROS2插件被加载,从而浪费系统资源,或对性能造成影响。为了解决这个问题,MAVROS2提供了插件黑名单(denylist)和白名单(allowlist)功能,可以控制哪些插件被加载或禁用。

MAVROS2插件

MAVROS2插件用于处理与无人机和其他MAVLink设备之间的通信。这些插件负责不同的功能,如姿态控制、导航、传感器数据处理等。根据具体的应用场景,可能不需要加载所有插件,为了提高系统性能或减少不必要的功能,MAVROS2允许通过配置文件来管理这些插件。

  • 黑名单(Denylist):配置在黑名单中的插件将被禁用,不会被加载。‘

  • 白名单(Allowlist):配置在白名单中的插件将被加载,未在白名单中的插件将被禁用。

配置文件结构

MAVROS2的插件管理通过ROS2参数文件进行配置。下面是一个示例配置文件,展示了如何设置黑名单和白名单。

/**:
  ros__parameters:
    plugin_denylist:
    
      # common                                         
      - actuator_control
      - altitude
      - command
      - ftp
      - geofence
      - global_position
      - home_position
      - imu
      - local_position
      - manual_control
      - nav_controller_output
      - param
      - rallypoint
      - rc_io
      - setpoint_accel
      - setpoint_attitude
      - setpoint_position
      - setpoint_raw
      - setpoint_trajectory
      - setpoint_velocity
      - sys_status
      - sys_time
      - waypoint
      - wind_estimation

      # extras
      - adsb
      - cam_imu_sync
      - camera
      - cellular_status
      - companion_process_status
      - debug_value
      - distance_sensor
      - esc_status
      - esc_telemetry
      - fake_gps
      - gps_input
      - gps_rtk
      - gps_status
      - guided_target
      - hil
      - landing_target
      - log_transfer
      - mag_calibration_status
      - mocap_pose_estimate
      - mount_control
      - obstacle_distance
      - odometry
      - onboard_computer_status
      - optical_flow
      - play_tune
      - px4flow
      - rangefinder
      - tdr_radio
      - terrain
      - trajectory
      - tunnel
      - vfr_hud
      - vibration
      - vision_pose
      - vision_speed
      - wheel_odometry

    # plugin_allowlist:
    #   - 'sys_*'

黑名单与白名单的优先级

在配置中,黑名单和白名单不能同时使用。系统会根据配置文件中存在的某一列表来决定插件加载的规则:

  • 只有黑名单:所有未列入黑名单的插件将被加载。

  • 只有白名单:只有列入白名单的插件会被加载。

  • 两者都存在:如果同时定义了黑名单和白名单,ROS2将优先使用白名单。

总结

通过合理设置MAVROS2插件的黑名单和白名单,可以有效控制系统资源的使用,确保只加载必要的插件,从而提高系统的整体性能和稳定性。在实际应用中,根据具体需求灵活选择黑名单或白名单策略,将有助于更好地管理ROS2与PX4的集成。


参考资料:

How to use mavros2

mavros黑白名单设置

基于Pixhawk和ROS搭建自主无人车(四):MAVROS详解篇

【mavros源码解析】10 MAVROS包含文件及消息机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后厂村路练习生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值