| 
    Buran Motion Planning Framework
    
   | 
 
#include <scene.h>
Public Member Functions | |
| Scene ()=default | |
| Scene (const std::vector< std::shared_ptr< bmpf::BaseRobot >> &robot) | |
| ~Scene ()=default | |
| unsigned long | getActiveRobotCnt () const | 
| посчитать количество активных роботов посчитать количество активных роботов на сцене (объектов с переменными состояниями)  More... | |
| unsigned long | addObject (std::string path) | 
| unsigned long | addObject (std::string path, std::vector< double > &transformVector) | 
| void | deleteRobot (long robotNum) | 
| void | saveToFile (const std::string &path) | 
| void | loadFromFile (const std::string &path) | 
| std::vector< std::pair< long, long > > | getJointIndexRanges () | 
| unsigned long | getJointCnt () const | 
| bool | isSingleActiveRobot () const | 
| std::vector< std::shared_ptr< bmpf::JointParams > > | getJointParamsList () | 
| std::vector< double > | getMaxSpeedModules () | 
| std::vector< double > | getMaxAccelerationModules () | 
| std::vector< std::shared_ptr< bmpf::Link > > | getLinks () const | 
| std::vector< Eigen::Matrix4d > | getTransformMatrices (const std::vector< double > &state) | 
| получить список матриц преобразований всех звеньев получить список матриц преобразований всех звеньев по состоянию сцены  More... | |
| std::vector< double > | getEndEffectorPositions (const std::vector< double > &state) | 
| получить список положений (x,y,z) рабочих инструментов всех роботов получить список положений (x,y,z) рабочих инструментов всех роботов по состоянию сцены  More... | |
| std::vector< double > | getEndEffectorDiffPositions (const std::vector< double > &state, int iVal) | 
| std::vector< double > | getEndEffectorDiff2Positions (const std::vector< double > &state, int iVal, int jVal) | 
| std::vector< Eigen::Matrix4d > | getEndEffectorTransformMatrices (const std::vector< double > &state) | 
| std::vector< Eigen::Matrix4d > | getEndEffectorDiffTransformMatrices (const std::vector< double > &state, int iVal) | 
| std::vector< Eigen::Matrix4d > | getEndEffectorDiff2TransformMatrices (const std::vector< double > &state, int iVal, int jVal) | 
| std::vector< double > | getEndEffectorRGVectors (const std::vector< double > &state) | 
| std::vector< double > | getEndEffectorDiffRGVector (const std::vector< double > &state, int iVal) | 
| std::vector< double > | getEndEffectorDiff2RGVector (const std::vector< double > &state, int iVal, int jVal) | 
| std::vector< double > | getAllLinkPositions (const std::vector< double > &state) | 
| std::vector< double > | getAllLinkRGVectors (const std::vector< double > &state) | 
| bool | isStateEnabled (const std::vector< double > &state) | 
| bool | isStateEnabled (std::vector< double > state, unsigned long robotNum) | 
| std::vector< double > | getRandomState () | 
| const std::vector< std::shared_ptr< bmpf::BaseRobot > > & | getRobots () const | 
| std::string | getScenePath () const | 
| std::vector< std::shared_ptr< Scene > > | getSingleRobotScenes () | 
| std::vector< double > | getSingleObjectState (const std::vector< double > &state, unsigned long objectNum) | 
| std::vector< std::vector< double > > | getGroupedTranslation () const | 
| std::vector< std::vector< double > > | getGroupedRotation () const | 
| std::vector< std::vector< double > > | getGroupedScale () const | 
| std::vector< std::vector< double > > | getGroupedTransformVector () const | 
| std::vector< std::vector< std::string > > | getGroupedModelPaths () const | 
| void | setGroupedTranslation (std::vector< std::vector< double >> groupedTranslation) | 
| void | setGroupedRotation (std::vector< std::vector< double >> groupedRotation) | 
| void | setGroupedScale (std::vector< std::vector< double >> groupedScale) | 
| void | setGroupedTransformVector (std::vector< std::vector< double >> transformVectors) | 
| template<typename ... ArgsT> | |
| std::vector< double > | concatenateStates (ArgsT ... states) | 
| template<typename ... ArgsT> | |
| std::vector< int > | concatenateCoords (ArgsT ... states) | 
| std::vector< bool > | areObjectsJointed () | 
| std::vector< int > | getJointedObjectIndexes () | 
| std::vector< int > | getNotJointedObjectIndexes () | 
Static Public Member Functions | |
| static std::vector< double > | concatenateStates (const std::vector< std::vector< double >> &states) | 
| static std::vector< double > | concatenateStates (std::initializer_list< std::vector< double >> states) | 
| static std::vector< int > | concatenateCoords (const std::vector< std::vector< int >> &coords) | 
Protected Member Functions | |
| void | _initObjects () | 
Класс сцены
      
  | 
  default | 
Конструктор по умолчанию
      
  | 
  explicit | 
конструктор сцены от одного робота
| robot | робот | 
      
  | 
  default | 
Деструктор по умолчанию
      
  | 
  protected | 
заполняет по имеющимся на сцене роботам общие списки jointCnt, _jointIndexRanges, _jointParams и _links
| unsigned long Scene::addObject | ( | std::string | path | ) | 
Добавить робота на сцену
| path | путь к описанию робота | 
| unsigned long Scene::addObject | ( | std::string | path, | 
| std::vector< double > & | transformVector | ||
| ) | 
добавить робота на сцену
| path | путь к описанию робота, | 
| transformVector | вектор трансформации position: x,y,z; rotation: r,p,y; scale: x,y,z | 
      
  | 
  inline | 
получить список флагов, имеет ли тот или иной объект звенья
      
  | 
  inline | 
объединить состояния роботов (вспомогательный метод)
| states | список состояний | 
      
  | 
  static | 
объединить координаты роботов
| coords | координаты | 
      
  | 
  inline | 
объединить состояния роботов (вспомогательный метод)
| states | список состояний | 
      
  | 
  static | 
объединить состояния роботов (последовательно)
| states | список состояний | 
      
  | 
  static | 
объединить состояния роботов (последовательно)
| states | список состояний | 
| void Scene::deleteRobot | ( | long | robotNum | ) | 
удалить робота со сцены
| robotNum | номер робота в общем списке | 
| unsigned long Scene::getActiveRobotCnt | ( | ) | const | 
посчитать количество активных роботов посчитать количество активных роботов на сцене (объектов с переменными состояниями)
| std::vector< double > Scene::getAllLinkPositions | ( | const std::vector< double > & | state | ) | 
получить список положений звеньев всех роботов по состоянию сцены (x,y,z)
| state | состояние сцены | 
| std::vector< double > Scene::getAllLinkRGVectors | ( | const std::vector< double > & | state | ) | 
получить список положений (x,y,z) и ориентаций (параметры Родриго-Гамильтона) звеньев всех роботов по состоянию сцены
| state | состояние сцены | 
| std::vector< double > Scene::getEndEffectorDiff2Positions | ( | const std::vector< double > & | state, | 
| int | iVal, | ||
| int | jVal | ||
| ) | 
получить частную производную положений рабочих инструментов роботов по i-ой и j-ой координатам
| state | состояние сцены | 
| iVal | индекс координаты, по которой первый раз берётся производная | 
| jVal | индекс координаты, по которой второй раз берётся производная | 
| std::vector< double > Scene::getEndEffectorDiff2RGVector | ( | const std::vector< double > & | state, | 
| int | iVal, | ||
| int | jVal | ||
| ) | 
получить частную производную положения и ориентации рабочего инструмента (заданы параметрами Родриго-Гамильтона) по i-ой и j-ой координатам
| state | состояние сцены | 
| iVal | индекс координаты, по которой первый раз берётся производная | 
| jVal | индекс координаты, по которой второй раз берётся производная | 
| std::vector< Eigen::Matrix4d > Scene::getEndEffectorDiff2TransformMatrices | ( | const std::vector< double > & | state, | 
| int | iVal, | ||
| int | jVal | ||
| ) | 
получить частные производные матриц преобразования из СК базы робота в СК рабочего инструмента для каждого робота сцены по i-ой координате и j-ой координате
| state | состояние сцены | 
| iVal | индекс координаты, по которой первый раз берётся производная | 
| jVal | индекс координаты, по которой второй раз берётся производная | 
| std::vector< double > Scene::getEndEffectorDiffPositions | ( | const std::vector< double > & | state, | 
| int | iVal | ||
| ) | 
Получить частную производную положений рабочих инструментов роботов по i-ой координате
| state | состояние сцены | 
| iVal | индекс координаты, по которой берётся производная | 
| std::vector< double > Scene::getEndEffectorDiffRGVector | ( | const std::vector< double > & | state, | 
| int | iVal | ||
| ) | 
получить частную производную положения и ориентации рабочего инструмента (заданы параметрами Родриго-Гамильтона) по i-ой координате
| state | состояние сцены | 
| iVal | индекс координаты, по которой берётся производная | 
| std::vector< Eigen::Matrix4d > Scene::getEndEffectorDiffTransformMatrices | ( | const std::vector< double > & | state, | 
| int | iVal | ||
| ) | 
получить частные производные матриц преобразования из СК базы робота в СК рабочего инструмента для каждого робота сцены по i-ой координате
| state | состояние сцены | 
| iVal | индекс координаты, по которой берётся производная | 
| std::vector< double > Scene::getEndEffectorPositions | ( | const std::vector< double > & | state | ) | 
получить список положений (x,y,z) рабочих инструментов всех роботов получить список положений (x,y,z) рабочих инструментов всех роботов по состоянию сцены
| state | состояние сцены | 
| std::vector< double > Scene::getEndEffectorRGVectors | ( | const std::vector< double > & | state | ) | 
получить список положений и ориентаций рабочего инструмента (заданы параметрами Родриго-Гамильтона)
| state | состояние сцены | 
| std::vector< Eigen::Matrix4d > Scene::getEndEffectorTransformMatrices | ( | const std::vector< double > & | state | ) | 
получить матрицы преобразования из СК базы робота в СК рабочего инструмента для каждого робота сцены
| state | состояние сцены | 
| std::vector< std::vector< std::string > > Scene::getGroupedModelPaths | ( | ) | const | 
получить пути к моделям для каждого из роботов (группируются по роботам)
| std::vector< std::vector< double > > Scene::getGroupedRotation | ( | ) | const | 
получить повороты для каждого из роботов
| std::vector< std::vector< double > > Scene::getGroupedScale | ( | ) | const | 
получить масштабы для каждого из роботов
| std::vector< std::vector< double > > Scene::getGroupedTransformVector | ( | ) | const | 
получить векторы преобразования для каждого из роботов
| std::vector< std::vector< double > > Scene::getGroupedTranslation | ( | ) | const | 
получить смещения для каждого из роботов
      
  | 
  inline | 
получить суммарное количество сочленений у всех роботов на сцене
      
  | 
  inline | 
получить список индексов всех объектов, имеющих звенья
      
  | 
  inline | 
получить диапазоны индексов сочленений всех роботов
      
  | 
  inline | 
получить список параметров сочленений робота
      
  | 
  inline | 
получить список звеньев робота
      
  | 
  inline | 
получить максимальные по модулю значения ускорения каждой из координат
      
  | 
  inline | 
получить максимальные по модулю значения скорости каждой из координат
      
  | 
  inline | 
получить список индексов всех объектов, не имеющих звенья
| std::vector< double > Scene::getRandomState | ( | ) | 
получить случайное состояние сцены
      
  | 
  inline | 
получить список роботов
      
  | 
  inline | 
получить путь к описанию сцены
| std::vector< double > Scene::getSingleObjectState | ( | const std::vector< double > & | state, | 
| unsigned long | objectNum | ||
| ) | 
получить состояние робота
| state | состояние сцены | 
| objectNum | номер робота в списке роботов | 
      
  | 
  inline | 
Получить виртуальные сцены с одним активным роботом
| std::vector< Eigen::Matrix4d > Scene::getTransformMatrices | ( | const std::vector< double > & | state | ) | 
получить список матриц преобразований всех звеньев получить список матриц преобразований всех звеньев по состоянию сцены
| state | состояние | 
      
  | 
  inline | 
проверка, находится ли на сцене всего один активный робот
| bool Scene::isStateEnabled | ( | const std::vector< double > & | state | ) | 
проверка, допустимо ли состояние сцены (по допустимым диапазонам звеньев)
| state | состояние сцены | 
| bool Scene::isStateEnabled | ( | std::vector< double > | state, | 
| unsigned long | robotNum | ||
| ) | 
проверка, допустимо ли состояние сцены для конкретного робота (по допустимым диапазонам звеньев)
| state | состояние сцены | 
| robotNum | номер робота в списке роботов | 
| void Scene::loadFromFile | ( | const std::string & | path | ) | 
загрузить из файла
| path | путь к описанию сцены | 
| void Scene::saveToFile | ( | const std::string & | path | ) | 
сохранить в файл
| path | 
| void Scene::setGroupedRotation | ( | std::vector< std::vector< double >> | groupedRotation | ) | 
задать повороты для каждого из роботов
| groupedRotation | повороты для каждого из роботов | 
| void Scene::setGroupedScale | ( | std::vector< std::vector< double >> | groupedScale | ) | 
задать масштабы для каждого из роботов
| groupedScale | масштабы для каждого из роботов | 
| void Scene::setGroupedTransformVector | ( | std::vector< std::vector< double >> | transformVectors | ) | 
задать векторы преобразования для каждого из роботов
| transformVectors | векторы преобразования для каждого из роботов | 
| void Scene::setGroupedTranslation | ( | std::vector< std::vector< double >> | groupedTranslation | ) | 
задать смещения для каждого из роботов
| groupedTranslation | смещения для каждого из роботов | 
 1.8.17