mmWave ISAC point cloud data collection System
This repository contains codes for mmwave point clouds, lidar point clouds and depth camera data collection. For each data modality, there’s a script providing specific fucntion/class.
Project Structure
1 | ├── collect_cam_radar.py # collect depth camera & mmwave data |
Usage
Prepare
- Connect Devices
- Ensure the mmWave device, LiDAR device and depth camera are all physically connected and powered on.
- Start mmWave Service
- On your host computer, open a browser and access: http://192.168.2.99:9090/tree?
- Open a terminal in the web interface and execute:
1
2cd /home/xilinx/isac_rfsoc/
./run.sh
- Check LiDAR Connection
- On your host computer, access: http://os-122210002400.local/
- Confirm that the LiDAR device is reachable and operational.
- (Optinal) Check RealSense Connection
- If the librealsense has compiled following the instructions on the official website, you can just run realsense-viewer to check.
- If the code is running on Ubuntu(<=24.04) or Windows, the prebuild packages can easily to be installed following the instructions for Ubuntu or for Windows.
Basic Usage
1 | cd data_collection |
Where RECORD_DURATION is the recording duration in seconds.
Output Data Structure
1 | data/ |
Dependencies
Installation
Install the required packages using pip:
1 | pip install jsonlines numpy more-itertools ouster-sdk matplotlib realsense2 open3d pyvista |
System Components
Predefined Data (DEFINED/)
E.npy: Antenna pattern projection matrices for spatial beamformingOUSTER_BEAM.json: LiDAR beam angle configurations (azimuth/altitude angles)RANDOM_BITS.npy: Predefined random bits for consistent QPSK symbol generation
Adjustable Parameters
main_collect_P_radar_lidar.py/collect_cam_radar.py:mask = strength > 0.5can determine the minimum strength of output radar point clouds, which can reduce noise.lidar.py:ouster_processorcan adjust the output angle of point clouds, which can restrict saved region.