[Documentation] [TitleIndex] [WordIndex

  Show EOL distros: 

Package Summary

ROS nodes wrapping the binary driver for Optris thermal imager devices.

  • Author: Stefan May (Nuremberg Institute of Technology Georg Simon Ohm - www.th-nuernberg.de), 64-Bit platform supported by Fraunhofer IPA (www.ipa.fraunhofer.de)
  • License: BSD
  • Source: git https://github.com/ohm-ros-pkg/optris_drivers.git (branch: fuerte-devel)

Package Summary

ROS nodes wrapping the binary driver for Optris thermal imager devices.

  • Maintainer: Stefan May(Nuremberg Institute of Technology Georg Simon Ohm - www.th-nuernberg.de) <not AT given DOT yet>
  • Author: Stefan May (Nuremberg Institute of Technology Georg Simon Ohm - www.th-nuernberg.de), 64-Bit platform supported by Fraunhofer IPA (www.ipa.fraunhofer.de), Support for ROS hydro migration by Christopher-Eyk Hrabia (DAI-Labor, Technische Universität Berlin)
  • License: BSD
  • Source: git https://github.com/ohm-ros-pkg/optris_drivers.git (branch: groovy-devel)

Package Summary

ROS nodes wrapping the binary driver for Optris thermal imager devices.

  • Maintainer: Stefan May(Nuremberg Institute of Technology Georg Simon Ohm - www.th-nuernberg.de) <stefan.may AT th-nuernberg DOT de>
  • Author: Stefan May (Nuremberg Institute of Technology Georg Simon Ohm - www.th-nuernberg.de), 64-Bit platform supported by Fraunhofer IPA (www.ipa.fraunhofer.de), Support for ROS hydro migration by Christopher-Eyk Hrabia (DAI-Labor, Technische Universität Berlin)
  • License: BSD
  • Source: git https://github.com/ohm-ros-pkg/optris_drivers.git (branch: groovy-devel)

Package Summary

ROS nodes wrapping the binary driver for Optris thermal imager devices.

  • Maintainer: Stefan May(Nuremberg Institute of Technology Georg Simon Ohm - www.th-nuernberg.de) <stefan.may AT th-nuernberg DOT de>
  • Author: Stefan May (Nuremberg Institute of Technology Georg Simon Ohm - www.th-nuernberg.de), 64-Bit platform supported by Fraunhofer IPA (www.ipa.fraunhofer.de), Support for ROS hydro migration by Christopher-Eyk Hrabia (DAI-Labor, Technische Universität Berlin)
  • License: BSD
  • Source: git https://github.com/ohm-ros-pkg/optris_drivers.git (branch: groovy-devel)

Package Summary

ROS nodes wrapping the binary driver for Optris thermal imager devices.

  • Maintainer: Stefan May(Nuremberg Institute of Technology Georg Simon Ohm - www.th-nuernberg.de) <stefan.may AT th-nuernberg DOT de>
  • Author: Stefan May (Nuremberg Institute of Technology Georg Simon Ohm - www.th-nuernberg.de), 64-Bit platform supported by Fraunhofer IPA (www.ipa.fraunhofer.de), Support for ROS hydro migration by Christopher-Eyk Hrabia (DAI-Labor, Technische Universität Berlin)
  • License: BSD
  • Source: git https://github.com/ohm-ros-pkg/optris_drivers.git (branch: groovy-devel)

Package Summary

ROS nodes wrapping the binary driver for Optris thermal imager devices.

  • Maintainer: Stefan May(Nuremberg Institute of Technology Georg Simon Ohm - www.th-nuernberg.de) <stefan.may AT th-nuernberg DOT de>
  • Author: Stefan May (Nuremberg Institute of Technology Georg Simon Ohm - www.th-nuernberg.de), 64-Bit platform supported by Fraunhofer IPA (www.ipa.fraunhofer.de), Support for ROS hydro migration by Christopher-Eyk Hrabia (DAI-Labor, Technische Universität Berlin)
  • License: BSD
  • Source: git https://github.com/evocortex/optris_drivers.git (branch: kinetic-devel)

piimagers.jpg

ROS Nodes

optris_imager_node

ROS driver node that publishes thermal data (and if available images from the visible spectrum).

Published Topics

thermal_image (sensor_msgs/Image) visible_image (sensor_msgs/Image) internal_temperature (optris_drivers/Temperature) flag_state (optris_drivers/Flag)

Services

~auto_flag (optris_drivers/AutoFlag) ~force_flag (std_srvs/Empty) ~set_temperature_range (optris_drivers/TemperatureRange)

Parameters

xmlConfig (string)

optris_colorconvert_node

ROS driver node that subscribes the data topics of optris_imager_node (thermal_image and if available visible_image). Data is converted into displayable color representations.

Published Topics

thermal_image_view (sensor_msgs/Image) visible_image_view (sensor_msgs/Image)

Parameters

palette (int, default: 6) paletteScaling (int, default: 2) temperatureMin (int, default: 20) temperatureMax (int, default: 40)

Services

~palette (optris_drivers/Palette)

optris_binary_image_node

ROS driver node that subscribes the data topics of optris_imager_node (thermal_image). Data is converted into monochrome color representations, suitable for camera calibration. The package dynamic_reconfigure can be used to change the threshold on run-time.

Published Topics

thermal_binary_image (sensor_msgs/Image)

Parameters

threshold (double, default: 40) invert (bool, default: false)

Basic Installation

Binary driver versions for the Optris thermal imager series are available for i386, amd64, atom, armel and eabihf architectures. Debian packages can be downloaded from evocortex. The driver is available for different platforms (i386, amd64, armel, armhf, arm64).

Please follow the installation instructions. It is best to check a proper installation with the contained example applications.

Examples

optris_max.png optris_teepot.png optris_pot.png

Start driver node that publishes thermal data.

$ rosrun optris_drivers optris_imager_node _xmlConfig:=config/12090031.xml

The xml configuration file is camera specific. It comprises the following values:

Start color conversion node, that publishes data in false color representation.

$ rosrun optris_drivers optris_colorconvert_node _palette:=6 _paletteScaling:=2 _temperatureMin:=10 _temperatureMax:=30

Alternatively, both nodes are started in the namespace "optris" with

$ roslaunch optris_drivers.launch

Display thermal images in false color code

$ rosrun image_view image_view image:=/optris/thermal_image_view

Switch off automatic shutter flag control

$ rosservice call /optris/optris_imager_node/auto_flag 0

Trigger shutter flag manually

$ rosservice call /optris/optris_imager_node/force_flag

Using Compression

The default image transport format is raw. If you have to tunnel data over a low-bandwidth network, you can employ the PNG compression mechanism of image_transport. Launch the subscriber of the thermal_image topic with the following _image_transport option:

$ rosrun optris_drivers optris_colorconvert_node _palette:=6 _paletteScaling:=2 _temperatureMin:=10 _temperatureMax:=30 _image_transport:=compressed

Since thermal images are in 1-channel 16-Bit integer format, JPEG compression can not be used. Moreover, JPEG is not lossless. Switch to PNG with:

$ rosrun dynamic_reconfigure dynparam set /thermal_image/compressed format png

or with the help of a graphical interface:

$ rosrun rqt_reconfigure rqt_reconfigure

With rxgraph the usage of compression can be verified. The remaining bandwidth can be displayed with:

$ rostopic bw /thermal_image/compressed

If you use the roslaunch file, uncomment the following line

<!-- <param name="image_transport" type="string" value="compressed"/> -->

and remind the namespace "optris".

Using BI-SPECTRAL technology

PI 200/230 cameras support a second image channel. Verify that in the corresponding configuration file, bispectral is set to 1. The topic visible_image is providing a yuv422 image format, either in raw or PNG coding depending on _image_transport. Ensure that the compression is set to PNG, JPEG is not supporting yuv422 for the moment. Starting optris_colorconvert_node subscribes to visible_image and publishes visible_image_view, which is in rgb8 format. Either raw or PNG/JPEG compression can be used.

$ rosrun image_view image_view image:=/visible_image_view _image_transport:=compressed

Troubleshooting

If you cannot get image data from above mentioned topics, check

<fov>30</fov>
<temperature>
  <min>-20</min>
  <max>100</max>
</temperature>

Cali-<SERIAL#>.xml
Cali-<SERIAL#>-30-M20-100.dat
Kennlinie-<SERIAL#>-30-M20-100.prn

[Format]
  Guid = {A6160508-8450-4c25-B80F-976B2BF06E93}
  Name = "PI400 382x288 @ 27Hz"
  Channels = 1
  In = 385 289 27
  Out = 382 288 27
  SFrames = 1
  Def = (0 288 d:382 s:3)(110880 1 m:385)
[Format end]


2019-07-13 12:56