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

Сервер оптимизации пути More...

#include <path_optimising_server.h>

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

Public Member Functions

void processCommand (int clientSocket, int command, Json::Value jsonData) override
 
void onSocketConnected (int clientSocket) override
 
 PathOptimisingServer (const std::shared_ptr< bmpf::Scene > &scene, bool showTrace, unsigned int maxOpenSetSize, int gridSize, unsigned int maxNodeCnt, int checkCnt, int filterDivideCnt, int optimizeLoopCnt, 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 startOptimisePath (PathOptimisingServer *pos, std::shared_ptr< bmpf::MedianPathOptimizer > po, int clientSocket, std::vector< std::vector< double >> path)
 
- 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_OPTIMIZE_PATH = 1
 
static const int COMMAND_OPTIMIZE_PATH = 2
 

Protected Attributes

std::unordered_map< int, std::vector< std::vector< double > > > paths
 
std::unordered_map< int, bool > pathOptimisingReady
 
std::unordered_map< int, std::shared_ptr< bmpf::MedianPathOptimizer > > pfs
 
std::shared_ptr< bmpf::Scene_scene
 
bool _showTrace
 
unsigned int _maxOpenSetSize
 
int _gridSize
 
unsigned int _maxNodeCnt
 
int _threadCnt
 
int _checkCnt
 
int _filterDivideCnt
 
int _optimizeLoopCnt
 
- Protected Attributes inherited from BaseServer
sem_t _sem
 

Detailed Description

Сервер оптимизации пути

Constructor & Destructor Documentation

◆ PathOptimisingServer()

PathOptimisingServer::PathOptimisingServer ( const std::shared_ptr< bmpf::Scene > &  scene,
bool  showTrace,
unsigned int  maxOpenSetSize,
int  gridSize,
unsigned int  maxNodeCnt,
int  checkCnt,
int  filterDivideCnt,
int  optimizeLoopCnt,
int  threadCnt = 1 
)
inline

конструктор

Parameters
sceneсцена
showTraceфлаг, нужно ли выводить информацию во время поиска пути
maxOpenSetSizeмаксимальный размер открытом множества
gridSizeразмер сетки планирования
maxNodeCntмаксимальное кол-во нод в закрытом множестве
checkCntколичество промежуточных проверок каждого этапа пути
filterDivideCntколичество разбиений медианного фильтра
optimizeLoopCntколичество проходов оптимизации
threadCntколичество потоков планировщика

Member Function Documentation

◆ onSocketConnected()

void PathOptimisingServer::onSocketConnected ( int  clientSocket)
overridevirtual

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

Parameters
clientSocketfd клиента

Implements BaseServer.

◆ processCommand()

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

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

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

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

Parameters
clientSocketfd клиента

Implements BaseServer.

◆ startOptimisePath()

void PathOptimisingServer::startOptimisePath ( PathOptimisingServer pos,
std::shared_ptr< bmpf::MedianPathOptimizer po,
int  clientSocket,
std::vector< std::vector< double >>  path 
)
static

Запуск оптимизации пути

Parameters
posсервер оптимизации
poоптимизатор пути
clientSocketfd клиента
pathпуть, который нужно потимизировать

Member Data Documentation

◆ _checkCnt

int PathOptimisingServer::_checkCnt
protected

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

◆ _filterDivideCnt

int PathOptimisingServer::_filterDivideCnt
protected

Количество разбиений медианного фильтра

◆ _gridSize

int PathOptimisingServer::_gridSize
protected

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

◆ _maxNodeCnt

unsigned int PathOptimisingServer::_maxNodeCnt
protected

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

◆ _maxOpenSetSize

unsigned int PathOptimisingServer::_maxOpenSetSize
protected

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

◆ _optimizeLoopCnt

int PathOptimisingServer::_optimizeLoopCnt
protected

Количество проходов оптимизации

◆ _scene

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

сцена

◆ _showTrace

bool PathOptimisingServer::_showTrace
protected

флаг, нужно ли выводить информацию во время поиска пути

◆ _threadCnt

int PathOptimisingServer::_threadCnt
protected

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

◆ COMMAND_IS_READY

const int PathOptimisingServer::COMMAND_IS_READY = 0
static

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

◆ COMMAND_OPTIMIZE_PATH

const int PathOptimisingServer::COMMAND_OPTIMIZE_PATH = 2
static

команда оптимизации пути

◆ COMMAND_START_OPTIMIZE_PATH

const int PathOptimisingServer::COMMAND_START_OPTIMIZE_PATH = 1
static

Запуск оптимизации

◆ pathOptimisingReady

std::unordered_map<int, bool> PathOptimisingServer::pathOptimisingReady
protected

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

◆ paths

std::unordered_map<int, std::vector<std::vector<double> > > PathOptimisingServer::paths
protected

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

◆ pfs

std::unordered_map<int, std::shared_ptr<bmpf::MedianPathOptimizer> > PathOptimisingServer::pfs
protected

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


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