Human-Like#
#include "navground/core/behaviors/HL.h"
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:
tau
(float, get_tau),eta
(float, get_eta),aperture
(float, get_aperture),resolution
(float, get_resolution),epsilon
(float, get_epsilon),barrier_angle
(float, get_barrier_angle)
State: GeometricState
Public Functions
Contruct a new instance.
- Parameters:
kinematics – [in] The kinematics
radius – [in] The radius
Gets the time \(\eta\) that the behavior keeps away from collisions. Higher values lead to slower speeds.
- Returns:
\(\eta\)
Sets the time \(\eta\) that the behavior keeps away from collisions. Higher values lead to slower speeds.
- Parameters:
value – [in] A strict positive value.
Gets the relaxation time \(\tau\). Higher values lead to lower accelerations.
- Returns:
\(\eta\)
Sets the relaxation time \(\tau\). Higher values lead to lower accelerations.
- Parameters:
value – [in] A positive value. If zero, relaxation is disabled.
Gets the aperture \(\alpha\): desired velocity is searched on a circular sector \([-\alpha, \alpha]\).
- Returns:
The positive \(\alpha\) in radians.
Sets the aperture, see get_aperture.
- Parameters:
value – [in] A positive value
Gets the number of subdivision of \([-\alpha, \alpha]\) to search for optimal directions.
- Returns:
The resolution.
Sets the number of subdivision of \([-\alpha, \alpha]\) to search for optimal directions.
- Parameters:
value – [in] A strict positive value. The larger the value, the more precise the motion but also the more expensive the computations.
Convenience method that return the size of an angular segment in \([-\alpha, \alpha]\) to search for optimal directions.
- Returns:
The angular resolution for the optimal direction search in radians.
Gets the lowest margin to an obstacle or neighbor.
Any obstacles nearer than this this value will be virtually pushing away from the agent.
- Returns:
Epsilon.
Sets the lowest margin to an obstacle or neighbor.
Any obstacles nearer than this this value will be virtually pushing away from the agent.
- Parameters:
value – [in] Zero or negative values disable virtually pushing away obstacles.
Gets the barrier angle, i.e., the minimal angle with respect to a currently virtually colliding obstacle to ignore it.
- Returns:
Epsilon.
Sets the barrier angle, i.e., the minimal angle with respect to a currently virtually colliding obstacle to ignore it.
- Parameters:
value – [in] A positive value. Higher values makes the agent more cautious.
Gets the free distance to collision in \([-\alpha, \alpha]\) at regular intervals.
- Parameters:
assuming_static – [in] If True, all obstacles are assumed static.
speed – [in] The desired speed. Will be set to the last used target speed if not specified.
- Returns:
A vector of distances of size get_resolution. Angles are in the agent frame.
Gets the angles in \([-\alpha, \alpha]\) at regular intervals used for collision checking.
- Returns:
A vector of angles in the fixed frame of size get_resolution.
Public Static Attributes
Default \(\eta\)
Default \(\tau\)
Default aperture (full circular sector)
Maximal resolution
Default resolution. Should be less than max_resolution
Default epsilon.
Default barrier angle.