Did some work last night on doing a LIDAR scan by rotating the head and using three of the VL53L1X sensors (left, front, and right-facing) to build up a 270 degree scan. Here's a short video showing the scan:
The scan runs at a resolution of about 0.58 degrees, since that is a function of the servo rotation range (0-300 degrees) and the servo resolution (10 bits). I'm skipping the servo position by 2 to make it run in a reasonble amount of time, so I get 462 sensor readings over a 270 degree arc. As I mention in the video description, Roz only needs to rotate his head 90 degrees to get the full 270 sweep, since the sensors are spaced 90 degrees apart. I'm maxing the results at 1 meter, even though the sensor reads much further than that, because for obstacle avoidance I don't care about stuff farther than that right now.
You can also see in the video how he shifts his body forward a bunch during the scan, so the side-facing sensors don't end up seeing the front legs at the extreme ends of the scan. This is done using the body IK, basically by adjusting a variable (forward body offset).
Here's the output:
Roz is supposed to end up pointing his head in the direction of the largest opening at the end, but I don't think that is quite working yet, since the largest opening is the one on the bottom right, and its not phsyically possible for him to turn his head that far. Regardless, he knows where it is, so he will be able to rotate himself in place to face that direction.
I did something similar with an earlier version of Roz back in 2015, but I only had Sharp IR sensors, and I was only using the front one, so the resolution was pretty terrible. Same overall concept applies though, and I'm very happy with how this one turned out.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.