A lighthouse beams light out to make itself and its shoreline visible. [Daniel’s] lighthouse has the opposite function, using lasers to map out the area around itself. Using an Arduino and a ToF sensor, the concept is relatively simple. However, connecting to something that rotates 360 degrees is always a challenge.
The lighthouse is inexpensive — about $40 — and small. Small enough, in fact, to mount on top of a robot, which would give you great situational awareness on a robot big enough to support it. You can see the device in action in the video below.
This lighthouse uses a common solution to the rotating connection problem: a slip ring. While these are mechanical, commercial units can be relatively reliable. To route all the signals, the slip ring needs six wire capsules meaning there are six wires that logically pass through the rotating part. The drive motor spins at 60 RPM, but there are two sensors 180 degrees apart to double the scanning rate. The 3D printed housing uses PLA and looks great.
Of course, the real trick will be using all this data meaningfully in your robot or whatever is listening to the lighthouse. That, however, is a different topic. If you think two ToF sensors are good, why not try three?
https://www.youtube.com/watch?v=uYU534Wn4lA&feature=emb_logo
I wonder how hard it would be mimic a vr lighthouse with one of these. Certainly cheaper than the one available for the vive.
This project is cool for other reasons! It’s doing the inverse of what SteamVR lighthouses do (or normal lighthouses for that matter), and is more robot-appropriate. I’m definitely bookmarking this project for use on a slow rover.
The older SteamVR lighthouses have a good overview here on hackaday https://hackaday.com/2016/12/21/alan-yates-why-valves-lighthouse-cant-work/ They don’t do any kind of external sensing, 3D or otherwise. The VR peripherals are all responsible for that.
It may be cool for other reasons, but I have an OSVR sitting in my closet that needs using.
I hate to be a killjoy, but the results shown are not nearly as good as a $200 LiDAR. This wouldn’t work well for robots unless you plan to stop moving every few inches. A cheap FPGA would make much more sense design wise as it would allow for faster rotation and sample rates.
This is something I can use — but surely a much faster computer. Arduino is so slow. A Rpi4 perhaps ( ok a bit expensive but flexible)
> lighthouse beams light out to make itself [..] visible.
> [Daniel’s] lighthouse has the opposite function
No, it’s the exact same function. It puts out light, and the light is meant to be seen by something. Granted the sensors are *also* in the lighthouse, but the light thing is the same.
In the same way that a mirror is just like a flashlight, I guess you are right.
“Time of flight sensor” ??
That’s not the easiest thing to do, with light in room size environments! Could we have some specs w/o wading through video? Are we talking about, idk, centimeter resolution, or what?
In theory the sensor can read to 1mm at up to 2m, but in practice probably less than that. https://www.st.com/en/imaging-and-photonics-solutions/vl53l0x.html
From the Pololu carrier board documentation: The sensor can report distances of up to 2 m (6.6 ft) with 1 mm resolution, but its effective range and accuracy (noise) depend heavily on ambient conditions and target characteristics like reflectance and size, as well as the sensor configuration. (The sensor’s accuracy is specified to range from ±3% at best to over ±10% in less optimal conditions.)
Biggest issues I remember with the VL53 family:
1) Very low range
2) Very high beam divergence (and hence poor resolution in an application like this)