44 #ifndef __PEDVO_AGENT_H__
45 #define __PEDVO_AGENT_H__
204 void obstacleLine(
size_t obstNbrID,
const float invTau,
bool flip );
221 bool linearProgram1(
const std::vector<Menge::Math::Line>& lines,
size_t lineNo,
222 float radius,
const Vector2& optVelocity,
223 bool directionOpt,
float turnBias,
Vector2& result);
237 size_t linearProgram2(
const std::vector<Menge::Math::Line>& lines,
float radius,
238 const Vector2& optVelocity,
bool directionOpt,
253 void linearProgram3(
const std::vector<Menge::Math::Line>& lines,
size_t numObstLines,
size_t beginLine,
254 float radius,
float turnBias,
Vector2& result);
static const float TAU_OBST
The default time horizon for agent-obstacle interactions.
Definition: PedVOAgent.h:174
float _timeHorizonObst
The time horizon for agent-obstacle interactions.
Definition: PedVOAgent.h:158
bool _denseAware
Controls if the agent respondes to density (true) or not (false).
Definition: PedVOAgent.h:136
float _speedConst
The second of two derived constants for fundamental diagram compliance. This is a function of the str...
Definition: PedVOAgent.h:148
Contains the specification of the pedestrian model based on Pedestrian Velocity Obstacles.
Definition: PedVOAgent.cpp:46
bool linearProgram1(const std::vector< Menge::Math::Line > &lines, size_t lineNo, float radius, const Vector2 &optVelocity, bool directionOpt, float turnBias, Vector2 &result)
Solves a one-dimensional linear program on a specified line subject to linear constraints defined by ...
Definition: PedVOAgent.cpp:600
Defines the simulator operating on ORCA::Agent.
Definition: PedVOSimulator.h:60
void setStrideParameters(float factor, float buffer)
Sets the stride factor and stride buffer for estimating available space and determining viable speed...
Definition: PedVOAgent.cpp:76
Contains the definition for an line used as a linear constraint (e.g. ORCA half plane) ...
static const float STRIDE_FACTOR
The default stride factor value.
Definition: PedVOAgent.h:184
static const float TURN_BIAS
The default turn bias.
Definition: PedVOAgent.h:179
void linearProgram3(const std::vector< Menge::Math::Line > &lines, size_t numObstLines, size_t beginLine, float radius, float turnBias, Vector2 &result)
Solves a two-dimensional linear program subject to linear constraints defined by lines and a circular...
Definition: PedVOAgent.cpp:715
void adaptPreferredVelocity()
Adapts the preferred velocity to conform to the local density. NOTE: This should ONLY be called after...
Definition: PedVOAgent.cpp:83
size_t linearProgram2(const std::vector< Menge::Math::Line > &lines, float radius, const Vector2 &optVelocity, bool directionOpt, float turnBias, Vector2 &result)
Solves a two-dimensional linear program subject to linear constraints defined by lines and a circular...
Definition: PedVOAgent.cpp:685
float _timeHorizon
The time horizon for inter-agent interactions.
Definition: PedVOAgent.h:153
void obstacleLine(size_t obstNbrID, const float invTau, bool flip)
Constructs an ORCA line for the given obstacle under the assumption that the agent is on its right si...
Definition: PedVOAgent.cpp:148
float _turningBias
Turning bias.
Definition: PedVOAgent.h:163
Defines an agent in the simulation.
Definition: PedVOAgent.h:54
std::vector< Menge::Math::Line > _orcaLines
The set of ORCA constraints.
Definition: PedVOAgent.h:98
~Agent()
Destroys this agent instance.
Definition: PedVOAgent.cpp:71
Contains the BaseAgent class - the underlying class which defines the basic functionality for all sha...
Agent()
A variant of the copy constructor.
Definition: PedVOAgent.cpp:61
float _strideConst
One of two derived constants for fundamental diagram compliance. This is a function of the stride fac...
Definition: PedVOAgent.h:142
Defines the basic agent properties and functionality that all simulation agents share.
Definition: BaseAgent.h:123
static const float STRIDE_BUFFER
The default stride buffer value.
Definition: PedVOAgent.h:189
static const float TAU
The default time horizon for inter-agent interactions.
Definition: PedVOAgent.h:169
void computeNewVelocity()
Computes the new velocity of this agent.
Definition: PedVOAgent.cpp:562
size_t computeORCALines()
Based on the neighbors, computes the ORCA lines.
Definition: PedVOAgent.cpp:140
float getStrideConst() const
Report the agent's stride constant. see BaseAgent::_strideConst.
Definition: PedVOAgent.h:123
float getSpeedConst() const
Report the agent's speed constant. see BaseAgent::_speedConst.
Definition: PedVOAgent.h:131