PDA

View Full Version : Detecting surface conditions?



Paul V
02-24-2014, 03:58 PM
So I've been considering a robotics project that would involve mapping the extent of potentially hazardous conditions on pavement (specifically, wet or icy pavement). I'm trying to come up with the best approach to actually detect these conditions in a cost-effective manner.

So far, what I've considered:

* Contact approaches - directly measuring the coefficient of friction by sliding a small mass across the surface and measuring the force applied. Conceptually simple, but it adds mechanical complexity, and there's going to be a lot of variability. Alternately, trying to measure any slippage of the robot as it moves, but I don't think this will work well.

* Non-contact approaches - In looking at absorption spectra of water and ice, if I could measure reflection of near-IR and far-IR light off the pavement, I should be able to detect both water and ice. This would be an active system - I'd have to produce and detect both wavelengths of light. Near-IR is not a problem - there's a ton of IR LEDs and sensors that would operate in this region. Far-IR is where I'm struggling. Sensors could probably be obtained, at worst, through IR thermometers, but I haven't found any good source for producing the far-IR light to illuminate the target area.

Range is not a deal breaker - that is, while it would be nice to measure conditions in front of the robot, I'm OK with moving the robot onto the hazard in order to map it. The project also wouldn't involve anything like trying to estimate the depth of ice, or any other conditions, just taking a paved surface and mapping where it was dry / wet / icy.

Any thoughts or ideas? Anything I've missed?

TXBDan
02-24-2014, 04:10 PM
Is this for a biped? (hexapods are statically and dynamically stable so it doesn't matter what the surface is for them except if they slide down a hill, but you couldn't do much about that) What happens if it detects a slippery surface? Would you avoid it or change to a more stable movement/gait?

I'm curious about how this fits into the larger algorithm. It may be more robust to focus on solid balance control that will allow it to traverse a wide variety of surfaces. I have the Big Dog robot in mind when its on the icy surface. It doesn't know or car that its slipping due to ice, the control system allows it to catch itself from falling and continue moving. It could be ice, snow, gravel, water, wet grass, etc, doesn't matter.

Paul V
02-24-2014, 04:48 PM
"For a biped"? Yes in a manner of speaking :D I'm actually envisioning a system that detects and reports hazards to human locomotion, for example, to identify slippery areas along a length of sidewalk.

jwatte
02-24-2014, 06:47 PM
Make the robot put down a tripod with rubber feet, and measure how much separating force is needed before it actually slips?
You can detect "slipping" by the servo angles for the tripod actually moving.

tician
02-24-2014, 09:46 PM
Make the robot put down a tripod with rubber feet, and measure how much separating force is needed before it actually slips?
You can detect "slipping" by the servo angles for the tripod actually moving.
I rather like that idea... I would make it a purely passive design with a single force sensor or switch to tell whether the legs/linkages have buckled/splayed out (if feet grip, legs buckle; if feet slip, legs splay out). Think it would be a more reliable system to use for robot feet and/or walking canes than trying to make an inexpensive system to compare absorption of Vis~NIR and NIR (was thinking ~800nm and ~1000nm, plus temperature sensors for air and contact surface; would require shielding from sunlight and calibration for different paving surfaces).

jwatte
02-24-2014, 11:09 PM
with a single force sensor or switch

If you're using servos like the AX or MX series, you can just read the servo position; no separate switch/sensor needed :-)

tician
02-24-2014, 11:22 PM
If you're using servos like the AX or MX series, you can just read the servo position; no separate switch/sensor needed :-)
So, after every few steps, have your bot with 4DOF legs pause with the last joint pointing slightly outward and turn down/off torque? If those joints move much, there is ice?

I was thinking more a small assembly ~1" in diameter to go on the end of each leg of a quad/hex/oct or on the end of a cane. Could probably design it so that when the legs splay out it exposes some small cleats to dig into the ice.

jwatte
02-25-2014, 10:41 AM
Actually, I was thinking a separate tripod under the center of gravity, with just 1DOF per "leg." Lower it with the legs straight down until the bot is off the ground. Then slowly increase torque on the legs of the tripod, wanting to move outwards. At some point, they will actually slip, which should be easy to detect.
You could do the same with three 4DOF legs, if you can collect them more tightly beneath the bot.

Paul V
02-25-2014, 10:44 AM
Hmm, some neat ideas, thanks! I think I was more looking into the IR because I'm more familiar with the design of the spectral approach, but perhaps I discounted mechanical approaches too readily.

800 and 1000 nm would be a bit of a challenge, too, as the differences between water and ice are small at those wavelengths. Around 22000 nm there is a huge difference between the two, but that was where I had difficulty finding good sensors and sources.

tician
02-25-2014, 01:33 PM
The only bare IR temperature sensors I've found on digikey were from GE/Amphenol and Melexis (there were omron 1x8 and 4x4 sensor arrays without any filter data).

The Melexis sensors are thermopile+dsp for digital temperature output, but with 5.5~14um band-pass filters (only the xCH and xCI packages - gradient compensated with 12 and 5 FOV, respectively - possess an uncoated Germanium lens).

GE/Amphenol bare thermopiles might work better, but the datasheets only have filter transmission graphs for 2~20um (graph is flat from ~17um onward, so might continue to ~50% at 22um or quickly drop to 0%).

As for generating 22um, I won't be of any help. My intention for suggesting 800 and 1000nm was to just detect water, then use the multiple contact temperature sensors to try and guess if it might be frozen. Another thought for ice versus water was to add a small metal probe similar to what is used to determine the load bearing capability of ground prior to building (metal spike on a force gauge that you push into the soil/mud). If the probe encounters a small, but noticeable, resistance prior to stopping, then there is likely something (semi-)solid on top of the paving surface.