Skip to content

This is a repository for the PID-Piper project to protect Robotic Vehicles from Physical Attacks. For more info, see the paper.

Notifications You must be signed in to change notification settings

DependableSystemsLab/pid-piper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PID-Piper Recovery Framework

This repo contains the PID-Piper recovery framework code and dataset used in the PID-Piper DSN'21 paper.

  • /Simulator contains PID-Piper implementation in ArduPilot SITL.

We have provided a docker image to build the simulator and run missions to test PID-Piper.

Building the Docker image

Clone the project

git clone https://github.com/DependableSystemsLab/pid-piper.git
cd pid-piper

Build docker image

docker build -t pid-piper Dockerfile/.

Run container and install setup files

docker container run -it pid-piper
cd pid-piper
./setup.sh

Run the simulator from within the container. Or exit the container follow the step below.

Running the Simulator

Run the simulator with the map view and the console.

./startSimulator.sh copter --console --map

The simulator can also be executed by running the docker image and then following the steps given here http://ardupilot.org/dev/docs/setting-up-sitl-on-linux.html

Running ArduPilot locally

To use a local copy of ArduPilot follow these steps:

./setup.sh
  • Run ardupilot
cd simulator/ArduCopter
../Tools/autotest/sim_vehicle.py --console --map

Follow the steps given here to setup the build environment.

Launch Missions

To run a mission, use this command:

wp load ../Tools/autotest/mission/mission-1.txt
mode guided
arm throttle
takeoff 50
mode auto

The above script will launch overt attacks intermittently during the mission. The effects of the attack and the recovery can be seen by zooming in to the map window. Videos showing PID-Piper recovery on real RVs are available here.

PID-Piper code and ML models

The attack detection and recovery code is implemented as a library available at /simulator/libraries/PID-Piper. The ML model are available under /libraries/PID_Piper/models.

Dataset

Please contain [email protected] if you need the raw .tlog files.

Paper

If you find the repo useful, please cite the following paper:

Pritam Dash, Guanpeng Li, Zitao Chen, Mehdi Karimibiuki, and Karthik Pattabiraman, "PID-Piper: Recovering Robotic Vehicles from Physical Attacks", 51st IEEE/IFIP International Conference on Dependable Systems and Networks (DSN), 2021.

About

This is a repository for the PID-Piper project to protect Robotic Vehicles from Physical Attacks. For more info, see the paper.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published