Ronald Baker Journal

Investigating Lidar Data combined with 3D Models Displayed in Virtual Reality

- To support Robotic Navigation, Decision Making, and Localization
In the process of the project, I would like to investigate the idea of combining Point Cloud Data generated maps, hopefully from the Velodyn Lidar, with computer generated meshed that could be used in the field of robotics for obstacle avoidance and path planning. The Virtual Reality aspect of the project will be used to view what a robot may see and better design models that are useful from a human standpoint.
Project Objective:
    • Expand on the knowledge of point cloud data and uses in virtual reality. I plan on taking an educational approaches to give further documentation to placing point cloud data in a virtual reality spaces. Since point cloud data can come from various devices, I will focus most of my work on the Velodyne Lidar.


Milestone:
    • Used Paraview Convert .las files to .vtk file for easier use of the data.

    • Able to view .vtk files in YURT.

    • Downloaded Blender on to personal machine.

    • Downloaded Veloview on personal machine.

    • Downloaded and began using Arduino to assist with Point Cloud Data Collection.

    • Connected Servo with Arduino and was able to write code to periodically motion the servo +/- 180 degrees

    • Able to collect and play back real time data feed of LIDAR back for demo

Software Explored:
ParaviewThis application will be used for displaying models in the YURT, but also as a simple data converter. I was able to convert .las data to .vtk without writing any software.Extended Research: Try to us Paraview to collect real time aggregated Lidar data. (https://www.paraview.org/veloview/)
BlenderI plan on using blender and attempting to combine models generated in blender to alter .las data which have been converted to .vtk files prior to importing data.
Tinker CADUsing application to design and develop mount for Lidar.
MakerbotSoftware and hardware will be used to create
VeloViewParaview application for viewing LIDAR data from Velodyn LIDAR
VTK.js Want to see if it is at all possible to harness the power for vtk.js into Aframe or React 360. Someone else in the class has already shown some interest in this combination, so I'm hoping that make progress while I become more familiar with Blender and .vtk.
Arduino Used for programming servo for LIDAR motion for data collection.
AFramePossible web based interface for exploring data vtk data
React 360Possible web based interface for exploring generated vtk data.

Deliverables:


  • Blender and Point Cloud / LIDAR tutorial.

  • Tinker CAD Tutorial

  • VeloView Tutorial

  • Paraview .las to .vtk tutorial


Hopeful Deliverables:

  • Velodyne Lidar mapped room in the YURT

  • Blender Altered Point Cloud Data altered combination file.

Where did my time go:

  • Locating sample data sets for project. I'm consolidating all this time as one activity since I didn't end up using a lot of data source I investigated. i invested a number of free government open source website which offered many types of .csv data sources. (5 hour)

  • Looked into integrating .csv data into virtual reality. Since I was not able to find a source of data which would offer me an scientific relevance, I decided to drop the idea of visualizing this data for my application. This route essentially cause me to looking into parsing .csv to vtk.js, A-Frame, and react 360. (4 hours)

  • Exploring combing react 360 with vtk.js. The main goal was to try to produce an hello world application between the two frame works. I was able to develop really simple hello worlds for both react 360 and vtk.js, but was unable to combine the two. Since this isn't a must have of my project, I've decided to leave this alone and let another person in the class spend the time to figure it out. (4 Hours)

  • Downloaded Blender and attempted to make a simple model within blender. (3 Hours)

  • Following documentation for integrating vtk with blender. This is still an on going project so I don't really know how long this is going to take on my machine. (5 Hours)

  • Reading documentation on how to use the Velodyne Lidar with Veloview. ( 1 hours)

  • Began designing mount for LIDAR to connect to servo and connect to robot. (10 hours)

  • Mount will have to be 3D Printed, so this will take a lot of time. I had to reprint a piece because it did not print well. (10 hours)

  • Printing first model in Makerbot (2 hour)

  • Setting up VeloView to collect Point Cloud Data (2 hour)

  • Produced .vtp file to be viewed in Paraview from VeloView Data (1 hour)

  • Trying to figure out how to recenter data in Paraview for being viewed in Blender. I wasn't able to recenter the dataset, so I generated new data which was centered using the Velodyne Lidar (3 hour)

  • Research SLAM software for Veloview. I was able receive individual data pings from the LIDAR data, but wasn't able to easily find a way to stitch the pings together using the software available. In order to create useful building maps with the Lidar I had at my disposal, I would have to develop my own SLAM algorithm for Veloview. This is out of my technical expertise, so I decided to leave task and focus on using already Lidar maps which have been already generated offline (10 hours)

  • Investigated using ROS to use Velodyne to create 3D maps. Was able to find sufficient documentation for generating maps, but was not able to find a way of converting ROSBAG files into a 3D mesh which could be ported into a Virtual Reality space. I explored using Matlab to do the ROSBAG conversion, but was not able to find a way to properly convert the data. (10 hours)

  • Researching Adobe products that can possible accept Lidar data types. I downloads Photoshop and a few other Adobe software to see if I can use pre generated dataset and try to mesh the given points into solid objects (7 hours)

  • Read more articles for how to conduct Slam Algorithms with the Velodyne Lidar (4 Hours)

  • Tried bring other sources of point cloud data into Adobe Photoshop by converting data point into .obj object files. Wasn't able to figure out how to adjust data point size in Adobe Photoshop to be viewed for mesh alteration. (5 hours)

  • Practiced 3D modeling in Adobe Photoshop (4 hours)

  • Created Adobe Photoshop 3D modeling tutorial (3 hour)

  • Taking time and alter previously entered wiki documentation (10 hours)

  • Creating Veloview Lidar Tutorial for in class lecture. I finished the tutorial, but didn't find the time to go through the tutorial with the class (4 hours)

  • Created final presentation for project. (5 hours)

  • Final additions to wiki. (2 hours)

  • Peer Review (2 hours)

  • FYI -- I have more hours attached to the videos closer to the bottom of the page. These hours weren't added in the peer review and I just wanted to make a note of it. (16 additional hours )

Journal / Wiki Contributions Peer Review

  • Name: Ross Briden

  • Wiki Additions:

    • Unity Ubuntu Installation Tutorial

  • Data Types and Examples / Point Cloud Data

    • Added a description of .las files

      • Great!

    • Added an extensive list of software for processing and visualizing .las file

      • Great!

    • Added a tutorial on Laspy and Python-PCL

      • Great!

    • Added a papers page on processing LiDAR / pointcloud data

    • Added two new data types: CLARITY imaging data and MRI imaging data

      • Great!

    • Added a comparison of several types of pointcloud visualization software

      • Very Informative and useful.

    • Added a link to my PointSample github repository, which contains my subsampling algorithms along with examples, and a short tutorial

      • Very nice. I wasn't able to use the github repo because I didn't have data ready while reading this wiki entry, but the code looks good.

    • DinoYURT Tutorial

      • Very well written tutorial! I don't have a windows machine, but I still know enough about windows machine to know the tutorial looks fine!

Notes: Finding tutorials and documentation was sorta hard to find in the wiki, but the information was ultimately there. I found the information which was added to the tutorial to be very useful.

Journal Evaluation:

    • Very well document and really give a better understanding of how much effort he took in working this semester. He really document every little detail of his experience. I enjoyed reading his journey and I wish I would have kept my documentation on the same level. It appears that he spent a large number of hours solely focusing on documentation.

  • Journal Entries: Very in depth and informative

    • Total Time: 158.749 Exceptional Job!

Arduino Code

Sample Arduino code for moving LIDAR with Servo. https://www.arduino.cc/en/Main/TestCode

20190219_101415.mp4

Sample Lidar Data Displaying in YURT

The data was first converted into a vtk file, then displayed in the YURT.

Test .las to .vtk files in Paraview

Tinker CAD Model

Began modeling mount for lidar to servo and robot

VeloView

GUI for working Velodyne Lidar data

Velodyne Lidar Data in Paraview.mov

LIDAR Data in Paraview


VeloView Working.mov

LIDAR Data in Veloview


Untitled.mov

LIDAR data imported into Blender


Makerbot Software

Used to create mount for Velodyne servo Robot mount.

20190221_224822.mp4



Interesting Videos Watched over the The Semester. All things I watched that help create tutorial were entered into the wiki.

Created 3D Objects using Tinker CAD

Tinkercad is a free, easy-to-use app for 3D design, electronics, and coding. It's used by teachers, kids, hobbyists, and designers to imagine, design, and make anything! ( 2 hrs)

Explored open data sets from Data.gov.com

Data.gov is the federal government’s open data site, and aims to make government more open and accountable. Opening government data increases citizen participation in government, creates opportunities for economic development, and informs decision making in both the private and public sectors. ( 2 hrs )

20180819_102634.mp4

Update Old WebVR Project

Updated source code from Web VR portal jumping project. Project uses A-Frame. This was a personal project I worked on by myself over the summer ( 3 hrs )

LidarVideoFIles.mov

Investigated Visualizing LIDAR data files

Able to view .las files in Paraview and lidarview.com ( 1 hrs )

Rotating_Idols.mp4

Personal Side Project

Had down time and made a mini project ( 2 hrs )

Installed Unity and Investigated Artificial Intelligence

Wasn't able to get the example projects to run properly. Unity is installed on my personal machine, but I wasn't able to make much progress from the online tutorial. ( 4 hrs )

Servo With Arduino

How to control Servo motor with Arduino with and without potentiometer. (2 Hours)

Blender PLY.mov

Paraview to Blender

Hours N/A

3D modeling in Adobe Photoshop

Hours N/A

Wiki Contributions:

Final Presentation:

https://drive.google.com/file/d/1pzjwQrF2KlhEUssQNj61C5lipyviQh00/view?usp=sharing