This section gives an overview of the possible variations that can be configured via ROS launch arguments. In order to reproduce the experiments from our paper, take a look at EXPERIMENTS.md
.
The arguments listed below can be added to the launch commands of the specific methods, e.g., gui:=true
.
Argument | Description | Default | Type or Options |
---|---|---|---|
type |
switch to launch components for vehicle or cloud role | - | vehicle / cloud |
gui |
whether to launch plotting and experiments GUI | false |
bool |
record |
whether to record to a rosbag | false |
bool |
packets |
topic of initial velodyne_msgs::VelodyneScan messages |
/vlp_32c/velodyne_packets |
string |
pointcloud |
topic of initial sensor_msgs::PointCloud2 messages |
- | string |
datatype |
toggle between sending velodyne_msgs::VelodyneScan or sensor_msgs::PointCloud2 |
packets |
packets / pointcloud |
p_packets |
percentage of point cloud packets to send to allow downsampling | 1.0 |
float |
Argument | Description | Default | Type or Options |
---|---|---|---|
host |
MQTT broker host | - | string |
port |
MQTT broker port | 1883 |
int |
user |
MQTT broker username | - | string |
pass |
MQTT broker password | - | string |
qos |
MQTT QoS level | 0 |
0 / 1 / 2 |
ssl |
whether to enable SSL over MQTT | false |
bool |
transmission_only |
whether to only measure transmission to broker and back | false |
bool |
Advanced configuration is not exposed via ROS launch arguments, but stored in parameter YAML files in src/benchmarking_suite/params
. A selection of these parameters is presented below.
File | Parameter | Description | Default | Type |
---|---|---|---|---|
benchmark_io.yaml |
bag_rate |
point cloud publication rate from bagfile [Hz] | 10 |
float |
object_detection.yaml |
latency |
processing latency of dummy object detection | 0.0 |
float |
object_detection.yaml |
n_objects |
number of objects in dummy object list | 20 |
int |
The MQTT protocol supports exchanging data via SSL/TLS-encrypted communication channels. The encryption has to be configured on both client and broker sides.
Launch the MQTT broker Mosquitto on port 8883 with a dedicated config file that enables encryption.
Warning
Note that the default broker configuration that we provide (mosquitto.conf
) is not secure. The authentication details and encryption certificates are public. Anyone can connect to your broker while it is running. See Cleanup for instructions on how to shut down the broker.
# ros-v2x-benchmarking-suite/
docker run --rm -d \
--publish 8883:8883 \
--volume $(pwd)/src/benchmarking_suite/params/mosquitto_ssl:/mosquitto/config \
--user $(id -u):$(id -g) \
--name mosquitto \
eclipse-mosquitto
For the MQTT-based methods, add ssl:=true
to the benchmarking launch commands.
All traffic via a Docker swarm overlay network can be AES-encrypted (doc). Encryption can be enabled when creating the Docker network.
For the overlay
method, create an encrypted Docker overlay network to connect multiple containers within a Docker swarm.
docker network create --driver overlay --attachable --opt encrypted overlay