- Host Configuration
- Runtime Node Configuration
- SDF Configuration
- Logfile Management
- Managing the Runtime
- Application Code Portability
- Building C Examples
- Building C++ Examples
- Building a Node
- Clone Example Repos
- Coordinate Frames
- Diagnostic Trouble Codes
- Extending the Data Model
- IDE Setup
- Logged vs Source vs Published Video Parameters
- MATLAB to Export - BETA
- PolySync Messages
- ROS Bridge
- Release Notes
- Standard Units
- Dynamic Driver/HW Interface Development
- Application Development
MATLAB to Export - BETA
The BETA version of the PolySync-MATLAB/Simulink support provides a workflow to export time synchronized data from PolySync, and import the data into MATLAB/Simulink for application and algorithm development.
The BETA version supports these six message types:
This workflow was built as a proof-of-concept between The MathWorks and PolySync. Full-featured support is under joint-development and is expected to be available near Q2 2017.
The full version will support all message types, and will have a streaming interface rather than the export/import process.
Here’s a high-level overview of the workflow for accessing time-synchronized data in MATLAB:
- Build and run the CSV export node
- Replay data to export the supported high-level message types to CSV
- Use provided MATLAB tools and examples to import CSV and begin autonomous vehicle application development
1.1 CSV export node
PolySync CSV export node─
polysync-csv-export─subscribes to the appropriate message types at runtime, and is responsible for writing a CSV file containing all data from each message received.
The source code can be found in the GitHub example [here]().
1.1.1 Building the node
The node comes precompiled with the PolySync release package, or follow these steps to clone the C++ examples repo and build the node:
$ git clone https://github.com/PolySync/PolySync-Core-CPP-Examples $ cd PolySync-Core-CPP-Examples/CSVExporter $ mkdir build && cd build $ cmake .. && make
1.1.1 Running the node
The node can be run anywhere on the system. It takes in the message types to convert to CSV as command line arguments.
$ polysync-csv-export -t ps_objects_msg ps_lane_model_msg ps_radar_targets_msg
Each message type will create its own CSV file in the same directory where the node is run.
To see all available command line options, pass in the help
1.2 Replay data on PolySync
Once the CSV export node is running, start nodes in the hardware context, or replay a logfile session to begin publishing data to the PolySync bus via the
The CSV export node will automatically receive the messages and begin exporting the data to CSV.
To stop the
CTRL+C, the node will disconnect from PolySync and stop receiving messages. The node will continue to write all data currently in the buffer.
1.3 Import data in MATLAB
Download the MATLAB import resources directly from here.
The sample CSV data can be downloaded separately from our Dropbox.
There are two MATLAB project folders included. The
+bev/ folders can be opened using MATLAB.
- Contains the MATLAB data structures, derived from the original PolySync message types
- Contains the
read_polysync_csv_*routines and associated resources to read the PolySync CSV data
- Contains the resources to plot detection’s
1.3.1 Running MATLAB examples
The MathWorks has provided useful examples that show how to access the CSV data in meaningful ways. The files are located included in the MATLABBridge-BETA.tar.gz download from above.
examplePlotRadarVisionAndLidar.m applications to see the examples in action.