File: supported-sensors.rst

package info (click to toggle)
mrpt 1%3A2.5.8%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 87,448 kB
  • sloc: cpp: 551,662; ansic: 38,702; xml: 3,914; python: 2,547; sh: 404; makefile: 237
file content (377 lines) | stat: -rw-r--r-- 12,673 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
.. _supported-sensors:

####################
Supported sensors
####################

This page contains a list of \ **supported sensors**, along example
configuration blocks for those based on
the  mrpt::hwdrivers::CGenericSensor interface.
All hardware and sensor-related classes can be found in
the \ `mrpt-hwdrivers
library <mrpt-hwdrivers.html>`__,
which contains
the \ `mrpt::hwdrivers <namespace_mrpt_hwdrivers.html>`__ namespace.
See also: :ref:`doxid-app_rawlog-grabber`.

Unless specifically noted, all devices are supported under \ **both
Windows and Linux**, with only some (for now) supported on MacOS.

.. contents:: Contents
   :local:
   :backlinks: none


1. 3D range cameras
-------------------

Any 3D camera supported by OpenNI2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/kinect1-150x150.jpg
   :align: right

The C++ interface is implemented in the
class \ `mrpt::hwdrivers::OpenNI2Sensor <class_mrpt_hwdrivers_COpenNI2Sensor.html>`__.

Xbox Kinect (RGB+D camera)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The C++ interface is implemented in the
class \ `mrpt::hwdrivers::CKinect <class_mrpt_hwdrivers_CKinect.html>`__.
See \ `this page <http://www.mrpt.org/Kinect_and_MRPT>`__ for more
information, demo videos and example code.


SwissRanger SR3000/4000 (legacy)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/SR4000-150x150.jpg
   :align: right

The C++ interface is implemented in the
class \ `mrpt::hwdrivers::CSwissRanger3DCamera <class_mrpt_hwdrivers_CSwissRanger3DCamera.html>`__.
See the \ `page of the demo application <page_hwdrivers_swissranger_example.html>`__ for
more information and a demo video.

Manufacturer: mesa-imaging


2. 2D laser scanners
--------------------

SICK LMS 2XX
~~~~~~~~~~~~~~~~~

.. image:: images/SickLMS200-150x150.jpg
   :align: right

SICK LMS2XX laser scanners are supported by the
class \ `mrpt::hwdrivers::CSickLaserSerial <class_mrpt_hwdrivers_CSickLaserSerial.html>`__,
which supports a wide variety of configurations (different aperture
angles, 0.25/0.50/1.0 degrees separation between rays,…) and operating
baud rates, including 500Kbauds for the USB2SERIAL converters that allow
that configuration (based on FTDI chips).

SICK LMS 100 (Ethernet)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/SICK_LMS100-150x150.jpg
   :align: right

SICK LMS 100 laser scanners with Ethernet interface are supported by the
class \ `mrpt::hwdrivers::CLMS100Eth <class_mrpt_hwdrivers_CLMS100Eth.html>`__.

SICK TiM 55x/56x (Ethernet)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/SICKTim561-150x150.png
   :align: right

SICK TiM laser scanners with Ethernet interface are supported by the
class `mrpt::hwdrivers::CSICKTim561Eth <class_mrpt_hwdrivers_CSICKTim561Eth.html>`_.

Note: Since MRPT 1.9.9.

Hokuyo URG/UTM/UXM
~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/hokuyos.png
   :align: right

A wide range of Hokuyo laser scanners are supported by one single class,
the `mrpt::hwdrivers::CHokuyoURG <class_mrpt_hwdrivers_CHokuyoURG.html>`__.
See also the example
named `HOKUYO_laser_test <example_hokuyo_urgutm_laser_scanner.html>`__.

See the manufacturer website: \ http://www.hokuyo-aut.jp/ 

Ibeo Automotive Laser Scanners
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/ibeo_Lux_scanner-150x150.jpg
   :align: right

Ibeo LUX laser scanner, Ethernet-interfaced, is supported since MRPT
0.9.4 through the class \ `mrpt::hwdrivers::CIbeoLuxETH <class_mrpt_hwdrivers_CIbeoLuxETH.html>`__.

See the manufacturer website: \ http://www.ibeo-as.com/ 

RoboPeak RP-LIDAR laser Scanners
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/robopeak_RP_LIDAR_final_render02-150x120.jpg
   :align: right

The low-cost RP-LIDAR sensor, USB-interfaced, is supported since MRPT
1.2.2 through the
class \ `mrpt::hwdrivers::CRoboPeakLidar <class_mrpt_hwdrivers_CRoboPeakLidar.html>`__.

See the manufacturer website: \ http://rplidar.robopeak.com/

3. 3D LIDARs
-------------

Velodyne
~~~~~~~~~~~~~

.. image:: images/vlp-16_600-150x150.jpg
   :align: right

`Velodyne 3D LIDARs <https://velodynelidar.com/>`__ are supported by
means of:

-  `mrpt::hwdrivers::CVelodyneScanner <class_mrpt_hwdrivers_CVelodyneScanner.html>`__
-  `mrpt::obs::CObservationVelodyne <class_mrpt_obs_CObservationVelodyneScan.html>`__
-  :ref:`doxid-app_velodyne-view`
-  Visualization of datasets: :ref:`app_RawLogViewer`
-  Grabbing LiDAR scans, simultaneously to other sensors, is possible
   via: :ref:`doxid-app_rawlog-grabber`

4. Cameras
----------

**Important:** MRPT provides a universal class capable of managing all
the following cameras with a common interface, deciding which camera to
open at runtime and converting the images from all the cameras to one
single format, the OpenCV IplImage format. See the
class \ `mrpt::hwdrivers::CCameraSensor <class_mrpt_hwdrivers_CCameraSensor.html>`__.

Monocular and stereo cameras
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/firewire-cam-150x150.jpg
   :align: right

Apart from the generic CCameraSensor class, MRPT offers this
implementation-specific classes:

-  All \ **cameras supported by OpenCV** are accessible by means of the
   class \ `mrpt::hwdrivers::CImageGrabber_OpenCV <class_mrpt_hwdrivers_CImageGrabber_OpenCV.html>`__.
-  **Firewire cameras** are specifically supported in GNU/Linux by means
   of the libdc1394 library and the
   class \ `mrpt::hwdrivers::CImageGrabber_dc1394 <class_mrpt_hwdrivers_CImageGrabber_dc1394.html>`__.
-  All \ **Point Grey Research (PGR) cameras** supported
   by \ `FlyCapture2 <http://www.ptgrey.com/flycapture-sdk>`__ can be
   read with the
   class \ `mrpt::hwdrivers::CImageGrabber_FlyCapture2 <class_mrpt_hwdrivers_CImageGrabber_FlyCapture2.html>`__ (Requires:
   MRPT 1.0.3). \ **Stereo pairs** built from two independent PGR
   cameras are supported
   via \ `mrpt::hwdrivers::CCameraSensor <class_mrpt_hwdrivers_CCameraSensor.html>`__.

Bumblebee/Bumblebee2 Stereo cameras
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Bumblebee stereo cameras are supported in MRPT in both Windows &
GNU/Linux by means of the manufacturer API and the libdc1394 libraries,
respectively. The C++ interface is the same in any case, and it’s
implemented in the
class\ `mrpt::hwdrivers::CStereoGrabber_Bumblebee_libdc1394 <class_mrpt_hwdrivers_CStereoGrabber_Bumblebee_libdc1394.html>`__.

Videre Stereo cameras
~~~~~~~~~~~~~~~~~~~~~~~~~~

Videre stereo cameras are supported in MRPT (since MRPT 0.9.1) for
GNU/Linux only for now, by means of the manufacturer SVS API. The C++
interface is implemented in the
class \ `mrpt::hwdrivers::CStereoGrabber_SVS <class_mrpt_hwdrivers_CStereoGrabber_SVS.html>`__.

IP cameras and video files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/IP-cam-150x150.jpg
   :align: right

Both IP cameras and offline video files (in many common video formats
and codecs) are supported by means of the ffmpeg libraries, within the
MRPT
class \ `mrpt::hwdrivers::CFFMPEG_InputStream <class_mrpt_hwdrivers_CFFMPEG_InputStream.html>`__.

5. Inertial Sensors (IMUs)
----------------------------

5.1. xSens MTi Inertial Units (IMUs) – 4th generation devices
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/MTi_10-series-150x150.jpg
   :align: right

The interface to this sensor is implemented in the
class \ `mrpt::hwdrivers::CIMUXSens_MT4 <class_mrpt_hwdrivers_CIMUXSens_MT4.html>`__.

Required: MRPT 1.0.3

5.2. KVH DSP3000 (Fiber Optic Gyro)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/KVH_dsp3000_IMU-150x150.jpg
   :align: right

A precise fiber optic gyro. The interface to this sensor is implemented
in the
class \ `mrpt::hwdrivers::CGyroKVHDSP3000 <class_mrpt_hwdrivers_CGyroKVHDSP3000.html>`__.

See the manufacturer
website: \ `http://www.kvh.com/…/Fiber-Optic-Gyros/DSP-3000.aspx <http://www.kvh.com/Military-and-Government/Gyros-Inertial-Systems-and-Compasses/Gyros-IMUs-and-INS/Fiber-Optic-Gyros/DSP-3000.aspx>`__ 

6. GPS receivers
----------------

Parser of standard NMEA commands and Novatel binary frames
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/gps_usb_bu-353-150x150.jpg
   :align: right

An implementation of a parser of NMEA commands from a wide range of GPS
devices, also capable of receiving Novatel frames (this latter feature,
only available in MRPT 1.3.3 or newer), can be found in the
class \ `mrpt::hwdrivers::CGPSInterface <class_mrpt_hwdrivers_CGPSInterface.html>`__.

RTK corrections via NTRIP
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/rtks86_enl-150x150.jpg
   :align: right

You can use advanced RTK GPS receivers with MRPT. For that, MRPT
includes a class that receives NTRIP RTK corrections from an Internet
server and sends them to a serial port connected to the GPS receiver.
See \ `mrpt::hwdrivers::CNTRIPEmitter <class_mrpt_hwdrivers_CNTRIPEmitter.html>`__.

7. Activemedia robotic bases (All ARIA-compatible bases)
--------------------------------------------------------

.. image:: images/Pioneer2DX_2-150x150.jpg
   :align: right

Note: Support for these robots was dropped in MRPT 1.5.3. Use older
versions if you need it with MRPT. Ten years ago, it might make sense to
integrate ARIA into MRPT, but nowadays it’s probably more practical to
use ARIA ROS packages to access robots instead of directly using MRPT.

8. Rovio mobile robot/webcam
----------------------------

An interface to this mobile robot, equipped with an IP camera, is
implemented in the C++
class ``mrpt::hwdrivers::CRovio``.

Note: Deprecated and removed in MRPT 2.1.0.

See the manufacturer
web: \ http://www.wowwee.com/en/products/tech/telepresence/rovio/rovio 

9. Joysticks
------------

.. image:: images/joystick-150x150.jpg
   :align: right

A cross-platform and very simple interface to joysticks is provided via
the
class \ `mrpt::hwdrivers::CJoystick <class_mrpt_hwdrivers_CJoystick.html>`__.

10. Pan and Tilt Units
----------------------

Direct Perception Pan-Tilt-Unit (PTU)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

An interface to this PTU model is implemented in the C++
class \ `mrpt::hwdrivers::CPtuDPerception <class_mrpt_hwdrivers_CPtuDPerception.html>`__.

Micos Tilt-Unit
~~~~~~~~~~~~~~~~~~~~~

An interface to the precision “rotation stage DT-80”, by MICOS. See the
C++
class \ `mrpt::hwdrivers::CTuMicos <class_mrpt_hwdrivers_CTuMicos.html>`__.

See the manufacturer
website: http://www.micos-online.com/web2/en/1,5,120,dt80.html

11. Range-only or RFID sensors
------------------------------

Impinj’s RFID Speedway Revolution Reader
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This sensor is supported by the MRPT
class \ `mrpt::hwdrivers::CImpinjRFID <class_mrpt_hwdrivers_CImpinjRFID.html>`__.
Note however that this sensor requires an external program outside of
MRPT for communications (refer to the Doxygen documentation of the C++
class).

See the specifications of the sensor
in: \ http://www.impinj.com/products/speedway/

12. Generic I/O boards
----------------------

Phidgets boards
~~~~~~~~~~~~~~~~~~~~~

.. image:: images/1018-150x150.jpg
   :align: right

Phidgets Inc.’s board “PhidgetInterfaceKit 8/8/8” is supported by
class \ `mrpt::hwdrivers::CPhidgetInterfaceKitProximitySensors <class_mrpt_hwdrivers_CPhidgetInterfaceKitProximitySensors.html>`__.

Manufacturer web: \ http://www.phidgets.com/products.php?product_id=1018

National Instruments boards compatible with DAQmx Base
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

| See
  class: \ `mrpt::hwdrivers::CNationalInstrumentsDAQ <class_mrpt_hwdrivers_CNationalInstrumentsDAQ.html>`__
| Read \ `this blog
  entry <https://www.mrpt.org/NI_DAQmx_Base_in_openSUSE_64bit>`__ about
  the limitations of NI PCI/USB DAQ boards in 64bit Linux distributions.

Note: Since MRPT 1.0.3

13. Gas and Wind sensing devices
--------------------------------

MiniRAE Lite photoionization detector (PID)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This sensor for fast detection of volatile organic compounds (VOC) is
supported by the software driver C++
class \ `mrpt::hwdrivers::CRaePID <class_mrpt_hwdrivers_CRaePID.html>`__

Manufacturer web: \ http://www.raesystems.com/products/minirae-lite

Gill WindSonic Wind sensor
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. image:: images/wind-sensor-150x150.png
   :align: right

Speed and direction ultrasonic wind sensor. Supported by the software
driver C++
class \ `mrpt::hwdrivers::CGillAnemometer <class_mrpt_hwdrivers_CGillAnemometer.html>`__ 

Manufacturer
web: \ http://gillinstruments.com/products/anemometer/windsonic.htm