< >
Home » ROS与navigation教程 » ROS与navigation教程-rotate_recovery

ROS与navigation教程-rotate_recovery

ROS与navigation教程-rotate_recovery

说明:

  • 介绍了rotate_recovery的概念及其相关知识。

代码库

概要

  • 该包给导航功能包提供了rotate_recovery::RotateRecovery修复机制,它尝试让机器人执行360度旋转来完成清理导航功能包里的代价地图的空间。

  • 同时rotate_recovery::RotateRecovery继承了nav_core::RecoveryBehavior接口,并以插件方式用于move_base node。

RotateRecovery

  • rotate_recovery::RotateRecovery将功能以 C++ ROS Wrapper导出,在初始化时指定的ROS命名空间中使用。

  • 以下是创建rotate_recovery::RotateRecovery对象的示例:

#include <tf/transform_listener.h>
#include <costmap_2d/costmap_2d_ros.h>
#include <rotate_recovery/rotate_recovery.h>

...
tf::TransformListener tf(ros::Duration(10));
costmap_2d::Costmap2DROS global_costmap("global_costmap", tf);
costmap_2d::Costmap2DROS local_costmap("local_costmap", tf);

rotate_recovery::RotateRecovery rr;
rr.initialize("my_rotate_recovery", &tf, &global_costmap, &local_costmap);

rr.runBehavior();

( 1 ) API Stability

  • C++ API 是稳定的。

  • ROS API 是稳定的。

( 2 ) ROS Parameters

  • rotate_recovery::RotateRecovery对象假定move_base node使用的局部路径规划器是base_local_planner::TrajectoryPlannerROS,并相应地读取其中的一些参数。

  • 其将会独立工作,同时需要用户指定其他参数。

( 2.1 ) RotateRecovery Parameters

~<name>/sim_granularity (double, default: 0.017) 
  • 在检查原地旋转是否安全时,检查机器人与障碍物之间的距离,单位为 radians 。

  • 默认为1度。

~<name>/frequency (double, default: 20.0) 
  • 向移动基座发送速度命令的频率,单位为 HZ 。

( 2.2 ) TrajectoryPlannerROS Parameters

  • 当使用base_local_planner :: TrajectoryPlannerROSjubu局部路径规划器时,这些参数已经设置好的。

  • 只有当导航功能包集中的其它局部规划器被rotate_recovery::RotateRecovery使用时才有必要设置这些参数。

~TrajectoryPlannerROS/yaw_goal_tolerance (double, default: 0.05) 
  • The tolerance in radians for the controller in yaw/rotation when achieving its goal.
~TrajectoryPlannerROS/acc_lim_th (double, default: 3.2) 
  • 机器人的角速度极限,单位为 radians/sec^2 。
~TrajectoryPlannerROS/max_rotational_vel (double, default: 1.0) 
  • 移动基座允许的最大角速度,单位为 radians/sec 。
~TrajectoryPlannerROS/min_in_place_rotational_vel (double, default: 0.4) 
  • 移动基座在执行原地旋转时的最小角速度,单位为 radians/sec 。

( 3 ) C++ API

  • C ++ rotate_recovery :: RotateRecovery类继承nav_core包中的nav_core :: RecoveryBehavior接口。

  • 详细资料请参阅RotateRecovery documentation

参考资料

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros与navigation教程