Human-Like#

Bases: Behavior

Human-like obstacle avoidance behavior.

The behavior inspired by how pedestrian move, has been originally presented in

Guzzi, J.; Giusti, A.; Gambardella, L.M.; Theraulaz, G.; Di Caro, G.A., “Human-friendly robot navigation in dynamic environments,” Robotics and Automation (ICRA), 2013 IEEE International Conference on, vol., no., pp.423,430, 6-10 May 2013

Registered properties:

State: GeometricState

Contruct a new instance

Parameters:
  • kinematics – The kinematics

  • radius – The radius

Gets the free distance to collision in \([-\alpha, \alpha]\) at regular intervals.

Parameters:
  • assuming_static – If True, all obstacles are assumed static.

  • speed – The desired speed. Will be set to the last used target speed if not specified.

Returns:

A vector of distances of size resolution. Angles are in the agent frame.

Type:

float

Convenience method that return the size of an angular segment in \([-\alpha, \alpha]\) to search for optimal directions.

Type:

float

The aperture \(\alpha\): desired velocity is searched on a circular sector \([-\alpha, \alpha]\).

Type:

float

The barrier angle, i.e., the minimal angle with respect to a currently virtually colliding obstacle to ignore it.

Type:

float

The lowest margin to an obstacle or neighbor.

any obstacles nearer than this this value will be virtually pushing away from the agent.

Type:

float

The time \(\eta\) that the behavior keeps away from collisions. higher values lead to slower speeds.

Type:

int

The number of subdivision of \([-\alpha, \alpha]\) to search for optimal directions.

Type:

float

The relaxation time \(\tau\). higher values lead to lower accelerations.