(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

为Turtlebot配置导航包

Description: 为您的机器人提供导航配置的第一个示例,随后可参考其他更全面的教程。

Tutorial Level: BEGINNER

Next Tutorial: 通过SLAM构建地图

本教程不是针对TurtleBot导航包的详细的微调指南,因为navigation tutorials已经介绍的很详细了。我们只是提供一些针对用户常问的问题的指导. 只要为了节省大家的时间,避免你要阅读太多文档才找到答案。

Key files/关键文件

turtlebot应用导航包的规则也跟其他机器人一样,由launch和yaml文件组成。包含在turtlebot_navigation软件包,分别位于luanch和param目录。

Move base/移动基座

TurtleBot导航行为是由move_base生成的,他们拥有全局和本地的代价地图,因此可以创建全局和本地计划。它的行为是在param/move_base的yaml文件中定义的,三个用于代价地图,base_local_planner_params.yaml是针对本地规划的。costmap_2d配置是相当棘手的,在大多数情况下是由cpu使用和性能之间的平衡需求驱动的,所以我们不在此提及。

Planner/规划器

  • 改变速度限制:
    • max_vel_x: 最大线速度; TurtleBot 1的绝对限制为0.5,对于TurtleBot 2为0.7

    • min_vel_x: 最小线速度; 也许您需要在重载时增加,以便机器人以最低速度能克服摩擦
    • max_rotational_vel: 最大角速度; TurtleBot 2的绝对限制是3.14(TurboBot 1不确定)

    • min_in_place_rotational_vel: 与最小线速度相同作用
  • Goal tolerance/目标容差. 这两个参数允许您在达到目标时使TurtleBot或多或少准确。小心:非常低的值可以使机器人在目标周围移动,而不会达到它!

    • yaw_goal_tolerance
    • xy_goal_tolerance
  • Cost computing biases/代价计算偏倚. 这三个参数定义了TurtleBot遵循其全局规划的偏好

    • path_distance_bias: 增加使机器人更紧密地遵循计划,即偏向更符合全局规划的路径
    • goal_distance_bias: 增加,使机器人轨迹更平滑,更有效率,即偏向更符合本地规划的路径
    • occdist_scale: 增加使机器人更害怕撞上障碍物

Amcl (localization)/定位

TurtleBot定位由amcl提供。您可以通过修改launch/includes/_amcl.launch文件中的参数来调整此算法。但这不是基本的东西,所以超出了本教程的范围。

Gmapping (map building)/建图

TurtleBot地图使用gmapping进行构建。您可以通过修改launch/includes/_gmapping.launch文件中的参数来调整此算法。但是,这再次超出了本教程的范围。

Wiki: cn/turtlebot_navigation/Tutorials/indigo/Setup the Navigation Stack for TurtleBot (last edited 2017-08-09 09:15:49 by stevenli)