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
- Smallest value to publish on costmap adjustments
- Amplitude of adjustments at peak
- Covariance of adjustments
- Factor with which to scale the velocity
- Pause before clearing leg list
2 How the Costmap Changes
2.1 Proxemic Layer
proxemic 层利用上面指定参数在探测到的人周围添加高斯代价。 如果人是静止的,高斯代价分布是圆形;如果认识运动的,代价会在人移动方向上增长,至于代价在人周围增长多远与比例参数factor有关。
2.1.1 Stationary Person
2.1.2 Moving Person
2.2 Passing Layer
这一层的目的是让机器人从行人的一侧通过,因此只在行人一侧增加代价。