#119
HTML-код
- Опубликовано: 11 фев 2017
- In this video I start to build a LIDAR for my robot. I introduce time-of-flight and test the VL53L0x sensor from ST using the ST X-NUCLEO-53L0A1 evaluation board.
Data sheet: www.st.com/cont...
Evaluation board: www.st.com/en/e...
Compact Tiny Slip Ring with 12 wires: bit.ly/2lIwEFM
If you want to support the channel and buy from Banggood: bit.ly/2jAQEf4 (no additional charges for you)
/ andreas-spiess-7331894...
/ spiessa Наука
7:40 You can change the address in software. You can power up one sensor at 0x52, change its address and power up the next sensor at 0x52
Thanks for the tip. I also heard about that after I made the video...
What a great Sunday, enjoying your new video.
Was a little late today. It is still "warm" from production...
Orkhan AmirAslan Same here. These video's spark my imagination.
You seem to have quite a knack for covering topics that interest me. Nice job! I'm looking forward to seeing how this works in practice for you. One bit of constructive feedback: It was a little hard to see the segmented led display sometimes due to ambient light. It may be better to shade or mask the display with tinted glass, whichever looks best on camera.
+Perspectologist Thanks for the tip. I was a little in a hurry and thought, it is good enough. Many projects in parallel...
Really, really, really interesting. I have used ultrasonics to measure the amount of water in a container when out with my caravan quite successfully but I'm not sure how long it will last. These devices look to be a fantastic replacement. Looking forward to the next episode. Many thanks, Arthur
Yea, they should even work, if they are submerged during drive...
Thank you for thre great and interesting video! If I may add one mark @ ultrasonic distance measurement: in gases the the speed of sound does NOT depend on the pressure, but on the temperature (and the kind of gas (-mixture) of course): cs=sqrt(kappa*Rspec*T); the temperature is a meter for the speed the atoms/molecules move and thus can carry a pressure wave foreward (higher temperature --> faster atoms). whereas increasing pressure "just" increases the frequency of bounces as the free length of way is shorter.
Thanks for your clarification. I like to learn from my viewers!
I think it would be good to use more than 1 sensor to tackle the slowness of the sensor. If we use like, 8 sensors at the same time at the same assembly we could get 8 points in 8 directions every 20ms.
You are right. That would be a possibility
I was excited for using one of the tof sensors for the RoboCup line-following competitions, but sadly the walls of the arenas are using plexiglass, which of course makes this not usable. Well, back to ultrasonic sensors I guess. Thanks for the great video anyways!
Andreas, if you want fast, you can't use the slow 400 kHz I2C. A 10 MHz modified SPI or other interface will be needed. At these speeds, not much in the Slow Arduino line will work. A fast ST ARM M4 using Interrupts and at hundreds of MIPS should work well.
It is pointless anyway as we could only get a reading at the rate of 50Hz from these sensors.
I have replaced my ultrasonic sensors with the polulu breakout with the ST VL53L0X and the VL6180X I love them
Thanks for the feedback!
Very excited to see your results!
:-)
The sensor must take a lot of time to figure out its output. Great video as always. So glad I found your channel. Those ST micros are awesome too bad they don't have the library support like arduino does.
Welcome aboard the channel!
Hi, great video and cool gadgets! About the slip-ring You are planing to use. I have seen video where guys were developing a 360 gimbal for UAV and they had problems with I2C communication because of slipring producing noise. Unfortunately I have no reference for the video.. Good luck!
Thanks for the tip. I fear this, too. This is, why I said, I am not shure it will work
Well, we are waiting excited for the conclusion, will it work with the robot? An idea: if you put your sensor on a fastly rotating stand, maybe 5-10 rotations per second (or even more), and then with a rotary encoder fill an array or struct with angle and distance, wouldnt that compensate for the slow measurements? (its not fast enough to measure every degree, but after a couple of laps we will have by chance filled most of the angles in one degree resolution.)
I have to continue this project in the next time. And I plan to use more than one sensor to compensate for the slow speed. But it takes some time and I only will start if I can afford to stick with it for a while.
Your knowledge and manner is great! Thanks👍
My pleasure!
Dear Andreas, you are the best ! nowadays i am looking to find cheap solution for lidar. However, i could not find lower than 200$ . i am looking forward next....
As I said: I am not sure, I will be successful...
funny I just received mine last week, but had not time to test it yet :-)
if you find it too slow then do the same as for you did with you 3 ultrasound sensors, buy mutiple lazer sensors, let say 4, put them on one stepper motor so you'll get a 360° scan in only 90° rotation timing so you can let the motor turn slower but get a full scan.
Sehr interessante Episode und nett von ST, dass sie Dir das Eval board geschickt haben. Ein STM32RE4111 Nucleo board wartet noch in einer Kiste auf ein Projekt ... mbed ist eine tolle Sache, vorallem die Programmierung wie einen Memory Stick. - Bin gespannt wie es weiter geht.
+norm1124 ja, das war sehr einfach. Nur File auf das Laufwerk ziehen und fertig.
Another awesome and interesting video, cant wait to see if you get it working.
+Jonas Hansen Me too...
Again a very interesting subject. Can you provide some information on the mechanical part (9:20) that can connect up till 12 cables? Did you get that via the usual source as well?
me fue de mucha ayuda, gracias por su valioso aporte
You are welcome!
Is it possible to use VL53L0x without X-NUCLEO-53L0A1 extension borad, directly connecting to my F302R8 board via I2C interface? HAL functions(HAL_I2C_Master_Transmit or HAL_I2C_Mem_Write) don't work since no register map presented of VL53L0x by ST. All i found is device address as 0x52.
On this channel we only use the Arduino IDE as a programming tool. So I do not know :-(
What is the name of that turning connection you have shown - how is it advertised in places like AliExpress?
What is a "turning connection"? Where does it show in the video?
Hi, I have to design a probe, which will move inside a pipe. The probe should be capable of self localisation inside the pipe. I am thinking to use TOF sensor V53L0X from ST microelectronics. Could you please guide me
RUclips is only my hobby and unfortunately, I have no time for consulting
Hi Andreas,
Thanks again for the nice video's you produce.
What an interesting technology is this!
I wonder how you will advance further with it.
The mechanical part you show at the end of your video also is nice.
I do however wonder if it will be reliable on the longer term or will introduces a lot of noise on the connections.
Could you provide a link to where you got it from?
Kind regards,
Ewald
I do not know about reliability, but I am also concerned...
I got it here: bit.ly/2lIwEFM
Andreas Spiess The specs almost sound to good to be true....😀
Andreas Spiess Thanks for the link Andreas. The specs almost sound to good to be true....😀
Adafruit has a board with this sensor on it for $15US. I have it, been waiting to play with it
+Timothy Stark Good to know for the American viewers
Rather than rotate the sensor, maybe you could use a mirror on the motor? .
This would definitively reduce complexity, but I do not know, how TOF reacts on mirrors. I will try it once with a fixed mirror first
Ciao Andreas, thanks for sharing another useful and interesting video. A question for you (and the community that is being build around you) this sensor has problems with angled surfaces like ultrasonic sensors?
I assume it uses the same physical laws of mirrors... But I will try what it means in practice
If it doesn't, it could be a bit more simple to use mirror as the only moving part with statically fixed sensor
true
I would guess that ST may achieve this remarkable feat by sending repeated pulses and using digital filtering to improve the signal to noise (hence the timing which as you note is far slower than detecting a single round trip pulse would be).
I look forward to seeing how you manage the mechanical aspects of making use of the capsule slip ring; it does seem simple to combine a motor drive with the slip ring (which doesn't appear to have bearings to support load or reduce wear).
It must be that they do some averaging, you are right. And: I have no idea how to solve the mechanical part...
If the capsule slip ring has enough mechanical support (ie: acting in the role of a bushing or bearing) for the rotating part, I'm imagining that a 3D printer could create a hollow gear which slips exactly over the stubby (hollow) shaft, and also provides for support of the rotating sensor part. Then this gear could be driven by another gear connected to a motor whose shaft is parallel to the slip ring's axis, but offset appropriately.
I don't have a 3D printer nor do I yet know how to design 3D parts like this, so this is speculation.
If that caused too much wear on the slip ring, something more elaborate would have to be done.
I can picture a motor on one side of the rotating parts, with the slip ring on the other side (motor and slip ring share same rotating axis). But then there are the supports for the top end Ieg: the slip ring or the motor) in the way of the sensor.
Not happy with either, thus looking forward to following your explorations. Thanks for your channel!
I think, I have to try different thinks. But first, I have to repair my 3D pinter...
Good video as usual. I also have one of these sensors in the mail, but I am still waiting for the package to arrive, very slow as usual here..
They also had their holiday season...
Sir Which cover glass is used and where can i get it.
Where did I use glass?
I love the idea of calling EM spectrum outside the visible band "invisible light"
:-)
Can this be used in outside conditions and if not what is the best and cheapest sensor instead of sonar sensor??
It should work behind thin glass. So, you could include it in a water-tight housing.
what about the outside light conditions. is there any possible interference ?
I never tested. Maybe you consult the datasheet.
is there any way to extend beyond the 2 meters range?
No
Nice!
:-)
Swissbro, I've been watching your videos for 3 days now. Your arduino project videos really got my neurons firing. Which arduino projects would you recommend for a first time user? Thank You!
Any one with sensors or with servos are always good to start with. The libraries always have some examples which should run. Then, you can to combine things like reading an analog value an set the position of the servo accordingly etc.
Thank you for the advice. I corrected my original comment . :)
Does this sensor has the ability to measure water level?
Water should reflect light. So it should work.
I hope you can show us how you can build LiDARs from scratch using discrete components, with today's advanced high speed micro controllers I think it can be done for low cost which implements proper LIDAR timings. The only reason I can not use the IC LIDARs is because they can not be implemented properly for 360 3D mapping which usually requires an array of Lasers.
You can buy ready-made Lidars (not expensive for what they include). They are very mechanical devices, and I will not build one myself.
@@AndreasSpiess Are they the ones with only for 2D pane using one laser diode? It is the lidar I would like to avoid. I have not seen any practical 3D lidar which are not expensive.
@@ShopperPlug Yes, they are 2D Lidars.
Andreas, have you taken a look at the VL53L3CX, multiple target and 300cm range?
No, I do not have one here.
Greetings! Does the light beam still reflects back to the sensor if it hits a curve object? Thank you.
It depends. Youu have to try. Surfaces usualy are not completely flat.
just a tip on servos: do you know there is a simple hack to permit servo to spin with different velocity avoiding the 180° limitation?
I think, I mention it in the video as one possibility. I have a few which I even bought with the hack already done...
Sorry, I'm a bit off topic but I'm particulary interested in this turning part with many cables... what's the name for this ?
The link is now in the description
Thank you this is in my wishlist (it is currently sold out so cannot be added to cart)
Andreas ! I have experimented with the TOF sensor from the STM board. If I can save you the trouble, don't use the wire pass-trough. It's very noisy because of the rotation. The best approach is using a mirror like the barcode scanners in grocery stores. Here is a schematic you can look at.
imgur.com/a/DtEhH
Thanks for your valuable feedback. Did you try with the mirror? I have one laying around as a "backup"...
Andreas, you should look at the Microsoft Kinect v2. There is also an ToF depth camera inside, but with an 512 x 424 pixel resolution.
The Kinect is a very interesting device. But a little pricey for my robot... Maybe I will play once around with it.
Does it read integers only? Floating numbers, right?
Integer numbers give enough range. But of course, you can convert them into float if you want. But this does not change the accuracy of the sensor.
can you build a 2D depth mapping device with it ?
probably standalone with a tft display ???
Yes, I think you can build one with this device..
Pro tip when dealing with swiss accents: 1,25x video speed. It soothes my adhd :-)
:-)
So it only has 1m of range? What would you recommend for a longer range?
ultrasonic sensors have a reach of 4 meters. And then, you can buy lasers which cost a few 100 dollars.
can you create point cloud?
Only if you create a mechanical device to move the sensor.
Do you plan to make a follow up video with this hardware?
Yes. But I do not know, when
This sensor could be great for collision avoidance of quad copters, though you would need 6 of them. I found 5pcs for 35$ so that is a reasonable cost. I wonder how hard it would be to get it to work with standard flight controllers like the naze32/baseflight
Pay also attention to the range in sun. Then, it is quite short.
I was hoping for the same thing, although 1 meter isn't nearly enough range :/
Unfortunately, we cannot change this...
Sadly yes! Will probably have to go the more expensive lidar route to get something functional
do you know how much current the lidar module uses?
No, I did not measure. Maybe it is in the data sheet
The only bad thing about the video is the 7 segment display wasn't clear, it's illumination is too weak
I wish you used a serial monitor or put the display in a shadowy place.
Thank you for your feedback!
@@AndreasSpiess I forgot to mention otherwise it's a good video!
Thank you "the guy with the Swiss accent" ♥️
Dear Andreas Spiess,
I am a freshman in high school and am interested in making a project with this specific sensor. I have one question for you. What tools/software do you regularly use to create these great videos? They are very informative and keep them coming. Also, I looked at the poll library and I was wondering how to control 2 ToF sensors simultaneously from one Arduino. I understand that the i2c address would be the same for each sensor. Thanks
1. Which tools are you interested? Video/audio or programming?2. I did not write the program and did not design the board. So, I do not know, how they do it. As I said, I will only use one, so I do not have to solve this issue...
I am interested in the video and audio software, sorry for the confusion. Do you have any tips on solving the double sensor configuration? Thanks.
1. Power Director and Audacity
2. Google for "I2C multiplexer"
The VL53L0X does support changing its I2C address, however it can only be done using an I2C write. If you have multiple VL53L0Xs they must be taken out of reset one at the time using other GPIO pins and have their address programmed.
More information can be found in this application note from ST: www.st.com/content/ccc/resource/technical/document/application_note/group0/0e/0a/96/1b/82/19/4f/c2/DM00280486/files/DM00280486.pdf/jcr:content/translations/en.DM00280486.pdf.
And as far as I can see the Arduino driver supports it github.com/pololu/vl53l0x-arduino/issues/1.
Thanks for this info. I was not aware about this fact.
Hallo Andreas,wie / wann geht es weiter mit dem LIDAR Sensor?Gibt es eine Doku zu deinem Self-balancing Robot? Kann man den irgendwo in Aktion sehen?Liebe Grüße,Chris
Es gibt Videos vom Roboter und dort möglicherweise sogar einen Sketch. Und es liegt ein neuer Lidar Sensor auf meinem Tisch. Hatte eigentlich gehofft ich könnte den Entfernungsmesser dafür brauchen. Das war aber bekanntlich ein Flop...
Very nice, please share your results. Subscribed !
+John Doe Wilco
The 20ms sample rate is indeed disappointing. I found a faster sensor with a range of 10cm-150cm and a sample rate 16.6ms 60hz www.pololu.com/product/2474 However it is still very slow comparing it to lidars that can do 360 degree 1075hz update rate with a range of 40 meters :), The Scance sweep scanner seems very promising for $350 scanse.io/
thank you this is a great video
:-)
Is it eyes safe?
I think so.
Can you make accuracy test using standalone flat surface?
You can trust the datasheet for such a clean surface.
Grüetzi ;-) very good video, thx
Thank you.
The examples from Adafruit work very well. github.com/adafruit/Adafruit_VL53L0X
However the API from ST contains a lot of functionality that most users don't need. It's amazing that they have managed to write a library of more than 10.000 lines of code to answer the simple question: what is the distance ?
Thanks for the feedback. Professional companies write their code quite different because they have to make sure, everything is compatible with their standards...
can we use lora to find time-of-flight?
I do not understand your question
how to use lora technology in calculating time of flight
I do not think that these two technologies have anything to do with each other.
Can i use it to measure water level ? .............Does laser reflect from water surface or it penetrates it?
+sumit sharma I think so,but I did not try
A fraction is reflected, and a fraction penetrates. The reflection from the water surface is specular, ie mirror like. This makes it difficult to detect unless your receiver is aligned to receive the reflection. The fraction that penetrates is absorbed by the water as it passes through it. The deeper it goes, the less energy it has. Infrared is absorbed more rapidly than visible. Blue/green light is absorbed the least in water. %32 nanometer green is the most common laser wavelength for hydrographic lidar.
You where luck it was not filted grass on the same wave link as the laser. By the way nice crocs.
Thanks for the compliment ;-)
What does that turn plate calls?
I do not understand your question
Do you mean "Slip Ring"?
LPM-04A
!!! Cool!
:-)
Thank you so much, do you think it is usefull for automatic landing drone?
No. Because its range in sunshine is only about one meter. I think, this is not enough. Ultrasonic detectors go up to 4 meters which is enough to stop a copter coming home.
Hi Andreas, I cannot like this video until your robot overtakes my car on a highway. A real german one, not a wimpi swiss one ;-))
:-))
Whatever happened to this project ???
I did not continue it yet. Had other priorities...
1 millisecond = 0.001 seconds, so 6 milliseconds = 0.006. So to wait 0.006 seconds is a very short amount of time.
You are right. But it depends on how many measurements you want to take during a particular time.
scanse.io might be an easier solution. It already rotates 360 degrees and has 1000 samples/second. It's much cheaper than most lidar sensors, at $350.
Looks promising. There are a few commercial sensors around. But for hobbyist, sometimes not the easiest way is the most interesting one... Or: The way is the goal.
swiss james bond
:-)