〖基础篇8〗解析文件:params/nav2_params.yaml

深入解析 TurtleBot3 的导航参数配置

在机器人导航系统中,参数配置是实现高效、准确导航的关键。本文将详细解析 TurtleBot3 机器人使用的导航参数配置文件 nav2_params.yaml,该文件是针对 ROS2 和 Gazebo 仿真环境进行优化的。

文件结构

参数配置文件采用 YAML 格式,定义了多个导航节点的参数。

amcl:
  ros__parameters:
    ...
amcl_map_client:
  ros__parameters:
    ...
bt_navigator:
  ros__parameters:
    ...

AMCL 局部化参数

AMCL(自适应蒙特卡洛局部化)是 TurtleBot3 使用的局部化方法。

amcl:
  ros__parameters:
    use_sim_time: True
    alpha1: 0.2
    alpha2: 0.2
    alpha3: 0.2
    alpha4: 0.2
    alpha5: 0.2
    base_frame_id: "base_footprint"
    beam_skip_distance: 0.5
    beam_skip_error_threshold: 0.9
    beam_skip_threshold: 0.3
    do_beamskip: false
    global_frame_id: "map"
    lambda_short: 0.1
    laser_likelihood_max_dist: 2.0
    laser_max_range: 100.0
    laser_min_range: -1.0
    laser_model_type: "likelihood_field"
    max_beams: 60
    max_particles: 2000
    min_particles: 500
    odom_frame_id: "odom"
    pf_err: 0.05
    pf_z: 0.99
    recovery_alpha_fast: 0.0
    recovery_alpha_slow: 0.0
    resample_interval: 1
    robot_model_type: "differential"
    save_pose_rate: 0.5
    sigma_hit: 0.2
    tf_broadcast: true
    transform_tolerance: 1.0
    update_min_a: 0.2
    update_min_d: 0.25
    z_hit: 0.5
    z_max: 0.05
    z_rand: 0.5
    z_short: 0.05
    scan_topic: scan

BT 导航器参数

行为树(BT)导航器用于根据预设的行为树执行导航任务。

bt_navigator:
  ros__parameters:
    use_sim_time: True
    global_frame: map
    robot_base_frame: base_link
    odom_topic: /odom
    enable_groot_monitoring: True
    groot_zmq_publisher_port: 1666
    groot_zmq_server_port: 1667
    default_bt_xml_filename: "navigate_w_replanning_and_recovery.xml"
    plugin_lib_names:
      - nav2_compute_path_to_pose_action_bt_node
      - nav2_follow_path_action_bt_node
      ...

控制器服务器参数

控制器服务器负责根据导航计划控制机器人的运动。

controller_server:
  ros__parameters:
    use_sim_time: True
    controller_frequency: 20.0
    min_x_velocity_threshold: 0.001
    min_y_velocity_threshold: 0.5
    min_theta_velocity_threshold: 0.001
    progress_checker_plugin: "progress_checker"
    goal_checker_plugin: "goal_checker"
    controller_plugins: ["FollowPath"]
    ...

代价地图参数

代价地图用于表示环境中的障碍物和可行驶区域。

local_costmap:
  local_costmap:
    ros__parameters:
      update_frequency: 5.0
      publish_frequency: 2.0
      global_frame: odom
      robot_base_frame: base_link
      use_sim_time: True
      rolling_window: true
      width: 3
      height: 3
      resolution: 0.05
      robot_radius: 0.22
      plugins: ["voxel_layer", "inflation_layer"]
      ...

总结

nav2_params.yaml 文件为 TurtleBot3 提供了一套全面的导航参数配置,包括局部化、行为树导航、控制器、代价地图等关键组件。这些参数经过精心调整,以确保机器人在仿真环境中的导航性能。

注意事项

  • use_sim_time: True 表示使用仿真时间,这对于 Gazebo 仿真环境是必要的。
  • 参数如 max_vel_xmax_vel_theta 定义了机器人的最大线速度和角速度,这些参数直接影响机器人的动态性能。
  • acc_lim_xacc_lim_theta 定义了机器人的加速度限制,这些参数对于处理 TurtleBot3 在仿真中的噪声问题至关重要。

通过这篇文章,你应该能够理解 TurtleBot3 导航参数配置文件的结构和关键参数。如果你有任何疑问或需要进一步的帮助,请随时提问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值