Grabber для устройств IDS-Imaging Ensenso. Подробнее...
#include <pcl/io/ensenso_grabber.h>
Общедоступные функции-члены | |
| 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. Подробнее... |
|
|
| |
| 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 () |
| Непрерывно запрашивает у устройства изображения и/или облака точек и публикует их, если они доступны. Подробнее... |
|
|
| |
| 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. Подробнее... |
|
|
| |
| 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.
Определение в строке 66 файла ensenso_grabber.h.
Описание конструкторов и деструктора
EnsensoGrabber()
| pcl::EnsensoGrabber::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()
| overridevirtual |
Получение количества кадров в секунду (FPS)
Реализует pcl::Grabber.
getName()
| overridevirtual |
getOpenCVType()
| staticprotected |
Получение типа изображения OpenCV, соответствующего заданным параметрам.
- Параметры
-
channels количество каналов изображения bpe байт на элемент isFlt является ли тип числом с плавающей точкой
- Возвращает
- тип OpenCV в виде строки
getPCLStamp()
| 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()
| 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()
| 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()
| overridevirtual |
Запустить захват облака точек и/или изображений.
- Примечание
- Открывает устройство «0», если ни одно устройство не открыто
Реализует pcl::Grabber.
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} |
Указывает, открыто ли устройство Ensenso.
Определение в строке 446 файла ensenso_grabber.h.
fps_mutex_
| std::mutex pcl::EnsensoGrabber::fps_mutex_ |
Взаимное исключение при вычислении FPS.
Определение в строке 458 файла ensenso_grabber.h.
frequency_
| pcl::EventFrequency pcl::EnsensoGrabber::frequency_ |
Частота захвата/обработки облака точек.
Определение в строке 455 файла ensenso_grabber.h.
grabber_thread_
| std::thread pcl::EnsensoGrabber::grabber_thread_ |
Поток Grabber.
Определение в строке 434 файла ensenso_grabber.h.
images_signal_
| boost::signals2::signal<sig_cb_ensenso_images>* pcl::EnsensoGrabber::images_signal_ |
Сигнал изображений Boost.
Определение в строке 440 файла ensenso_grabber.h.
point_cloud_images_signal_
| boost::signals2::signal<sig_cb_ensenso_point_cloud_images>* pcl::EnsensoGrabber::point_cloud_images_signal_ |
Сигнал изображений и облака точек Boost.
Определение в строке 443 файла ensenso_grabber.h.
point_cloud_signal_
| boost::signals2::signal<sig_cb_ensenso_point_cloud>* pcl::EnsensoGrabber::point_cloud_signal_ |
Сигнал облака точек 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} |
Указывает, запущено ли устройство Ensenso.
Определение в строке 452 файла ensenso_grabber.h.
tcp_open_
| bool pcl::EnsensoGrabber::tcp_open_ {false} |
Указывает, открыт ли 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