Robot XY Location

General project help for Adafruit customers

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
rdagger
 
Posts: 88
Joined: Mon Nov 30, 2015 5:44 pm

Robot XY Location

Post by rdagger »

I have a small robot that will be navigating within a 2400 mm (~8 ft) square pit. The floor of the outdoor shallow pit is an 8x8 grid of 300mm squares. I need to be able to determine the robot’s X, Y coordinates on the grid with roughly 5 mm of accuracy. I’m thinking I could use 2 orthogonally mounted distance sensors on top of the robot to ascertain its position. Would the VL53L4CX be the best solution or is there something better? What is the status of the CircuitPython driver for the VL53L4CX?

User avatar
adafruit_support_bill
 
Posts: 88136
Joined: Sat Feb 07, 2009 10:11 am

Re: Robot XY Location

Post by adafruit_support_bill »

I’m thinking I could use 2 orthogonally mounted distance sensors on top of the robot to ascertain its position.
That might work - assuming that:
  • The robot is oriented square to the perimeter
    You know which way the robot is pointed
    There are no other robots or obstacles between the robot and the walls.
Something like the Slamtec 360 degree Lidar sensor could give you a more complete idea of location. But you would still need to know which way your robot was pointed.

A magnetometer (or a full 9-axis IMU) would help determine the orientation.

User avatar
rdagger
 
Posts: 88
Joined: Mon Nov 30, 2015 5:44 pm

Re: Robot XY Location

Post by rdagger »

adafruit_support_bill wrote: A magnetometer (or a full 9-axis IMU) would help determine the orientation.
I should have mentioned I am already using an Adafruit 9-DOF Orientation IMU Fusion Breakout - BNO085 which works well to determine orientation.

I just noticed that Adafruit also sells a VL53L1X version too. It looks like the range is less than the VL53L4CX but still within my design parameters and there is an available CircuitPython library. Is there any difference in accuracy between the 2 sensors?

The Slamtec 360 degree Lidar sensor looks very cool but I am on a budget; unless you don't think the time of flight sensors would work well.

User avatar
adafruit_support_bill
 
Posts: 88136
Joined: Sat Feb 07, 2009 10:11 am

Re: Robot XY Location

Post by adafruit_support_bill »

Accuracy for these sensors is not a fixed number. It depends on the distance mode and timing budget. And it decreases with increasing distance to the target. Also note that the maximum working range is dependent on the reflectivity of the target and decreases significantly with high levels of ambient light. Since the robot will be operating in an outdoor venue, you need to take that into account as well.

The datasheets describe the distance modes and timing budget configuration. And they provide charts showing the accuracy & repeatability in various conditions.

https://cdn-learn.adafruit.com/assets/a ... 1651243306
https://cdn-learn.adafruit.com/assets/a ... 1634930163

Ultrasonic rangefinders would be another option to consider. They are not affected by ambient light or the color of the target. The Maxbotix HRLV sensors have 1mm resolution out to 5 meters. Maxbotix datasheets provide accurate beam sensitivity patterns for various target types.
https://www.adafruit.com/?q=maxbotix+hr ... =BestMatch

User avatar
gammaburst
 
Posts: 1016
Joined: Thu Dec 31, 2015 12:06 pm

Re: Robot XY Location

Post by gammaburst »

Are you allowed to place reference targets in the vicinity (for your distance sensors)?
Is the floor painted black/white like an 8x8 checkerboard, illuminated by daylight?
Are you playing robo-checkers, robo-chess?

Maybe a two-step process. A GNSS RTK receiver could get you within a couple centimeters, assuming good sky visibility. Then some other technique that detects the nearest square edges and gives you 5mm. No need to place any reference targets.
I've played with the ZED-F9P: https://www.sparkfun.com/products/16481

Sounds like fun.

User avatar
rdagger
 
Posts: 88
Joined: Mon Nov 30, 2015 5:44 pm

Re: Robot XY Location

Post by rdagger »

gammaburst wrote:Are you allowed to place reference targets in the vicinity (for your distance sensors)?
Is the floor painted black/white like an 8x8 checkerboard, illuminated by daylight?
Are you playing robo-checkers, robo-chess?

Maybe a two-step process. A GNSS RTK receiver could get you within a couple centimeters, assuming good sky visibility. Then some other technique that detects the nearest square edges and gives you 5mm. No need to place any reference targets.
I've played with the ZED-F9P: https://www.sparkfun.com/products/16481

Sounds like fun.
The floor is the same pattern as a chess board and will be exposed to daylight. It hasn't been painted yet, but could be black and white. It would also be possible to paint or place reference targets along the 4 perimeter walls of the pit. How could the reference targets be used?

We weren't planning on playing chess but I guess we could if we had more robots (the robot is alone on the grid). The robot is testing a thorium based quantum random number generator.

The GNSS RTK receiver is a great idea but it is pretty expensive and we have limited space especially on the top of the robot. We may also want to be able to move the experiment indoors.

I will also review the Ultrasonic and time of flight sensor datasheets.

User avatar
adafruit_support_bill
 
Posts: 88136
Joined: Sat Feb 07, 2009 10:11 am

Re: Robot XY Location

Post by adafruit_support_bill »

If you have visible delineation between the squares, you can use inexpensive optical reflectance sensors to improve your positioning accuracy. In effect, it gives you 7 known reference lines in both the X and Y direction. You can detect with great precision when you cross a boundary and can use that to correct for any drift in your position calculations.

If you can paint reference targets on the walls and can mount an android phone on your robot, you could use an AR package like Vuforia for localization:
https://library.vuforia.com/

This is used in FTC robotics which operates in a similar environment:
https://www.firstinspires.org/sites/def ... umarks.pdf

User avatar
gammaburst
 
Posts: 1016
Joined: Thu Dec 31, 2015 12:06 pm

Re: Robot XY Location

Post by gammaburst »

The reference targets would be clearly visible objects having accurately known positions.
Your robot could measure their distances and calculate its position.

A thorium (radioactive) RNG with robots?!
I'm guessing you have a college prof with an imagination.

User avatar
rdagger
 
Posts: 88
Joined: Mon Nov 30, 2015 5:44 pm

Re: Robot XY Location

Post by rdagger »

gammaburst wrote:The reference targets would be clearly visible objects having accurately known positions.
Your robot could measure their distances and calculate its position.

A thorium (radioactive) RNG with robots?!
I'm guessing you have a college prof with an imagination.
The 2 perpendicular distance sensors along with the orientation sensor should be enough to calculate the robot's position in the pit.
The QRNG does use small amounts of radioisotopes (thorium and uranium).
This isn't a school project. It's just for fun. I'll post a video when it's finished.

User avatar
gammaburst
 
Posts: 1016
Joined: Thu Dec 31, 2015 12:06 pm

Re: Robot XY Location

Post by gammaburst »

The pit has reasonably straight accurate walls? Ok, that's a big help.
"Pit" sounded like something dug with a shovel. ;-)

User avatar
rdagger
 
Posts: 88
Joined: Mon Nov 30, 2015 5:44 pm

Re: Robot XY Location

Post by rdagger »

gammaburst wrote:The pit has reasonably straight accurate walls? Ok, that's a big help.
"Pit" sounded like something dug with a shovel. ;-)
I'll strive to ensure the grid is level and square and I can place a short plum wall around the grid perimeter to improve reflectivity. It doesn't have to be below ground.

Locked
Please be positive and constructive with your questions and comments.

Return to “General Project help”