Pedestrian Models for Robot Motion

We discuss the development of a robot system able to replicate human group motion and show how a pedestrian model may be converted to a robot control system in order to achieve this goal.


Introduction
The deployment of autonomous mobile robots in public environments is an open problem, a subject of a large set of research studies, but whose complete solution is still far ahead. One of the main problems is related to how to attain safe and efficient navigation inside a human crowd [1][2][3][4][5][6][7][8]. "Social robots" (robots interacting with humans in the humans' natural environment) are intended to assist or accompany people, or just perform their duties in the same environment in which humans are present, and thus need to understand and possibly replicate pedestrian behaviour, so that they may move safely inside the crowd, and be perceived as safe by the humans. An important class of these social robots is represented by small size autonomous vehicles (such as automatic wheelchairs), whose task is to transport people or goods. Group behaviour is an important component of crowd dynamics, and thus of crucial importance to all the mobile social robots, and in particular to those supposed to move along humans (including vehicles transporting them). For this reason, such robots may need to move as part of a pedestrian group [9][10].
Researchers in the social robotics field may thus take advantage from behaviour models developed in the field of pedestrian and crowd simulation, although applying a pedestrian model to a robot system may not be trivial, due to the differences in scope between the two fields (while in crowd dynamics the task is to reproduce in a realistic but computationally fast way the behaviour of a large amount of humans, in robotics the task is to move in a safe way one or at most a few robots).
In recent years we have been working actively both in the development of pedestrian models and in their application to robot systems. In this work we would like to share some of the knowledge attained in this field, first describing a specific application (side by side motion of an autonomous robot and a human), and then by presenting a general recipe for converting an acceleration based pedestrian model to a robot control system, while taking in consideration the differences in motion and perception between a robot and a human, and the difference in scope between crowd modelling and robot applications, and while focusing in particular on group motion. Finally, we discuss the differences between acceleration-based models and cost function models and discuss how potential based models may be converted into cost functions for robot operation.

Side by side
In cost function methods (or utility as the negative of cost), a set of features is selected based on data from pairs of people walking side by side and a cost function is minimized. In a previous work, a cost function composed of eight features was proposed to model how an agent moves side by side with a partner [11]. The considered features were: velocity magnitude, angular velocity and acceleration (motor features); relative distance, relative angle and relative velocity (social features); distance and angle towards (sub-)goals (environmental features). To implement the cost function a prediction grid containing possible future locations of each agent was used, and the cost of each cell for each agent was computed by summing each different feature with proper weights. Finally, the location that minimizes the cost of the double anticipation is selected. The implementation of the system is shown in Fig. 1 (left).

Converting a pedestrian model to a control system
We may assume that in an acceleration based pedestrian model ("social force model" [12]), the dynamics of a pedestrian is given by = drag + group + ped + obs (1) The terms on the right [13], correspond to a drag force that makes pedestrians walk at their preferred speed in the direction of their goal (possibly a local goal determined by a path planner) drag , to a term that makes the pedestrians walk as members of a social group group , to a term that makes the pedestrians avoid collisions with other pedestrians ped , and to a term used to avoid collisions with non-human obstacles obs .
We typically face three problems when applying such an equation to a non-holonomic robot. 1. Eq. 1 assumes obstacles to be polygonal lines (walls), and pedestrians interact with their closest points, while in robot systems obstacles are usually expressed as laser scan points. 2. Acceleration has to be converted to a ( , ) command, being the linear velocity and the angular velocity of the robot. 3. The velocity and acceleration limitations of the robots have to be taken in consideration. In [14], we show in detail how to deal with the above problems, and present the results obtained when our recipe is applied to the collision and group models of [13], [15], both in a simulated environment (Fig. 2) and as an actual mobile robot implementation in a controlled laboratory environment ( Fig. 1 on right).

Cost Function
In side by side walking, a cost function approach, rather than an acceleration based one, was used. The former approach is often preferred in robotics, because it allows to explicitly avoid forbidden and dangerous areas. As stated in [14], a security check may be applied after the acceleration model provides the new velocity command, but as a result the motion of the robot may not reflect the output of the pedestrian model. When the acceleration of the pedestrian model is provided as the gradient of a potential, as for the group model [13], it is straightforward to include such a potential directly in the cost function. Nevertheless, velocity dependent collision avoidance models are not always derived from a potential. In our future work, we will combine the collision avoidance model to the path planner before passing it to the cost function, and apply this method to a simulated 3 robots system.