Git Product home page Git Product logo

opensimulationinterface / osi-visualizer Goto Github PK

View Code? Open in Web Editor NEW
38.0 18.0 24.0 42.23 MB

**This repository is abandoned and looking for a maintainer.** A tool to visualize OSI data from two different sources. Data can be stored in files and replayed afterwards, or validated using a Python interface.

License: Other

CMake 1.18% GLSL 0.31% C++ 86.63% Python 9.66% Dockerfile 0.18% Shell 1.40% C 0.64%

osi-visualizer's Introduction

OSI Visualizer

OSI Visualizer build pipeline

OSI Visualizer serves as a visualization tool for the current implementation of OSI (Open Simulation Interface) messages. It supports GroundTruth, SensorView and SensorData messages and allows the visualization of two independent data channels using different input types (file and network stream). For more information see the documentation here.

Usage

Use the configuration panel at the right (see Screenshot below) to load e.g. a OSI trace file for channel 1 at Playback and choose a port to which it will be send (here 5564). Select the data type SensorView according to the content of the file. After that enter into the IP field the localhost and into the port field the receiving port (here 5563) for channel 2 in the panel below at Connection. Select the data type it is expected to visualize (here SensorData). In this example an intermediary on localhost processes the data from the input file using a OSMP sensor model, transforms it into SensorData and sends it to port 5563.

Now you can click on play for channel 1 and 2 and you can visualize the communication between these two channels. Channel 1 plays the selected OSI input file scenario and sends out the OSI message to port 5564 at the same time. Channel 2 visualizes the received OSI messages at localhost at port 5563 showing it on the canvas (see demo screenshot below).

Installation

Environment and dependencies

Currently we recommend users to use the osi-visualizer under Ubuntu Linux 18.04 LTS. You can see a working development environment based on Ubuntu 18.04 LTS in the Docker file in the repository.

  • cmake (>= 3.5)
  • Qt (>= 5.5.0)
  • ZeroMQ (>= 4.2.1) OSI Visualizer needs to use ZeroMQ libraries to complete the socket communication between different sensor / traffic / scenario simulators. Note that the C++ Bindings are required as well.
  • protobuf (>= 2.6.1)
  • FMILibrary (>= 2.0.2)
  • OSI (>= 3.1.2)

It is often a good idea to first update the system using

$ sudo apt-get update && sudo apt-get upgrade && sudo apt-get autoremove

to ensure up-to-date packages.

You can install package dependencies using the provided install-deps.sh, and OSI and FMILibrary build dependencies using the provided build-install-build-deps.sh:

$ sudo bash install-deps.sh
$ sudo bash build-install-build-deps.sh

Build and run

$ bash build.sh
$ ./build/osi-visualizer

or just manually if dependecies are already installed:

$ git clone https://github.com/OpenSimulationInterface/osi-visualizer.git
$ cd osi-visualizer
$ git submodule update --init
$ mkdir build
$ cd build
$ cmake ..
$ make -j8
$ ./osi-visualizer

osi-visualizer's People

Contributors

eknabevcc avatar haoyuanying avatar jdsika avatar kmeids avatar mepping avatar nreischl avatar pmai avatar tbleher avatar thomasnaderbmw avatar vkresch avatar yang-wu-altran avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

osi-visualizer's Issues

Building issue

Hi, when i processed to the step "cmake .."

It returns:
CMake Warning at open-simulation-interface/CMakeLists.txt:169 (message):
/proto2cpp.py could not be found.


CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
FMILIB_INCLUDE_DIRS
   used as include directory in directory /home/user/osi-visualizer
   used as include directory in directory /home/user/osi-visualizer
   used as include directory in directory /home/user/osi-visualizer
   used as include directory in directory /home/user/osi-visualizer
   used as include directory in directory /home/user/osi-visualizer
   used as include directory in directory /home/user/osi-visualizer
   used as include directory in directory /home/user/osi-visualizer
FMILIB_LIBRARY
    linked by target "osi-visualizer" in directory /home/user/osi-visualizer

-- Configuring incomplete, errors occurred!
See also "/home/user/osi-visualizer/build/CMakeFiles/CMakeOutput.log".
See also "/home/user/osi-visualizer/build/CMakeFiles/CMakeError.log"

Where I changed the path to in the CMakeList.txt to

set(FILTER_PROTO2CPP_PY_PATH CACHE PATH "/home/user/osi-visualizer")

Where could possibly gone wrong? Many thanks

osi file format

when using the visualizer in playback mode -what is the expected format of the osi file?
thanks

Support OpenGL 3.3

osi-visualizer currently depends on OpenGL 4.3 (Core profile). Unfortunately, Linux inside VMWare only supports OpenGL 3.3. This means that osi-visualizer cannot currently be used in a VMWare environment. It would be great if support for OpenGL 3.3 could be added. It looks like mainly the shaders would have to be adapted, since they use some OpenGL 4 features.

Describe using OSI visualizer

Fill topics with content:

  • Running OSI visualizer
  • Running OSI visualizer using Docker
  • Receiving OSI messages from a network
  • Playing back messages from a trace file
  • Showing the field of view of a sensor
  • Saving OSI messages
  • Comparing OSI message files
  • Configuring the view
  • Playing back large OSI files (integrated into playing-back topic)

demo .osi file cannot playback

I'm having a bit of trouble while replaying the demo osi file. when I click the button 'play', the data cannot play.

osi

Are there any other required operation that I am missing?

Look forward to your favourable reply.

Sender/Receiver

I want to use the NetworkProxy FMU here for the communication. The Repo should be integrated the same way as the OSI interface.

Release Tag

@CarloVanDriestenBMW @pmai Can you please add a tag (branch) for release? Thanks

Migration to AsciiDoc: Set up initial document structure

Context

Set up the initial structure of the new documentation website, based on AsciiDoc.
This issue is part of resolving #494.

Goals

  • Create initial outline of documentation to enable discussion.
  • Create files to enable migration of CI to AsciiDoc early.

Tasks

  • Create document map.
  • Create initial document structure (files with headings only, include in map).
  • Fill topics with blind text.

How to visualize Sensordata?

Hello,

After successfully running selfcreated SensorViews on the Visualizer, I'm facing some trouble generating a SensorData.txt which is accepted by the visualizer. All I got in OSI Visualizer from my SensorData-file up to now, is a black screen with the Coordinate-Origin...

Are there any fields required? What kind Visualization will OSI Visualizer show? Can you please provide a Test File for SensorData file, too?

Visualizer is not running as expected and looks differently

Describe the problem

Hi!

We at TU Darmstadt FZD try to get the visualizer running, but have no success.
Additionally, the README shows a button for FMU selection, which is not there in my current version. (I planned to select a OSMPNetworkProxy FMU there as receiver).

Describe what you have already tried

Actually, we have a tool providing data and sending it out via the OSMPNetworkProxy on 127.0.0.1 Port 3456.
I can connect to the port via nc -vv -l 127.0.0.1 3456 and see data there during simulation test runs (even if it is not readable).

Ask your question

So, can you support us getting the visualizer running and can you explain, why it is not showing the FMU option anymore?

Additional context

I had a phone call with @pmai already, but he suggested to ask the question here for better support.
I assigned @jdsika and @vkresch here, but probably @eknabevcc and @tbleher can support, as well?

OSI Viewer support on Windows OS

Scope:

Brach the release version source code.
Analyze the existing the source and list the activities required to port to Windows.
Plan the milestones of the activities
Implementation

Output:

OSI Visualizer on Windows platform

ps: We are open to cooperation if a member has already worked or worked on a similar topic.

Failed to initialize OpenGL functions

Whenever I launch the osi-visualizer I get:

"ZMQ version: 4.2.5"
"ZMQ version: 4.2.5"
failed to initialize OpenGL functions
failed to initialize OpenGL functions

but the visualizer appear, however, when I try to run the example_sensor_view.txt
the program closes automatically and I get:

Gtk-Message: 10:14:18.028 :Gtkdialog mapped without a transient parent. this is discouraged.
Segmentation fault (core dumped)

I checked the OpenGL installation and during that no warning or so appeared

Visualizing a SensorData file

I'm having a bit of trouble while creating a SensorData file that can be visualized

currently I am making a file containing the following characteristics for each timestamp i through this logic:

`osi_sensor = osi_sensordata_pb2.SensorData()
osi_sensor.sensor_id.value = 1
osi_sensor.last_measurement_time.seconds = tt_secs
osi_sensor.last_measurement_time.nanos = tt_nano
osi_sensor.host_vehicle_location.position.x = x_ego
osi_sensor.host_vehicle_location.position.y = y_ego

for each vehicle detected at that timestamp:
osi_sensor.moving_object.header.tracking_id.value = id
osi_sensor.moving_object.base.position.x = x
osi_sensor.moving_object.base.position.y = y
osi_sensor.moving_object.base.position.z = 0

outputFile.write(struct.pack("<L", len(osi_sensor.SerializeToString())) + osi_sensor.SerializeToString())`

Are there any other required fields that I am missing?
is there an example for SensorData as the one available for SensorView anywhere ?

thanks for your support!

Clarification on file format

Hi there, I'm having a bit of trouble creating a file that the visualizer can read.

Does the following snippet look like the correct way to generate a valid .txt file?

thanks


import osi_sensorview_pb2
import osi_sensordata_pb2
import osi_common_pb2

sensor_view = osi_sensorview_pb2.SensorView()
new_cam_sensor = sensor_view.camera_sensor_view.add()
ground_truth = sensor_view.global_ground_truth
some_lane =  ground_truth.lane.add()
center_line = some_lane.classification.centerline.add()
center_line.x = 0
center_line.y = 10
center_line = some_lane.classification.centerline.add()
center_line.x = 10
center_line.y = 10
center_line = some_lane.classification.centerline.add()
center_line.x = 10
center_line.y = 20


ts = sensor_view.timestamp
ts.seconds = 10
ts.nanos = 0


#stationary = sensor_view.stationary_object.add()

print sensor_view



f = open("test_3.txt", "wb")
f.write("$$__$$")
f.write(sensor_view.SerializeToString())

f.close()

Running CMakelist.txt for the first time !

Hello, I just finished installing OSI and now i am trying to run the visualizer but these errors are being shown in Qt creator. i am new to this and have no idea how to solve them. I am sorry for being lame. but i really need help as it is important for me to run and understand.

capture

Data files not able to run

Hello!

I am working with the osi visualizer and have installed in the Ubuntu 18.04 LTS OS.

I tried opening the test files available with me, but always shows the error that not able to read available input files on OSI viewer.

Can you please provide a Data file which runs with OSI viewer.

Thanking you,

Regards.

Fix install.sh

Describe the bug

This is taken from #42
The install.sh script should be rethought completely, given that it does dangerous sudo stuff that has no place in an install script, has misconceptions about shell syntax, does not install but rather runs osi-visualizer in place, and is a bad idea as is.

Describe the expected behavior

@pmai please suggest some changes.

unable to install the osi-visualizer due to some problems with the FMI library

I have difficulties when trying to install OSI-Visualizer

more exactly when running the:
sudo bash build-install-build-deps.sh

.
.
.
#################################

Installing FMI 2.0.2

#################################

Downloading FMI library...

--2020-01-19 14:47:10-- https://svn.jmodelica.org/FMILibrary/tags/2.0.2/
Resolving svn.jmodelica.org (svn.jmodelica.org)... 85.235.1.123
Connecting to svn.jmodelica.org (svn.jmodelica.org)|85.235.1.123|:443... connected.
ERROR: no certificate subject alternative name matches
requested host name ‘svn.jmodelica.org’.
To connect to svn.jmodelica.org insecurely, use `--no-check-certificate'.

Building FMI library...

build-install-build-deps.sh: line 46: cd: 2.0.2: No such file or directory
CMake Error: The source directory "/home/brz/Documents/osi-visualizer/fmi_library" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
make: *** No rule to make target 'install'. Stop.
Could not install the fmi-library into usr/local

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.