element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Robots with Wheels
  • Challenges & Projects
  • Project14
  • Robots with Wheels
  • More
  • Cancel
Robots with Wheels
Blog RoboBobLet #5 : A Laser RangeFinder
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Robots with Wheels to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: dubbie
  • Date Created: 6 Apr 2018 3:36 PM Date Created
  • Views 2607 views
  • Likes 7 likes
  • Comments 2 comments
  • roboboblet
  • robotwheelsch
Related
Recommended

RoboBobLet #5 : A Laser RangeFinder

dubbie
dubbie
6 Apr 2018
image

Robots with Wheels

Enter Your Electronics & Design Project for Your Chance to Win a $100 Shopping Cart!

Back to The Project14 homepage image

Project14 Home
Monthly Themes
Monthly Theme Poll

 

For the first environment sensor for RoboBobLet I thought I would try and use the VL53L0X based PCB from Pololu and associated Arduino library (VL53L0X.h). This is some sort of time-of-flight laser rangefinder connected via the SPI bus to the Nano. I just used the standard connections for the SPI but you have to be careful as there are some Nano pin out diagrams that have the SPI connections wrong. Then I just amended the example programme provided so that it provided one reading every second, in order to reduce the amount of data. I think the VL53L0X can provide one distance value every 40 milliseconds at it's maximum range but this would produce far too much data for me to handle at this stage. The beam width is around 1 cm and it measures distances in millimetres. I preferred this sensor to an ultrasonic rangefinder due to the small beam width as the ultrasonic rangefinders can have beam widths of 30 degrees or more. The maximum realistic sampling rate for the ultrasonic rangefinder is also much higher, at around 400-500 milliseconds as you have to allow for sounds waves reflecting all around the room to die away before taking another measurement, otherwise some spurious results can be obtained. The VL53L0X datasheet claims good linearity and accuracy for distances upto and beyond 1000 mm, depending on the obstacle surface and the way the sensor is operated. I think you can have higher sampling rates or higher accuracy but not both at the same time. I setup the sensor so that it measured distances and compared the values obtained with those measured using a steel tap measure, see the graph below.

 

image

 

I haven't been consistent with my units as the distance column (tape measure) is in cm and the VL53L0X is in mm. It is reasonably linear but does seem to start to saturate at the higher ranges. There is also a considerable variation between consecutive measurements at the same distance. The graph below shows measurements taken at 40 cm.

 

image

I tried this again at 60 cm and 80 cm and a similar results was obtained. As I wanted to know what the variation was I calculated the standard deviation of these values and surprisingly it shows that the variation is not that great, being 2.5% at 40cm and around 4.0% at 80 cm. The 80 cm plot shows some spikes where results of 1500 mm were obtained. This is a software imposed limit and indicates that the sensor is having difficulty detecting the object.(I averaged out these 1500 mm values when calculating the standard deviation for the 80 cm values.)

 

image

 

image

 

I think this shows that with the simple setup used for the VL53L0X that reasonable results can be obtained up-to and perhaps beyond 100 cm, although some filtering might provide better results. Maybe some form of low pass filtering might work well.

 

I now have to fix this sensor to the RoboBobLet chassis. The easiest solution would be affixed orientation, probably at the front but that would require the chassis to be rotated in order to obtain a scan of the nearby environment. Instead, I will use an ordinary micro servo motor with the VL53L0X fixed to the servo shaft, to provide 180 degree scans of the area immediately in front of the robot. It would also be good to add additional sensors to the side and rear but the sensor is relatively expensive (at least for me) and require more servos, and connections to the Nano, plus more complicated software, so I think I will just use one for the moment.

  • Sign in to reply

Top Comments

  • mcb1
    mcb1 over 7 years ago +2
    Nice find on the laser. I've ordered one of each (there is 600mm version) note mm is the proper Engineering measurement, and cm is a dressmakers measurement. So whenever you hear how much snow there was…
  • mcb1
    mcb1 over 7 years ago

    Nice find on the laser.

    I've ordered one of each (there is 600mm version)

     

     

    note mm is the proper Engineering measurement, and cm is a dressmakers measurement.

    So whenever you hear how much snow there was, you know they make dress'es image

     

    You haven't specified what the intended purpose of RoboBobLet is, so I wonder if you actually need to know about anything other than the object in front.

    The spec sheet states the field fo view FOV is 25 degrees, so you're likely to pick up objects wider than the bot at reasonable close distances.

    http://www.st.com/resource/en/datasheet/vl53l0x.pdf

    http://www.st.com/content/ccc/resource/technical/document/user_manual/group0/6b/4e/24/90/d8/05/47/a5/DM00279088/files/DM…

     

    The User Manual states there are 4 modes of operation and the API information is here

    http://www.st.com/resource/en/user_manual/dm00279088.pdf

     

    I imagine the library is using the default range mode, which might explain your results.

     

    Mark

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • genebren
    genebren over 7 years ago

    Very nice update on your project.  The measurements that you have taken do look promising.  I agree, that with some filtering (maybe even as simple as median filtering) the data would be quite usable.

    Good luck on your project.

    Gene

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube