View Single Post
  #1   Spotlight this post!  
Unread 08-12-2016, 00:32
teletype-guy's Avatar
teletype-guy teletype-guy is offline
Old Fart Electrical Engineer
AKA: Gil Smith
FRC #0698 (Microbots)
Team Role: Mentor
 
Join Date: Dec 2016
Rookie Year: 2014
Location: Chandler, AZ
Posts: 3
teletype-guy is an unknown quantity at this point
New 1200mm LIDAR -- VL53L0X

Hi folks:

This is a continuation from the teensyRIO post I just made in control-systems, but it seemed that discussion of the LIDAR section should be in this sensors forum.

I decided to experiment with some new short-range (~1200mm) LIDAR chips from ST -- VL53L0X. These are spec'd to 2000mm in a long-ranging configuration, but in default mode they are good to about 1200mm. They have a 25-degree field-of-view, so up to eight of them can be mounted around the perimeter of the robot (front/rear/left/right plus four corners with a 45-degree mount). Each sensor will provide a range from 20 to 1200mm at a rate of 25 times a second. The sensors mount to a small board with a little PIC micro which handles the details of its attached sensor, and has a pushbutton/light that lets you easily set each pod to a different I2C address.

The string of LIDAR pods, daisy-chained with modular cables, connect to a teesnyRIO, an MXP board that can mount a Teensy LC or 3.6 (or some others depending on pinout), and can also host another MXP board above it, with all pins passed through. The Teesny hangs on the MXP I2C port as a slave -- code running in the roboRIO auton or teleop loops can communicate constantly with the teesnyRIO. For the LIDAR system, a second I2C (master) port is routed out a 6P6C modular jack on the teensyRIO, with switched 5V to power the lidar chain up when needed, or off when not.

I will have a modest quantity of them available, and I will post the hardware design and open-source the firmware in the LIDAR Pod's PIC micro, the teensyRIO, as well as the communication code in the roboRIO. As I understand it, this makes the LIDAR/teensyRIO usable for 2017 if design files are public prior to kickoff.

So that was a lot of preamble to get to my question: within the roboRIO autonomous loop, I can constantly poll for up to eight ranging distances -- what is the best way to use that information to perform obstacle avoidance or field way-point determination? This must be much like code that uses other ranging parts (IR or ultrasonic) so how is that data best fed into the drive/steering code?

thanks, Gil Smith
Attached Thumbnails
Click image for larger version

Name:	lidar-pod-1e.jpg
Views:	45
Size:	874.2 KB
ID:	21351  Click image for larger version

Name:	lidar-pod-2e.jpg
Views:	26
Size:	1.05 MB
ID:	21352  Click image for larger version

Name:	lidar-pod-3e.jpg
Views:	35
Size:	780.5 KB
ID:	21353  Click image for larger version

Name:	lidar-pod-4e.jpg
Views:	32
Size:	1.30 MB
ID:	21354  
Reply With Quote