44 #ifndef __ORCA_AGENT_H__
45 #define __ORCA_AGENT_H__
97 static const float TAU;
117 void obstacleLine(
size_t obstNbrID,
const float invTau,
bool flip );
133 bool linearProgram1(
const std::vector<Menge::Math::Line>& lines,
size_t lineNo,
134 float radius,
const Vector2& optVelocity,
135 bool directionOpt,
Vector2& result);
148 size_t linearProgram2(
const std::vector<Menge::Math::Line>& lines,
float radius,
149 const Vector2& optVelocity,
bool directionOpt,
162 void linearProgram3(
const std::vector<Menge::Math::Line>& lines,
size_t numObstLines,
size_t beginLine,
163 float radius,
Vector2& result);
void computeNewVelocity()
Computes the new velocity of this agent.
Definition: ORCAAgent.cpp:381
static const float TAU
The default time horizon for inter-agent interactions.
Definition: ORCAAgent.h:97
size_t linearProgram2(const std::vector< Menge::Math::Line > &lines, float radius, const Vector2 &optVelocity, bool directionOpt, Vector2 &result)
Solves a two-dimensional linear program subject to linear constraints defined by lines and a circular...
Definition: ORCAAgent.cpp:463
size_t computeORCALines()
Based on the neighbors, computes the ORCA lines.
Definition: ORCAAgent.cpp:292
Templated vector in R2.
Definition: Vector2.h:76
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: ORCAAgent.cpp:70
float _timeHorizon
The time horizon for inter-agent interactions.
Definition: ORCAAgent.h:86
Contains the definition for an line used as a linear constraint (e.g. ORCA half plane) ...
Agent()
Constructor.
Definition: ORCAAgent.cpp:58
std::vector< Menge::Math::Line > _orcaLines
The set of ORCA constraints.
Definition: ORCAAgent.h:81
bool linearProgram1(const std::vector< Menge::Math::Line > &lines, size_t lineNo, float radius, const Vector2 &optVelocity, bool directionOpt, Vector2 &result)
Solves a one-dimensional linear program on a specified line subject to linear constraints defined by ...
Definition: ORCAAgent.cpp:395
The namespace for the ORCA local collision avoidance model.
Definition: ORCAAgent.cpp:46
Contains the BaseAgent class - the underlying class which defines the basic functionality for all sha...
Defines the simulator operating on ORCA::Agent.
Definition: ORCASimulator.h:59
Defines the basic agent properties and functionality that all simulation agents share.
Definition: BaseAgent.h:123
static const float TAU_OBST
The default time horizon for agent-obstacle interactions.
Definition: ORCAAgent.h:102
float _timeHorizonObst
The time horizon for agent-obstacle interactions.
Definition: ORCAAgent.h:91
~Agent()
Destroys this agent instance.
Definition: ORCAAgent.cpp:65
void linearProgram3(const std::vector< Menge::Math::Line > &lines, size_t numObstLines, size_t beginLine, float radius, Vector2 &result)
Solves a two-dimensional linear program subject to linear constraints defined by lines and a circular...
Definition: ORCAAgent.cpp:494
Defines an agent in the simulation.
Definition: ORCAAgent.h:54