UCI-UAVForge / Avionics-16-17

1 stars 13 forks source link

Establish Connection Between Arduino Due and LIDAR #84

Closed kylehl closed 7 years ago

kylehl commented 8 years ago

Prerequisite Issues: #83 Followup Issues: TBD Related Issues: None

Summary

Implement a module that collects raw data from the LIDAR sensor and publishes that data to the data management module.

Terminal Objective

kylehl commented 8 years ago

Have been working on the Hokuyo lidar connection over the summer - discovered several issues with utilizing the Vinculum VDIP1 USB host controller. The diydrones post references using an Arduino Mega and Hokuyo URG 04LX lidar, which we are not using (we are using Arduino Due and Hokuyo UST 05LN). I wired the setup appropriately on breadboard. Then, I have extensively tried utilizing their code and variations of the Hokuyo specific commands, following this document detailing communication protocol in terms of formatting and such, but results are not satisfactory. I have detailed the various error codes and incorrect outputs received based on specific cases within my own test code, which I will upload when we are closer to the school year. @hxvuong , please make sure you take a look at the communication protocol and understand how to communicate through ASCII to the Hokuyo device, as that is how it seems the LIDAR understands various instructions.

hxvuong commented 8 years ago

The protocol we used to communicate with the lidar is called SCIP. According to this specification, only the model UST-05LA can use this protocol to get the measurement (SCIP 2.0).

This page refers to SCIP 2.2 for UST series. It's quite similar to the 2.0 version.

There's an older version of SCIP (1.1). It uses only 'V' to get the version of the sensor instead of 'VV'. You might wanna try this @kylehl . I'm not sure if our lidar uses the older SCIP or it doesn't support this protocol at all.

kylehl commented 8 years ago

Here are the alternatives I was looking at over the summer:

  1. SICK TiM5xx series (most of them have ethernet, rs232, or usb connectivity)
  2. DJI Guidance
hxvuong commented 8 years ago

Hokuyo has confirmed that they didn't support any communication protocol for our lidar model. We can only detect the object within the defined areas(which can go up to 7 different zones) using the output pins, but it won't give us the exact distance or angle from the object to the lidar.

I can't find any example for the interface between DIJ guidance and the arduino. They do have communication protocol but it's not quite clear. Their SDK reference and library are built for Windows and Linux OS.

Here's the communication protocol for SICK TiM5xx series. Since they support USB interface, we don't need to worry about the set up.

hxvuong commented 8 years ago
hxvuong commented 8 years ago

Sprint 1 Summary:

kylehl commented 7 years ago

Closed - will acquire new LIDAR soon, testing commencing on related task (pending).