MishraShivendra / post_grad_proj

Acquisition and Analysis of Robotic Environment Data Using Machine Learning Techniques

Home Page:http://goo.gl/56nCqb

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Notice: This repository is protected with license, corporate/commercial use is restricted.

Acquisition and Analysis of Robotic Environment Data Using Machine Learning Techniques

Abstract:

This project implements system for analysis and detection of objects in experimental robotic environment. For reference, the elementary work for this project consists of recording time series data from three long range IR distance sensors, five short range IR distance sensor, couple of thermal imaging sensors and microphones. The robot was programed to record data at constant sampling rate while running on a straight path. From the implementation point of view; system is mainly having two modules. The First module consists of data recorded from various sensors. These sensors include of IR distance sensor, PIR thermal imaging Sensor, and Microphones. The time series spatial data of IR distance sensor is obtained with the help of ADC. Whereas, PIR Thermal Imaging Sensor is interfaced with the robot using I2C bus switch; which is connected through Two Wire Interface (TWI) of robot’s microcontroller. It has been planned to use Omron D6T-44L thermal Imaging Senor in both side of robot; which has 4x4 resolution with range of 2-3m (45° angle) and meets compatibility requirements. In case of microphone, two electret microphones are interfaced to ADC by the help of an amplifier circuit. The spatial data received from ADC goes through FFT algorithm written in matlab, to obtain a stream of frequency distribution from audio signal.

In the second module; a set of different experimental scenarios are designed. It includes of heat sources, different dummy shapes and sound sources kept around the robot path. Robot is programmed to run on an even, straight path with a constant speed to record time series data with different sampling rate. Time Series Data obtained through these three sources goes for different phases of data mining algorithms. These phases includes of feature extraction, Pre-processing, and Clustering. It has been implemented in "Phases of second module" and has been shown below.

First Module - Code

Phases of second module:

No. Operation File name
1. Pre-processing of raw hexadecimal data pre_processing.c, pre_processing_multi.c, chk_xl.m, col_rd.m, file1_read.m, file_read.m, find_nol.m, pro_all.m
2. Feature Extraction pre_processing.c, pre_processing_multi.c
3. Distance calculation manhattan_distance_matrix.c, multi_manhattan_distance.c
4. Clustering k_medoid_clustering.cpp

How to Compile

If you want to do frequencey analysis of audio samples, then open/run the *.m files written in the pre-processing row (in Matlab 2011a). pre_processing_multi.c file is to be used for pre-processing thermal imaging/proximity sensor data.

$ svn co https://github.com/MishraShivendra/post_grad_proj.git

Compile the pre-processor:

$ cd post_grad_proj.git/trunk 
$ gcc -pthread pre_processing_multi.c -o pre_processor
$ # See the pre-processor options
$ ./pre_processor -h

Multi-threaded Preprocessing options:
-h, --help         Show this help and exit.
-r, --result-file  Excepts result file locations.
-i, --input-file   Expects input file locations.

Input file and result file directories are required.
$ # Prepare a directory for processed data
$ cp -r ./data/ ./processed_data
$ #wait for pre_processor to be 100%
$ ./pre_processor -i data -r ./processed_data
100.00% files Pre-Processed.

The matrix calculation and clustering code is straight forward. Compilation and run should do the job.

Further reading

Write to me

I am looking forward to collaborate with people in this project as well other projects. Please feel free to write me an e-mail: shivendra _ mishra at live dot com

About

Acquisition and Analysis of Robotic Environment Data Using Machine Learning Techniques

http://goo.gl/56nCqb

License:Other


Languages

Language:C 59.1%Language:MATLAB 34.0%Language:C++ 6.9%