Sensor types (modalities) for robots to experience the world

by on January 8, 2014

velodyne laser

Hi all
There are many different sensor types that can be used on a robot, and most robots will have many different sensor types. I am going to talk about the common types and avoid some of the more application specific sensors such as environmental, radiation and chemical. When I think of sensors I divide them into two categories. You have proprioceptive, which are sensors that tell the robot about its own state; and then you have the perception sensors that tell the robot about the surrounding world. There is some overlap in the categories and sometimes a sensor can be used within the other category, but you will see how I divide them below.

This is an introduction to sensors. Upcoming posts will go into more detail for each sensor type.


IMU’s, GPS, Inclinometers, Magnetometers, Gyro’s and Accelerometers

One of the most basic things a robot can know about itself is its position. This category of sensors gives the robot an idea about its position.
microstrain 3DM inclinometer
Inclinometers tell the robot if it is tilted and the angle of the tilt. These can be purchased in 1D and 2D versions to give you the roll and pitch of the robot.

Magnetometer – Magnetometers are essentially a digital compass and returns the degrees yaw based on magnetic north. Often a magnetometer is integrated with inclinometers and they are sold as 3D inclinometers.
Gyro – A gyro (sometimes called rate gyro) provides the rate of rotation. This can be integrated to get your angle. While historically they are spinning devices the new ones use light and are some times called FOG for Fiber Optic Gyro, or RLG for Ring Laser Gyro. Each of those versions being higher quality (and more expensive) then the one before. While a perfect gyro would not drift, in practice gyros can drift a lot!
Accelerometer – Accelerometers as the name says measures accelerations. A multi-axis accelerometer can also provide the direction of the forces. They can also be used for measuring vibrations and impulse accelerations. In a static system you can also get rotation from an accelerometer (angle relative to the gravity vector), however in a system that moves you can not account for the motion so gyros need to be used.
honeywell HG1700 IMU

Finally we get to the Inertial Measurement Unit or IMU (image above). IMU’s typically have 3 accelerometers, 3 gyros, and sometimes a magnetometer. This lets the IMU provide roll, pitch, and yaw as well as an x, y, and z position estimate. Often an IMU is paired with a GPS and filtered in an INS or Inertial Navigation System (image below). Click here for a full discussion on GPS.

applanix ins

Microstrain – Lower cost IMU and inclinometers
X-Bow – IMU’s and gyro’s
Xsens – Low cost IMU and INS systems
Honeywell – High range IMU’s
Applanix – Complete INS solutions
Novatel – Complete INS solutions


In many ways voltage is one of the easiest items in a robot to measure. Measuring voltage can help let you know how the battery on the robot is doing or how much you are charging from your solar panels. In the simplest form you can have the voltage be read by an analog to digital converter (ADC).


honeywell current sensor
There are two common ways of measuring current in a circuit:
1. The first way is by using hall effect sensors. They typically have a hole that you can put wires through to measure current in the lines. If you need a larger signal you can wrap the wire through the loop again to amplify the signal.

2.The second way is by use of a shunt resister. This is a low value (typically a few miliohm) resistor of a known value. By passing a through it you can measure the voltage drop and using ohms law determine the current in that path.
current shunt


force sensor
Force measurements can be tricky to get right. It is often difficult to know where to place the sensor and if the reported value is correct. To measure them you often need some support circuitry such as a bridge. There are many types of force sensors ranging from pads you place on a surface to pins that you can use instead of a bolt.


For temperature you can either go with the thermocouple (here is a good thermocouple video) route which will be more accurate or a thermistor which can be cheaper and more resistant to noise. For the thermocouple you will need to read a differential voltage while for the thermistor you will need to determine the resistance of the sensor. If you go with the thermocouple there are many types. One common type in K, that is what is used by most standard multimeters.

Position: Encoders, Resolvers and Potentiometers

string pot
Last but not least in this category is direct position. This is often things like the position of a motor or an arm. Common ways of obtaining this information is from encoders, resolvers (fancy encoders) and potentiometers. See the Motor & Feedback Tutorial for more information.

Perception Sensors

LIDAR (ie lasers)

sick lms111 lidar
LIDAR (LIght Detection And Ranging) is probably one of the most common perception sensors on robots. LIDAR data is pretty easy to use and not that noisy. Typical LIDARS can give 270deg FOV (field of view) with 0.5degree resolution. One downside to LIDAR is the spot size (ie the size of the laser point at some distance) can be large. This makes penetrating things such as snow, rain, and dust difficult. In those conditions the world might look like an almost solid wall is right in front of the sensor. They now make multiple return LIDARS that attempt to capture multiple segments of a scan point in order to get a more accurate point cloud. Also some lasers will also return the reflectivty/remission/RSSI (pick your name) which can be useful for detecting features.

SICK – Large producer of rock solid LIDAR sensors. They also have other sensors.
Hokuyo – Smaller vendor that makes smaller LIDAR’s. Probably not as reliable as the SICK products.
Velodyne – Has 64 lasers that can return 1.3 million point per second for full 360degree LIDAR data. This is the sensor in the main post photo. It is pretty cool!


ARS300 continental radar
Radar is a common replacement for LIDAR that uses radio waves instead of light. Radar data tends to be much noisier then LIDAR and has a reduced resolution, however it often has increased range and does a much better job “seeing” in rain, snow, and dust.
Continental (or Conti) – They have some radar, LIDAR, and camera solutions geared for automobiles.
Banner Engineering – I have never used their products but from the website it looks like they have a nice selection of radars and other sensors.

Ultrasonics and Sonar

ultrasonic sensor
Unlike the LIDAR sensors, ultrasonic uses sound wave instead of light which gives it some unique properties. By using sound waves they do good with liquids, reflective materials, and clear materials. Ultrasonics typically have a smaller range and reduced lower than LIDAR however they come in smaller packages. Sonar is very similar to the ultrasonic sensors but typically have a larger range. They typically have a narrow beam in order to avoid scattering. With sonar there are also passive systems that just listen and active systems which emit a pulse and listen for the response.


Cameras are a very tricky type of sensor to use but it can also provide a lot if information. Standard cameras can provide color pixels. However by pairing it to a laser or performing stereo with a second (or third) camera we can now get the 3D information about the objects in the scene. In addition to the 3D information we can also use the images for machine learning algorithm to help classify and understand what is in the image.
Point Grey – Used in a lot of machine vision applications. Nice cameras! They also make the Bumblebee 2 camera which is an integrated stereo vision camera.
Allied Vision – Manta – Also some nice cameras.

Tactile (ie. touch)

limit switch
Touch is also an important sensor in many cases the touch we are referring to is not like the human sense of touch but rather a contact closure. Probably the most common type of tactile sensor is the limit switch. Limit switched are used so a robot knows when it reached a certain point or to know when it bumps into something (or someone).

With many of these sensors they just return a single dot, or a single line. So how do we get full point clouds? There are two common methods:
1. Pushbrooming – In pushbrooming the sensor is mounted in a static position and as the robot drives the scans from the sensor are appended to each other. This relies on the robots pose for stitching the scans together.
2. Scanning – In a scanning sensor the sensor itself is moving and the scans are stitched together by using the position of the scanner at the moment the scan is taken. It is common for sensors to be both scanning and then pushbroomed as the robot drives.

To continue reading click here to learn what the sensor parameters mean

Images above all come from their manufacturers website

Liked it? Take a second to support David Kohanbash on Patreon!


Leave a Reply