Group Surfing: A Pedestrian-based Approach to Sidewalk Robot Navigation
这篇论文主要研究如何在人行道上给机器人导航。论文根据人行横道上行人的多与少,来使用两种不同的算法为机器人导航。在行人密集(pedestrian-rich)的环境下,使用Group Surfing方法,模仿前方的行人,以遵守规则(socially-compliant)的行为来避开行人和障碍物,并最后抵达目的地;在行人稀疏(pedestrian-sparse)的环境下,通过检测马路沿,沿着马路沿导航。在这两种算法下,底层的避障模块是有模仿人类倾向(human-aware)。最后,作者在仿真和实物上均验证了算法。
总体而言,这篇文章跟踪行人的思路比较好,算法实现细节清楚,在算法验证阶段有条理,总体质量比较高。
多平台维护不易,内容实时更新于 个人网站,请移步阅读最新内容。
INTRODUCTION
本文的一个侧重点是,人机交互,强调机器人尽量不影响行人的行为,或者以人的方式去交互。所以,研究目标不是一个简单的(类似于最短路径)求最优解的问题。
首先,这篇文章的应用场景是人行道(Sidewalk),导航空间在路旁,行人的方向大概是两个线性的。
Sidewalks present a unique yet challenging environment in that the navigable space combines elements of both roads and free indoor spaces. Often sidewalk motion is restricted to two linear directions and the resulting navigable space is limited, like on roads.
问题的复杂性在于,行人的活动比较随机,可能聚团(group)一起走。
However, pedestrians generally do not walk in perfect queues. Instead, people tend to walk in groups of variable sizes and speeds and move along with a general self-organizing crowd flow.
人行道导航(sidewalk navigation)的特点是,必须考虑行人的随机行为,同时遵守一定的社会规则,比如行人的交互常识(pedestrian conventions),人际距离学(appropriate proxemics),即行走方向保持的距离比垂直方向的距离要远。
Compared to autonomous road navigation, sidewalk navigation must also account for stochastic human movement that necessitates dynamic obstacle avoidance. Furthermore, certain social rules, such as walking in lanes or affording more space in the direction of walking than in the perpendicular direction, are rules that a robot should follow as well.
已有的研究方法有推理(reasoning)和学习(learning),或者两者的结合。社会规则(Social rules),在推理方法中作为代价函数,或在学习方法中作为奖励函数。
In general, methods are based on either reasoning, learning, or a combination thereof.
已有方法的局限性在于,利用对行人意图的理解,通常适用于开放环境(open environments),而本文的研究问题是有限制的人行道环境,同时没有考虑人行横道的物理边界,机器人的运动会影响行人流等。
Here, the aforementioned approaches may be less effective as they do not account for the physical sidewalk boundaries, or how robot movement will affect pedestrian flow.
所以,本文的主要研究问题是如何考虑附近行人的行为和行人流,机器人最终抵达终点。
The key research question this paper considers is how mobile robots can utilize nearby pedestrian behaviours and flows to navigate towards a global goal.
针对这个问题,作者给出的答案是,模仿行人的行为。当检测到有行人朝向机器人的终点时,会允许机器人模仿并从用行人的社交行为。
When our navigation stack detects people moving towards the robot’s goal, a ‘group surfing’ behaviour is used. This allows the robot to imitate and participate in pedestrian social behaviours.
在行人稀疏或者简单的人行道,距离人行道的路沿一段距离,沿着这个向目标走(trajectory following)。
In an unpopulated and simple sidewalk environment, the default behaviour is to follow a trajectory offset from the sidewalk curb towards the goal.
SYSTEM
系统的设计比较中规中矩,有新意的是,在航路点外,生成动态的子目标点(subgoals)。
- 首先利用Google Maps’ API去生成高层次的航路点(waypoint);
- 导航模块(sidewalk navigation module)根据附近是否有行人流(nearby pedestrian flow)来采用group surfing或者sidewalk following方法。
- 无论哪种方法,对外输出是子目标点(subgoals),这是避障算法的输入,最后输出速度矢量(velocity command)指令,控制机器人的运动。
- 周期轮训,是否抵达当前目标点。
METHODS
Group Surfing
核心思路和目标:模仿人类的自然行为,包括沿路行走(walking in lanes),避障(avoiding collisions with other pedestrians or obstacles),路口等待(waiting at intersections to cross),不走入交通中(not walking into traffic)。类似于仿生学,这次模仿的只不过是人类自己罢了。
- Filter Candidate Groups
- 过滤那些远离航路点的行人组。
Filter out groups moving away from the waypoint.
- 重点解释下, 的意义。在我看来,这个并没有物理意义,作者只不过想利用向量点乘的正负来判断行人是否在远离航路点。ps. 向量点乘的正负性取决于余弦角,只要两个向量的夹角小于90度(向目标点靠近),就是正值。
If this value is non-positive, discard Gi as a subgoal candidate.
- Smart Group Selection
- 方法核心思路和目标:从筛选后的行人组中,选择平均速度小于且最接近于机器人最大速度的作为最优跟踪组(the optimal group to follow)。选择该组中距离机器人最近行人的当前位置作为子目标点(subgoals)。
Once we have filtered out unsuitable groups, the algorithm selects the optimal group to follow.
- 那么,路径规划和避障的问题就是在机器人当前位置和最优跟踪组的最近行人之间,规划出一条无碰撞的路径。
We intentionally select the closest person as a subgoal as attempting to reach the average group position could lead to path planning through pedestrians located between the average group position and the robot’s current position.
Curb Following
方法核心思路和目标:使用3D laser sensor采集点云,然后利用Random Sample Consensus (RANSAC)算法去识别马路沿。
We make use of contextual knowledge; sidewalks are normally surrounded by streets and buildings or empty space. Our robot first acquires a surrounding point cloud using a 3D laser sensor and filters out points that are at the same height as or above the plane defined by the robot wheel contacts.
Collision Avoidance
- Human-Aware Collision Avoidance
- 在group surfing 和 curb following中,使用已有的学习方法,Socially-Aware Collision Avoidance with Deep Reinforcement Learning (SA-CADRL) 来作为避障算法。
Socially-Aware Collision Avoidance with Deep Reinforcement Learning (SA-CADRL), as the collision avoidance component of our navigation stack. The collision avoidance system navigates to a local subgoal generated by either the group surfing or the curb following approach.
- 其中,引入社交奖励函数来鼓励社会行为。
The reinforcement training process induces social awareness through social reward functions, which give higher values to actions that follow social rules.
- Static Obstacle Avoidance:
- 把静态障碍物作为静态的行人,仍然使用SA-CADRL算法来处理。
We also use SA-CADRL to avoid these static obstacles by adding “static pedestrians” to the state vector.
SIMULATION DEMONSTRATION AND EXPERIMENTS For
仿真环境的构建:使用ROS和Gazebo仿真套件。
We use the Robot Operating System (ROS) and Gazebo simulator suite. To simulate pedestrians, we use the Pedsim ROS library, which relies on the social force model.
Simulation Demonstration
在虚拟环境中,以GPS校准,重新搭建了周围的环境,复制了机器人模型。
Simulation Experiments and Evaluation
目的:验证机器人可以沿着社会接受(socially-acceptable)的行为,最后抵达终点,即机器人的路径和行人的路径是相似的。
In evaluating our navigation system, our main goal was
to show that the system successfully navigates the robot to its final goal through a socially-acceptable path. That is, the path that our robot takes to the goal is similar to what a pedestrian would take to the same goal.
首先,在虚拟环境中,使用提出的算法抵达终点;然后,文中引入对比试验,使用最短路径的方法抵达终点。
We tracked the path taken by the robot and the path taken by a simulated pedestrian . We also tracked the shortest path that the robot could take within the confines of the sidewalk.
现在,有三组轨迹,行人的真实轨迹,现有算法轨迹,最短路径的轨迹。本文使用an independent samples t-test等数学方法,比较两个轨迹和人类实际轨迹的相似度,来证明现有的算法更加符合人类的行为。赞一下,比较的有理有据。
HARDWARE DEMONSTRATION
Hardware Setup
机器人的配置如下:
We use the PowerBot from Omron Adept Mobile Robots as our differential drive mobile base. The robot is equipped with multiple sensors: a Velodyne VLP-16 3D LiDAR sensor; a SICK LMS-200 2D laser sensor; a RealSense RGB- D sensor, and GPS and IMU sensors. Our PowerBot’s max speed is 0.8m/s. This limits its capacity of following faster pedestrian groups.
Demonstration and Discussion
- 使用SPENCER算法来识别行人和行人流。
- 原打算使用lidar来识别行人的腿部,但是错误率太多,使用SPENCER提供的RGB-D-based的上身识别算法。
- 对机器人局限的探讨,以及算法的不足之处,从工程的角度讨论。
CONCLUSIONS
待提高的地方:
- For the group surfing component, one main area for improvement is in the selection process of groups to imitate.
- Criteria: group velocity; group trajectory; group size
- External observers of the group surfing behaviour will be interviewed to gauge if the imitation behaviour is socially acceptable.
- For collision avoidance, a more specialized technique would allow for more efficient navigation.
- We hope to decouple static collision avoidance from dynamic collision avoidance.
- For curb following, our approach only works for sidewalks that limit directly to the street, ignoring common tree belt, median, hellstrip, etc. Our future plan is to introduce detection and recognition of these non-transitable areas and incorporate them in our navigation module.