Buran Motion Planning Framework
Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
TrajectoryFindingServer Class Reference

#include <trajectory_finding_server.h>

Inheritance diagram for TrajectoryFindingServer:
Inheritance graph
[legend]
Collaboration diagram for TrajectoryFindingServer:
Collaboration graph
[legend]

Public Member Functions

void processCommand (int clientSocket, int command, Json::Value jsonData) override
 
void onSocketConnected (int clientSocket) override
 
 TrajectoryFindingServer (const std::shared_ptr< bmpf::Scene > &scene, double intervalDuration, bool showTrace, unsigned int maxOpenSetSize, int gridSize, unsigned int maxNodeCnt, int checkCnt, int threadCnt=1)
 
- Public Member Functions inherited from BaseServer
void mainLoop ()
 
virtual void init (int port, int maxClients, int delay)
 
void processRequests (int clientSocket)
 
void stop ()
 
int acceptNewSocket ()
 
int getServerFd () const
 
const sockaddr_in & getAddress () const
 

Static Public Member Functions

static void startFindTrajectory (TrajectoryFindingServer *tps, std::shared_ptr< bmpf::MonotoneTrajectoryFinder > tf, int clientSocket, std::vector< double > start, std::vector< double > end)
 
- Static Public Member Functions inherited from BaseServer
static void initLinuxServerSocket ()
 

Static Public Attributes

static const int COMMAND_IS_READY = 0
 
static const int COMMAND_START_FIND_TRAJECTORY = 1
 
static const int COMMAND_GET_POSITIONS = 2
 
static const int COMMAND_GET_SPEED = 3
 
static const int COMMAND_GET_ACCELERATIONS = 4
 

Protected Attributes

std::unordered_map< int, bool > trajectoryFindingReady
 
std::unordered_map< int, std::shared_ptr< bmpf::MonotoneTrajectoryFinder > > tfs
 
std::shared_ptr< bmpf::Scene_scene
 
double _intervalDuration
 
bool _showTrace
 
unsigned int _maxOpenSetSize
 
int _gridSize
 
unsigned int _maxNodeCnt
 
int _checkCnt
 
int _threadCnt
 
- Protected Attributes inherited from BaseServer
sem_t _sem
 

Detailed Description

Сервер для планирования траекторий

Constructor & Destructor Documentation

◆ TrajectoryFindingServer()

TrajectoryFindingServer::TrajectoryFindingServer ( const std::shared_ptr< bmpf::Scene > &  scene,
double  intervalDuration,
bool  showTrace,
unsigned int  maxOpenSetSize,
int  gridSize,
unsigned int  maxNodeCnt,
int  checkCnt,
int  threadCnt = 1 
)
inline
Parameters
sceneсцена
intervalDurationинтервал между временными метками
showTraceфлаг, выводить ли лог
maxOpenSetSizeмаксимальный размер открытого множества
gridSizeразмер сетки планирования
maxNodeCntмаксимальное кол-во нод в закрытом множестве
checkCntколичество проверок каждого этапа пути
threadCntколичество потоков планировщика

Member Function Documentation

◆ onSocketConnected()

void TrajectoryFindingServer::onSocketConnected ( int  clientSocket)
overridevirtual

Обработка подключения нового клиента

Parameters
clientSocketfd клиента

Implements BaseServer.

◆ processCommand()

void TrajectoryFindingServer::processCommand ( int  clientSocket,
int  command,
Json::Value  jsonData 
)
overridevirtual

Обработка запроса клиента

Parameters
clientSocketfd клиента
commandкод команды
jsonDataданные команды

Обработка запроса клиента

Parameters
clientSocketfd клиента

Implements BaseServer.

◆ startFindTrajectory()

void TrajectoryFindingServer::startFindTrajectory ( TrajectoryFindingServer tps,
std::shared_ptr< bmpf::MonotoneTrajectoryFinder tf,
int  clientSocket,
std::vector< double >  start,
std::vector< double >  end 
)
static

Запуск планирования траектории

Parameters
tpsсервер планирования
tfпланировщик
clientSocketfd клиента
startстартовое состояние
endконечное состояние

Member Data Documentation

◆ _checkCnt

int TrajectoryFindingServer::_checkCnt
protected

количество проверок каждого этапа пути

◆ _gridSize

int TrajectoryFindingServer::_gridSize
protected

размер сетки планирования

◆ _intervalDuration

double TrajectoryFindingServer::_intervalDuration
protected

интервал между временными метками

◆ _maxNodeCnt

unsigned int TrajectoryFindingServer::_maxNodeCnt
protected

максимальное кол-во нод в закрытом множестве

◆ _maxOpenSetSize

unsigned int TrajectoryFindingServer::_maxOpenSetSize
protected

максимальный размер открытого множества

◆ _scene

std::shared_ptr<bmpf::Scene> TrajectoryFindingServer::_scene
protected

сцена

◆ _showTrace

bool TrajectoryFindingServer::_showTrace
protected

флаг, выводить ли лог

◆ _threadCnt

int TrajectoryFindingServer::_threadCnt
protected

количество потоков планировщика

◆ COMMAND_GET_ACCELERATIONS

const int TrajectoryFindingServer::COMMAND_GET_ACCELERATIONS = 4
static

Получить ускорения траектории

◆ COMMAND_GET_POSITIONS

const int TrajectoryFindingServer::COMMAND_GET_POSITIONS = 2
static

Получить положения траектории

◆ COMMAND_GET_SPEED

const int TrajectoryFindingServer::COMMAND_GET_SPEED = 3
static

Получить скорости траектории

◆ COMMAND_IS_READY

const int TrajectoryFindingServer::COMMAND_IS_READY = 0
static

Проверка, готов ли планировщик

◆ COMMAND_START_FIND_TRAJECTORY

const int TrajectoryFindingServer::COMMAND_START_FIND_TRAJECTORY = 1
static

Запуск поиска траектории

◆ tfs

std::unordered_map<int, std::shared_ptr<bmpf::MonotoneTrajectoryFinder> > TrajectoryFindingServer::tfs
protected

Словарь планировщиков для каждого fd сокета клиента

◆ trajectoryFindingReady

std::unordered_map<int, bool> TrajectoryFindingServer::trajectoryFindingReady
protected

Словарь флагов, готов ли планировщик для каждого fd сокета клиента


The documentation for this class was generated from the following files: