Why don’t robots like shiny black floors?

Recently, Amazon began accepting invitations for their new Amazon Astro households robot.

However, in the invitation, Amazon calls out that the Astro is not compatible with a certain household objects and configurations, including glossy black floors:

Amazon Astro feature limitations

So, why are robots like the Amazon Astro not compatible with glossy black floors? To understand, it is recommended to first read through our posts on how robots experience the world and how robots see. As we learned in those posts, robots rely on sensors to understand the world around them and see potential obstacles.

Why is Amazon Astro not compatible with glossy black floors?

To understand why robots like Amazon Astro don’t like glossy black floors we revisit one of the most common type of sensors robots use to see: the LiDAR. At a high level, a LiDAR works by shooting out a single laser beam and calculating how long it took for the beam to return. Using the elapsed time, the distance the laser travelled can be calculated:

A single fixed laser distance measuring system

Robotic lidar systems all operate with a specific field of view (FOV), so rather than sending a single laser, their laser systems rotate extremely fast, capable of sending thousands of lasers out around them. The resulting laser results are understood by the robot as a point cloud, and each point (individual laser beam) has an associated distance that allows them to reconstruct the world around them. For household robot, this point cloud may appear as follows:

Example LiDAR point cloud in a home

Now that we know LiDAR works by sending out laser beams which allow a robot to build up a view of the environment around it, we can understand how this poses a potential problem: since the LiDAR is active and sending energy out into the environment in the form of laser beams, this energy may not accurately be reflected of all objects in the environment. To understand why, we quickly review how light (energy) may appear differently when reflected from different objects:

As we recall, color is really an objects reflectivity to different wavelengths of light, which means black absorbs the most light (energy). Since black absorbs the most energy and LiDAR operates by reading reflected energy from laser beams in the environment, we can see how the low reflectivity (high absorption) of black is problematic for LiDARS:

In the above plot, we can see the reflectivity of dark shaded color has an extremely low relative Lidar Reflectance. The problem with low reflectance is that generally to avoid noise (random energy readings), LiDAR readings with low reflectance are generally discarded as they are not accurate. Research is actively being made into how new types of black appearing color can be made that are still reflective to LiDAR systems:


In addition to light absorption issues with black surfaces that affect lidar reflectance & performance, shiny / glossy surfaces have the opposite effect. These surfaces reflect light so well that they can confuse a lidar by sending “reflected” light from other sources back into the LiDAR sensor. The LiDAR thinks it is receiving the light from a laser it shot, when in reality it is coming from the reflection of a laser sent a different time, causing an error in the time and distance calculation. This error results in a LiDAR problem known as “ghosting” or “blooming”, in which the point cloud appears to represent an object that is not actually there. We can see a real life example of this in self driving cars, if a very reflective stop sign was present:

Robosense LiDAR ghosting example

In the above animation, we see two “ghosts” highlighted in red boxes that roughly match the dimensions of the reflective stop sign (located on the left side of the animation). From this example we learn that glossy/reflective surfaces are equally problematic for robots relying on LiDAR to understand their surroundings, as it can cause them to see “ghosts” that are not actually there.

In summary, robots don’t like shiny black floors because their LiDAR sensors cannot get good reflectivity on these surfaces, and as a result they will have patches of “unknown” spots in their point clouds where they cannot go as they do not know what is there (a black surface not reflecting the LiDAR lasers is similar to a large hole that would not reflect the lasers).

The problem of having black materials reflect the same way as a large hole leads to a problem known as a “false cliff” or “false drop”. The robot may avoid these areas entirely, believing them to be holes when they are simply black surfaces. Some robots also have dedicated sensors known as “cliff sensors”, explained further below.

What is a robot cliff sensor?

A cliff sensor is used by robots operating in environments where cliffs are present. A cliff is considered any large drop in height that could affect / damage robot functionality. In a household, we can consider stairs to be a cliff that a cleaning robot such as a Roomba should not go down.

Using what we learned above, we see the optical cliff sensor operates on the reflectivity of light below it, and black objects have low reflectivity rates. As a result, a black floor or carpet may not reflect the light source properly, resulting in a low reflectivity reading similar to that of a cliff.