When running the tutorial "obstacle_avoider.py" the Arvik would just and spin and upon further investigation I saw the Center sensor was reading artificially low. I found the example code "read_tof.py" and when running it the Alvik robot returns unusably low read values even when on a flat, level, open surface:
There is no yellow protective film as called out by the manual, and if I tilt the front of the Alvik upward at approximately 25 degrees It starts returning ToF reads that you would expect. (e.g.: < 325). I suspect there is an issue with the sensor, but was curious if anyone else has experienced this?
Is it the the listed time-of-flight sensor? If so it uses light pulses. So, describe the surface the robot is on when you get the wrong distances! What do you get when on a different surface or put a piece of carpet in front of the sensor?
Here are four quick pictures from 2 videos I took (not allowed to upload vids apparently). I'm running the read_tof.py script for both. In the first, the readings I get consistently on a level surface, and in the second showing that if I tip the front of the Alvik upward the sensors start to provide more realistic readings. This happens on any surface type, wood or carpet, and if I run the script with the Alvik pointing straight up, the sensors respond exactly how I would expect them to. My theory is that even though the sensor looks flush and level it is somehow pointing downward.
Paul, this is an Arduino product. and I have reached out and am awaiting feedback/support. My goal of reaching out in the forums for this product was to see if this was maybe a known issue and resolvable, or if I should push Arduino for a return/exchange.
xfpd, Actually the B (bottom) readings from the flat/level position are what I'd would expect, but all the other readings seem wrong when there are no objects for several meters away. I raised the post for help determining if the Alvik is operating as expected or if I should push Arduino for a return or exchange. It seems that if by design a robot kit can only use 1/10th of the sensor's operating range something is amiss.
What device is measuring and what is the operating range?
What does the device register with a large object in each location?
Is there a object minimum size?
What are the real distances versus measured?
Thank you for that information. I was able to track down the data sheet for the device and it would take a month or more of concentrated study to understand all the capability of the device. One thing caught my eye and that is all their testing was done in the dark. Perhaps that is why the yellow filter you said was missing. That thing is really a powerful stand-alone sensor. Did you use the Arduino C code or the Python code?
I've been reading the data sheet as well, trying to reconcile that to the how distance API calls included in the Alvik library work (specifically the 7 detection zones). Also with a FOV of 60° it seems mounted perpendicular to, and this close to the ground it would be detecting the floor almost instantly. so saying in the robot specs it has a range of 350cm may be true for the sensor, but not to how it has been implemented in the robot.
This weekend I removed and reseated the primary PCB on the Alvik. I didn't remove it entirely, leaving the motors still attached, but simply lifted it out of the Alvik body so I could check to see if there were any wayward connections. As expected I didn't see anything that looked amiss, so I simply reseated the PCB into the Alvik. After that, for whatever reason the ToF sensor operated exactly as expected.
However, I would caution anyone following the Getting Started with Alvik tutorial, as even with the ToF sensor working as expected the provided code in the tutorial will generate many false positives, as the code tests every read 'zone' without filtering the reads in any way.
You seem to have changed the title to add [solved] but without actually clicking on the Solved Button. This will mark the solution and there is no need to change the title.