3.3 Method
3.3.1 Candidate Policies
Every agent (including the robot) is assumed to be acting according to some policy. We assume that all agents besides the robot always use the Go-Solo policy, but their goals gisub and desired future velocities vdesi are ambiguous to the robot. The robot’s policy πr ∈ Π
is to be selected from a discrete set of closed-loop policies, while the pedestrian policy parameters (vdes, gsub) are inferred based on past observations and domain knowledge (e.g.
salient points in the scene).
We propose the following candidate policy set for navigating amongst pedestrians: Π = {Go-Solo, Followj, Stop}, (3.1)
where Followj refers to the policy of following agent j. A robot in an environment with
10 observable agents has a total of 12 candidate policies, much greater than the 3 policies considered by Cunningham et al. [41]. Each policy πi ∈ Π : X 7→ Ai. maps a joint state
of the system to an action via a potential field.
The motion of agents is modeled according to a simple dynamics model in which ac- celeration, integrated over time, results in a velocity. The force, and hence the acceleration ai ∈ Ai, is computed using a potential field method that incorporates the effects of ob-
stacles and a goal point based on the Social Force Model as illustrated in Fig.3.2. This acceleration governs the system dynamics and is determined by the policy πi followed by
the agent as detailed below. The system is constrained to a maximum velocity |v|max for
1Several methods can be used for estimating P (x
0) based on past trajectories of agents. We use a Kalman
2
1
Figure 3.2: Our candidate policies are reactive planners based on the Social Force Model. An agent’s policy πi = (vdes, gsub), expresses an intent to move towards sub-goal gsubat a
desired speed vdes. We model policies as reactive potential-field based controllers. At each
time-step, an agent i (in this case, the robot) is repelled by other agents (frepj ) and attracted towards its sub-goal gsubin accordance to the Social Force Model (SFM).
each agent.
Go-Solo
An agent executing the Go-Solo policy treats all other agents as obstacles and uses a poten- tial field based on the Social Force Model (SFM) [24,28] to guide it towards its goal. Let ep
i→gisub be the unit vector towards the goal from the agent i. The attractive force acting on
the agent is given by:
fattri (x) = kgsei→gi
sub. (3.2)
We model the interactions with other agents in the scene based on the SFM :
frepi,j(x) = ape−di,j/bp· ej→i, (3.3)
where {ap, bp} are the SFM parameters for people, ej→i is the unit vector from j to i and
di,j is the distance between them scaled by an anisotropic factor as in [28] .
fobsi,o(x) on agent i according to different SFM parameters {ao, bo},
fobsi,o(x) = aoe−di,o/bo · eo→i. (3.4)
The resultant force is a summation of all the forces described above: fneti (x) = fattri (x) +X
j6=i
frepi,j +X
o∈O
fobsi,o (3.5)
The action governing the system propagation is calculated as ai = fneti (without loss of
generality, we assume unit mass). Each pedestrian i tries to maintain its desired speed vdesi . For the robot executing the Go-Solo policy, its desired speed vdesr is set to |v|max.
Follow-other
In addition to the Go-Solo policy, the robot can use the Follow policy to deal with certain situations. For example, in a crowd, the robot may choose to Follow another person sac- rificing speed but delegating the task of finding a path to a human. Following could also be more suitable than overtaking a person in a cluttered scenario as it allows the robot to Progresstowards its goal without disturbing other agents (low Blame). We propose a reac- tive Follow policy, making minor modifications to the Go-Solo policy.
According to the Follow policy, the robot chooses to follow another agent, the leader, de- noted by l. To obtain the resultant force, we can apply the same procedure explained earlier with the modification that the robot is attracted to the leader rather than the goal. Let epr→pl
be the unit vector from the robot’s position to the leader’s position. The attractive force fattrr (x) = kfepr→pl, (3.6)
steers the robot trajectory towards the leader. The other agents and obstacles continue to repel the robot as described in (3.5). Furthermore, the follower tries to maintain the speed of the leader (vfdes = vl).
Stop
...
...
Figure 3.3: Block diagram of the transition function for each time-step of the forward simulation. At each time-step, an agent i (in this case, the robot) is repelled by other agents (frepj ) and attracted towards its sub-goal gisubin accordance to the Social Force Model (SFM). The acceleration ai is determined by the resultant force fneti and acts as a control
input for the Kinematic Model.
until it comes to a complete stop, according to the following force
fnetr (x) = −fmaxevr, (3.7)
where evr is the unit vector in the direction of the robot’s velocity.