Spec-Zone.ru › PointCloudLibrary

Grabber для устройств 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-калибровки внешних параметров с использованием двумерных шаблонов 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. Подробнее...
- Общедоступные функции-члены, унаследованные от 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_ {false}
Указывает, открыто ли устройство Ensenso. Подробнее...
bool tcp_open_ {false}
Указывает, открыт ли порт TCP. Подробнее...
bool running_ {false}
Указывает, запущено ли устройство 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 для устройств Ensenso компании IDS-Imaging.


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, соответствующую преобразованию по оси и углу.

Параметры
[in] x Угол X
[in] y Угол Y
[in] z Угол Z
[in] rx Компонента X оси Эйлера
[in] ry Компонента Y оси Эйлера
[in] rz Компонента Z оси Эйлера
[in] alpha Угол поворота Эйлера
[out] json Строка, содержащая преобразование по оси и углу в формате JSON
[in] 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

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

Параметры
[in] robot_poses Список поз робота: по одной для каждого полученного шаблона (в том же порядке)
[out] json Данные внешней калибровки в формате JSON
[in] setup Moving или Fixed; см. документацию Ensenso
[in] target См. документацию Ensenso
[in] guess_tf Предполагаемое преобразование для калибровочной матрицы (перенос в метрах)
[in] 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.

Параметры
[in] auto_exposure Если установлено значение yes, параметр экспозиции игнорируется
[in] auto_gain Если установлено значение yes, параметр усиления игнорируется
[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
Возвращает
True в случае успеха, иначе false
Примечание
Дополнительные сведения о параметрах см. в разделе элемент дерева Capture.

enumDevices()

int pcl::EnsensoGrabber::enumDevices ( ) const

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

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

estimateCalibrationPatternPose()

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

Оценка положения калибровочного шаблона.

Параметры
[out] pattern_pose положение калибровочного шаблона
Возвращает
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, соответствующей преобразованию углов Эйлера.

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

getFramesPerSecond()

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

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

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

getName()

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

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

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

Реализует 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-калибровки внешних параметров с помощью двумерных шаблонов 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 Вектор оси
[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 (преобразованию «угол–ось»)

Параметры
[in] json Строка, содержащая преобразование «угол–ось» в формате JSON
[out] x Перенос по X
[out] y Перенос по Y
[out] z Перенос по Z
[out] w Угол рыскания
[out] p Угол тангажа
[out] r Угол крена
Возвращает
True в случае успеха, иначе false
Предупреждение
Единицы измерения — метры и радианы!
Примечание
См. страницу о преобразованиях в документации EnsensoSDK

jsonTransformationToMatrix()

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

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

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

matrixTransformationToJson()

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

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

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

openDevice()

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

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

Параметры
[in] device Идентификатор открываемого устройства
Возвращает
True в случае успеха, иначе false

openTcpPort()

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

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

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

processGrabbing()

void pcl::EnsensoGrabber::processGrabbing ( )
protected

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

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

Примечание
Временная метка облака совпадает с временной меткой исходного изображения 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.

Параметры
[in] target Например, "Hand" или "Workspace"
[in] euler_angle
[in] rotation_axis
[in] translation Перенос в метрах
Возвращает
True в случае успеха, иначе false
Предупреждение
Перенос задаётся в метрах, углы поворота — в радианах! (в дереве Ensenso хранятся в мм/радианах)
Примечание
Если калибровка сохранена в EEPROM, при запуске дерева nxLib она копируется в узел Link. Этот метод перезаписывает узел 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, при запуске дерева nxLib она копируется в узел Link. Этот метод перезаписывает узел Link, но не записывает данные в EEPROM.

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

Облако точек, полученное с 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 дерева 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_ {false}
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.

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

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

running_

bool pcl::EnsensoGrabber::running_ {false}
protected

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

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

tcp_open_

bool pcl::EnsensoGrabber::tcp_open_ {false}
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