ROS Navigation-----costmap_2d之social_navigation_layers简介

本文介绍了两种社交导航层——ProxemicLayer与PassingLayer的工作原理及配置参数。这两种层通过调整机器人的代价地图来实现更自然的人机交互,ProxemicLayer可根据人的静止或移动状态调整代价地图,而PassingLayer则使机器人能从行人的侧面通过。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 Social Navigation Layers

    目前有2种social navigation层, 但是它们共享部分功能(如:都需要订阅人在哪里的消息,都是用高斯分布调节人周围的代价地图)。 这种方法的类都继承了general SocialLayer class。

    在 costmap configurations 中使用时类型如下:

  • social_navigation_layers::ProxemicLayer

  • social_navigation_layers::PassingLayer

1.1 ProxemicLayer/PassingLayer

    这两种层所用接口相同。
1.1.1 Subscribed Topics
/people ( people_msgs/People)
  • People to navigate around
1.1.2 Parameters
enabled ( bool, default: True)
  • Whether to apply this plugin or not
cutoff ( double, default: 10.0)
  • Smallest value to publish on costmap adjustments
amplitude ( double, default: 77.0)
  • Amplitude of adjustments at peak
covariance ( double, default: 0.25)
  • Covariance of adjustments
factor ( double, default: 5.0)
  • Factor with which to scale the velocity
keep_time ( double, default: 0.75)
  • Pause before clearing leg list

2 How the Costmap Changes

  • person.png

2.1 Proxemic Layer

   proxemic 层利用上面指定参数在探测到的人周围添加高斯代价。 如果人是静止的,高斯代价分布是圆形;如果认识运动的,代价会在人移动方向上增长,至于代价在人周围增长多远与比例参数factor有关。

2.1.1 Stationary Person
  • prox.png

2.1.2 Moving Person
  • proxscale.png

2.2 Passing Layer

    这一层的目的是让机器人从行人的一侧通过,因此只在行人一侧增加代价。

  • passing.png

### ROS Navigation Tutorials and Solutions In the context of Robot Operating System (ROS), particularly ROS 2, several resources provide comprehensive guidance on setting up and utilizing navigation systems effectively. The official documentation offers a structured tutorial that covers essential aspects from installation to advanced configurations[^1]. This resource is invaluable for developers aiming to integrate robust navigation capabilities into robotic platforms. For instance, one can explore how to set up a basic navigation system using packages like `nav2_bringup`, which includes launching files necessary for running AMCL localization alongside other components such as costmap layers or recovery behaviors. Moreover, understanding specific parameters within these setups enhances customization options. For example, when dealing with obstacle avoidance strategies in path planning algorithms, adjusting settings related to pose associations near obstacles significantly impacts performance outcomes[^3]: ```cpp // Example configuration snippet showing parameter tuning around an obstacle. obstacle_poses_affected: 5 // Increase this value based on your environment's complexity. no_inner_iterations: 10 // Define number of iterations during optimization process. ``` Additionally, leveraging transformation libraries provided by TF2 simplifies coordinate frame transformations between different parts of the robot’s perception stack, ensuring accurate data synchronization across sensors and actuators[^4]: ```python import tf2_ros from geometry_msgs.msg import TransformStamped def handle_transform(): broadcaster = tf2_ros.StaticTransformBroadcaster() static_transformStamped = TransformStamped() # Set header details... broadcaster.sendTransform(static_transformStamped) ``` These examples illustrate key areas where detailed exploration through tutorials not only aids immediate problem-solving but also fosters deeper knowledge about best practices in implementing sophisticated autonomous functionalities.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值