Robot sensor for detect and measurement differences in height and unevenness of the floor?




Which sensors make it possible that when my robot he goes and comed to destination B can measurement the value I have shown in the picture below as ∆h , an ordinary distance sensor will only measurement the current floor distance hs which would be constant at destination A and B as well ?

I marked the distance sensor in the picture with a red line.



Here’s another picture to make it clearer.
So are there any sensors that monitor changes in the floor (∆h) ?


1 Like

Is this for an indoor or outdoor application? If outdoor, I would say to use a GPS altimeter.

Indoor application, in house.

Have you looked at the BMP180 pressure sensor?

It is a measurement of height as a function of temperature and pressure, I think it is not accurate if the height of the unevenness of floor (∆h) is not more than 5-6 cm (or 1 cm), it is for elevation only, I do not know I have not tried, but it seems inaccurate to me. The first one, which is 8 cm precise, certainly does not fit, and for others I do not know.

1 Like

I’m not aware of anything other than an altimeter to measure elevation. It appears that other people tried to tackle this using the GPS/altimeter that is in their cell phones:

And whether a laser sensor relative to wall might help ?

The pdf just describes the brief development and ways to research the gps system.

The problem is that you’re talking about having the sensor on a moving platform taking readings. Any sensor I can think of will give you it’s current distance from an object (wall, floor, ceiling…). If you have something that is a constant, like a fixed height ceiling, you can measure the distance from the bot to the ceiling via ping… but that won’t work if the ceiling has the same gradient as the floor.

1 Like

Not a bad idea, but do there are sensors that have a range of up to ceiling ? The ceiling is mostly flat, but it is highly .

1 Like

This one is 3cm to 3m:

Parallax PING))) manufacturer link

This states that will go out to 6.45m:


This second link does not work Maxbotix Ultrasonic Rangefinder - LV-EZ1 "

It looks great, but how precision ?

@Aleksandari Although likely not precise enough, something like the Pixy can detect objects and their distance (and orientation).

Look up “object detection, distance and orientation” to get articles on how you might go about it. You’ll need a fixed image as reference.
Cameras are used to do 3D scans, but it will take some code. In your case, it’s almost SLAM (mapping).
You might also consider an ultrasonic or IR distance sensor pointing to the ceiling - which should remain at a constant height?
The more details you can provide about the robot’s operating environment, the better we can help.


@cbenson I was thinking IR Range Finder, but not sure about the OP budget or environment.

I’m trying to design a robotic arm with a moving platform for technical drawing on the wall, (this we do not look comfortable for it), and for that I need very precise sensors, that the robotic arm is not meandering because of floor unevenness and inaccurate sensors.

For example, I want to draw straight lines like in the picture:



I need precise sensors, so I wouldn’t get this kind of drawing on the wall on the curves on the floor:

1 Like

If the ceiling is uniform height, couldn’t that be a reference and use one or two accurate distance sensors?

1 Like

Yes, that’s what I want, I think that could theoretically, but you said they weren’t precise enough:

[quote] Although likely not precise enough, … [/quote] <<

(which then model sensors to choose)

IR and ultrasonic - likely not, but you can try laser:
These are obviously more expensive.


In those lessons, it says that these are the most accurate sensors, I hope I don’t “throw money in the trash can” :slight_smile:

If you accidentally by chance the ceiling is not straight, no solution or how ?

1 Like

The ceiling is what’s being used as reference, so there are a few factors to consider:

  • On a flat floor, the sensor is pointing straight up, but when it hits an incline, or a bump, the sensor needs to remain vertical. This can be done using an accelerometer or IMU (which gives you the direction to ground) and mounting the sensor on a servo or stepper to keep it pointing upwards. Both components are relatively inexpensive, but you’ll have some programming to do. Alternatively, just use the IMU to know when the robot is not flat.
  • If you use a 360 degree lidar, you’ll still need to create code to compensate for when it’s changing height.

Lasers and lidars are incredibly popular, but products like 360 degree laser rangefinders are understandably more complex to use than, say, and analog infrared sensor at $15.