GithubHelp home page GithubHelp logo

zl-comment / pid-piper Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dependablesystemslab/pid-piper

0.0 0.0 0.0 151.11 MB

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

Shell 0.07% JavaScript 0.01% Ruby 0.01% C++ 7.20% Python 1.79% Perl 0.01% C 90.58% PHP 0.01% Erlang 0.01% Objective-C 0.01% Java 0.01% OCaml 0.01% Lua 0.04% Scala 0.01% Fortran 0.01% R 0.01% VHDL 0.01% Boo 0.01% C# 0.02% Assembly 0.27%

pid-piper's Introduction

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.

pid-piper's People

Contributors

dashpritam avatar karthikp-ubc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.