I am part of a highschool robotics team (FRC) and I am looking into methods of tracking position via dead reckoning.
This had led me to optical flow sensors and further to the px4flow.
A lot of things seem appealing about the px4flow: its speed, its ability to function in low light environments, etc. but I have some questions about functionality.
how does it function on carpet? FRC matches are played on a uniform grey carpet like this
does it have a minimum distance? my use case would have it around 2 inches off the ground
can it function purely as a sensor? In most of the examples on the website i see it being to drive motors, I would purely be using to gather information.
thanks in advance for the help.
Hi @tyler_hedge ,
The PX4Flow might work, but isn’t well suited for your application as the ultrasonic range finder doesn’t work well with that short range and the adjustable lens isn’t required when so close to the ground.
I would suggest that you simply use a PMW3901 based optical flow sensor board with a built-in cheap IR range finder (see PMW3901-Based Flow Sensors | PX4 User Guide) such as the one from Bitcraze (Flow deck v2 – Bitcraze Store). It’s cheaper, smaller, works well even < 1 inch ground clearance and doesn’t have a ton a features that you don’t need. Since it’s a ground robot, you can even set a fixed distance so you don’t have to deal with possible bad readings of the range finder.
So, for a PWM3901 sensor, the answers to your questions are:
- yes (I tried on a grey carpet at home and it worked perfectly)
- the datasheet says 8cm (3’’) but I tried it < 1’’ and it seems that the data is already quite good
- yes, it provides data through SPI