0%

[toc]

# INTRODUCTION

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.

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.

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.

In general, methods are based on either reasoning, learning, or a combination thereof.

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.

In an unpopulated and simple sidewalk environment, the default behaviour is to follow a trajectory offset from the sidewalk curb towards the goal.

# SYSTEM

1. 首先利用 Google Maps’ API 去生成高层次的航路点 (waypoint)；
2. 导航模块 (sidewalk navigation module) 根据附近是否有行人流 (nearby pedestrian flow) 来采用 group surfing 或者 sidewalk following 方法。
3. 无论哪种方法，对外输出是子目标点 (subgoals)，这是避障算法的输入，最后输出速度矢量 (velocity command) 指令，控制机器人的运动。
4. 周期轮训，是否抵达当前目标点。

# METHODS

## Group Surfing

1. Filter Candidate Groups
• 过滤那些远离航路点的行人组。 > Filter out groups moving away from the waypoint.
• 重点解释下，$$$v_{G_{i}}\cdot x_{I}$$$ 的意义。在我看来，这个并没有物理意义，作者只不过想利用向量点乘的正负来判断行人是否在远离航路点。ps. 向量点乘的正负性取决于余弦角，只要两个向量的夹角小于90度(向目标点靠近)，就是正值。 > If this value is non-positive, discard Gi as a subgoal candidate.
1. 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

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

1. 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.

1. 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

## Simulation Experiments and Evaluation

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.

MC：赞一下，比较的有理有据。

# 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的上身识别算法。
• 对机器人局限的探讨，以及算法的不足之处，从工程的角度讨论。