Obstacle Data Recorder
Record obstacle detection data from Hammerhead and save as text files.
Build
mkdir build
cd build
cmake ..
cmake --build . --config Release
Usage
# Linux
./obstacle_data_recorder <src_ip>
# Windows
./Release/obstacle_data_recorder.exe <src_ip>
Parameters
src_ip
: IP address of the ZMQ source (the device running Hammerhead)
Examples
# Record obstacle data from local device
./obstacle_data_recorder 127.0.0.1
# Record obstacle data from remote device
./obstacle_data_recorder 10.10.1.10
Output
- Format: Text files (.txt)
- Location:
obstacle_datas
folder - Naming: Sequential numbering with timestamp information
Data Format
The obstacle data is represented in the XZ plane, where each obstacle is defined by:
- Bounding box coordinates
- Velocity vector (no vertical Y-axis component)
Each generated file contains:
- Header with parameter order information
- Obstacle bounding box data
- Velocity vector data
Features
- High-performance C++ implementation for real-time processing
- Subscribe to
ObstacleData
messages from Hammerhead - Automatic text file generation with headers
- Real-time obstacle data recording
- XZ plane representation for 2D obstacle tracking
Troubleshooting
- No data received: Check IP address and ensure Hammerhead is running
- Connection hanging: ZMQ will wait indefinitely for connection - verify network connectivity
- Empty files: Ensure Hammerhead is actively detecting obstacles
Press Ctrl+C
to stop recording.