From e09731c0cca9c7085907284343fd5f0802326733 Mon Sep 17 00:00:00 2001 From: HangYin2015 Date: Thu, 1 Dec 2016 11:32:35 +0100 Subject: [PATCH 1/7] Replace half float with uint16_t for CPC --- .../system/proxy-velodyne16/include/velodyne16DecoderCPC.h | 3 +-- .../system/proxy-velodyne16/src/velodyne16DecoderCPC.cpp | 6 ++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/code/core/system/proxy-velodyne16/include/velodyne16DecoderCPC.h b/code/core/system/proxy-velodyne16/include/velodyne16DecoderCPC.h index e70ce3f..97030b4 100644 --- a/code/core/system/proxy-velodyne16/include/velodyne16DecoderCPC.h +++ b/code/core/system/proxy-velodyne16/include/velodyne16DecoderCPC.h @@ -25,7 +25,6 @@ #include "opendavinci/odcore/data/Container.h" #include #include "opendavinci/generated/odcore/data/CompactPointCloud.h" -#include "opendavinci/odcore/wrapper/half_float.h" namespace opendlv { namespace core { @@ -77,7 +76,7 @@ class Velodyne16DecoderCPC : public odcore::io::StringListener { std::stringstream m_distanceStringStream; //The string stream with distance values for all points of one frame bool m_isStartAzimuth; //Indicate if an azimuth is the starting azimuth of a new frame uint8_t m_sensorOrderIndex[16];//Specify the order for each 16 points in the string with distance values - half m_16Sensors[16];//Store the distance values of the current 16 sensors + uint16_t m_16Sensors[16];//Store the distance values of the current 16 sensors (need to be divided by 500 to get the actual values in meter on the receiver side) }; } } diff --git a/code/core/system/proxy-velodyne16/src/velodyne16DecoderCPC.cpp b/code/core/system/proxy-velodyne16/src/velodyne16DecoderCPC.cpp index b8f429b..e2b9ad9 100644 --- a/code/core/system/proxy-velodyne16/src/velodyne16DecoderCPC.cpp +++ b/code/core/system/proxy-velodyne16/src/velodyne16DecoderCPC.cpp @@ -88,7 +88,7 @@ void Velodyne16DecoderCPC::nextString(const string &payload) { //The payload of a VLP-16 packet consists of 12 blocks with 100 bytes each. Decode each block separately. static uint8_t firstByte, secondByte; - static uint32_t dataValue; + static uint16_t dataValue; for (uint8_t blockID = 0; blockID < 12; blockID++) { //Skip the flag: 0xFFEE(2 bytes) position += 2; @@ -149,9 +149,7 @@ void Velodyne16DecoderCPC::nextString(const string &payload) { //Decode distance: 2 bytes. Swap the bytes, change to decimal, and divide it by 500 firstByte = (uint8_t)(payload.at(position)); secondByte = (uint8_t)(payload.at(position + 1)); - dataValue = ntohs(firstByte * 256 + secondByte); - m_distance = dataValue / 500.0; //*2mm-->/1000 for meter - m_16Sensors[sensorID]=static_cast(m_distance); + m_16Sensors[sensorID] = ntohs(firstByte * 256 + secondByte); if(sensorID==15){ for(uint8_t index=0;index<16;index++){ From 4074e768a9f00ecba979b42e795c6a86b14d66fb Mon Sep 17 00:00:00 2001 From: HangYin2015 Date: Thu, 1 Dec 2016 13:19:28 +0100 Subject: [PATCH 2/7] Distance value in cm for CPC --- .../core/system/proxy-velodyne16/include/velodyne16DecoderCPC.h | 2 +- code/core/system/proxy-velodyne16/src/velodyne16DecoderCPC.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/code/core/system/proxy-velodyne16/include/velodyne16DecoderCPC.h b/code/core/system/proxy-velodyne16/include/velodyne16DecoderCPC.h index 97030b4..e23267d 100644 --- a/code/core/system/proxy-velodyne16/include/velodyne16DecoderCPC.h +++ b/code/core/system/proxy-velodyne16/include/velodyne16DecoderCPC.h @@ -76,7 +76,7 @@ class Velodyne16DecoderCPC : public odcore::io::StringListener { std::stringstream m_distanceStringStream; //The string stream with distance values for all points of one frame bool m_isStartAzimuth; //Indicate if an azimuth is the starting azimuth of a new frame uint8_t m_sensorOrderIndex[16];//Specify the order for each 16 points in the string with distance values - uint16_t m_16Sensors[16];//Store the distance values of the current 16 sensors (need to be divided by 500 to get the actual values in meter on the receiver side) + uint16_t m_16Sensors[16];//Store the distance values (in cm) of the current 16 sensors }; } } diff --git a/code/core/system/proxy-velodyne16/src/velodyne16DecoderCPC.cpp b/code/core/system/proxy-velodyne16/src/velodyne16DecoderCPC.cpp index e2b9ad9..4c18d91 100644 --- a/code/core/system/proxy-velodyne16/src/velodyne16DecoderCPC.cpp +++ b/code/core/system/proxy-velodyne16/src/velodyne16DecoderCPC.cpp @@ -149,7 +149,7 @@ void Velodyne16DecoderCPC::nextString(const string &payload) { //Decode distance: 2 bytes. Swap the bytes, change to decimal, and divide it by 500 firstByte = (uint8_t)(payload.at(position)); secondByte = (uint8_t)(payload.at(position + 1)); - m_16Sensors[sensorID] = ntohs(firstByte * 256 + secondByte); + m_16Sensors[sensorID] = ntohs(firstByte * 256 + secondByte)/5; if(sensorID==15){ for(uint8_t index=0;index<16;index++){ From fd35b4990350296cc0177e865720183a584c0279 Mon Sep 17 00:00:00 2001 From: HangYin2015 Date: Thu, 1 Dec 2016 13:28:23 +0100 Subject: [PATCH 3/7] Use cases for the documentation camera with RT scheduling --- .../.env | 1 + .../Dockerfile | 21 ++++ .../README.md | 38 ++++++ .../checkHealth.sh | 51 +++++++++ .../configuration | 108 ++++++++++++++++++ .../docker-compose.yml | 51 +++++++++ .../.env | 1 + .../Dockerfile | 22 ++++ .../README.md | 40 +++++++ .../checkHealth.sh | 51 +++++++++ .../configuration | 108 ++++++++++++++++++ .../docker-compose.yml | 61 ++++++++++ .../fileserver/.env | 1 + .../fileserver/Dockerfile | 21 ++++ .../fileserver/README.md | 12 ++ .../fileserver/docker-compose.yml | 28 +++++ .../odcockpit/.env | 1 + .../odcockpit/Dockerfile | 21 ++++ .../odcockpit/README.md | 13 +++ .../odcockpit/docker-compose.yml | 34 ++++++ 20 files changed, 684 insertions(+) create mode 100644 usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/.env create mode 100644 usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/Dockerfile create mode 100644 usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/README.md create mode 100755 usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/checkHealth.sh create mode 100644 usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/configuration create mode 100644 usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/docker-compose.yml create mode 100644 usecases/stable/documentationcamera/recording.documentationcamera.realtime/.env create mode 100644 usecases/stable/documentationcamera/recording.documentationcamera.realtime/Dockerfile create mode 100644 usecases/stable/documentationcamera/recording.documentationcamera.realtime/README.md create mode 100755 usecases/stable/documentationcamera/recording.documentationcamera.realtime/checkHealth.sh create mode 100644 usecases/stable/documentationcamera/recording.documentationcamera.realtime/configuration create mode 100644 usecases/stable/documentationcamera/recording.documentationcamera.realtime/docker-compose.yml create mode 100644 usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/.env create mode 100644 usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/Dockerfile create mode 100644 usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/README.md create mode 100644 usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/docker-compose.yml create mode 100644 usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/.env create mode 100644 usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/Dockerfile create mode 100644 usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/README.md create mode 100644 usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/docker-compose.yml diff --git a/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/.env b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/.env new file mode 100644 index 0000000..14af517 --- /dev/null +++ b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/.env @@ -0,0 +1 @@ +CID=201 diff --git a/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/Dockerfile b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/Dockerfile new file mode 100644 index 0000000..111f311 --- /dev/null +++ b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/Dockerfile @@ -0,0 +1,21 @@ +# Dockerfile - Dockerfile to run OpenDLV software. +# Copyright (C) 2016 Christian Berger +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# Date: 2016-09-09 + +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest + diff --git a/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/README.md b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/README.md new file mode 100644 index 0000000..114bdae --- /dev/null +++ b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/README.md @@ -0,0 +1,38 @@ +This folder provides the instructions for viewing runtime video feed with a single OpenCV camera. This use case is particularly used for adjusting the mounting position and angle of a documentation camera in the car. A docker-compose file is provided to start all micro-services to display runtime video feed. It includes three services: odsupercomponent, health, and opendlv-core-system-proxy-camera (or proxy-camera for short). odsupercomponent is used for software component lifecycle management in OpenDaVINCI. health checks the status of device nodes. proxy-camera activates the camera and enables a pop-up video display window. It is assumed that git, Docker, and Docker Compose are installed and the camera is properly connected. To install Docker, follow the tutorial: https://docs.docker.com/engine/installation/linux/ubuntulinux/. + +### Prepare proxy-camera + +proxy-camera is included in the opendlv.core repository (https://github.com/chalmers-revere/opendlv.core). Clone the opendlv.core source: + + $ git clone https://github.com/chalmers-revere/opendlv.core + + $ git pull + +Go to opendlv.core/docker, build and create the Docker image seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest: + + $ make buildComplete + + $ make createDockerImage + +### Use proxy-camera with Docker Compose + +Go to the folder usecases/calibrate.documentationcamera. This folder contains a checkHealth.sh script, a configuration file, a docker-compose file docker-compose.yml, and an environment file .env. The environment file .env defines an environment variable CID which is referred to by the docker-compose file. CID is a user-defined environment variable that specifies the cid of the UDP session established by odsupercomponent. In .env CID has the value 201, thus in docker-compose.yml "${CID}" resolves to 201. Run Docker Compose: + + $ docker-compose up --build + +Then proxy-camera will start a pop-up window that displays live video feed from the camera. To stop the camera display (e.g., when the camera mounting position calibration is completed), run + + $ docker-compose stop + +Then remove all stopped containers: + + $ docker-compose rm + +Note that the value of CID defined in .env can be manually overwritten by preceding the docker-compose command with CID=xxx, where xxx is the cid number. For instance, the following command makes odsupercomponent, proxy-camera, and odrecorderh264 run with cid 123 instead of 201: + + $ CID=123 docker-compose up + +Then CID=123 should also be used for docker-compose stop and docker-compose rm accordingly. + +Finally, note that this use case assumes that the camera is mounted upside down. Hence video images are flipped for that reason. The configuration file in this folder includes a parameter proxy-camera.camera.flipped which is set to 1. In order to disable flipped images, change its value to 0. + diff --git a/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/checkHealth.sh b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/checkHealth.sh new file mode 100755 index 0000000..774b051 --- /dev/null +++ b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/checkHealth.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# +# Copyright (C) 2016 Christian Berger +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +# USA. + +# System configuration: +LOCALHOST=127.0.0.1 +MULTICAST_ROUTE=225.0.0.0 +DOCKER_VOLUME_PREFIX=/from.host +DEV_VIDEO0=${DOCKER_VOLUME_PREFIX}/dev/video0 + +# Reachability tests: +HAS_MULTICAST_ROUTE=$(ip route | grep "$MULTICAST_ROUTE" 2>&1 >/dev/null && echo "PASSED" || echo "FAILED") +PING_LOCALHOST=$(ping -W1 -c1 $LOCALHOST 2>&1 >/dev/null && echo "PASSED" || echo "FAILED") + +# Devnode tests: +HAS_DEV_VIDEO0=$(test -e $DEV_VIDEO0 2>&1 >/dev/null && echo "PASSED" || echo "FAILED") + +# System: +KERNEL=$(cat /proc/version | cut -f3 -d" ") +LOADAVERAGE=$(cat /proc/loadavg | cut -f1-3 -d" "|tr -s " " "/") +UPTIME=$(echo "`cat /proc/uptime |cut -f1 -d" "`/60"|bc) + +# Disk space: +DISKSPACE_USED=$(df -h | grep "/$"|tr -s " " " "|cut -f3 -d" ") +DISKSPACE_LEFT=$(df -h | grep "/$"|tr -s " " " "|cut -f4 -d" ") + +echo "health.host=$(hostname)" +echo "$(hostname).system.kernel=$KERNEL" +echo "$(hostname).system.loadaverage=$LOADAVERAGE" +echo "$(hostname).system.uptime=${UPTIME}min" +echo "$(hostname).has.${DEV_VIDEO0}=$HAS_DEV_VIDEO0" +echo "$(hostname).has.multicast_route=$HAS_MULTICAST_ROUTE" +echo "$(hostname).ping.localhost=$PING_LOCALHOST" +echo "$(hostname).diskspace.used=$DISKSPACE_USED" +echo "$(hostname).diskspace.available=$DISKSPACE_LEFT" + diff --git a/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/configuration b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/configuration new file mode 100644 index 0000000..58d7c65 --- /dev/null +++ b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/configuration @@ -0,0 +1,108 @@ +# This is the "one-and-only" configuration for OpenDaVINCI. +# Its format is like: +# +# section.key=value +# +# If you have several modules of the same type, the following configuration +# scheme applies: +# +# global.key=value # <-- This configuration applies for all modules. +# +# section.key=value # <-- This configuration applies for all modules of type "section". +# +# section:ID.key=value # <-- This configuration applies for the module "ID" of type "section". + + +############################################################################### +############################################################################### +# +# GLOBAL CONFIGURATION +# + +# The following attributes define the buffer sizes for recording and +# replaying. You need to adjust these parameters depending on the +# camera resolution for example (640x480x3 --> 1000000 for memorySegment, +# 1280x720x3 --> 2800000). +global.buffer.memorySegmentSize = 2800000 # Size of a memory segment in bytes. +global.buffer.numberOfMemorySegments = 20 # Number of memory segments. + +# The following key describes the list of modules expected to participate in this --cid session. +global.session.expectedModules = odrecorderh264,proxy-camera + + +############################################################################### +############################################################################### +# +# CONFIGURATION FOR ODCOCKPIT +# +odcockpit.plugins = configurationviewer,healthstatusviewer,livefeed,logmessage,sessionviewer,sharedimageviewer # List of modules to show in odcockpit; leave blank to show all. +odcockpit.directoriesForSharedLibaries = /opt # List of directories to search for libodvd*.so files. + + +############################################################################### +############################################################################### +# +# NEXT, THE CONFIGURATION FOR OpenDaVINCI TOOLS FOLLOWS. +# +############################################################################### +############################################################################### +# +# CONFIGURATION FOR ODSUPERCOMPONENT +# + +# If the managed level is pulse_shift, all connected modules will be informed +# about the supercomponent's real time by this increment per module. Thus, the +# execution times per modules are better aligned with supercomponent and the +# data exchange is somewhat more predictable. +odsupercomponent.pulseshift.shift = 10000 # (in microseconds) + +# If the managed level is pulse_time_ack, this is the timeout for waiting for +# an ACK message from a connected client. +odsupercomponent.pulsetimeack.timeout = 5000 # (in milliseconds) + +# If the managed level is pulse_time_ack, the modules are triggered sequentially +# by sending pulses and waiting for acknowledgment messages. To allow the modules +# to deliver their respective containers, this yielding time is used to sleep +# before supercomponent sends the pulse messages the next module in this execution +# cycle. This value needs to be adjusted for networked simulations to ensure +# deterministic execution. +odsupercomponent.pulsetimeack.yield = 5000 # (in microseconds) + +# List of modules (without blanks) that will not get a pulse message from odsupercomponent. +odsupercomponent.pulsetimeack.exclude = odcockpit + + +############################################################################### +############################################################################### +# +# CONFIGURATION FOR HEALTH +# +health.script = ./checkHealth.sh +health.sleep = 60 # Sleep between health checks in seconds + + +############################################################################### +############################################################################### +# +# CONFIGURATION FOR ODRECORDERH264 +# +#odrecorderh264.output = file://recorder.rec # If this parameter is not present, odrecorderh264 will autogenerate a filename. +odrecorderh264.remoteControl = 0 # 0 = no remote control, 1 = allowing remote control (i.e. start and stop recording) +odrecorderh264.dumpSharedData = 0 # 0 = do not dump shared images and shared images, 1 = otherwise +odrecorderh264.lossless = 1 # Set to 1 to enable h264 lossless encoding. +odrecorderh264.portbaseforchildprocesses = 29000 # Every spawned child processes is connecting to the parent process via TCP using the base port plus its increasing ID. + + +############################################################################### +############################################################################### +# +# CONFIGURATION FOR PROXY +# +proxy-camera.camera.debug = 1 # 1 = show recording (requires X11), 0 = otherwise. +proxy-camera.camera.name = DocumentationCamera0 +proxy-camera.camera.id = 0 # Select here the proper ID for OpenCV. +proxy-camera.camera.width = 640 +proxy-camera.camera.height = 480 +proxy-camera.camera.bpp = 3 +proxy-camera.camera.flipped = 1 # 1 = flipped image, 0 = not flipped image. + diff --git a/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/docker-compose.yml b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/docker-compose.yml new file mode 100644 index 0000000..dac5f9c --- /dev/null +++ b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/docker-compose.yml @@ -0,0 +1,51 @@ +# docker-compose.yml - Micro-services to record one documentation camera. +# Copyright (C) 2016 Hang Yin, Christian Berger +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +version: '2' + +services: + # Micro-service for odsupercomponent. + odsupercomponent: + build: . + network_mode: host + volumes: + - .:/opt/opendlv.core.configuration + command: "/opt/od4/bin/odsupercomponent --cid=${CID} --verbose=1 --configuration=/opt/opendlv.core.configuration/configuration" + + # Micro-service for proxy-camera. + proxy-camera: + build: . +# group_add: +# - video + depends_on: + - odsupercomponent + cap_add: + - SYS_NICE + environment: + - DISPLAY=$DISPLAY + volumes: + - /tmp/.X11-unix:/tmp/.X11-unix + devices: + - "/dev/video0:/dev/video0" + user: root + network_mode: host + ipc: host + command: "/opt/opendlv.core/bin/opendlv-core-system-proxy-camera --cid=${CID} --freq=20 --realtime=20" + + + + diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/.env b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/.env new file mode 100644 index 0000000..14af517 --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/.env @@ -0,0 +1 @@ +CID=201 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/Dockerfile new file mode 100644 index 0000000..f37b4f3 --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/Dockerfile @@ -0,0 +1,22 @@ +# Dockerfile - Dockerfile to run OpenDLV software. +# Copyright (C) 2016 Christian Berger +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# Date: 2016-09-09 + +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest + + diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/README.md b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/README.md new file mode 100644 index 0000000..00b6e2b --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/README.md @@ -0,0 +1,40 @@ +This folder provides the instructions for video recording with a single OpenCV camera. A docker-compose file is provided to start all micro-services to record video streams from the OpenCV camera with lossless H264 compression. It includes three services: odsupercomponent, opendlv-core-system-proxy-camera (or proxy-camera for short), and odrecorderh264. odsupercomponent is used for software component lifecycle management in OpenDaVINCI. proxy-camera activates the camera and odrecorderh264 records the video. The recording is performed in headless mode, i.e., without display during the recording. Please follow the instructions in the header of the docker-compose file to support non-headless mode. It is assumed that git, Docker, and Docker Compose are installed and the camera is properly connected. To install Docker, follow the tutorial: https://docs.docker.com/engine/installation/linux/ubuntulinux/. + +### Prepare proxy-camera + +proxy-camera is included in the opendlv.core repository (https://github.com/chalmers-revere/opendlv.core). Clone the opendlv.core source: + + $ git clone https://github.com/chalmers-revere/opendlv.core + + $ git pull + +Go to opendlv.core/docker, build and create the Docker image seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest: + + $ make buildComplete + + $ make createDockerImage + +### Use proxy-camera with Docker Compose + +Go to the folder usecases/recording.1opencvcamera.scott2. This folder contains a configuration file, a docker-compose file docker-compose.yml, and an environment file .env. The environment file .env defines an environment variable CID which is referred to by the docker-compose file. CID is a user-defined environment variable that specifies the cid of the UDP session established by odsupercomponent. In .env CID has the value 201, thus in docker-compose.yml "${CID}" resolves to 201. Run Docker Compose: + + $ docker-compose up --build + +Then proxy-camera will start the recording with the camera. To stop the recording, run + + $ docker-compose stop + +Then remove all stopped containers: + + $ docker-compose rm + +After the recording, the recording files are stored at ~/recordings, including a .h264 file as the actual recording with lossless H264 compression. The recording file format is CID-xxx-odrecorderh264_yyy, where xxx is the cid number and yyy is the timestamp. + +Note that the value of CID defined in .env can be manually overwritten by preceding the docker-compose command with CID=xxx, where xxx is the cid number. For instance, the following command makes odsupercomponent, proxy-camera, and odrecorderh264 run with cid 123 instead of 201: + + $ CID=123 docker-compose up + +Then CID=123 should also be used for docker-compose stop and docker-compose rm accordingly. + +Finally, note that this use case assumes that the camera is mounted upside down. Hence video images are flipped for that reason. The configuration file in this folder includes a parameter proxy-camera.camera.flipped which is set to 1. In order to disable flipped images, change its value to 0. + diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/checkHealth.sh b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/checkHealth.sh new file mode 100755 index 0000000..774b051 --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/checkHealth.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# +# Copyright (C) 2016 Christian Berger +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, +# USA. + +# System configuration: +LOCALHOST=127.0.0.1 +MULTICAST_ROUTE=225.0.0.0 +DOCKER_VOLUME_PREFIX=/from.host +DEV_VIDEO0=${DOCKER_VOLUME_PREFIX}/dev/video0 + +# Reachability tests: +HAS_MULTICAST_ROUTE=$(ip route | grep "$MULTICAST_ROUTE" 2>&1 >/dev/null && echo "PASSED" || echo "FAILED") +PING_LOCALHOST=$(ping -W1 -c1 $LOCALHOST 2>&1 >/dev/null && echo "PASSED" || echo "FAILED") + +# Devnode tests: +HAS_DEV_VIDEO0=$(test -e $DEV_VIDEO0 2>&1 >/dev/null && echo "PASSED" || echo "FAILED") + +# System: +KERNEL=$(cat /proc/version | cut -f3 -d" ") +LOADAVERAGE=$(cat /proc/loadavg | cut -f1-3 -d" "|tr -s " " "/") +UPTIME=$(echo "`cat /proc/uptime |cut -f1 -d" "`/60"|bc) + +# Disk space: +DISKSPACE_USED=$(df -h | grep "/$"|tr -s " " " "|cut -f3 -d" ") +DISKSPACE_LEFT=$(df -h | grep "/$"|tr -s " " " "|cut -f4 -d" ") + +echo "health.host=$(hostname)" +echo "$(hostname).system.kernel=$KERNEL" +echo "$(hostname).system.loadaverage=$LOADAVERAGE" +echo "$(hostname).system.uptime=${UPTIME}min" +echo "$(hostname).has.${DEV_VIDEO0}=$HAS_DEV_VIDEO0" +echo "$(hostname).has.multicast_route=$HAS_MULTICAST_ROUTE" +echo "$(hostname).ping.localhost=$PING_LOCALHOST" +echo "$(hostname).diskspace.used=$DISKSPACE_USED" +echo "$(hostname).diskspace.available=$DISKSPACE_LEFT" + diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/configuration b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/configuration new file mode 100644 index 0000000..8c3bd19 --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/configuration @@ -0,0 +1,108 @@ +# This is the "one-and-only" configuration for OpenDaVINCI. +# Its format is like: +# +# section.key=value +# +# If you have several modules of the same type, the following configuration +# scheme applies: +# +# global.key=value # <-- This configuration applies for all modules. +# +# section.key=value # <-- This configuration applies for all modules of type "section". +# +# section:ID.key=value # <-- This configuration applies for the module "ID" of type "section". + + +############################################################################### +############################################################################### +# +# GLOBAL CONFIGURATION +# + +# The following attributes define the buffer sizes for recording and +# replaying. You need to adjust these parameters depending on the +# camera resolution for example (640x480x3 --> 1000000 for memorySegment, +# 1280x720x3 --> 2800000). +global.buffer.memorySegmentSize = 2800000 # Size of a memory segment in bytes. +global.buffer.numberOfMemorySegments = 20 # Number of memory segments. + +# The following key describes the list of modules expected to participate in this --cid session. +global.session.expectedModules = odrecorderh264,proxy-camera + + +############################################################################### +############################################################################### +# +# CONFIGURATION FOR ODCOCKPIT +# +odcockpit.plugins = configurationviewer,healthstatusviewer,livefeed,logmessage,sessionviewer,sharedimageviewer # List of modules to show in odcockpit; leave blank to show all. +odcockpit.directoriesForSharedLibaries = /opt # List of directories to search for libodvd*.so files. + + +############################################################################### +############################################################################### +# +# NEXT, THE CONFIGURATION FOR OpenDaVINCI TOOLS FOLLOWS. +# +############################################################################### +############################################################################### +# +# CONFIGURATION FOR ODSUPERCOMPONENT +# + +# If the managed level is pulse_shift, all connected modules will be informed +# about the supercomponent's real time by this increment per module. Thus, the +# execution times per modules are better aligned with supercomponent and the +# data exchange is somewhat more predictable. +odsupercomponent.pulseshift.shift = 10000 # (in microseconds) + +# If the managed level is pulse_time_ack, this is the timeout for waiting for +# an ACK message from a connected client. +odsupercomponent.pulsetimeack.timeout = 5000 # (in milliseconds) + +# If the managed level is pulse_time_ack, the modules are triggered sequentially +# by sending pulses and waiting for acknowledgment messages. To allow the modules +# to deliver their respective containers, this yielding time is used to sleep +# before supercomponent sends the pulse messages the next module in this execution +# cycle. This value needs to be adjusted for networked simulations to ensure +# deterministic execution. +odsupercomponent.pulsetimeack.yield = 5000 # (in microseconds) + +# List of modules (without blanks) that will not get a pulse message from odsupercomponent. +odsupercomponent.pulsetimeack.exclude = odcockpit + + +############################################################################### +############################################################################### +# +# CONFIGURATION FOR HEALTH +# +health.script = ./checkHealth.sh +health.sleep = 60 # Sleep between health checks in seconds + + +############################################################################### +############################################################################### +# +# CONFIGURATION FOR ODRECORDERH264 +# +#odrecorderh264.output = file://recorder.rec # If this parameter is not present, odrecorderh264 will autogenerate a filename. +odrecorderh264.remoteControl = 0 # 0 = no remote control, 1 = allowing remote control (i.e. start and stop recording) +odrecorderh264.dumpSharedData = 0 # 0 = do not dump shared images and shared images, 1 = otherwise +odrecorderh264.lossless = 1 # Set to 1 to enable h264 lossless encoding. +odrecorderh264.portbaseforchildprocesses = 29000 # Every spawned child processes is connecting to the parent process via TCP using the base port plus its increasing ID. + + +############################################################################### +############################################################################### +# +# CONFIGURATION FOR PROXY +# +proxy-camera.camera.debug = 0 # 1 = show recording (requires X11), 0 = otherwise. +proxy-camera.camera.name = DocumentationCamera0 +proxy-camera.camera.id = 0 # Select here the proper ID for OpenCV. +proxy-camera.camera.width = 640 +proxy-camera.camera.height = 480 +proxy-camera.camera.bpp = 3 +proxy-camera.camera.flipped = 1 # 1 = flipped image, 0 = not flipped image. + diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/docker-compose.yml b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/docker-compose.yml new file mode 100644 index 0000000..12fcad3 --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/docker-compose.yml @@ -0,0 +1,61 @@ +# docker-compose.yml - Micro-services to record one documentation camera. +# Copyright (C) 2016 Hang Yin, Christian Berger +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +version: '2' + +services: + # Micro-service for odsupercomponent. + odsupercomponent: + build: . + network_mode: host + volumes: + - .:/opt/opendlv.core.configuration + command: "/opt/od4/bin/odsupercomponent --cid=${CID} --verbose=1 --configuration=/opt/opendlv.core.configuration/configuration" + + # Micro-service for proxy-camera. + proxy-camera: + build: . +# group_add: +# - video + cap_add: + - SYS_NICE + depends_on: + - odsupercomponent + devices: + - "/dev/video0:/dev/video0" + user: root # This parameter will be replaced as soon as group_add parameter is available in docker-compose, cf. https://github.com/docker/compose/pull/3709. + network_mode: host + ipc: host + command: "/opt/opendlv.core/bin/opendlv-core-system-proxy-camera --cid=${CID} --freq=20 --realtime=45" + + + # Micro-service for odrecorderh264. + odrecorderh264: + build: . +# cap_add: +# - ALL + depends_on: + - odsupercomponent + - proxy-camera + volumes: + - ~/recordings:/opt/recordings + user: root # This parameter will be replaced as soon as group_add parameter is available in docker-compose, cf. https://github.com/docker/compose/pull/3709. + network_mode: host + ipc: host + working_dir: "/opt/recordings" + command: "/opt/od4/bin/odrecorderh264 --cid=${CID}" + diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/.env b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/.env new file mode 100644 index 0000000..14af517 --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/.env @@ -0,0 +1 @@ +CID=201 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/Dockerfile new file mode 100644 index 0000000..111f311 --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/Dockerfile @@ -0,0 +1,21 @@ +# Dockerfile - Dockerfile to run OpenDLV software. +# Copyright (C) 2016 Christian Berger +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# Date: 2016-09-09 + +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest + diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/README.md b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/README.md new file mode 100644 index 0000000..9b6cc35 --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/README.md @@ -0,0 +1,12 @@ +This folder provides the instructions for sharing video recordings with other machines connected in the same local network. Suppose that there are video recordings in ~/recordings of the local host. Run the fileserver micro-service: + + $ docker-compose up --build + +Then point a web-browser to "http://localhost" or to the machine where recordings have been conducted. A list of the recording files will be available for download in the web-browser. + +To stop the fileserver and remove the stopped Docker container, run + + $ docker-compose stop + + $ docker-compose rm + diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/docker-compose.yml b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/docker-compose.yml new file mode 100644 index 0000000..ac982dc --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/docker-compose.yml @@ -0,0 +1,28 @@ +# docker-compose.yml - Micro-services to serve recordings via WebDAV. +# Copyright (C) 2016 Hang Yin, Christian Berger +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +version: '2' + +services: + # Micro-service to serve recordings via WebDAV. + fileserver: + image: sashgorokhov/webdav + ports: + - 80:80 + volumes: + - ~/recordings:/media + diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/.env b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/.env new file mode 100644 index 0000000..14af517 --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/.env @@ -0,0 +1 @@ +CID=201 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/Dockerfile new file mode 100644 index 0000000..111f311 --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/Dockerfile @@ -0,0 +1,21 @@ +# Dockerfile - Dockerfile to run OpenDLV software. +# Copyright (C) 2016 Christian Berger +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +# Date: 2016-09-09 + +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest + diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/README.md b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/README.md new file mode 100644 index 0000000..2baa82d --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/README.md @@ -0,0 +1,13 @@ +This folder provides the instructions for monitoring a running recording session with a documentation camera. To start the recording session, follow the instructions in the folder /opendlv.core/usecases/recording.documentationcamera. By default the recording runs in "headless mode", i.e., without display. Using the micro-service odcockpit encapsulated in the docker-compose file in this folder, the video being recorded can be graphically monitored in real time. While the recording is in progress, start odcockpit in a Docker container (the first command grants access to your Xserver): + + $ xhost + + + $ docker-compose up --build + +Open the SharedImageViewer plugin in odcockpit and double click the recording session name therein. The video will be visible. + +To stop odcockpit and remove the stopped Docker container, run + + $ docker-compose stop + + $ docker-compose rm diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/docker-compose.yml b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/docker-compose.yml new file mode 100644 index 0000000..9e0eeea --- /dev/null +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/docker-compose.yml @@ -0,0 +1,34 @@ +# docker-compose.yml - Micro-services to monitor one documentation camera. +# Copyright (C) 2016 Hang Yin, Christian Berger +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +version: '2' + +services: + # Micro-service for odcockpit to monitor a running recording session. + odcockpit: + build: . + image: seresearch/opendavinci-ubuntu-16.04-complete:latest + environment: + - DISPLAY=$DISPLAY + volumes: + - /tmp/.X11-unix:/tmp/.X11-unix + - ~/recordings:/opt/recordings + user: root # This parameter will be replaced as soon as group_add parameter is available in docker-compose, cf. https://github.com/docker/compose/pull/3709. + network_mode: host + ipc: host + command: "/opt/od4/bin/odcockpit --cid=${CID}" + From 66378f81c075c44871661c3932d8224260382360 Mon Sep 17 00:00:00 2001 From: HangYin2015 Date: Fri, 2 Dec 2016 09:26:41 +0100 Subject: [PATCH 4/7] Use tag v0.6.0 for use cases for documentation camera and velodyne16 in the stable folder --- .../calibrate.velodyne16/Car.objx | Bin 137180 -> 0 bytes .../calibrate.velodyne16/Dockerfile | 21 - .../calibrate.velodyne16/README.md | 77 - .../calibrate.velodyne16/Track.scnx | Bin 15094 -> 0 bytes .../calibrate.velodyne16/VLP-16.xml | 1709 ----------------- .../calibrate.velodyne16/configuration | 91 - .../calibrate.velodyne16/docker-compose.yml | 41 - .../recording.velodyne16.headless/.env | 1 - .../recording.velodyne16.headless/Dockerfile | 21 - .../recording.velodyne16.headless/README.md | 70 - .../recording.velodyne16.headless/VLP-16.xml | 1709 ----------------- .../configuration | 111 -- .../docker-compose.yml | 41 - .../velodyne16CPC/recording.velodyne16/.env | 1 - .../recording.velodyne16/Car.objx | Bin 137180 -> 0 bytes .../recording.velodyne16/README.md | 80 - .../recording.velodyne16/Track.scnx | Bin 15094 -> 0 bytes .../recording.velodyne16/VLP-16.xml | 1709 ----------------- .../recording.velodyne16/configuration | 111 -- .../recording.velodyne16/docker-compose.yml | 56 - .../velodyne16CPC/remoteMonitorCPC/.env | 1 - .../velodyne16CPC/remoteMonitorCPC/Dockerfile | 21 - .../docker-compose.yml | 2 - .../calibrate.documentationcamera/Dockerfile | 2 +- .../Dockerfile | 2 +- .../recording.documentationcamera/Dockerfile | 2 +- usecases/stable/replay.recording/Dockerfile | 2 +- .../calibrate.velodyne16/Dockerfile | 2 +- .../recording.velodyne16.headless/Dockerfile | 2 +- .../recording.velodyne16/Dockerfile | 2 +- .../velodyne16/remoteMonitorCPC}/.env | 0 .../velodyne16/remoteMonitorCPC}/Dockerfile | 2 +- .../remoteMonitorCPC/configuration | 2 +- .../remoteMonitorCPC/docker-compose.yml | 0 34 files changed, 9 insertions(+), 5882 deletions(-) delete mode 100644 usecases/latest/velodyne16CPC/calibrate.velodyne16/Car.objx delete mode 100644 usecases/latest/velodyne16CPC/calibrate.velodyne16/Dockerfile delete mode 100644 usecases/latest/velodyne16CPC/calibrate.velodyne16/README.md delete mode 100644 usecases/latest/velodyne16CPC/calibrate.velodyne16/Track.scnx delete mode 100644 usecases/latest/velodyne16CPC/calibrate.velodyne16/VLP-16.xml delete mode 100644 usecases/latest/velodyne16CPC/calibrate.velodyne16/configuration delete mode 100644 usecases/latest/velodyne16CPC/calibrate.velodyne16/docker-compose.yml delete mode 100644 usecases/latest/velodyne16CPC/recording.velodyne16.headless/.env delete mode 100644 usecases/latest/velodyne16CPC/recording.velodyne16.headless/Dockerfile delete mode 100644 usecases/latest/velodyne16CPC/recording.velodyne16.headless/README.md delete mode 100644 usecases/latest/velodyne16CPC/recording.velodyne16.headless/VLP-16.xml delete mode 100644 usecases/latest/velodyne16CPC/recording.velodyne16.headless/configuration delete mode 100644 usecases/latest/velodyne16CPC/recording.velodyne16.headless/docker-compose.yml delete mode 100644 usecases/latest/velodyne16CPC/recording.velodyne16/.env delete mode 100644 usecases/latest/velodyne16CPC/recording.velodyne16/Car.objx delete mode 100644 usecases/latest/velodyne16CPC/recording.velodyne16/README.md delete mode 100644 usecases/latest/velodyne16CPC/recording.velodyne16/Track.scnx delete mode 100644 usecases/latest/velodyne16CPC/recording.velodyne16/VLP-16.xml delete mode 100644 usecases/latest/velodyne16CPC/recording.velodyne16/configuration delete mode 100644 usecases/latest/velodyne16CPC/recording.velodyne16/docker-compose.yml delete mode 100644 usecases/latest/velodyne16CPC/remoteMonitorCPC/.env delete mode 100644 usecases/latest/velodyne16CPC/remoteMonitorCPC/Dockerfile rename usecases/{latest/velodyne16CPC/calibrate.velodyne16 => stable/velodyne16/remoteMonitorCPC}/.env (100%) rename usecases/{latest/velodyne16CPC/recording.velodyne16 => stable/velodyne16/remoteMonitorCPC}/Dockerfile (98%) rename usecases/{latest/velodyne16CPC => stable/velodyne16}/remoteMonitorCPC/configuration (97%) rename usecases/{latest/velodyne16CPC => stable/velodyne16}/remoteMonitorCPC/docker-compose.yml (100%) diff --git a/usecases/latest/velodyne16CPC/calibrate.velodyne16/Car.objx b/usecases/latest/velodyne16CPC/calibrate.velodyne16/Car.objx deleted file mode 100644 index 46ceb5debf056750763c956239688976990f068b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137180 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 - - - - 0.2 - - - 3 - 0 - 0 - 0 - - - - - 3 - 0 - 0 - 0 - - - - 64 - 0 - - - 3 - 0.84018773 - 0.39438292 - 0.78309923 - - - - - 3 - 0.840177 - 0.77233541 - 0.39436942 - - - - - 3 - 0.08879225 - 0.8096742 - 0.71766233 - - - - - 3 - 0.70946825 - 0.40906385 - 0.82345313 - - - - - 3 - 0.5796597 - 0.9642939 - 0.064805068 - - - - - 3 - 0.32542917 - 0.69379723 - 1 - - - - - 3 - 0.96250856 - 0.7900511 - 0.13542382 - - - - - 3 - 0.91102463 - 0.34070343 - 0.050705731 - - - - - 3 - 0.35276073 - 0.78958958 - 0.90582585 - - - - - 3 - 0.21438926 - 0.69950408 - 0.20341802 - - - - - 3 - 0.085374229 - 0.94720376 - 0.88781565 - - - - - 3 - 0.98643476 - 0.97503626 - 0.034851607 - - - - - 3 - 0.7856003 - 0.44017774 - 0.11511882 - - - - - 3 - 0.63264316 - 0.34141558 - 0.9041099 - - - - - 3 - 0.94122225 - 0.072755016 - 0.85761809 - - - - - 3 - 0.95754939 - 0.9211719 - 0.21469444 - - - - - 3 - 0.94947737 - 0.55008775 - 0.44551766 - - - - - 3 - 0.89275962 - 0.85084307 - 0.01608301 - - - - - 3 - 0.91799802 - 0.49231708 - 0.78014803 - - - - - 3 - 0.55109483 - 0.75539786 - 0.21551843 - - - - - 3 - 0.14881226 - 0.7401194 - 0.53116983 - - - - - 3 - 0.93394369 - 0.39975587 - 0.67215991 - - - - - 3 - 0.86502695 - 0.56639397 - 0.63385367 - - - - - 3 - 0.50551611 - 0.94326693 - 0.48421454 - - - - - 3 - 0.087714233 - 0.89877903 - 0.2479341 - - - - - 3 - 0.93935621 - 0.80573922 - 0.04233218 - - - - - 3 - 0.09033341 - 0.87373161 - 0.9662928 - - - - - 3 - 0.13539331 - 0.65983063 - 0.28789195 - - - - - 3 - 0.96635383 - 0.28834975 - 0.057038225 - - - - - 3 - 0.600824 - 0.96617073 - 0.10191501 - - - - - 3 - 0.90740824 - 0.95980775 - 0.95391774 - - - - - 3 - 0.59211904 - 0.78711683 - 0.86269605 - - - - - 3 - 0.028625926 - 0.98828107 - 0.30778974 - - - - - 3 - 0.59491873 - 0.35182726 - 0.87454033 - - - - - 3 - 0.7464866 - 0.51860839 - 0.8450141 - - - - - 3 - 0.32484931 - 0.38410011 - 0.86562908 - - - - - 3 - 0.96064699 - 0.052674145 - 0.67904174 - - - - - 3 - 0.31248951 - 0.92227054 - 0.48648813 - - - - - 3 - 0.054489966 - 0.95574886 - 0.28729686 - - - - - 3 - 0.95848018 - 0.93113601 - 0.10840009 - - - - - 3 - 0.95097274 - 0.94096285 - 0.32806897 - - - - - 3 - 0.9619745 - 0.034027617 - 0.78579384 - - - - - 3 - 0.94944686 - 0.82970929 - 0.037186235 - - - - - 3 - 0.97222859 - 0.62723738 - 0.065781645 - - - - - 3 - 0.92346072 - 0.96305794 - 0.93403524 - - - - - 3 - 0.98861676 - 0 - 0.76792556 - - - - - 3 - 0.26213473 - 0.95156789 - 0.94323641 - - - - - 3 - 0.41365683 - 0.97004652 - 0.078889146 - - - - - 3 - 0.85752654 - 0.1990692 - 0.22206454 - - - - - 3 - 0.053299762 - 0.93763638 - 0.99444574 - - - - - 3 - 0.8943212 - 0.62864298 - 0.10409617 - - - - - 3 - 0.76058036 - 0.048754983 - 0.91462308 - - - - - 3 - 0.83480585 - 0.70650798 - 0.51032275 - - - - - 3 - 0.89080644 - 0.12384222 - 0.26840618 - - - - - 3 - 0.32953385 - 0.81698328 - 0.51252002 - - - - - 3 - 0.39465934 - 0.75048447 - 0.75953305 - - - - - 3 - 0.92498666 - 0.94149691 - 0.12957962 - - - - - 3 - 0.91115069 - 0.52652103 - 0.73026121 - - - - - 3 - 0.76655 - 0.93766737 - 0.031084489 - - - - - 3 - 0.12669764 - 0.85318863 - 0.33537352 - - - - - 3 - 0.9853164 - 0.26496059 - 0.13821837 - - - - - 3 - 0.84317338 - 0.17844476 - 0.94212615 - - - - - 3 - 0.69955063 - 0.59048992 - 0.74391818 - - - - - 3 - 0.67139697 - 0.87832457 - 0.69022661 - - - - - 64 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - 64 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - - - 64 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - 64 - 0 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - - - 64 - 1 - - - 0 - 0 - -15 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 1 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 2 - 0 - -13 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 3 - 0 - 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 4 - 0 - -11 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 5 - 0 - 5 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 6 - 0 - -9 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 7 - 0 - 7 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 8 - 0 - -7 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 9 - 0 - 9 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 10 - 0 - -5 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 11 - 0 - 11 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 12 - 0 - -3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 13 - 0 - 13 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 14 - 0 - -1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 15 - 0 - 15 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 16 - 0 - -15 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 17 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 18 - 0 - -13 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 19 - 0 - 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 20 - 0 - -11 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 21 - 0 - 5 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 22 - 0 - -9 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 23 - 0 - 7 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 24 - 0 - -7 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 25 - 0 - 9 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 26 - 0 - -5 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 27 - 0 - 11 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 28 - 0 - -3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 29 - 0 - 13 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 30 - 0 - -1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 31 - 0 - 15 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 32 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 33 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 34 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 35 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 36 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 37 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 38 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 39 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 40 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 41 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 42 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 43 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 44 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 45 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 46 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 47 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 48 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 49 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 50 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 51 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 52 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 53 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 54 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 55 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 56 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 57 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 58 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 59 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 60 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 61 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 62 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 63 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - diff --git a/usecases/latest/velodyne16CPC/calibrate.velodyne16/configuration b/usecases/latest/velodyne16CPC/calibrate.velodyne16/configuration deleted file mode 100644 index a2cecf1..0000000 --- a/usecases/latest/velodyne16CPC/calibrate.velodyne16/configuration +++ /dev/null @@ -1,91 +0,0 @@ -# This is the "one-and-only" configuration for OpenDaVINCI. -# Its format is like: -# -# section.key=value -# -# If you have several modules of the same type, the following configuration -# scheme applies: -# -# global.key=value # <-- This configuration applies for all modules. -# -# section.key=value # <-- This configuration applies for all modules of type "section". -# -# section:ID.key=value # <-- This configuration applies for the module "ID" of type "section". - - -############################################################################### -############################################################################### -# -# GLOBAL CONFIGURATION -# -#global.car = Car.objx -#global.scenario = Track.scnx -global.car = file:///opt/opendlv.data/Car.objx -global.scenario = file:///opt/opendlv.data/Track.scnx -global.showGrid = 0 - -# The following attributes define the buffer sizes for recording and -# replaying. You need to adjust these parameters depending on the -# camera resolution for example (640x480x3 --> 1000000 for memorySegment, -# 1280x720x3 --> 2800000). -global.buffer.memorySegmentSize = 2800000 # Size of a memory segment in bytes. -global.buffer.numberOfMemorySegments = 20 # Number of memory segments. - -# The following key describes the list of modules expected to participate in this --cid session. -global.session.expectedModules = HelloWorldExample,HelloWorldExample:2 - - -############################################################################### -############################################################################### -# -# NEXT, THE CONFIGURATION FOR OpenDaVINCI TOOLS FOLLOWS. -# -############################################################################### -############################################################################### -# -# CONFIGURATION FOR ODSUPERCOMPONENT -# - -# If the managed level is pulse_shift, all connected modules will be informed -# about the supercomponent's real time by this increment per module. Thus, the -# execution times per modules are better aligned with supercomponent and the -# data exchange is somewhat more predictable. -odsupercomponent.pulseshift.shift = 10000 # (in microseconds) - -# If the managed level is pulse_time_ack, this is the timeout for waiting for -# an ACK message from a connected client. -odsupercomponent.pulsetimeack.timeout = 5000 # (in milliseconds) - -# If the managed level is pulse_time_ack, the modules are triggered sequentially -# by sending pulses and waiting for acknowledgment messages. To allow the modules -# to deliver their respective containers, this yielding time is used to sleep -# before supercomponent sends the pulse messages the next module in this execution -# cycle. This value needs to be adjusted for networked simulations to ensure -# deterministic execution. -odsupercomponent.pulsetimeack.yield = 5000 # (in microseconds) - -# List of modules (without blanks) that will not get a pulse message from odsupercomponent. -odsupercomponent.pulsetimeack.exclude = odcockpit - -############################################################################### -############################################################################### -# -# CONFIGURATION FOR VELODYNE16 -# -proxy-velodyne16.CompactPointCloud = 1 -proxy-velodyne16.sharedMemory.name = velodyne16SM -#The total size of the shared memory: MAX_POINT_SIZE * NUMBER_OF_COMPONENTS_PER_POINT * sizeof(float), where MAX_POINT_SIZE is the maximum number of points per frame (This upper bound should be set as low as possible, as it affects the shared memory size and thus the frame updating speed), NUMBER_OF_COMPONENTS_PER_POIN=4 (x, y, z, intensity) Recommended values: MAX_POINT_SIZE=30000->proxy-velodyne16.sharedMemory.size = 480000 -proxy-velodyne16.sharedMemory.size = 480000 -proxy-velodyne16.udpReceiverIP = 0.0.0.0 -proxy-velodyne16.udpPort = 2368 -proxy-velodyne16.calibration = VLP-16.xml - -############################################################################### -############################################################################### -# -# CONFIGURATION FOR PCAPREPLAY (only needed in conjunction with PcapReplay for replaying pcap recordings) -# - -PcapReplay.readpcap = sampleLong.pcap -PcapReplay.bufferSize = 4000 - diff --git a/usecases/latest/velodyne16CPC/calibrate.velodyne16/docker-compose.yml b/usecases/latest/velodyne16CPC/calibrate.velodyne16/docker-compose.yml deleted file mode 100644 index ba9fc9e..0000000 --- a/usecases/latest/velodyne16CPC/calibrate.velodyne16/docker-compose.yml +++ /dev/null @@ -1,41 +0,0 @@ -version: '2' -# Please note that docker-compose does not prescribe a startup order - -services: - #odsupercomponent - odsupercomponent: - build: . - network_mode: "host" - volumes: - - .:/opt/opendlv.data - user: odv - command: "/opt/od4/bin/odsupercomponent --cid=${CID} --verbose=1 --configuration=/opt/opendlv.data/configuration" - - #odcockpit - odcockpit: - build: . - network_mode: "host" - environment: - - DISPLAY=$DISPLAY - volumes: - - /tmp/.X11-unix:/tmp/.X11-unix - - .:/opt/opendlv.data - ipc: host - user: odv - depends_on: - - odsupercomponent - command: "/opt/od4/bin/odcockpit --cid=${CID}" - - #proxy-velodyne16 - velodyne16: - build: . - network_mode: "host" - volumes: - - .:/opt/opendlv.data - ipc: host - user: odv - working_dir: "/opt/opendlv.data" - depends_on: - - odsupercomponent - command: "/opt/opendlv.core/bin/opendlv-core-system-proxy-velodyne16 --cid=${CID}" - diff --git a/usecases/latest/velodyne16CPC/recording.velodyne16.headless/.env b/usecases/latest/velodyne16CPC/recording.velodyne16.headless/.env deleted file mode 100644 index e53663c..0000000 --- a/usecases/latest/velodyne16CPC/recording.velodyne16.headless/.env +++ /dev/null @@ -1 +0,0 @@ -CID=111 diff --git a/usecases/latest/velodyne16CPC/recording.velodyne16.headless/Dockerfile b/usecases/latest/velodyne16CPC/recording.velodyne16.headless/Dockerfile deleted file mode 100644 index db8ead7..0000000 --- a/usecases/latest/velodyne16CPC/recording.velodyne16.headless/Dockerfile +++ /dev/null @@ -1,21 +0,0 @@ -# Dockerfile - Dockerfile to build opendlv.core Docker image. -# Copyright (C) 2016 Hang Yin -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Date: 2016-09-01 - -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest - diff --git a/usecases/latest/velodyne16CPC/recording.velodyne16.headless/README.md b/usecases/latest/velodyne16CPC/recording.velodyne16.headless/README.md deleted file mode 100644 index 4431ff9..0000000 --- a/usecases/latest/velodyne16CPC/recording.velodyne16.headless/README.md +++ /dev/null @@ -1,70 +0,0 @@ -This folder provides the instructions for recording VLP-16 lidar data. A docker-compose file is provided to start all micro-services to decode VLP-16 packets and record VLP-16 data. It includes three services: odsupercomponent, opendlv-core-system-proxy-velodyne16 (or proxy-velodyne16 for short), and odrecorderh264. odsupercomponent is used for software component lifecycle management in OpenDaVINCI. proxy-velodyne16 listens to VLP-16 packets and decodes them in real time. odrecorderh264 is used for recording. This tutorial assumes that git, Docker, and Docker Compose are installed. To install Docker, follow the tutorial: https://docs.docker.com/engine/installation/linux/ubuntulinux/ - -### Pull the OpenDaVINCI Docker base image - -Run the following to obtain the latest OpenDaVINCI Docker base image: - - $ docker pull seresearch/opendavinci-ubuntu-16.04:latest - -### Prepare proxy-velodyne16 - -proxy-velodyne16 is included in the opendlv.core repository (https://github.com/chalmers-revere/opendlv.core). Clone the opendlv.core source: - - $ git clone https://github.com/chalmers-revere/opendlv.core - - $ git pull - -Go to opendlv.core/docker, build and create the Docker image seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest: - - $ make buildComplete - - $ make createDockerImage - -The proxy-velodyne16 binary opendlv-core-system-proxy-velodyne16 will be found at opendlv.core/docker/builds/opendlv-core-on-opendavinci-ubuntu-16.04-complete-feature.velodyne/opt/opendlv.core/bin. - - -### Network setup - -In order to receive packets from VLP-16, the IP address has to be manually set and the firewall must be disabled. In Ubuntu where proxy-velodyne16 has been tested, the firewall can be disabled by: - - $ sudo ufw disable - -The IP address should be set as 192.168.1.xx, where xx is any integer from 1 to 254, except 201 which is reserved for VLP-16. The subnet mask should be set as 255.255.255.0. Note that if proxy-velodyne16 runs in a virtual machine, the network adapter of the virtual machine has to be bridged. For instance, if proxy-velodyne16 runs on Ubuntu via VirtualBox while the VLP-16 is connected to the port "en5: Thunderbolt Ethernet" of the host machine, then both "Bridged Adapter" and "en5: Thunderbolt Ethernet" should be selected for the network configuration of VirtualBox. - -Note that this network setup will disable the access to the Internet. Since proxy-velodyne16 is based on OpenDaVINCI which requires UDP multicast to execute different software modules, the local loopback device **lo** needs to be configured to allow UDP multicast sessions: - - $ sudo ifconfig lo multicast - - $ sudo route add -net 224.0.0.0 netmask 240.0.0.0 dev lo - -Alternatively, by visiting 192.168.1.201 in a web browser, one can modify the configuration of VLP-16. The MAC address of VLP-16 can be found and DHCP can be enabled. Then it is possible to use VLP-16 without changing IP address. - -### Use proxy-velodyne16 with Docker Compose - -In addition to the docker-compose file docker-compose.yml and the README file, this folder also contains: - -- a configuration file used by odsupercomponent -- a Dockerfile specifying the Docker images to be used -- an environment file .env which defines an environment variable CID that is referred to by the docker-compose file -- a VLP-16 calibration file VLP-16.xml required by the VLP-16 decoder - -Here CID is a user-defined environment variable that specifies the cid of the UDP session established by odsupercomponent. In .env CID has the value 111, thus in docker-compose.yml "${CID}" resolves to 111. In this folder, run Docker Compose: - - $ docker-compose up --build - -This will activate odsupercomponent, proxy-velodyne16 and odrecorderh264. To stop the recording, run - - $ docker-compose stop - -Remove the stopped containers: - - $ docker-compose rm - -After the recording, the recording files are stored at ~/recordings, including a .rec file which stores all OpenDaVINCI containers, and a .rec.mem file which stores the recording data. The recording file format is CID-xxx-odrecorderh264_yyy, where xxx is the cid number and yyy is the timestamp. - -Note that the value of CID defined in .env can be manually overwritten by preceding the docker-compose command with CID=xxx, where xxx is the cid number. For instance, the following command makes all micro-services run with cid 123 instead of 111: - - $ CID=123 docker-compose up --build - -Then CID=123 should also be used for docker-compose stop and docker-compose rm accordingly. - diff --git a/usecases/latest/velodyne16CPC/recording.velodyne16.headless/VLP-16.xml b/usecases/latest/velodyne16CPC/recording.velodyne16.headless/VLP-16.xml deleted file mode 100644 index d746aaa..0000000 --- a/usecases/latest/velodyne16CPC/recording.velodyne16.headless/VLP-16.xml +++ /dev/null @@ -1,1709 +0,0 @@ - - - - - 0.2 - - - 3 - 0 - 0 - 0 - - - - - 3 - 0 - 0 - 0 - - - - 64 - 0 - - - 3 - 0.84018773 - 0.39438292 - 0.78309923 - - - - - 3 - 0.840177 - 0.77233541 - 0.39436942 - - - - - 3 - 0.08879225 - 0.8096742 - 0.71766233 - - - - - 3 - 0.70946825 - 0.40906385 - 0.82345313 - - - - - 3 - 0.5796597 - 0.9642939 - 0.064805068 - - - - - 3 - 0.32542917 - 0.69379723 - 1 - - - - - 3 - 0.96250856 - 0.7900511 - 0.13542382 - - - - - 3 - 0.91102463 - 0.34070343 - 0.050705731 - - - - - 3 - 0.35276073 - 0.78958958 - 0.90582585 - - - - - 3 - 0.21438926 - 0.69950408 - 0.20341802 - - - - - 3 - 0.085374229 - 0.94720376 - 0.88781565 - - - - - 3 - 0.98643476 - 0.97503626 - 0.034851607 - - - - - 3 - 0.7856003 - 0.44017774 - 0.11511882 - - - - - 3 - 0.63264316 - 0.34141558 - 0.9041099 - - - - - 3 - 0.94122225 - 0.072755016 - 0.85761809 - - - - - 3 - 0.95754939 - 0.9211719 - 0.21469444 - - - - - 3 - 0.94947737 - 0.55008775 - 0.44551766 - - - - - 3 - 0.89275962 - 0.85084307 - 0.01608301 - - - - - 3 - 0.91799802 - 0.49231708 - 0.78014803 - - - - - 3 - 0.55109483 - 0.75539786 - 0.21551843 - - - - - 3 - 0.14881226 - 0.7401194 - 0.53116983 - - - - - 3 - 0.93394369 - 0.39975587 - 0.67215991 - - - - - 3 - 0.86502695 - 0.56639397 - 0.63385367 - - - - - 3 - 0.50551611 - 0.94326693 - 0.48421454 - - - - - 3 - 0.087714233 - 0.89877903 - 0.2479341 - - - - - 3 - 0.93935621 - 0.80573922 - 0.04233218 - - - - - 3 - 0.09033341 - 0.87373161 - 0.9662928 - - - - - 3 - 0.13539331 - 0.65983063 - 0.28789195 - - - - - 3 - 0.96635383 - 0.28834975 - 0.057038225 - - - - - 3 - 0.600824 - 0.96617073 - 0.10191501 - - - - - 3 - 0.90740824 - 0.95980775 - 0.95391774 - - - - - 3 - 0.59211904 - 0.78711683 - 0.86269605 - - - - - 3 - 0.028625926 - 0.98828107 - 0.30778974 - - - - - 3 - 0.59491873 - 0.35182726 - 0.87454033 - - - - - 3 - 0.7464866 - 0.51860839 - 0.8450141 - - - - - 3 - 0.32484931 - 0.38410011 - 0.86562908 - - - - - 3 - 0.96064699 - 0.052674145 - 0.67904174 - - - - - 3 - 0.31248951 - 0.92227054 - 0.48648813 - - - - - 3 - 0.054489966 - 0.95574886 - 0.28729686 - - - - - 3 - 0.95848018 - 0.93113601 - 0.10840009 - - - - - 3 - 0.95097274 - 0.94096285 - 0.32806897 - - - - - 3 - 0.9619745 - 0.034027617 - 0.78579384 - - - - - 3 - 0.94944686 - 0.82970929 - 0.037186235 - - - - - 3 - 0.97222859 - 0.62723738 - 0.065781645 - - - - - 3 - 0.92346072 - 0.96305794 - 0.93403524 - - - - - 3 - 0.98861676 - 0 - 0.76792556 - - - - - 3 - 0.26213473 - 0.95156789 - 0.94323641 - - - - - 3 - 0.41365683 - 0.97004652 - 0.078889146 - - - - - 3 - 0.85752654 - 0.1990692 - 0.22206454 - - - - - 3 - 0.053299762 - 0.93763638 - 0.99444574 - - - - - 3 - 0.8943212 - 0.62864298 - 0.10409617 - - - - - 3 - 0.76058036 - 0.048754983 - 0.91462308 - - - - - 3 - 0.83480585 - 0.70650798 - 0.51032275 - - - - - 3 - 0.89080644 - 0.12384222 - 0.26840618 - - - - - 3 - 0.32953385 - 0.81698328 - 0.51252002 - - - - - 3 - 0.39465934 - 0.75048447 - 0.75953305 - - - - - 3 - 0.92498666 - 0.94149691 - 0.12957962 - - - - - 3 - 0.91115069 - 0.52652103 - 0.73026121 - - - - - 3 - 0.76655 - 0.93766737 - 0.031084489 - - - - - 3 - 0.12669764 - 0.85318863 - 0.33537352 - - - - - 3 - 0.9853164 - 0.26496059 - 0.13821837 - - - - - 3 - 0.84317338 - 0.17844476 - 0.94212615 - - - - - 3 - 0.69955063 - 0.59048992 - 0.74391818 - - - - - 3 - 0.67139697 - 0.87832457 - 0.69022661 - - - - - 64 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - 64 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - - - 64 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - 64 - 0 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - - - 64 - 1 - - - 0 - 0 - -15 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 1 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 2 - 0 - -13 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 3 - 0 - 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 4 - 0 - -11 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 5 - 0 - 5 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 6 - 0 - -9 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 7 - 0 - 7 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 8 - 0 - -7 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 9 - 0 - 9 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 10 - 0 - -5 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 11 - 0 - 11 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 12 - 0 - -3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 13 - 0 - 13 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 14 - 0 - -1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 15 - 0 - 15 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 16 - 0 - -15 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 17 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 18 - 0 - -13 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 19 - 0 - 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 20 - 0 - -11 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 21 - 0 - 5 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 22 - 0 - -9 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 23 - 0 - 7 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 24 - 0 - -7 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 25 - 0 - 9 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 26 - 0 - -5 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 27 - 0 - 11 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 28 - 0 - -3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 29 - 0 - 13 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 30 - 0 - -1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 31 - 0 - 15 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 32 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 33 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 34 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 35 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 36 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 37 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 38 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 39 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 40 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 41 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 42 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 43 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 44 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 45 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 46 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 47 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 48 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 49 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 50 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 51 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 52 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 53 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 54 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 55 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 56 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 57 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 58 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 59 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 60 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 61 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 62 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 63 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - diff --git a/usecases/latest/velodyne16CPC/recording.velodyne16.headless/configuration b/usecases/latest/velodyne16CPC/recording.velodyne16.headless/configuration deleted file mode 100644 index 55fb402..0000000 --- a/usecases/latest/velodyne16CPC/recording.velodyne16.headless/configuration +++ /dev/null @@ -1,111 +0,0 @@ -# This is the "one-and-only" configuration for OpenDaVINCI. -# Its format is like: -# -# section.key=value -# -# If you have several modules of the same type, the following configuration -# scheme applies: -# -# global.key=value # <-- This configuration applies for all modules. -# -# section.key=value # <-- This configuration applies for all modules of type "section". -# -# section:ID.key=value # <-- This configuration applies for the module "ID" of type "section". - - -############################################################################### -############################################################################### -# -# GLOBAL CONFIGURATION -# -#global.car = Car.objx -#global.scenario = Track.scnx -global.car = file:///opt/opendlv.data/Car.objx -global.scenario = file:///opt/opendlv.data/Track.scnx -global.showGrid = 0 - -# The following attributes define the buffer sizes for recording and -# replaying. You need to adjust these parameters depending on the -# camera resolution for example (640x480x3 --> 1000000 for memorySegment, -# 1280x720x3 --> 2800000). -global.buffer.memorySegmentSize = 2800000 # Size of a memory segment in bytes. -global.buffer.numberOfMemorySegments = 20 # Number of memory segments. - -# The following key describes the list of modules expected to participate in this --cid session. -global.session.expectedModules = HelloWorldExample,HelloWorldExample:2 - - -############################################################################### -############################################################################### -# -# NEXT, THE CONFIGURATION FOR OpenDaVINCI TOOLS FOLLOWS. -# -############################################################################### -############################################################################### -# -# CONFIGURATION FOR ODSUPERCOMPONENT -# - -# If the managed level is pulse_shift, all connected modules will be informed -# about the supercomponent's real time by this increment per module. Thus, the -# execution times per modules are better aligned with supercomponent and the -# data exchange is somewhat more predictable. -odsupercomponent.pulseshift.shift = 10000 # (in microseconds) - -# If the managed level is pulse_time_ack, this is the timeout for waiting for -# an ACK message from a connected client. -odsupercomponent.pulsetimeack.timeout = 5000 # (in milliseconds) - -# If the managed level is pulse_time_ack, the modules are triggered sequentially -# by sending pulses and waiting for acknowledgment messages. To allow the modules -# to deliver their respective containers, this yielding time is used to sleep -# before supercomponent sends the pulse messages the next module in this execution -# cycle. This value needs to be adjusted for networked simulations to ensure -# deterministic execution. -odsupercomponent.pulsetimeack.yield = 5000 # (in microseconds) - -# List of modules (without blanks) that will not get a pulse message from odsupercomponent. -odsupercomponent.pulsetimeack.exclude = odcockpit - -############################################################################### -############################################################################### -# -# CONFIGURATION FOR VELODYNE16 -# -proxy-velodyne16.CompactPointCloud = 1 -proxy-velodyne16.sharedMemory.name = velodyne16SM -#The total size of the shared memory: MAX_POINT_SIZE * NUMBER_OF_COMPONENTS_PER_POINT * sizeof(float), where MAX_POINT_SIZE is the maximum number of points per frame (This upper bound should be set as low as possible, as it affects the shared memory size and thus the frame updating speed), NUMBER_OF_COMPONENTS_PER_POIN=4 (x, y, z, intensity) Recommended values: MAX_POINT_SIZE=30000->proxy-velodyne16.sharedMemory.size = 480000 -proxy-velodyne16.sharedMemory.size = 480000 -proxy-velodyne16.udpReceiverIP = 0.0.0.0 -proxy-velodyne16.udpPort = 2368 -proxy-velodyne16.calibration = VLP-16.xml - -############################################################################### -############################################################################### -# -# CONFIGURATION FOR PCAPREPLAY (only needed in conjunction with PcapReplay for replaying pcap recordings) -# - -PcapReplay.readpcap = sampleLong.pcap -PcapReplay.bufferSize = 4000 - -############################################################################### -############################################################################### -# -# CONFIGURATION FOR ODRECORDER -# -odrecorder.output = file://recorder.rec -odrecorder.remoteControl = 0 # 0 = no remote control, 1 = allowing remote control (i.e. start and stop recording) -odrecorder.dumpSharedData = 1 # 0 = do not dump shared images and shared images, 1 = otherwise - -############################################################################### -############################################################################### -# -# CONFIGURATION FOR ODRECORDERH264 -# -#odrecorderh264.output = file://recorder.rec # If this parameter is not present, odrecorderh264 will autogenerate a filename. -odrecorderh264.remoteControl = 0 # 0 = no remote control, 1 = allowing remote control (i.e. start and stop recording) -odrecorderh264.dumpSharedData = 0 # 0 = do not dump shared images and shared images, 1 = otherwise -odrecorderh264.lossless = 1 # Set to 1 to enable h264 lossless encoding. -odrecorderh264.portbaseforchildprocesses = 29000 # Every spawned child processes is connecting to the parent process via TCP using the base port plus its increasing ID. - diff --git a/usecases/latest/velodyne16CPC/recording.velodyne16.headless/docker-compose.yml b/usecases/latest/velodyne16CPC/recording.velodyne16.headless/docker-compose.yml deleted file mode 100644 index 1dcf243..0000000 --- a/usecases/latest/velodyne16CPC/recording.velodyne16.headless/docker-compose.yml +++ /dev/null @@ -1,41 +0,0 @@ -version: '2' -# Please note that docker-compose does not prescribe a startup order - -services: - #odsupercomponent - odsupercomponent: - build: . - network_mode: "host" - volumes: - - .:/opt/opendlv.data - user: odv - command: "/opt/od4/bin/odsupercomponent --cid=${CID} --verbose=1 --configuration=/opt/opendlv.data/configuration" - - #proxy-velodyne16 - velodyne16: - build: . - network_mode: "host" - volumes: - - .:/opt/opendlv.data - ipc: host - user: odv - working_dir: "/opt/opendlv.data" - depends_on: - - odsupercomponent - command: "/opt/opendlv.core/bin/opendlv-core-system-proxy-velodyne16 --cid=${CID}" - - #odrecorder. - odrecorderh264: - build: . - depends_on: - - odsupercomponent - - velodyne16 - volumes: - - ~/recordings:/opt/recordings - user: odv - network_mode: host - ipc: host - working_dir: "/opt/recordings" - command: "/opt/od4/bin/odrecorderh264 --cid=${CID}" - - diff --git a/usecases/latest/velodyne16CPC/recording.velodyne16/.env b/usecases/latest/velodyne16CPC/recording.velodyne16/.env deleted file mode 100644 index e53663c..0000000 --- a/usecases/latest/velodyne16CPC/recording.velodyne16/.env +++ /dev/null @@ -1 +0,0 @@ -CID=111 diff --git a/usecases/latest/velodyne16CPC/recording.velodyne16/Car.objx b/usecases/latest/velodyne16CPC/recording.velodyne16/Car.objx deleted file mode 100644 index 46ceb5debf056750763c956239688976990f068b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 137180 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 - - - - 0.2 - - - 3 - 0 - 0 - 0 - - - - - 3 - 0 - 0 - 0 - - - - 64 - 0 - - - 3 - 0.84018773 - 0.39438292 - 0.78309923 - - - - - 3 - 0.840177 - 0.77233541 - 0.39436942 - - - - - 3 - 0.08879225 - 0.8096742 - 0.71766233 - - - - - 3 - 0.70946825 - 0.40906385 - 0.82345313 - - - - - 3 - 0.5796597 - 0.9642939 - 0.064805068 - - - - - 3 - 0.32542917 - 0.69379723 - 1 - - - - - 3 - 0.96250856 - 0.7900511 - 0.13542382 - - - - - 3 - 0.91102463 - 0.34070343 - 0.050705731 - - - - - 3 - 0.35276073 - 0.78958958 - 0.90582585 - - - - - 3 - 0.21438926 - 0.69950408 - 0.20341802 - - - - - 3 - 0.085374229 - 0.94720376 - 0.88781565 - - - - - 3 - 0.98643476 - 0.97503626 - 0.034851607 - - - - - 3 - 0.7856003 - 0.44017774 - 0.11511882 - - - - - 3 - 0.63264316 - 0.34141558 - 0.9041099 - - - - - 3 - 0.94122225 - 0.072755016 - 0.85761809 - - - - - 3 - 0.95754939 - 0.9211719 - 0.21469444 - - - - - 3 - 0.94947737 - 0.55008775 - 0.44551766 - - - - - 3 - 0.89275962 - 0.85084307 - 0.01608301 - - - - - 3 - 0.91799802 - 0.49231708 - 0.78014803 - - - - - 3 - 0.55109483 - 0.75539786 - 0.21551843 - - - - - 3 - 0.14881226 - 0.7401194 - 0.53116983 - - - - - 3 - 0.93394369 - 0.39975587 - 0.67215991 - - - - - 3 - 0.86502695 - 0.56639397 - 0.63385367 - - - - - 3 - 0.50551611 - 0.94326693 - 0.48421454 - - - - - 3 - 0.087714233 - 0.89877903 - 0.2479341 - - - - - 3 - 0.93935621 - 0.80573922 - 0.04233218 - - - - - 3 - 0.09033341 - 0.87373161 - 0.9662928 - - - - - 3 - 0.13539331 - 0.65983063 - 0.28789195 - - - - - 3 - 0.96635383 - 0.28834975 - 0.057038225 - - - - - 3 - 0.600824 - 0.96617073 - 0.10191501 - - - - - 3 - 0.90740824 - 0.95980775 - 0.95391774 - - - - - 3 - 0.59211904 - 0.78711683 - 0.86269605 - - - - - 3 - 0.028625926 - 0.98828107 - 0.30778974 - - - - - 3 - 0.59491873 - 0.35182726 - 0.87454033 - - - - - 3 - 0.7464866 - 0.51860839 - 0.8450141 - - - - - 3 - 0.32484931 - 0.38410011 - 0.86562908 - - - - - 3 - 0.96064699 - 0.052674145 - 0.67904174 - - - - - 3 - 0.31248951 - 0.92227054 - 0.48648813 - - - - - 3 - 0.054489966 - 0.95574886 - 0.28729686 - - - - - 3 - 0.95848018 - 0.93113601 - 0.10840009 - - - - - 3 - 0.95097274 - 0.94096285 - 0.32806897 - - - - - 3 - 0.9619745 - 0.034027617 - 0.78579384 - - - - - 3 - 0.94944686 - 0.82970929 - 0.037186235 - - - - - 3 - 0.97222859 - 0.62723738 - 0.065781645 - - - - - 3 - 0.92346072 - 0.96305794 - 0.93403524 - - - - - 3 - 0.98861676 - 0 - 0.76792556 - - - - - 3 - 0.26213473 - 0.95156789 - 0.94323641 - - - - - 3 - 0.41365683 - 0.97004652 - 0.078889146 - - - - - 3 - 0.85752654 - 0.1990692 - 0.22206454 - - - - - 3 - 0.053299762 - 0.93763638 - 0.99444574 - - - - - 3 - 0.8943212 - 0.62864298 - 0.10409617 - - - - - 3 - 0.76058036 - 0.048754983 - 0.91462308 - - - - - 3 - 0.83480585 - 0.70650798 - 0.51032275 - - - - - 3 - 0.89080644 - 0.12384222 - 0.26840618 - - - - - 3 - 0.32953385 - 0.81698328 - 0.51252002 - - - - - 3 - 0.39465934 - 0.75048447 - 0.75953305 - - - - - 3 - 0.92498666 - 0.94149691 - 0.12957962 - - - - - 3 - 0.91115069 - 0.52652103 - 0.73026121 - - - - - 3 - 0.76655 - 0.93766737 - 0.031084489 - - - - - 3 - 0.12669764 - 0.85318863 - 0.33537352 - - - - - 3 - 0.9853164 - 0.26496059 - 0.13821837 - - - - - 3 - 0.84317338 - 0.17844476 - 0.94212615 - - - - - 3 - 0.69955063 - 0.59048992 - 0.74391818 - - - - - 3 - 0.67139697 - 0.87832457 - 0.69022661 - - - - - 64 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - 64 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - - - 64 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - 64 - 0 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - 255 - - - 64 - 1 - - - 0 - 0 - -15 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 1 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 2 - 0 - -13 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 3 - 0 - 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 4 - 0 - -11 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 5 - 0 - 5 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 6 - 0 - -9 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 7 - 0 - 7 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 8 - 0 - -7 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 9 - 0 - 9 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 10 - 0 - -5 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 11 - 0 - 11 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 12 - 0 - -3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 13 - 0 - 13 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 14 - 0 - -1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 15 - 0 - 15 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 16 - 0 - -15 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 17 - 0 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 18 - 0 - -13 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 19 - 0 - 3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 20 - 0 - -11 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 21 - 0 - 5 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 22 - 0 - -9 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 23 - 0 - 7 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 24 - 0 - -7 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 25 - 0 - 9 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 26 - 0 - -5 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 27 - 0 - 11 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 28 - 0 - -3 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 29 - 0 - 13 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 30 - 0 - -1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 31 - 0 - 15 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 32 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 33 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 34 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 35 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 36 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 37 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 38 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 39 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 40 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 41 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 42 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 43 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 44 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 45 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 46 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 47 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 48 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 49 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 50 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 51 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 52 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 53 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 54 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 55 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 56 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 57 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 58 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 59 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 60 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 61 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 62 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - 63 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - - diff --git a/usecases/latest/velodyne16CPC/recording.velodyne16/configuration b/usecases/latest/velodyne16CPC/recording.velodyne16/configuration deleted file mode 100644 index 55fb402..0000000 --- a/usecases/latest/velodyne16CPC/recording.velodyne16/configuration +++ /dev/null @@ -1,111 +0,0 @@ -# This is the "one-and-only" configuration for OpenDaVINCI. -# Its format is like: -# -# section.key=value -# -# If you have several modules of the same type, the following configuration -# scheme applies: -# -# global.key=value # <-- This configuration applies for all modules. -# -# section.key=value # <-- This configuration applies for all modules of type "section". -# -# section:ID.key=value # <-- This configuration applies for the module "ID" of type "section". - - -############################################################################### -############################################################################### -# -# GLOBAL CONFIGURATION -# -#global.car = Car.objx -#global.scenario = Track.scnx -global.car = file:///opt/opendlv.data/Car.objx -global.scenario = file:///opt/opendlv.data/Track.scnx -global.showGrid = 0 - -# The following attributes define the buffer sizes for recording and -# replaying. You need to adjust these parameters depending on the -# camera resolution for example (640x480x3 --> 1000000 for memorySegment, -# 1280x720x3 --> 2800000). -global.buffer.memorySegmentSize = 2800000 # Size of a memory segment in bytes. -global.buffer.numberOfMemorySegments = 20 # Number of memory segments. - -# The following key describes the list of modules expected to participate in this --cid session. -global.session.expectedModules = HelloWorldExample,HelloWorldExample:2 - - -############################################################################### -############################################################################### -# -# NEXT, THE CONFIGURATION FOR OpenDaVINCI TOOLS FOLLOWS. -# -############################################################################### -############################################################################### -# -# CONFIGURATION FOR ODSUPERCOMPONENT -# - -# If the managed level is pulse_shift, all connected modules will be informed -# about the supercomponent's real time by this increment per module. Thus, the -# execution times per modules are better aligned with supercomponent and the -# data exchange is somewhat more predictable. -odsupercomponent.pulseshift.shift = 10000 # (in microseconds) - -# If the managed level is pulse_time_ack, this is the timeout for waiting for -# an ACK message from a connected client. -odsupercomponent.pulsetimeack.timeout = 5000 # (in milliseconds) - -# If the managed level is pulse_time_ack, the modules are triggered sequentially -# by sending pulses and waiting for acknowledgment messages. To allow the modules -# to deliver their respective containers, this yielding time is used to sleep -# before supercomponent sends the pulse messages the next module in this execution -# cycle. This value needs to be adjusted for networked simulations to ensure -# deterministic execution. -odsupercomponent.pulsetimeack.yield = 5000 # (in microseconds) - -# List of modules (without blanks) that will not get a pulse message from odsupercomponent. -odsupercomponent.pulsetimeack.exclude = odcockpit - -############################################################################### -############################################################################### -# -# CONFIGURATION FOR VELODYNE16 -# -proxy-velodyne16.CompactPointCloud = 1 -proxy-velodyne16.sharedMemory.name = velodyne16SM -#The total size of the shared memory: MAX_POINT_SIZE * NUMBER_OF_COMPONENTS_PER_POINT * sizeof(float), where MAX_POINT_SIZE is the maximum number of points per frame (This upper bound should be set as low as possible, as it affects the shared memory size and thus the frame updating speed), NUMBER_OF_COMPONENTS_PER_POIN=4 (x, y, z, intensity) Recommended values: MAX_POINT_SIZE=30000->proxy-velodyne16.sharedMemory.size = 480000 -proxy-velodyne16.sharedMemory.size = 480000 -proxy-velodyne16.udpReceiverIP = 0.0.0.0 -proxy-velodyne16.udpPort = 2368 -proxy-velodyne16.calibration = VLP-16.xml - -############################################################################### -############################################################################### -# -# CONFIGURATION FOR PCAPREPLAY (only needed in conjunction with PcapReplay for replaying pcap recordings) -# - -PcapReplay.readpcap = sampleLong.pcap -PcapReplay.bufferSize = 4000 - -############################################################################### -############################################################################### -# -# CONFIGURATION FOR ODRECORDER -# -odrecorder.output = file://recorder.rec -odrecorder.remoteControl = 0 # 0 = no remote control, 1 = allowing remote control (i.e. start and stop recording) -odrecorder.dumpSharedData = 1 # 0 = do not dump shared images and shared images, 1 = otherwise - -############################################################################### -############################################################################### -# -# CONFIGURATION FOR ODRECORDERH264 -# -#odrecorderh264.output = file://recorder.rec # If this parameter is not present, odrecorderh264 will autogenerate a filename. -odrecorderh264.remoteControl = 0 # 0 = no remote control, 1 = allowing remote control (i.e. start and stop recording) -odrecorderh264.dumpSharedData = 0 # 0 = do not dump shared images and shared images, 1 = otherwise -odrecorderh264.lossless = 1 # Set to 1 to enable h264 lossless encoding. -odrecorderh264.portbaseforchildprocesses = 29000 # Every spawned child processes is connecting to the parent process via TCP using the base port plus its increasing ID. - diff --git a/usecases/latest/velodyne16CPC/recording.velodyne16/docker-compose.yml b/usecases/latest/velodyne16CPC/recording.velodyne16/docker-compose.yml deleted file mode 100644 index 6f2f94f..0000000 --- a/usecases/latest/velodyne16CPC/recording.velodyne16/docker-compose.yml +++ /dev/null @@ -1,56 +0,0 @@ -version: '2' -# Please note that docker-compose does not prescribe a startup order - -services: - #odsupercomponent - odsupercomponent: - build: . - network_mode: "host" - volumes: - - .:/opt/opendlv.data - user: odv - command: "/opt/od4/bin/odsupercomponent --cid=${CID} --verbose=1 --configuration=/opt/opendlv.data/configuration" - - #odcockpit - odcockpit: - build: . - network_mode: "host" - environment: - - DISPLAY=$DISPLAY - volumes: - - /tmp/.X11-unix:/tmp/.X11-unix - - .:/opt/opendlv.data - ipc: host - user: odv - depends_on: - - odsupercomponent - command: "/opt/od4/bin/odcockpit --cid=${CID}" - - #proxy-velodyne16 - velodyne16: - build: . - network_mode: "host" - volumes: - - .:/opt/opendlv.data - ipc: host - user: odv - working_dir: "/opt/opendlv.data" - depends_on: - - odsupercomponent - command: "/opt/opendlv.core/bin/opendlv-core-system-proxy-velodyne16 --cid=${CID}" - - #odrecorder. - odrecorderh264: - build: . - depends_on: - - odsupercomponent - - velodyne16 - volumes: - - ~/recordings:/opt/recordings - user: odv - network_mode: host - ipc: host - working_dir: "/opt/recordings" - command: "/opt/od4/bin/odrecorderh264 --cid=${CID}" - - diff --git a/usecases/latest/velodyne16CPC/remoteMonitorCPC/.env b/usecases/latest/velodyne16CPC/remoteMonitorCPC/.env deleted file mode 100644 index e53663c..0000000 --- a/usecases/latest/velodyne16CPC/remoteMonitorCPC/.env +++ /dev/null @@ -1 +0,0 @@ -CID=111 diff --git a/usecases/latest/velodyne16CPC/remoteMonitorCPC/Dockerfile b/usecases/latest/velodyne16CPC/remoteMonitorCPC/Dockerfile deleted file mode 100644 index db8ead7..0000000 --- a/usecases/latest/velodyne16CPC/remoteMonitorCPC/Dockerfile +++ /dev/null @@ -1,21 +0,0 @@ -# Dockerfile - Dockerfile to build opendlv.core Docker image. -# Copyright (C) 2016 Hang Yin -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Date: 2016-09-01 - -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest - diff --git a/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/docker-compose.yml b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/docker-compose.yml index dac5f9c..4733355 100644 --- a/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/docker-compose.yml +++ b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/docker-compose.yml @@ -29,8 +29,6 @@ services: # Micro-service for proxy-camera. proxy-camera: build: . -# group_add: -# - video depends_on: - odsupercomponent cap_add: diff --git a/usecases/stable/documentationcamera/calibrate.documentationcamera/Dockerfile b/usecases/stable/documentationcamera/calibrate.documentationcamera/Dockerfile index c862bfa..46aec27 100644 --- a/usecases/stable/documentationcamera/calibrate.documentationcamera/Dockerfile +++ b/usecases/stable/documentationcamera/calibrate.documentationcamera/Dockerfile @@ -17,5 +17,5 @@ # Date: 2016-09-09 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.4.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/Dockerfile index f37b4f3..2da874a 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/Dockerfile +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/Dockerfile @@ -17,6 +17,6 @@ # Date: 2016-09-09 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera/Dockerfile index c862bfa..46aec27 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera/Dockerfile +++ b/usecases/stable/documentationcamera/recording.documentationcamera/Dockerfile @@ -17,5 +17,5 @@ # Date: 2016-09-09 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.4.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 diff --git a/usecases/stable/replay.recording/Dockerfile b/usecases/stable/replay.recording/Dockerfile index 111f311..46aec27 100644 --- a/usecases/stable/replay.recording/Dockerfile +++ b/usecases/stable/replay.recording/Dockerfile @@ -17,5 +17,5 @@ # Date: 2016-09-09 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 diff --git a/usecases/stable/velodyne16/calibrate.velodyne16/Dockerfile b/usecases/stable/velodyne16/calibrate.velodyne16/Dockerfile index 410a665..c1a3156 100644 --- a/usecases/stable/velodyne16/calibrate.velodyne16/Dockerfile +++ b/usecases/stable/velodyne16/calibrate.velodyne16/Dockerfile @@ -17,5 +17,5 @@ # Date: 2016-09-01 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.4.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 diff --git a/usecases/stable/velodyne16/recording.velodyne16.headless/Dockerfile b/usecases/stable/velodyne16/recording.velodyne16.headless/Dockerfile index 410a665..c1a3156 100644 --- a/usecases/stable/velodyne16/recording.velodyne16.headless/Dockerfile +++ b/usecases/stable/velodyne16/recording.velodyne16.headless/Dockerfile @@ -17,5 +17,5 @@ # Date: 2016-09-01 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.4.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 diff --git a/usecases/stable/velodyne16/recording.velodyne16/Dockerfile b/usecases/stable/velodyne16/recording.velodyne16/Dockerfile index 410a665..c1a3156 100644 --- a/usecases/stable/velodyne16/recording.velodyne16/Dockerfile +++ b/usecases/stable/velodyne16/recording.velodyne16/Dockerfile @@ -17,5 +17,5 @@ # Date: 2016-09-01 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.4.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 diff --git a/usecases/latest/velodyne16CPC/calibrate.velodyne16/.env b/usecases/stable/velodyne16/remoteMonitorCPC/.env similarity index 100% rename from usecases/latest/velodyne16CPC/calibrate.velodyne16/.env rename to usecases/stable/velodyne16/remoteMonitorCPC/.env diff --git a/usecases/latest/velodyne16CPC/recording.velodyne16/Dockerfile b/usecases/stable/velodyne16/remoteMonitorCPC/Dockerfile similarity index 98% rename from usecases/latest/velodyne16CPC/recording.velodyne16/Dockerfile rename to usecases/stable/velodyne16/remoteMonitorCPC/Dockerfile index db8ead7..c1a3156 100644 --- a/usecases/latest/velodyne16CPC/recording.velodyne16/Dockerfile +++ b/usecases/stable/velodyne16/remoteMonitorCPC/Dockerfile @@ -17,5 +17,5 @@ # Date: 2016-09-01 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 diff --git a/usecases/latest/velodyne16CPC/remoteMonitorCPC/configuration b/usecases/stable/velodyne16/remoteMonitorCPC/configuration similarity index 97% rename from usecases/latest/velodyne16CPC/remoteMonitorCPC/configuration rename to usecases/stable/velodyne16/remoteMonitorCPC/configuration index 623b171..a8b2403 100644 --- a/usecases/latest/velodyne16CPC/remoteMonitorCPC/configuration +++ b/usecases/stable/velodyne16/remoteMonitorCPC/configuration @@ -72,7 +72,7 @@ odsupercomponent.pulsetimeack.exclude = odcockpit # # CONFIGURATION FOR VELODYNE16 # -proxy-velodyne16.CompactPointCloud = 1 +proxy-velodyne16.CompactPointCloud = 1 #This parameter must be 1 because only CPC allows remote monitoring, not SPC proxy-velodyne16.sharedMemory.name = velodyne16SM #The total size of the shared memory: MAX_POINT_SIZE * NUMBER_OF_COMPONENTS_PER_POINT * sizeof(float), where MAX_POINT_SIZE is the maximum number of points per frame (This upper bound should be set as low as possible, as it affects the shared memory size and thus the frame updating speed), NUMBER_OF_COMPONENTS_PER_POIN=4 (x, y, z, intensity) Recommended values: MAX_POINT_SIZE=30000->proxy-velodyne16.sharedMemory.size = 480000 proxy-velodyne16.sharedMemory.size = 480000 diff --git a/usecases/latest/velodyne16CPC/remoteMonitorCPC/docker-compose.yml b/usecases/stable/velodyne16/remoteMonitorCPC/docker-compose.yml similarity index 100% rename from usecases/latest/velodyne16CPC/remoteMonitorCPC/docker-compose.yml rename to usecases/stable/velodyne16/remoteMonitorCPC/docker-compose.yml From 94799a9e81e65069f7928b12c6cf3349b0ea1d76 Mon Sep 17 00:00:00 2001 From: HangYin2015 Date: Fri, 2 Dec 2016 09:49:03 +0100 Subject: [PATCH 5/7] Use OD4 4.4.3 as the base image --- docker/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Makefile b/docker/Makefile index fa3fe27..8eddeeb 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -18,7 +18,7 @@ ############################################################################### # Parameters for this Makefile. BASE_IMAGE=seresearch/opendavinci-ubuntu-16.04-complete -BASE_IMAGE_VERSION=v4.3.8 +BASE_IMAGE_VERSION=v4.4.3 ############################################################################### # Tools. From 6498ad0b160d80d00b0ff0599259091e6c5b46ac Mon Sep 17 00:00:00 2001 From: HangYin2015 Date: Fri, 2 Dec 2016 10:08:16 +0100 Subject: [PATCH 6/7] Change 'latest' tag to v0.6.0 --- .../calibrate.documentationcamera.realtime/Dockerfile | 2 +- .../fileserver/Dockerfile | 2 +- .../odcockpit/Dockerfile | 2 +- .../odcockpit/docker-compose.yml | 3 +-- .../recording.documentationcamera/fileserver/Dockerfile | 2 +- .../recording.documentationcamera/odcockpit/Dockerfile | 2 +- .../recording.documentationcamera/odcockpit/docker-compose.yml | 1 - 7 files changed, 6 insertions(+), 8 deletions(-) diff --git a/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/Dockerfile b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/Dockerfile index 111f311..46aec27 100644 --- a/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/Dockerfile +++ b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/Dockerfile @@ -17,5 +17,5 @@ # Date: 2016-09-09 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/Dockerfile index 111f311..46aec27 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/Dockerfile +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/Dockerfile @@ -17,5 +17,5 @@ # Date: 2016-09-09 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/Dockerfile index 111f311..46aec27 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/Dockerfile +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/Dockerfile @@ -17,5 +17,5 @@ # Date: 2016-09-09 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/docker-compose.yml b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/docker-compose.yml index 9e0eeea..16557d0 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/docker-compose.yml +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/docker-compose.yml @@ -21,13 +21,12 @@ services: # Micro-service for odcockpit to monitor a running recording session. odcockpit: build: . - image: seresearch/opendavinci-ubuntu-16.04-complete:latest environment: - DISPLAY=$DISPLAY volumes: - /tmp/.X11-unix:/tmp/.X11-unix - ~/recordings:/opt/recordings - user: root # This parameter will be replaced as soon as group_add parameter is available in docker-compose, cf. https://github.com/docker/compose/pull/3709. + user: odv network_mode: host ipc: host command: "/opt/od4/bin/odcockpit --cid=${CID}" diff --git a/usecases/stable/documentationcamera/recording.documentationcamera/fileserver/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera/fileserver/Dockerfile index 111f311..46aec27 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera/fileserver/Dockerfile +++ b/usecases/stable/documentationcamera/recording.documentationcamera/fileserver/Dockerfile @@ -17,5 +17,5 @@ # Date: 2016-09-09 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera/odcockpit/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera/odcockpit/Dockerfile index 111f311..46aec27 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera/odcockpit/Dockerfile +++ b/usecases/stable/documentationcamera/recording.documentationcamera/odcockpit/Dockerfile @@ -17,5 +17,5 @@ # Date: 2016-09-09 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:latest +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera/odcockpit/docker-compose.yml b/usecases/stable/documentationcamera/recording.documentationcamera/odcockpit/docker-compose.yml index 940cd58..16557d0 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera/odcockpit/docker-compose.yml +++ b/usecases/stable/documentationcamera/recording.documentationcamera/odcockpit/docker-compose.yml @@ -21,7 +21,6 @@ services: # Micro-service for odcockpit to monitor a running recording session. odcockpit: build: . - image: seresearch/opendavinci-ubuntu-16.04-complete:latest environment: - DISPLAY=$DISPLAY volumes: From bd911864715d3c93da9ea3cdb941fee6b53a08d9 Mon Sep 17 00:00:00 2001 From: Christian Berger Date: Fri, 2 Dec 2016 18:53:47 +0100 Subject: [PATCH 7/7] * Preparing v0.7.0 Signed-off-by: Christian Berger --- ChangeLog | 1 + VERSION | 2 +- code/core/system/health/man/opendlv-core-system-health.1 | 2 +- .../proxy-applanix/man/opendlv-core-system-proxy-applanix.1 | 2 +- .../man/opendlv-core-system-proxy-camera-axis.1 | 2 +- .../proxy-camera/man/opendlv-core-system-proxy-camera.1 | 2 +- .../system/proxy-fh16/man/opendlv-core-system-proxy-fh16.1 | 2 +- .../system/proxy-imu/man/opendlv-core-system-proxy-imu.1 | 2 +- .../proxy-ledstrip/man/opendlv-core-system-proxy-ledstrip.1 | 2 +- .../system/proxy-sick/man/opendlv-core-system-proxy-sick.1 | 2 +- .../proxy-trimble/man/opendlv-core-system-proxy-trimble.1 | 2 +- .../system/proxy-v2v/man/opendlv-core-system-proxy-v2v.1 | 2 +- .../man/opendlv-core-system-proxy-velodyne16.1 | 2 +- .../man/opendlv-core-system-proxy-velodyne64.1 | 2 +- .../ps3controller/man/opendlv-core-system-ps3controller.1 | 2 +- usecases/stable/demo-ps3controller/Dockerfile | 4 ++-- .../calibrate.documentationcamera.realtime/Dockerfile | 4 ++-- .../calibrate.documentationcamera/Dockerfile | 4 ++-- .../recording.documentationcamera.realtime/Dockerfile | 5 ++--- .../fileserver/Dockerfile | 4 ++-- .../odcockpit/Dockerfile | 4 ++-- .../recording.documentationcamera/Dockerfile | 4 ++-- .../recording.documentationcamera/fileserver/Dockerfile | 4 ++-- .../recording.documentationcamera/odcockpit/Dockerfile | 4 ++-- usecases/stable/replay.recording/Dockerfile | 4 ++-- usecases/stable/velodyne16/calibrate.velodyne16/Dockerfile | 4 ++-- .../velodyne16/recording.velodyne16.headless/Dockerfile | 4 ++-- usecases/stable/velodyne16/recording.velodyne16/Dockerfile | 4 ++-- usecases/stable/velodyne16/remoteMonitorCPC/Dockerfile | 4 ++-- 29 files changed, 43 insertions(+), 43 deletions(-) diff --git a/ChangeLog b/ChangeLog index f46fde4..fc2b10b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,4 @@ +0.7.0 - Changing CompactPointCloud from half_float to uint16_t 0.6.0 - Improved CompactPointCloud handling in Velodyne 16, upgraded use-cases to docker-compose 1.9.0 0.5.0 - CompactPointCloud in Velodyne 0.4.0 - Upgraded to newest OD4 diff --git a/VERSION b/VERSION index a918a2a..faef31a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.6.0 +0.7.0 diff --git a/code/core/system/health/man/opendlv-core-system-health.1 b/code/core/system/health/man/opendlv-core-system-health.1 index 8c3edf1..54dd14a 100644 --- a/code/core/system/health/man/opendlv-core-system-health.1 +++ b/code/core/system/health/man/opendlv-core-system-health.1 @@ -1,7 +1,7 @@ .\" Manpage for opendlv-core-system-health .\" Author: Christian Berger . -.TH opendlv-core-system-health 1 "29 November 2016" "0.6.0" "opendlv-core-system-health man page" +.TH opendlv-core-system-health 1 "02 December 2016" "0.7.0" "opendlv-core-system-health man page" .SH NAME opendlv-core-system-health \- This component checks the health of the runtime environment. diff --git a/code/core/system/proxy-applanix/man/opendlv-core-system-proxy-applanix.1 b/code/core/system/proxy-applanix/man/opendlv-core-system-proxy-applanix.1 index 3f76e73..11a54df 100644 --- a/code/core/system/proxy-applanix/man/opendlv-core-system-proxy-applanix.1 +++ b/code/core/system/proxy-applanix/man/opendlv-core-system-proxy-applanix.1 @@ -1,7 +1,7 @@ .\" Manpage for opendlv-core-proxy-applanix .\" Author: Christian Berger . -.TH opendlv-core-proxy-applanix 1 "29 November 2016" "0.6.0" "opendlv-core-proxy-applanix man page" +.TH opendlv-core-proxy-applanix 1 "02 December 2016" "0.7.0" "opendlv-core-proxy-applanix man page" .SH NAME opendlv-core-proxy-applanix \- This tool interfaces to GPS/IMU unit Applanix. diff --git a/code/core/system/proxy-camera-axis/man/opendlv-core-system-proxy-camera-axis.1 b/code/core/system/proxy-camera-axis/man/opendlv-core-system-proxy-camera-axis.1 index 2462a31..f63331e 100644 --- a/code/core/system/proxy-camera-axis/man/opendlv-core-system-proxy-camera-axis.1 +++ b/code/core/system/proxy-camera-axis/man/opendlv-core-system-proxy-camera-axis.1 @@ -1,7 +1,7 @@ .\" Manpage for opendlv-core-proxy-camera-axis .\" Author: Christian Berger . -.TH opendlv-core-proxy-camera-axis 1 "29 November 2016" "0.6.0" "opendlv-core-proxy-camera-axis man page" +.TH opendlv-core-proxy-camera-axis 1 "02 December 2016" "0.7.0" "opendlv-core-proxy-camera-axis man page" .SH NAME opendlv-core-proxy-camera-axis \- This tool interfaces with Axis cameras. diff --git a/code/core/system/proxy-camera/man/opendlv-core-system-proxy-camera.1 b/code/core/system/proxy-camera/man/opendlv-core-system-proxy-camera.1 index a4b702f..2108861 100644 --- a/code/core/system/proxy-camera/man/opendlv-core-system-proxy-camera.1 +++ b/code/core/system/proxy-camera/man/opendlv-core-system-proxy-camera.1 @@ -1,7 +1,7 @@ .\" Manpage for opendlv-core-proxy-camera .\" Author: Christian Berger . -.TH opendlv-core-proxy-camera 1 "29 November 2016" "0.6.0" "opendlv-core-proxy-camera man page" +.TH opendlv-core-proxy-camera 1 "02 December 2016" "0.7.0" "opendlv-core-proxy-camera man page" .SH NAME opendlv-core-proxy-camera \- This tool interfaces with the FH16 truck. diff --git a/code/core/system/proxy-fh16/man/opendlv-core-system-proxy-fh16.1 b/code/core/system/proxy-fh16/man/opendlv-core-system-proxy-fh16.1 index 7da084d..a91132f 100644 --- a/code/core/system/proxy-fh16/man/opendlv-core-system-proxy-fh16.1 +++ b/code/core/system/proxy-fh16/man/opendlv-core-system-proxy-fh16.1 @@ -1,7 +1,7 @@ .\" Manpage for opendlv-core-proxy-fh16truck .\" Author: Christian Berger . -.TH opendlv-core-proxy-fh16truck 1 "29 November 2016" "0.6.0" "opendlv-core-proxy-fh16truck man page" +.TH opendlv-core-proxy-fh16truck 1 "02 December 2016" "0.7.0" "opendlv-core-proxy-fh16truck man page" .SH NAME opendlv-core-proxy-fh16truck \- This tool interfaces with the FH16 truck. diff --git a/code/core/system/proxy-imu/man/opendlv-core-system-proxy-imu.1 b/code/core/system/proxy-imu/man/opendlv-core-system-proxy-imu.1 index f8becaf..c104929 100644 --- a/code/core/system/proxy-imu/man/opendlv-core-system-proxy-imu.1 +++ b/code/core/system/proxy-imu/man/opendlv-core-system-proxy-imu.1 @@ -1,7 +1,7 @@ .\" Manpage for opendlv-core-proxy-imu .\" Author: Christian Berger . -.TH opendlv-core-proxy-imu 1 "29 November 2016" "0.6.0" "opendlv-core-proxy-imu man page" +.TH opendlv-core-proxy-imu 1 "02 December 2016" "0.7.0" "opendlv-core-proxy-imu man page" .SH NAME opendlv-core-proxy-imu \- This tool interfaces with a imu. diff --git a/code/core/system/proxy-ledstrip/man/opendlv-core-system-proxy-ledstrip.1 b/code/core/system/proxy-ledstrip/man/opendlv-core-system-proxy-ledstrip.1 index d420dd5..9b0b1a3 100644 --- a/code/core/system/proxy-ledstrip/man/opendlv-core-system-proxy-ledstrip.1 +++ b/code/core/system/proxy-ledstrip/man/opendlv-core-system-proxy-ledstrip.1 @@ -1,7 +1,7 @@ .\" Manpage for opendlv-core-proxy-ledstrip .\" Author: Christian Berger . -.TH opendlv-core-proxy-ledstrip 1 "29 November 2016" "0.6.0" "opendlv-core-proxy-ledstrip man page" +.TH opendlv-core-proxy-ledstrip 1 "02 December 2016" "0.7.0" "opendlv-core-proxy-ledstrip man page" .SH NAME opendlv-core-proxy-ledstrip \- This tool interfaces with an LED strip. diff --git a/code/core/system/proxy-sick/man/opendlv-core-system-proxy-sick.1 b/code/core/system/proxy-sick/man/opendlv-core-system-proxy-sick.1 index 367d239..07c5eb6 100644 --- a/code/core/system/proxy-sick/man/opendlv-core-system-proxy-sick.1 +++ b/code/core/system/proxy-sick/man/opendlv-core-system-proxy-sick.1 @@ -1,7 +1,7 @@ .\" Manpage for opendlv-core-proxy-sick .\" Author: Christian Berger . -.TH opendlv-core-proxy-sick 1 "29 November 2016" "0.6.0" "opendlv-core-proxy-sick man page" +.TH opendlv-core-proxy-sick 1 "02 December 2016" "0.7.0" "opendlv-core-proxy-sick man page" .SH NAME opendlv-core-proxy-sick \- This tool interfaces with the Sick lidar device. diff --git a/code/core/system/proxy-trimble/man/opendlv-core-system-proxy-trimble.1 b/code/core/system/proxy-trimble/man/opendlv-core-system-proxy-trimble.1 index 4da0337..b5a6670 100644 --- a/code/core/system/proxy-trimble/man/opendlv-core-system-proxy-trimble.1 +++ b/code/core/system/proxy-trimble/man/opendlv-core-system-proxy-trimble.1 @@ -1,7 +1,7 @@ .\" Manpage for opendlv-core-proxy-trimble .\" Author: Christian Berger . -.TH opendlv-core-proxy-trimble 1 "29 November 2016" "0.6.0" "opendlv-core-proxy-trimble man page" +.TH opendlv-core-proxy-trimble 1 "02 December 2016" "0.7.0" "opendlv-core-proxy-trimble man page" .SH NAME opendlv-core-proxy-trimble \- This tool interfaces to GPS/IMU unit Trimble. diff --git a/code/core/system/proxy-v2v/man/opendlv-core-system-proxy-v2v.1 b/code/core/system/proxy-v2v/man/opendlv-core-system-proxy-v2v.1 index 8d8dc29..73ad965 100644 --- a/code/core/system/proxy-v2v/man/opendlv-core-system-proxy-v2v.1 +++ b/code/core/system/proxy-v2v/man/opendlv-core-system-proxy-v2v.1 @@ -1,7 +1,7 @@ .\" Manpage for opendlv-core-proxy-v2v .\" Author: Christian Berger . -.TH opendlv-core-proxy-v2v 1 "29 November 2016" "0.6.0" "opendlv-core-proxy-v2v man page" +.TH opendlv-core-proxy-v2v 1 "02 December 2016" "0.7.0" "opendlv-core-proxy-v2v man page" .SH NAME opendlv-core-proxy-v2v \- This tool interfaces with a V2V unit. diff --git a/code/core/system/proxy-velodyne16/man/opendlv-core-system-proxy-velodyne16.1 b/code/core/system/proxy-velodyne16/man/opendlv-core-system-proxy-velodyne16.1 index 75df34a..5076e38 100644 --- a/code/core/system/proxy-velodyne16/man/opendlv-core-system-proxy-velodyne16.1 +++ b/code/core/system/proxy-velodyne16/man/opendlv-core-system-proxy-velodyne16.1 @@ -1,7 +1,7 @@ .\" Manpage for opendlv-core-proxy-velodyne16 .\" Author: Christian Berger . -.TH opendlv-core-proxy-velodyne16 1 "29 November 2016" "0.6.0" "opendlv-core-proxy-velodyne man page" +.TH opendlv-core-proxy-velodyne16 1 "02 December 2016" "0.7.0" "opendlv-core-proxy-velodyne man page" .SH NAME opendlv-core-proxy-velodyne16 \- This tool interfaces with the FH16 truck. diff --git a/code/core/system/proxy-velodyne64/man/opendlv-core-system-proxy-velodyne64.1 b/code/core/system/proxy-velodyne64/man/opendlv-core-system-proxy-velodyne64.1 index 95224c9..f25f4c0 100644 --- a/code/core/system/proxy-velodyne64/man/opendlv-core-system-proxy-velodyne64.1 +++ b/code/core/system/proxy-velodyne64/man/opendlv-core-system-proxy-velodyne64.1 @@ -1,7 +1,7 @@ .\" Manpage for opendlv-core-proxy-velodyne .\" Author: Christian Berger . -.TH opendlv-core-proxy-velodyne 1 "29 November 2016" "0.6.0" "opendlv-core-proxy-velodyne man page" +.TH opendlv-core-proxy-velodyne 1 "02 December 2016" "0.7.0" "opendlv-core-proxy-velodyne man page" .SH NAME opendlv-core-proxy-velodyne \- This tool interfaces with the FH16 truck. diff --git a/code/core/system/ps3controller/man/opendlv-core-system-ps3controller.1 b/code/core/system/ps3controller/man/opendlv-core-system-ps3controller.1 index 9de147f..823d5dc 100644 --- a/code/core/system/ps3controller/man/opendlv-core-system-ps3controller.1 +++ b/code/core/system/ps3controller/man/opendlv-core-system-ps3controller.1 @@ -1,7 +1,7 @@ .\" Manpage for opendlv-core-ps3controller .\" Author: Christian Berger . -.TH opendlv-core-ps3controller 1 "29 November 2016" "0.6.0" "opendlv-core-ps3controller man page" +.TH opendlv-core-ps3controller 1 "02 December 2016" "0.7.0" "opendlv-core-ps3controller man page" .SH NAME opendlv-core-ps3controller \- This tool interfaces with the FH16 truck. diff --git a/usecases/stable/demo-ps3controller/Dockerfile b/usecases/stable/demo-ps3controller/Dockerfile index 91560fb..ffc0129 100644 --- a/usecases/stable/demo-ps3controller/Dockerfile +++ b/usecases/stable/demo-ps3controller/Dockerfile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-10-19 +# Date: 2016-12-02 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.3.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0 diff --git a/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/Dockerfile b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/Dockerfile index 46aec27..ffc0129 100644 --- a/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/Dockerfile +++ b/usecases/stable/documentationcamera/calibrate.documentationcamera.realtime/Dockerfile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-09-09 +# Date: 2016-12-02 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0 diff --git a/usecases/stable/documentationcamera/calibrate.documentationcamera/Dockerfile b/usecases/stable/documentationcamera/calibrate.documentationcamera/Dockerfile index 46aec27..ffc0129 100644 --- a/usecases/stable/documentationcamera/calibrate.documentationcamera/Dockerfile +++ b/usecases/stable/documentationcamera/calibrate.documentationcamera/Dockerfile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-09-09 +# Date: 2016-12-02 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/Dockerfile index 2da874a..ffc0129 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/Dockerfile +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/Dockerfile @@ -15,8 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-09-09 - -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 +# Date: 2016-12-02 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/Dockerfile index 46aec27..ffc0129 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/Dockerfile +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/fileserver/Dockerfile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-09-09 +# Date: 2016-12-02 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/Dockerfile index 46aec27..ffc0129 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/Dockerfile +++ b/usecases/stable/documentationcamera/recording.documentationcamera.realtime/odcockpit/Dockerfile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-09-09 +# Date: 2016-12-02 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera/Dockerfile index 46aec27..ffc0129 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera/Dockerfile +++ b/usecases/stable/documentationcamera/recording.documentationcamera/Dockerfile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-09-09 +# Date: 2016-12-02 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera/fileserver/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera/fileserver/Dockerfile index 46aec27..ffc0129 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera/fileserver/Dockerfile +++ b/usecases/stable/documentationcamera/recording.documentationcamera/fileserver/Dockerfile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-09-09 +# Date: 2016-12-02 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0 diff --git a/usecases/stable/documentationcamera/recording.documentationcamera/odcockpit/Dockerfile b/usecases/stable/documentationcamera/recording.documentationcamera/odcockpit/Dockerfile index 46aec27..ffc0129 100644 --- a/usecases/stable/documentationcamera/recording.documentationcamera/odcockpit/Dockerfile +++ b/usecases/stable/documentationcamera/recording.documentationcamera/odcockpit/Dockerfile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-09-09 +# Date: 2016-12-02 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0 diff --git a/usecases/stable/replay.recording/Dockerfile b/usecases/stable/replay.recording/Dockerfile index 46aec27..ffc0129 100644 --- a/usecases/stable/replay.recording/Dockerfile +++ b/usecases/stable/replay.recording/Dockerfile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-09-09 +# Date: 2016-12-02 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0 diff --git a/usecases/stable/velodyne16/calibrate.velodyne16/Dockerfile b/usecases/stable/velodyne16/calibrate.velodyne16/Dockerfile index c1a3156..f3767c1 100644 --- a/usecases/stable/velodyne16/calibrate.velodyne16/Dockerfile +++ b/usecases/stable/velodyne16/calibrate.velodyne16/Dockerfile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-09-01 +# Date: 2016-12-02 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0 diff --git a/usecases/stable/velodyne16/recording.velodyne16.headless/Dockerfile b/usecases/stable/velodyne16/recording.velodyne16.headless/Dockerfile index c1a3156..f3767c1 100644 --- a/usecases/stable/velodyne16/recording.velodyne16.headless/Dockerfile +++ b/usecases/stable/velodyne16/recording.velodyne16.headless/Dockerfile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-09-01 +# Date: 2016-12-02 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0 diff --git a/usecases/stable/velodyne16/recording.velodyne16/Dockerfile b/usecases/stable/velodyne16/recording.velodyne16/Dockerfile index c1a3156..f3767c1 100644 --- a/usecases/stable/velodyne16/recording.velodyne16/Dockerfile +++ b/usecases/stable/velodyne16/recording.velodyne16/Dockerfile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-09-01 +# Date: 2016-12-02 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0 diff --git a/usecases/stable/velodyne16/remoteMonitorCPC/Dockerfile b/usecases/stable/velodyne16/remoteMonitorCPC/Dockerfile index c1a3156..f3767c1 100644 --- a/usecases/stable/velodyne16/remoteMonitorCPC/Dockerfile +++ b/usecases/stable/velodyne16/remoteMonitorCPC/Dockerfile @@ -15,7 +15,7 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# Date: 2016-09-01 +# Date: 2016-12-02 -FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.6.0 +FROM seresearch/opendlv-core-on-opendavinci-ubuntu-16.04-complete:v0.7.0