Menge
Modular Pedestrian Simulation Framework for Research and Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Typedefs | Functions | Variables
ORCA Namespace Reference

The namespace for the ORCA local collision avoidance model. More...

Classes

class  Agent
 Defines an agent in the simulation. More...
 
class  AgentInitializer
 Class which determines the agent properties for each new ORCA agent. More...
 
class  DBEntry
 The simulator database entry for the ORCA simulator. More...
 
class  Simulator
 Defines the simulator operating on ORCA::Agent. More...
 

Typedefs

typedef ORCATypeAgentContext
< Agent
AgentContext
 Specialization of the ORCA context for ORCA::Agent.
 

Functions

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 lines and a circular constraint. More...
 
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 constraint. More...
 
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 constraint. More...
 

Variables

const float TAU = 2.5f
 The default value for tau (the time horizon w.r.t. other agents).
 
const float TAU_OBST = 0.15f
 The default value for tau obstacles (the time horizon w.r.t. obstacles).
 

Detailed Description

The namespace for the ORCA local collision avoidance model.

Function Documentation

bool ORCA::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 lines and a circular constraint.

Parameters
linesLines defining the linear constraints.
lineNoThe specified line constraint.
radiusThe radius of the circular constraint.
optVelocityThe optimization velocity.
directionOptTrue if the direction should be optimized.
resultA reference to the result of the linear program.
Returns
True if successful.
size_t ORCA::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 constraint.

Parameters
linesLines defining the linear constraints.
radiusThe radius of the circular constraint.
optVelocityThe optimization velocity.
directionOptTrue if the direction should be optimized.
resultA reference to the result of the linear program.
Returns
The number of the line it fails on, and the number of lines if successful.
void ORCA::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 constraint.

Parameters
linesLines defining the linear constraints.
numObstLinesCount of obstacle lines.
beginLineThe line on which the 2-d linear program failed.
radiusThe radius of the circular constraint.
resultA reference to the result of the linear program.