|
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