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
|