The objective of the project is to perform path planning for a four-wheel vehicle with nonholonomic constraints, using Machine Learning, I shall use different ML Models like LInear Regression and DNN to predict the outputs properly. After checking the perfomance of both the models, the one with a better result will be finalized to train with more data and will be tested and optimized. The model is being trained and tested on real-time data that has been captured using Laser scan.
Bharadwaj Chukkala
UID: 118341705
Bharadwaj Chukkala is currently a Master's student in Robotics at the University of Maryland, College Park, MD (Batch of 2023). His interests include Machine Learning, Perception and Path Planning.
Contact me at:
├───bchukkal_final_project_report.pdf
├───bchukkal_final_project_presentation.pptx
├───LICENSE
├───README.mdta
├───codes
| ├───data_preprocessing.py
| ├───feature_engineering.py
| ├───finalized_model.py
| ├───linear_regression_model.py
│ └───neural_network_model.py
├───Data
│ ├───Test Dataset
│ └───Train Data set
├───image
│ └───README
└───results
To run this project, you will need the following:
- Python 3.6+
- TensorFlow
python3 -m pip install tensorflow
- Scikit Learn
pip install -U scikit-learn
- Matplotlib
python -m pip install -U matplotlib
- NumPy
pip install -U numpy
- Pandas
pip install -U pandas
- Training Data
- Test Data
- Clone this repository to your local machine
git clone https://github.com/bharadwaj-chukkala/Data-driven-motion-planning-using-various-machine-learning-algorithms.git cd Data-driven-motion-planning-using-various-machine-learning-algorithms
- Install the required libraries using
pip install
- Download the dataset and place it in the
data
directory, there are already existing datasets present in the repository which you can choose to change. - The
Data
directory contains two foldersTrain Data Set
andTest Dataset
. - Both the dataset folders contain two csv files each.
- The
Train Data Set
contains two csv filesJuly22_69
andTraining_set_merged
. Here the former is raw unprocessed data and the latter is clean and processed data on which we train our model. - The
Test Dataset
contains two csv filesJuly22_68
andTest_set_merged
. Here the former is raw unprocessed data and the latter is clean and processed data on which our model makes predictions.
- The
- Data Preprocessing
- Feature Engineering
- Training different models:
- Linear Regression model
- Neural Network model
- Finalizing the model
- Prediction Testing
- Hyperparameter Tuning
- Regularization
- Generalization
-
Open the
codes
directory and open thedata_preprocessing.py
and give the path to the datasets as per the need. -
run the
data_preprocessing.py
file -
The preprocessed data wil be generated in the root directory.
cd codes code . #Opens the folder in VSCode python3 daata_preprocessing.py
-
Open the
codes
directory and open thefeature_engineering.py
and give the path to the pre processed datasets as needed. -
run the
feature_engineering.py
file -
The extracted data will then be genrated in the root directory
cd codes code . #Opens the folder in VSCode python3 feature_engineering.py
Open the codes
directory
-
Linear regression
- Open the
linear_regression_model.py
specify the path to the engineered dataset - Run the training script using
python3 linear_regression_model.py
- Open the
-
Neural Network
- Open the
neural_network_model.py
specify the path to the engineered dataset - Run the training script using
python3 neural_network_model.py
- Open the
- Once the model is trained, you can use it to make predictions on new data. Open the
codes
directory - Open the
finalized_model.py
and specify the path to the engineeredtest
dataset - Run the test script using
python3 finalized_model.py
The performance of the trained model will be evaluated using metrics such as accuracy, precision, and recall.
-
Cross-correlation heat map
-
Standard deviation chart of laser
-
$E_{in}$ vs$Epochs$ -
Learning Curves [Train and Test]
-
Hyperparameter Tuning
-
Regularization
We have successfully followed the machine learning pipeline to develop a model for estimating the ’command actions’ for the car-like robot model. The trained model is computationally reasonable by decreasing the number of features considered and a proper generalization has been shown as indicated by the results.
Thank you for using this project.
Copyrights 2022: @bharadwaj0chukkala