Skip to content

Blackthorn23/IDS-For-ROS-Based-Robots

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

FYP: Intrusion Detection for Robot Operating System-Based Autonomous Robot Navigation

Author: Nawfal Syafi' Bin Zailan Student ID: 1221301208 Faculty: FIST, Multimedia University Submission: July 2025

================================================================================

PROJECT DESCRIPTION

This project presents an intelligent intrusion detection system (IDS) built for ROS 1-based autonomous robots, specifically TurtleBot3, enhanced with AI to monitor and detect cyberattacks during real-time navigation. Attacks such as DoS, SSH brute-force, unauthorized publishing/subscribing, and reverse shell attacks were simulated and captured in real environments.

================================================================================

SYSTEM REQUIREMENTS & TOOLS

Operating System:

  • Ubuntu 20.04 LTS (Recommended)
  • Alternative: Ubuntu 18.04 LTS

Core Software & Versions:

  1. ROS Noetic (ROS 1)

  2. Python 3.8+

    • Usually pre-installed with Ubuntu 20.04
    • Verify: python3 --version
  3. TurtleBot3 Packages

Hardware Requirements:

  • TurtleBot3 Burger (Physical robot for real-world testing)
  • OAK-D Pro Camera (Optional - for enhanced sensing)
  • Minimum 8GB RAM (16GB recommended)
  • Ubuntu-compatible network interface

================================================================================

PYTHON LIBRARIES & DEPENDENCIES

Install Required Libraries:

# Update system
sudo apt update && sudo apt upgrade

# Install pip if not available
sudo apt install python3-pip

# Install required Python packages
pip3 install pandas==1.3.3
pip3 install numpy==1.21.0
pip3 install scikit-learn==1.0.2
pip3 install matplotlib==3.4.2
pip3 install seaborn==0.11.1
pip3 install jupyter==1.0.0
pip3 install joblib==1.0.1

CICFlowMeter Setup:

  1. Download CICFlowMeter: https://drive.google.com/drive/folders/1mkWT3tgnr2qXnOkBwgO10VPyjArMNM_5
  2. Setup Tutorial: https://www.youtube.com/watch?v=EaYyYy9uvt0&t=2s
  3. Extract and follow the video instructions for installation

Wireshark:

Install wireshark if not available

sudo apt install wireshark

RosPenTo Tool (ROS penetration testing) setup:

================================================================================

DATASETS USED

1. ROSIDS23 Dataset (Public Dataset)

Download: https://zenodo.org/records/10014434

Setup Instructions:

  1. Visit the Zenodo link above
  2. Click "Download all" to get the ZIP file
  3. Create folder: mkdir -p ~/fyp_project/datasets/rosids23/
  4. Extract contents: unzip ROSIDS23.zip -d ~/fyp_project/datasets/rosids23/
  5. The dataset is already pre-processed in CSV format

2. NAVBOT25 Dataset (Self-Collected Dataset)

Download: https://zenodo.org/records/15336304

Setup Instructions:

  1. Visit the Zenodo link above
  2. Click "Download all" to get the ZIP file
  3. Create folder: mkdir -p ~/fyp_project/datasets/navbot25/
  4. Extract contents: unzip NAVBOT25.zip -d ~/fyp_project/datasets/navbot25/
  5. Use the CSV files directly for training and testing

================================================================================

AI MODELS & KAGGLE NOTEBOOKS

Attack Identification Models (ROSIDS23):

Attack Classification Models (ROSIDS23):

Attack Classification Models (NAVBOT25):

================================================================================

SOURCE CODE ACCESS

This project was implemented entirely using Jupyter notebooks hosted on Kaggle.
There is no separate .py script or standalone source code directory. All modeling, training, testing, and analysis were performed within these Kaggle notebooks.

================================================================================

About

AI-powered Intrusion Detection System (IDS) for ROS 1-based autonomous robots (TurtleBot3). Uses machine learning & deep learning on ROSIDS23 and NAVBOT25 datasets to detect DoS, brute-force, unauthorized publishing/subscribing, and reverse shell attacks during real-time navigation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors