Spec-Zone.ru › PointCloudLibrary

Захват для устройств IDS-Imaging Ensenso. Подробнее...

#include <pcl/io/ensenso_grabber.h>

Inheritance graph
[легенда]
Collaboration graph
[легенда]

Общедоступные члены-функции

EnsensoGrabber ()
Конструктор. Подробнее...
~EnsensoGrabber () noexcept override
Деструктор, унаследованный от интерфейса Grabber. Подробнее...
int enumDevices () const
Ищет доступные устройства. Подробнее...
bool openDevice (const int device=0)
Открывает устройство Ensenso. Подробнее...
bool closeDevice ()
Закрывает устройство Ensenso. Подробнее...
void start () override
Запустить захват облака точек и/или изображений. Подробнее...
void stop () override
Остановить захват данных. Подробнее...
bool isRunning () const override
Проверить, идёт ли по-прежнему захват данных. Подробнее...
bool isTcpPortOpen () const
Проверить, открыт ли TCP-порт. Подробнее...
std::string getName () const override
Получить имя класса. Подробнее...
bool configureCapture (const bool auto_exposure=true, const bool auto_gain=true, const int bining=1, const float exposure=0.32, const bool front_light=false, const int gain=1, const bool gain_boost=false, const bool hardware_gamma=false, const bool hdr=false, const int pixel_clock=10, const bool projector=true, const int target_brightness=80, const std::string trigger_mode="Software", const bool use_disparity_map_area_of_interest=false) const
Настройка параметров захвата Ensenso. Подробнее...
bool grabSingleCloud (pcl::PointCloud< pcl::PointXYZ > &cloud) const
Захват единственного облака точек и сохранение его. Подробнее...
bool initExtrinsicCalibration (const int grid_spacing) const
Настроить датчик Ensenso и API для проведения внешней калибровки 3D с использованием 2D-паттернов Ensenso. Подробнее...
bool clearCalibrationPatternBuffer () const
Очистить буфер калибровочных паттернов. Подробнее...
int captureCalibrationPattern () const
Захватывает калибровочный шаблон. Подробнее...
bool estimateCalibrationPatternPose (Eigen::Affine3d &pattern_pose) const
Оценить положение калибровочного шаблона. Подробнее...
bool computeCalibrationMatrix (const std::vector< Eigen::Affine3d, Eigen::aligned_allocator< Eigen::Affine3d > > &robot_poses, std::string &json, const std::string setup="Moving", const std::string target="Hand", const Eigen::Affine3d &guess_tf=Eigen::Affine3d::Identity(), const bool pretty_format=true) const
Вычисляет матрицу калибровки, используя собранные паттерны и вектор позиций робота. Подробнее...
bool storeEEPROMExtrinsicCalibration () const
Копирует ссылку, определённую в узле Link nxTree, в EEPROM. Подробнее...
bool clearEEPROMExtrinsicCalibration ()
Очистить внешнюю калибровку, сохранённую в EEPROM, записав единичную матрицу. Подробнее...
bool setExtrinsicCalibration (const double euler_angle, Eigen::Vector3d &rotation_axis, const Eigen::Vector3d &translation, const std::string target="Hand") const
Обновить узел Link в дереве NxLib. Подробнее...
bool setExtrinsicCalibration (const std::string target="Hand")
Обновить узел Link в дереве NxLib с единичной матрицей. Подробнее...
bool setExtrinsicCalibration (const Eigen::Affine3d &transformation, const std::string target="Hand")
Обновить узел Link в дереве NxLib. Подробнее...
float getFramesPerSecond () const override
Получить количество кадров в секунду (FPS) Подробнее...
bool openTcpPort (const int port=24000)
Открыть TCP-порт для доступа через программу nxTreeEdit. Подробнее...
bool closeTcpPort ()
Закрыть TCP-порт программы. Подробнее...
std::string getTreeAsJson (const bool pretty_format=true) const
Возвращает полное дерево NxLib в виде строки JSON. Подробнее...
std::string getResultAsJson (const bool pretty_format=true) const
Возвращает узел Result (последней команды) в виде строки JSON. Подробнее...
bool jsonTransformationToEulerAngles (const std::string &json, double &x, double &y, double &z, double &w, double &p, double &r) const
Получить углы Эйлера, соответствующие строке JSON (преобразование с осью вращения). Подробнее...
bool jsonTransformationToAngleAxis (const std::string json, double &alpha, Eigen::Vector3d &axis, Eigen::Vector3d &translation) const
Получить параметры вращения по оси, соответствующие строке JSON. Подробнее...
bool jsonTransformationToMatrix (const std::string transformation, Eigen::Affine3d &matrix) const
Получить строку JSON, соответствующую 4x4 матрице. Подробнее...
bool eulerAnglesTransformationToJson (const double x, const double y, const double z, const double w, const double p, const double r, std::string &json, const bool pretty_format=true) const
Получить строку JSON, соответствующую преобразованию углов Эйлера. Подробнее...
bool angleAxisTransformationToJson (const double x, const double y, const double z, const double rx, const double ry, const double rz, const double alpha, std::string &json, const bool pretty_format=true) const
Получить строку JSON, соответствующую преобразованию с осью вращения. Подробнее...
bool matrixTransformationToJson (const Eigen::Affine3d &matrix, std::string &json, const bool pretty_format=true) const
Получить строку JSON, соответствующую 4x4 матрице. Подробнее...
- Public Member Functions inherited from pcl::Grabber
Grabber ()=default
Конструктор по умолчанию. Подробнее...
Grabber (const Grabber &)=delete
Конструктор копирования отсутствует, так как объект Grabber не может быть скопирован. Подробнее...
Grabber & operator= (const Grabber &)=delete
Оператор присваивания копирования отсутствует, так как объект Grabber не может быть скопирован. Подробнее...
Grabber (Grabber &&)=default
Конструктор перемещения. Подробнее...
Grabber & operator= (Grabber &&)=default
Оператор присваивания перемещения. Подробнее...
virtual ~Grabber () noexcept=default
Виртуальный деструктор. Подробнее...
template<typename T >
boost::signals2::connection registerCallback (const std::function< T > &callback)
Регистрирует функцию/метод обратного вызова для сигнала с соответствующей подписью Подробнее...
template<typename T >
bool providesCallback () const noexcept
Указывает, существует ли сигнал с заданным типом параметра или нет Подробнее...
bool toggle ()
Для устройств, которые ведут потоковую передачу, остановленные потоки запускаются, а работающие останавливаются. Подробнее...

Общедоступные атрибуты

shared_ptr< const NxLibItem > root_
Ссылка на корень дерева NxLib. Подробнее...
NxLibItem camera_
Ссылка на дерево камеры. Подробнее...

Защищенные члены-функции

void processGrabbing ()
Непрерывно запрашивает данные изображений и/или облаков точек с устройства и публикует их, если они доступны. Подробнее...
- Защищенные члены-функции, унаследованные от pcl::Grabber
virtual void signalsChanged ()
template<typename T >
boost::signals2::signal< T > * find_signal () const noexcept
template<typename T >
int num_slots () const noexcept
template<typename T >
void disconnect_all_slots ()
template<typename T >
void block_signal ()
template<typename T >
void unblock_signal ()
void block_signals ()
void unblock_signals ()
template<typename T >
boost::signals2::signal< T > * createSignal ()

Статические защищенные члены-функции

static std::uint64_t getPCLStamp (const double ensenso_stamp)
Преобразовать временную метку Ensenso во временную метку PCL/ROS. Подробнее...
static std::string getOpenCVType (const int channels, const int bpe, const bool isFlt)
Получить тип изображения OpenCV, соответствующий заданным параметрам. Подробнее...

Защищенные атрибуты

std::thread grabber_thread_
Поток Grabber. Подробнее...
boost::signals2::signal< sig_cb_ensenso_point_cloud > * point_cloud_signal_
Сигнал Boost для облака точек. Подробнее...
boost::signals2::signal< sig_cb_ensenso_images > * images_signal_
Сигнал Boost для изображений. Подробнее...
boost::signals2::signal< sig_cb_ensenso_point_cloud_images > * point_cloud_images_signal_
Сигнал Boost для изображений + облака точек. Подробнее...
bool device_open_
Открыто ли устройство Ensenso. Подробнее...
bool tcp_open_
Открыт ли TCP порт. Подробнее...
bool running_
Работает ли устройство Ensenso. Подробнее...
pcl::EventFrequency frequency_
Частота захвата/обработки облака точек. Подробнее...
std::mutex fps_mutex_
Взаимная блокировка для вычисления FPS. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::Grabber
std::map< std::string, std::unique_ptr< boost::signals2::signal_base > > signals_
std::map< std::string, std::vector< boost::signals2::connection > > connections_
std::map< std::string, std::vector< boost::signals2::shared_connection_block > > shared_connections_

Подробное описание

Интерфейс Grabber для устройств IDS-Imaging Ensenso.


Ensenso SDK позволяет использовать несколько устройств Ensenso для создания одного облака точек.
Эта функция не реализована здесь, пользователю нужно настроить несколько камер Ensenso.

Автор
Victor Lamoine (victo.nosp@m.r.la.nosp@m.moine.nosp@m.@gma.nosp@m.il.co.nosp@m.m)

Определение в строке 66 файла ensenso_grabber.h.

Документация конструктора и деструктора

EnsensoGrabber()

pcl::EnsensoGrabber::EnsensoGrabber ( )

Конструктор.

~EnsensoGrabber()

pcl::EnsensoGrabber::~EnsensoGrabber ( )
overridenoexcept

Деструктор, унаследованный от интерфейса Grabber.

Он никогда не выбрасывает исключений.

Документация функций-членов

angleAxisTransformationToJson()

bool pcl::EnsensoGrabber::angleAxisTransformationToJson ( const double x,
const double y,
const double z,
const double rx,
const double ry,
const double rz,
const double alpha,
std::string & json,
const bool pretty_format = true
) const

Получить строку JSON, соответствующую преобразованию по углу и оси.

Параметры
[вход] x Угол X
[вход] y Угол Y
[вход] z Угол Z
[вход] rx Компонента оси Эйлера по X
[вход] ry Компонента оси Эйлера по Y
[вход] rz Компонента оси Эйлера по Z
[вход] alpha Угол поворота Эйлера
[выход] json Строка, содержащая преобразование по углу и оси в формате JSON
[вход] pretty_format Стиль форматирования JSON
Возвращает
True, если успешно, иначе false
Предупреждение
Единицы измерения - метры и радианы! (ось Эйлера не обязательно должна быть нормализована)
Примечание
См.: страницу преобразования в документации EnsensoSDK

captureCalibrationPattern()

int pcl::EnsensoGrabber::captureCalibrationPattern ( ) const

Захватывает шаблон калибровки.

Возвращает
число шаблонов калибровки, сохранённых в nxTree, -1 при ошибке
Предупреждение
Устройство должно быть открыто и не должно работать.
Примечание
Перед этим следует использовать initExtrinsicCalibration

clearCalibrationPatternBuffer()

bool pcl::EnsensoGrabber::clearCalibrationPatternBuffer ( ) const

Очистить буфер шаблонов калибровки.

clearEEPROMExtrinsicCalibration()

bool pcl::EnsensoGrabber::clearEEPROMExtrinsicCalibration ( )

Очистить данные внешней калибровки, хранящиеся в EEPROM, записав единичную матрицу.

Возвращает
True, если успешно, иначе false

closeDevice()

bool pcl::EnsensoGrabber::closeDevice ( )

Закрыть устройство Ensenso.

Возвращает
True, если успешно, иначе false

closeTcpPort()

bool pcl::EnsensoGrabber::closeTcpPort ( )

Закрыть TCP-порт.

Возвращает
True, если успешно, иначе false
Предупреждение
Если TCP-порт не закрыть, программа может завершиться с открытым портом. В этом случае используйте
ps -ef 
и
kill PID 
для завершения приложения и эффективного закрытия порта.

computeCalibrationMatrix()

bool pcl::EnsensoGrabber::computeCalibrationMatrix ( const std::vector< Eigen::Affine3d, Eigen::aligned_allocator< Eigen::Affine3d > > & robot_poses,
std::string & json,
const std::string setup = "Moving",
const std::string target = "Hand",
const Eigen::Affine3d & guess_tf = Eigen::Affine3d::Identity(),
const bool pretty_format = true
) const

Вычисляет матрицу калибровки, используя собранные шаблоны и вектор позиций робота.

Параметры
[вход] robot_poses Список позиций робота, по одному для каждого полученного шаблона (в том же порядке)
[выход] json Данные внешней калибровки в формате JSON
[вход] setup Перемещение или Фиксирование, см. документацию Ensenso
[вход] target См. документацию Ensenso
[вход] guess_tf Предположительное преобразование для матрицы калибровки (перевод в метрах)
[вход] pretty_format Стиль форматирования JSON
Возвращает
True, если успешно, иначе false
Предупреждение
Может занять до 120 секунд
Примечание
Проверьте результат с помощью getResultAsJson. Для постоянного хранения результата используйте storeEEPROMExtrinsicCalibration.

configureCapture()

bool pcl::EnsensoGrabber::configureCapture ( const bool auto_exposure = true,
const bool auto_gain = true,
const int bining = 1,
const float exposure = 0.32,
const bool front_light = false,
const int gain = 1,
const bool gain_boost = false,
const bool hardware_gamma = false,
const bool hdr = false,
const int pixel_clock = 10,
const bool projector = true,
const int target_brightness = 80,
const std::string trigger_mode = "Software",
const bool use_disparity_map_area_of_interest = false
) const

Настройка параметров захвата Ensenso.

Parameters
[in] auto_exposure Если установлено в «да», параметр exposure будет игнорироваться
[in] auto_gain Если установлено в «да», параметр gain будет игнорироваться
[in] bining Объединение пикселей: 1, 2 или 4
[in] exposure В миллисекундах, от 0,01 до 20 мс
[in] front_light Инфракрасный передний свет (полезно для калибровки)
[in] gain Значение от 1 до 4
[in] gain_boost
[in] hardware_gamma
[in] hdr Высокий динамический диапазон (проверьте совместимость с другими параметрами в руководстве Ensenso)
[in] pixel_clock В мегагерцах, от 5 до 85
[in] projector Использовать центральный инфракрасный проектор или нет
[in] target_brightness От 40 до 210
[in] trigger_mode
[in] use_disparity_map_area_of_interest
Returns
True, если успешно, иначе false
Примечание
См. Элемент дерева захвата для получения более подробной информации о параметрах.

enumDevices()

int pcl::EnsensoGrabber::enumDevices ( ) const

Поиск доступных устройств.

Returns
Количество подключенных устройств Ensenso

estimateCalibrationPatternPose()

bool pcl::EnsensoGrabber::estimateCalibrationPatternPose ( Eigen::Affine3d & pattern_pose ) const

Определение позы шаблона калибровки.

Parameters
[out] pattern_pose Поза шаблона калибровки
Returns
true при успешном выполнении, иначе false
Предупреждение
Устройство должно быть открыто и не должно работать.
Примечание
Необходимо предварительно захватить хотя бы один шаблон калибровки. Используйте captureCalibrationPattern перед этим

eulerAnglesTransformationToJson()

bool pcl::EnsensoGrabber::eulerAnglesTransformationToJson ( const double x,
const double y,
const double z,
const double w,
const double p,
const double r,
std::string & json,
const bool pretty_format = true
) const

Получение JSON-строки, соответствующей преобразованию углов Эйлера.

Parameters
[in] x Перенос по оси X
[in] y Перенос по оси Y
[in] z Перенос по оси Z
[in] w Угол yaw
[in] p Угол Pitch
[in] r Угол Roll
[out] json Строка, содержащая преобразование углов Эйлера в формате JSON
[in] pretty_format Стиль форматирования JSON
Returns
True при успешном выполнении, иначе false
Предупреждение
Единицы измерения — метры и радианы!
Примечание
См.: страницу преобразования в документации EnsensoSDK

getFramesPerSecond()

float pcl::EnsensoGrabber::getFramesPerSecond ( ) const
overridevirtual

Получение количества кадров в секунду (FPS)

Реализация pcl::Grabber.

getName()

std::string pcl::EnsensoGrabber::getName ( ) const
overridevirtual

Получение имени класса.

Returns
Строка, содержащая имя класса

Реализация pcl::Grabber.

getOpenCVType()

static std::string pcl::EnsensoGrabber::getOpenCVType ( const int channels,
const int bpe,
const bool isFlt
)
staticprotected

Получить тип изображения OpenCV, соответствующий заданным параметрам.

Параметры
channels количество каналов в изображении
bpe байты на элемент
isFlt является плавающей точкой
Возвращает
тип OpenCV в виде строки

getPCLStamp()

static std::uint64_t pcl::EnsensoGrabber::getPCLStamp ( const double ensenso_stamp )
staticprotected

Преобразовать временную метку Ensenso в временную метку PCL/ROS.

Параметры
[in] ensenso_stamp
Возвращает
Метка PCL. API Ensenso возвращает время, прошедшее с 1 января 1601 года (UTC); в операционной системе Linux эта временная метка — 1 января 1970 года (UTC). См. страницу временных меток для получения дополнительной информации о преобразовании временных меток.

getResultAsJson()

std::string pcl::EnsensoGrabber::getResultAsJson ( const bool pretty_format = true ) const

Возвращает узел Result (последней команды) в виде строки JSON.

Параметры
[in] pretty_format Стиль форматирования JSON
Возвращает
Строка, содержащая узел Result в формате JSON

getTreeAsJson()

std::string pcl::EnsensoGrabber::getTreeAsJson ( const bool pretty_format = true ) const

Возвращает полное дерево NxLib в виде строки JSON.

Параметры
[in] pretty_format Стиль форматирования JSON
Возвращает
Строка, содержащая дерево NxLib в формате JSON

grabSingleCloud()

bool pcl::EnsensoGrabber::grabSingleCloud ( pcl::PointCloud< pcl::PointXYZ > & cloud ) const

Захватить один облако точек и сохранить его.

Параметры
[out] cloud Облако точек для заполнения
Возвращает
true, если успешно, false в противном случае
Предупреждение
Устройство должно быть открыто и не работать

initExtrinsicCalibration()

bool pcl::EnsensoGrabber::initExtrinsicCalibration ( const int grid_spacing ) const

Настроить датчик Ensenso и API для выполнения внешней калибровки 3D с использованием 2D шаблонов Ensenso.

Параметры
[in] grid_spacing
Возвращает
true, если успешно, false в противном случае

Настраивает параметры захвата на значения по умолчанию (например: projector = false и front_light = true) Отбрасывает все предыдущие шаблоны, настраивает grid_spacing

Предупреждение
Устройство должно быть открыто и не должно работать.
Примечание
См. справочник Ensenso для получения дополнительной информации о процессе внешней калибровки.
Элемент GridSize защищен в NxTree, вы не можете его изменить.

isRunning()

bool pcl::EnsensoGrabber::isRunning ( ) const
overridevirtual

Проверить, всё ли ещё идёт процесс получения данных.

Возвращает
true, если работает, false в противном случае

Реализует pcl::Grabber.

isTcpPortOpen()

bool pcl::EnsensoGrabber::isTcpPortOpen ( ) const

Проверить, открыт ли TCP-порт.

Возвращает
true, если открыт, false в противном случае

jsonTransformationToAngleAxis()

bool pcl::EnsensoGrabber::jsonTransformationToAngleAxis ( const std::string json,
double & alpha,
Eigen::Vector3d & axis,
Eigen::Vector3d & translation
) const

Получить параметры угла оси, соответствующие строке JSON.

Параметры
[in] json Строка, содержащая преобразование угла оси в формате JSON
[out] alpha Угол Эйлера
[out] axis Вектор pcl::Axis
[out] translation Вектор сдвига
Возвращает
true, если успешно, false в противном случае
Предупреждение
Единицы измерения: метры и радианы!
Примечание
См. страницу преобразований в документации EnsensoSDK

jsonTransformationToEulerAngles()

bool pcl::EnsensoGrabber::jsonTransformationToEulerAngles ( const std::string & json,
double & x,
double & y,
double & z,
double & w,
double & p,
double & r
) const

Получить углы Эйлера, соответствующие строке JSON (преобразование по оси угла)

Parameters
[in] json Строка, содержащая преобразование по оси угла в формате JSON
[out] x Смещение по оси X
[out] y Смещение по оси Y
[out] z Смещение по оси Z
[out] w Угол yaw
[out] p Угол Pitch
[out] r Угол Roll
Returns
True при успехе, false в противном случае
Warning
Единицы измерения: метры и радианы!
Note
См.: страницу преобразований в документации EnsensoSDK

jsonTransformationToMatrix()

bool pcl::EnsensoGrabber::jsonTransformationToMatrix ( const std::string transformation,
Eigen::Affine3d & matrix
) const

Получить строку JSON, соответствующую 4x4 матрице.

Parameters
[in] transformation Входное преобразование
[out] matrix Матрица, содержащая JSON преобразование
Returns
True при успехе, false в противном случае
Warning
Единицы измерения: метры и радианы!
Note
См.: страницу преобразования в документации EnsensoSDK

matrixTransformationToJson()

bool pcl::EnsensoGrabber::matrixTransformationToJson ( const Eigen::Affine3d & matrix,
std::string & json,
const bool pretty_format = true
) const

Получить строку JSON, соответствующую 4x4 матрице.

Parameters
[in] matrix Входная матрица
[out] json Строка, содержащая матричное преобразование в формате JSON
[in] pretty_format Стиль форматирования JSON
Returns
True при успехе, false в противном случае
Warning
Единицы измерения: метры и радианы!
Note
См.: страницу преобразования в документации EnsensoSDK

openDevice()

bool pcl::EnsensoGrabber::openDevice ( const int device = 0 )

Открывает устройство Ensenso.

Parameters
[in] device ID устройства для открытия
Returns
True при успехе, false в противном случае

openTcpPort()

bool pcl::EnsensoGrabber::openTcpPort ( const int port = 24000 )

Открывает TCP-порт для доступа через программу nxTreeEdit.

Parameters
[in] port Номер порта
Returns
True при успехе, false в противном случае

processGrabbing()

void pcl::EnsensoGrabber::processGrabbing ( )
protected

Непрерывно запрашивает данные изображений и/или облаков точек от устройства и публикует их, если они доступны.

Для полученных изображений и облаков точек заполняются метки времени PCL (см. getPCLStamp)

Note
Метка времени облака — это метка времени изображения RAW

setExtrinsicCalibration() [1/3]

bool pcl::EnsensoGrabber::setExtrinsicCalibration ( const double euler_angle,
Eigen::Vector3d & rotation_axis,
const Eigen::Vector3d & translation,
const std::string target = "Hand"
) const

Обновить узел Link в дереве NxLib.

Parameters
[in] target Например, "Hand" или "Workspace"
[in] euler_angle
[in] rotation_axis
[in] translation Смещение в метрах
Returns
True при успехе, false в противном случае
Warning
Смещения в метрах, углы поворота в радианах! (сохраняются в мм/радианах в дереве Ensenso)
Note
Если калибровка была сохранена в EEPROM, она копируется в узел Link при старте nxLib. Этот метод перезаписывает узел Link, но не записывает в EEPROM.

Более подробную информацию о параметрах можно найти в разделе узла Link руководства Ensenso.

Полученные данные облака точек Ensenso уже преобразованы с использованием этой матрицы калибровки. Убедитесь, что это преобразование является единичным, если вы хотите получить исходное облако точек! (используйте clearEEPROMExtrinsicCalibration) Используйте storeEEPROMExtrinsicCalibration для постоянного сохранения этого преобразования

setExtrinsicCalibration() [2/3]

bool pcl::EnsensoGrabber::setExtrinsicCalibration ( const Eigen::Affine3d & transformation,
const std::string target = "Hand"
)

Обновить узел Link в дереве NxLib.

Параметры
[in] transformation Матрица преобразования
[in] target Например, "Hand" или "Workspace"
Возвращает
True в случае успеха, иначе false
Предупреждение
Преобразования в метрах, углы вращения в радианах! (хранятся в мм/радианах в дереве Ensenso)
Примечание
Если калибровка сохранена в EEPROM, она копируется в узел Link при запуске дерева nxLib. Этот метод перезаписывает узел Link, но не записывает в EEPROM.

Дополнительную информацию о параметрах можно найти в разделе «Узел Link» руководства Ensenso по адресу Узел Link.

Полученные от Ensenso облака точек уже преобразуются с использованием этой матрицы калибровки. Убедитесь, что это тождественное преобразование, если вы хотите получить исходное облако точек! (используйте clearEEPROMExtrinsicCalibration) Используйте storeEEPROMExtrinsicCalibration для постоянного сохранения этого преобразования

setExtrinsicCalibration() [3/3]

bool pcl::EnsensoGrabber::setExtrinsicCalibration ( const std::string target = "Hand" )

Обновить узел Link в дереве NxLib с использованием единичной матрицы.

Параметры
[in] target Например, "Hand" или "Workspace"
Возвращает
True в случае успеха, иначе false

start()

void pcl::EnsensoGrabber::start ( )
overridevirtual

Запустить захват облака точек и/или изображений.

Примечание
Открывает устройство "0", если ни одно устройство не открыто

Реализует pcl::Grabber.

stop()

void pcl::EnsensoGrabber::stop ( )
overridevirtual

Остановить процесс захвата данных.

Реализует pcl::Grabber.

storeEEPROMExtrinsicCalibration()

bool pcl::EnsensoGrabber::storeEEPROMExtrinsicCalibration ( ) const

Скопировать определение узла Link в узле Link nxTree в EEPROM.

Возвращает
True в случае успеха, иначе false. Для получения дополнительной информации о работе с EEPROM см. setExtrinsicCalibration.
После вызова computeCalibrationMatrix, это позволяет постоянно сохранить матрицу.
Примечание
Необходимо указать целевой объект (computeCalibrationMatrix указывает целевой объект)

Документация по данным членам

camera_

NxLibItem pcl::EnsensoGrabber::camera_

Ссылка на дерево камеры.

Предупреждение
При работе с camera_ необходимо вручную обрабатывать исключения NxLib!

Определение в строке 430 файла ensenso_grabber.h.

device_open_

bool pcl::EnsensoGrabber::device_open_
protected

Открыто ли устройство Ensenso.

Определение в строке 446 файла ensenso_grabber.h.

fps_mutex_

std::mutex pcl::EnsensoGrabber::fps_mutex_
mutableprotected

Взаимная блокировка для вычисления FPS.

Определение в строке 458 файла ensenso_grabber.h.

frequency_

pcl::EventFrequency pcl::EnsensoGrabber::frequency_
protected

Частота захвата/обработки облака точек.

Определение в строке 455 файла ensenso_grabber.h.

grabber_thread_

std::thread pcl::EnsensoGrabber::grabber_thread_
protected

Поток Grabber.

Определение в строке 434 файла ensenso_grabber.h.

images_signal_

boost::signals2::signal<sig_cb_ensenso_images>* pcl::EnsensoGrabber::images_signal_
protected

Сигнал Boost для изображений.

Определение в строке 440 файла ensenso_grabber.h.

point_cloud_images_signal_

boost::signals2::signal<sig_cb_ensenso_point_cloud_images>* pcl::EnsensoGrabber::point_cloud_images_signal_
protected

Сигнал Boost для изображений + облака точек.

Определение в строке 443 файла ensenso_grabber.h.

point_cloud_signal_

boost::signals2::signal<sig_cb_ensenso_point_cloud>* pcl::EnsensoGrabber::point_cloud_signal_
protected

Сигнал Boost для облака точек.

Определено в строке 437 файла ensenso_grabber.h.

root_

shared_ptr<const NxLibItem> pcl::EnsensoGrabber::root_

Ссылка на корень дерева NxLib.

Предупреждение
Вы должны вручную обрабатывать исключения NxLib при работе с root_! См. ensensoExceptionHandling в ensenso_grabber.cpp

Определено в строке 426 файла ensenso_grabber.h.

running_

bool pcl::EnsensoGrabber::running_
protected

Указывает, работает ли устройство Ensenso или нет.

Определено в строке 452 файла ensenso_grabber.h.

tcp_open_

bool pcl::EnsensoGrabber::tcp_open_
protected

Открыт ли TCP-порт.

Определено в строке 449 файла ensenso_grabber.h.


Документация для этого класса была сгенерирована из следующего файла:
  • pcl/io/ensenso_grabber.h

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_ensenso_grabber.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API