You are here

Tutorials: Supported sensors and robotic hardware

This page contains a list of supported sensors, along example configuration blocks for those based on the CGenericSensor interface. All hardware and sensor-related classes can be found in the mrpt-hwdrivers library, which contains the mrpt::hwdrivers namespace. See also the rawlog-grabber application. Unless specifically noted, all devices are supported under both Windows and Linux, with only some (for now) supported on MacOS.

 


1. 3D range cameras

 

1.1. SwissRanger SR3000/4000

SR4000

The C++ interface is implemented in the class mrpt::hwdrivers::CSwissRanger3DCamera. See the page of the demo application for more information and a demo video. Manufacturer web site: http://www.mesa-imaging.ch/prodview4k.php

 

 

 

1.2. Xbox Kinect (RGB+D camera)

Kinect

The C++ interface is implemented in the class mrpt::hwdrivers::CKinect. See this page for more information, demo videos and example code.
 

 

 

 


2. 2D laser scanners

2.1. SICK LMS 2XX

SICK LMS 200

SICK LMS2XX laser scanners are supported by the class mrpt::hwdrivers::CSickLaserSerial, 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).




 

2.2. SICK LMS 100 (Ethernet)

SICK LMS 100

SICK LMS 100 laser scanners with Ethernet interface are supported by the class mrpt::hwdrivers::CLMS100Eth.



 

2.3. Hokuyo URG/UTM/UXM

HOKUYO-URG-04HOKUYO-UHGHOKUYO-UTM-30

A wide range of Hokuyo laser scanners are supported by one single class, the mrpt::hwdrivers::CHokuyoURG. See also the example named HOKUYO_laser_test.







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



 

2.4. Ibeo Automotive Laser Scanners

Ibeo LUX

Ibeo LUX laser scanner, Ethernet-interfaced, is supported since MRPT 0.9.4 through the class mrpt::hwdrivers::CIbeoLuxETH.







See the manufacturer website: http://www.ibeo-as.com/index.php?option=com_content&view=article&id=66&I...
 


3. 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.

 

3.1. Monocular cameras

Firewire cam

MRPT can access monocular USB or firewire cameras by means of two ways:






 

3.2. Bumblebee/Bumblebee2 Stereo cameras

Stereo cam

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.




 

3.3. Videre Stereo cameras

Videre stereo cam

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.




 

3.4. IP cameras and video files

IP cam

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.






 


4. Inertial Sensors / Gyroscopes

 

4.1. xSens MTi Inertial Unit (IMU)

XSENS

The interface to this sensor is implemented in the class mrpt::hwdrivers::CIMUXSens.


 

4.2. KVH DSP3000 (Fiber Optic Gyro)

KVH DSP3000

A precise fiber optic gyro. The interface to this sensor is implemented in the class mrpt::hwdrivers::CGyroKVHDSP3000.


See the manufacturer website: http://www.kvh.com/.../Fiber-Optic-Gyros/DSP-3000.aspx


 


5. GPS receivers

 

5.1. Parser of standard NMEA commands

GPS

An implementation of a parser of GGA, and other NMEA commands from a wide range of GPS devices can be found in the class mrpt::hwdrivers::CGPSInterface.




 

5.2. RTK corrections via NTRIP

RTK GPS

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.






 


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

Pioneer Robot

Access to all ARIA-based mobile robotic bases is done via the C++ class mrpt::hwdrivers::CActivMediaRobotBase, which implements basic mobility functions as well as sonars and other sensors. Since MRPT carries its own embedded version of ARIA, you won't need any software or library previously installed in your system to use this class.






 


7. Rovio mobile robot/webcam

Rovio Robot

An interface to this mobile robot, equipped with an IP camera, is implemented in the C++ class mrpt::hwdrivers::CRovio.
See the manufacturer web: http://www.wowwee.com/en/products/tech/telepresence/rovio/rovio






 


8. Joysticks

Joystick

A cross-platform and very simple interface to joysticks is provided via the class mrpt::hwdrivers::CJoystick.






 


9. Pan and Tilt Units

 

9.1. Direct Perception Pan-Tilt-Unit (PTU)

D PTU

An interface to this PTU model is implemented in the C++ class mrpt::hwdrivers::CPtuDPerception.


 


 

9.2. Micos Tilt-Unit

DT80

An interface to the precision "rotation stage DT-80", by MICOS. See the C++ class mrpt::hwdrivers::CTuMicos.

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

 

 


10. Range-only or RFID sensors

 

10.1. Impinj's RFID Speedway Revolution Reader

SR4000

This sensor is supported by the MRPT class mrpt::hwdrivers::CImpinfRFID. 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/Speedway_Revolution_Reader.aspx

 


11. Generic I/O boards

 

11.1. Phidgets boards

PhidgetInterfaceKit 8/8/8

Phidgets Inc.'s board "PhidgetInterfaceKit 8/8/8" is supported by class mrpt::hwdrivers::CPhidgetInterfaceKitProximitySensors.

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

Note: Since MRPT 0.9.2
 

 

11.2. National Instruments NI 845x

NI 845x

This SPI/I2C USB board is supported by class XXX

Manufacturer web: http://sine.ni.com/psp/app/doc/p/id/psp-318/

Note: Since MRPT 1.0.0
 

 


12. Gas sensing devices

 

12.1. MiniRAE Lite photoionization detector (PID)

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

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

Note: Since MRPT 0.9.6

Subscribe to Comments for "Tutorials: Supported sensors and robotic hardware"