From 74d38c1cd9ecfe0596dd997df7959cffdcba5919 Mon Sep 17 00:00:00 2001 From: Sabrina Date: Thu, 30 Apr 2020 21:53:34 -0400 Subject: [PATCH] Added instructions for particle filter --- docs/home.md | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 54 insertions(+), 2 deletions(-) diff --git a/docs/home.md b/docs/home.md index 6fff086..2338501 100644 --- a/docs/home.md +++ b/docs/home.md @@ -33,7 +33,7 @@ - [Video Summary](https://youtu.be/4xinp3mZIP0) - [Presentation from Video](https://docs.google.com/presentation/d/1PUHZjGNijsOMJ2KPXF_PAGO-eqZTLd085ZuNPc3VSsI/edit?usp=sharing) - [Generated Models from NCLT Data](https://drive.google.com/drive/folders/1cFf0q76xyul4nbShm-GwDNxFwYh1Bkzx?usp=sharing) -- [Final Report](Mobile_Robotics_NCLT_SLAP.pdf) +- [Project Report](https://www.overleaf.com/read/ktshtqzyzmxt) ## Dataset @@ -84,4 +84,56 @@ You can update the models by changing the intent or pickle files. Intent.json ca ### Particle Filter - \ No newline at end of file +To run particle filter you have to use python 2.7. +Install the following dependencies + +1. `sudo apt install python-pip python-tk` +2. `pip install numpy matplotlib open3d-python progressbar pyquaternion transforms3d scipy scikit-image networkx psutil` +3. Install required dependencies including ray_tracing, pybind11, pytest, and Catch2 + `git clone https://github.com/catchorg/Catch2.git` + `mkdir Catch2/build` + `cd Catch2/build` + `cmake ..` + `make -j8` + `sudo make install` + + `pip install pytest` + + `git clone https://github.com/pybind/pybind11.git` + `mkdir pybind11/build` + `cd pybind11/build` + `cmake ..` + `make -j8` + `sudo make install` + +`git clone https://github.com/acschaefer/ray_tracing.git` +`mkdir ray_tracing/build && cd ray_tracing/build` +`cmake ..` +`make -j8` +`sudo make install` + +4. Download raw data from [NCLT](http://robots.engin.umich.edu/nclt/) to run code from scratch OR use our [prebuilt maps](https://drive.google.com/drive/folders/1cFf0q76xyul4nbShm-GwDNxFwYh1Bkzx?usp=sharing) + +4.1 The raw data can be downloaded from the website directly or using the downloader.py. If you are using the prebuilt maps, skip this step. +`cd src/dataset/` +`python download.py --date="2012-01-15" --vel --gt --gt_cov --sensor` +`cd nclt/sensors/` +`tar xzf ` +`cd ../velodyne` +`tar xzf ` +Repeat this for any interested datasets. We have maps made for 2012-01-15, 2012-01-08, 2013-04-05, and 2013-01-10. + +5. In ncltpoles.py we need to make a couple changes +`cd src/polex/poles/` +Open and edit ncltpoles.py with your favorite editor. +There are two # TODO comments. In the first one change 2020-04 to -. In the second one change the session to your desired session date. If you would like to run the exact experiment we did, do not change this date. + + 6. In pynclt.py we need to make a couple changes + `cd src/polex/poles` + Open and edit pynclt.py with your favorite editor. + There are two # TODO comments. In the first one, change paths to the appropraite directories on your machine. In the second one, comment our the sessions you are not using. + + 7. Run it. WARNING this can take anywhere from 1 - 10 hours for 4 datasets. + `cd src/polex/poles` + `python2 ncltpoles.py` +