I’m looking for a distance sensor with a reliable 8 metre sensing range to a person, ( could be child or adult ). There would be 3 sensors pointing outwards 120 degrees apart. They shouldn’t interfere with each other. Currently I’m testing an ultrasonic sensor but I’m not getting very good range out of it. Wondering if a Lidar or radar sensor would work better here. It could be 3 Lidar sensors or 1 rotating sensor. At least 5 to 6 Hz sampling would be good. I expect the temperature to be around -10 to -15 degrees c as it’s an outdoor winter application. I don’t require the beam to be very wide. Does anyone have any practical experience that could help point me in the right direction. Thanks.
I find the Luxonis Oak-D-Lite and Oak-D-W97 to be very good at picking out humans in the image and providing distance to the recognized people.
Thanks @alanmcd . I was looking for something that would be simpler in terms of receiving the data. All I need to know is… along a line is there anyone there and how far are they away. With visual sensors like the oak or a kinect it may take more processing than I was hoping to do for this project. The Oak sensors look great for other applications so thanks for the suggestion.
Actually, no you are over thinking it - The Oak sensors do take a bit of thinking to set up the processing pipeline, but the sensor does all the work and outputs only what you want.
When I set it up for a recognition task using one of the already existing neural-net models, I ask it to return a list of {“Object ID”, Confidence, distance, {x,y} in meters from the camera}, done. run the program and that is what I get.
They also have a “pose model” that can tell more about the detected human than the mobile-net model or yolo models I play with. Yes my robot often tells me exactly where it sees a computer monitor when it is actually looking at chairs, but it is pretty good at humans for not having to build my own vision models.
Here is detecting a chair and a human (class 15) when I walked into view:
** detections:
class_id='9', score=0.6240234375
class_id='15', score=0.94970703125 Point(x=-7.967915058135986, y=3.3562605381011963, z=7.164105415344238)
Thank you @alanmcd . I’ll definitely consider these sensors. I’m also considering a Lidar sensor such as the TF02-Pro https://ca.robotshop.com/products/benewake-tf02-pro-lidar-led-rangefinder-ip65-40m . I have some questions about this sensor that I’m wondering if folks have any answers for.
I have seen code for the i2c version that shows waiting for 100 msec after polling before getting a distance reading. If I had 3 sensors connected to a Raspberry Pi or Arduino via i2c this could mean waiting 300 msec between each reading. It seems like i2c would at most allow 10 Hz updates per sensor. Do I have that right?
Also does using multiple TF02-Pros in the same area cause any interference between them.?
If you buy an i2c version of a TF02-Pro can it be reconfigured as a UART version?
Perhaps I could use one 2D Lidar sensor however I like the flexibility of being able to move individual sensors to different positions.
I was thinking about your idea of using a LIDAR last night as my robot was navigating to the kitchen. My wife was walking around the kitchen and it was very obvious to me visually looking at the YDLIDAR X4 scan from my robot that “something was moving”. It is clearly not a “human detector”, but it does allow (with some clever software) detecting something moving while also detecting obstacles all around your bot.
But if they wear black pants all bets are off “seeing” them.
Thanks again @alanmcd . This is very encouraging. I think I’ll buy a TF02 - Pro and give it a try.
I guess I did not understand. Yes a Time of Flight Laser range sensor will have a much smaller beam width and longer maximum detection range than an ultrasonic sensor, so if that was your most important goal the sensor you are considering will get you there.
I was thrown off by the “range to a person”
There is considerable variability in ToF ranges so expect to need to average readings, which makes detecting moving “people” more challenging.
For ultimate reliability, I would pair the laser with ultrasonic or even blob motion in a calibrated camera (perhaps infrared cam). The PiCamera can detect motion blobs and report vector.