MSDAP is a platform designed to analyze threats of LiDAR attacks in autonomous driving security, developed as an open-source tool. It operates on the AWSIM and Autoware Universe foundation, developed by Autoware Foundation (https://autoware.org/).
MSDAP provides a comprehensive simulation environment for analyzing and testing LiDAR-based attack scenarios in autonomous driving systems. The platform enables researchers and developers to:
- Simulate various types of LiDAR attacks
- Analyze attack impacts on autonomous driving systems
- Develop and test defense mechanisms
- Evaluate system robustness against attacks
This extension provides the following features:
- Simulates attacks that remove LiDAR point cloud data
- Configurable elimination angle for attack simulation
- Adjustable success rate for attack simulation
- CSV-based success rate matrix configuration
- Simulates attacks that inject false LiDAR point cloud data
- Configurable injection parameters
- Real-time attack simulation
- Real-time visualization of attack effects
- Comparison between attacked and unattacked point clouds
- Ubuntu 22.04 LTS
- ROS 2 Humble
- AWSIM (Driving Simulator)
- Autoware Universe
- Python 3.8 or higher
- Eigen3 library
# Install system dependencies
sudo apt update
sudo apt install -y python3-pip python3-colcon-common-extensions
Follow the official installation guide: https://tier4.github.io/AWSIM/GettingStarted/SetupUnityProject/
Follow the official installation guide: https://tier4.github.io/AWSIM/GettingStarted/QuickStartDemo/
# Create workspace if it doesn't exist
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
# Clone the repository
git clone [email protected]:Ofurosuki/lidar_attack_simulator.git
# Build the package
cd ~/ros2_ws
colcon build --symlink-install
# Source ROS2 underlay
source /opt/ros/humble/setup.bash
# Source the ROS2 package
cd ~/ros2_ws
source install/setup.bash
Edit the launch file parameters in hfr_simulator_launch.py
or cpi_simulator_launch.py
:
# Example parameters for HFR simulator
hfr_simulator = Node(
package='attack_simulator',
executable='hfr_simulator',
parameters=[
{'elimination_angle': 20.0}, # Angle in degrees
{'success_rate_chrono': 0.1}, # Success rate for attack
{'csv_path': '/path/to/success_rate_matrix.csv'} # Path to success rate matrix
]
)
# For HFR attack simulation
ros2 launch attack_simulator hfr_simulator.launch.py
# For CPI attack simulation
ros2 launch attack_simulator cpi_simulator.launch.py
elimination_angle
: Angle in degrees for point cloud elimination (default: 20.0)success_rate_chrono
: Success rate for attack simulation (default: 0.1)csv_path
: Path to CSV file containing success rate matrix
injection_rate
: Rate of point cloud injection (default: 0.1)injection_distance
: Distance for point injection (default: 10.0)injection_angle
: Angle for point injection (default: 30.0)
-
Build Errors
- Ensure all dependencies are installed
- Check ROS2 environment is properly sourced
- Verify Eigen3 is installed
-
Runtime Errors
- Check parameter values in launch files
- Verify CSV file paths and formats
- Ensure AWSIM and Autoware are running
-
Visualization Issues
- Check RViz configuration
- Verify topic names and types
We welcome contributions to MSDAP! Please follow these steps:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
Please ensure your code follows the project's coding standards and includes appropriate tests.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
For questions and support, please open an issue in the GitHub repository.
- Autoware Foundation for AWSIM and Autoware Universe
- All contributors to this project