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.