/openDS-oss

Mirror of the OpenDS.de car driving simulator

Primary LanguageJava

OpenDS-libre

This is an open-source community fork of openDS.

Changes in this repository:

  • new Cognitive load experiment
  • community & developer collaboration promoted on our GitHub repository
  • preset IDE (NetBeans) project for a more convenient installation
  • some fixes to the upstream code
  • assets included (no installation required)
  • tool for creation of custom models (maps) from OpenStreetMaps

Installation

  • just clone this repository
  • open the project in IDE
  • edit Project properties > Run > Working directory: set to your root of OpenDS (absolute path)
  • run

Motivation

  • First of all, we very much appreciate the effort and contributions made (and still actively being improved) by the original authors - openDS.de
  • We missed the properties of a true open-source project
  • version control system (VCS) (git) and a web frontend to the repository (GitHub)
  • Issues and active patch sending (PRs)
  • We try to develop a free alternative to the paid PRO versions for our needs
  • OpenDS discussed our issues with us, understood and agreed to promote open-source more, that hasn't happen so far, thus this fork

Join

  • We are looking for users and developers. The easiest way is to try the "game" yourselves and contact us here on github Issues, or open a PR.
  • We can provide support for institutions (schools, hospitals, etc.) that would like to carry on some study using the simulator in cooperation with us.

License

  • files conributed by OpenDS.de keep their license (GPL-v2) and copyright
  • our modifications to those code also keep the license
  • code contributed by ourselves keeps our license and copyright (GPL-v2)

Conferences & Papers

We have published our work on OpenDS in the following:

  • Cognition and Artificial Life (Kognice a Umely Zivot, KUZ), 2016: TODO link , won "Best poster" award
  • bachelor thesis TODO TODO add QR code

Original README:

OpenDS (Open-source Driving Simulator)

Version 3.5 - November 13th, 2015

OpenDS is an open source driving simulator for research. The software is programmed entirely in Java and is based on the jMonkeyEngine framework, a scene graph based game engine which is mainly used for rendering and physics computation. OpenDS is distributed under the terms of GNU General Public License (GPL).

  1. What is contained in this folder

The folder you downloaded contains sources and an already built version of OpenDS including the Drive Analyzer tool to replay a drive. Furthermore, library files needed to run OpenDS - from sources and binaries - as well as the assets folder (containing scenes, models and tasks) is included. More details about the available tasks can be found in paragraph 7. In addition, you will also find the JavaDoc files, the license text, the multi-driver server and a client to receive data from the running simulator (settings controller server).

  1. Getting started

Binaries for Windows, Mac OS and Linux are contained in this folder.

  1. Make sure you have installed the Java Runtime Environment (JRE) version 8 or higher. If not, download it from http://www.java.com
  2. Run 'OpenDS.jar' either by double clicking or using console (type: 'java -jar OpenDS.jar'). Windows users could also run "start.bat"
  3. Select resolution and proceed with clicking 'OK'.
  4. Specify driver’s name (optional).
  5. Select which task to load and click 'Start'.

To stop the application, hit the ESC key or close the window. Press F1 during simulation for default key assignment.

NOTICE: File 'startProperties.properties' might help you to start pre-defined tasks even faster. You can set up the display settings and skip the selection screen by uncommenting 'showsettingsscreen=false'. Furthermore, you can set the name of the driver and the task to start when executing OpenDS.

  1. Building OpenDS

Sources for Windows, Mac OS and Linux are contained in the "src" folder. The following steps show how to setup the source code for Eclipse. Of course, you can use your favored IDE.

  1. Make sure you have installed the Java Development Kit (JDK) version 1.8 or higher. If not, download it from http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. Start Eclipse and import an existing Project (File -> Import...). Select 'General' -> 'Existing Projects into Workspace' and click 'Next'.
  3. Select this folder as root directory and click 'Finish'.
  4. Make sure the 'assets' folder has been added to your project.

You can skip the next two instructions if there are no Build Path errors. 5. Make sure that all jar files (counting 101) that can be found in 'lib' or any of its sub-folders have been added to the Build Path. 6. Right-click the project and select 'Build Path' -> 'Configure Build Path...' to open the 'Properties'-dialog. Go to tab 'Libraries' and click 'Add Class Folder'. Select the check box of folder 'Logo' which can be found at 'assets/Textures' as well as the check box of folder 'log4j' which can be found at 'assets/JasperReports'. Click 'OK' to close both dialog windows.

  1. Run OpenDS by right-clicking eu.opends.main.Simulator in Eclipse's Package Explorer and selecting 'Run As' -> 'Java Application'.
  2. Select resolution and proceed with clicking 'OK'.
  3. Specify driver’s name (optional). 10.Select which task to load and click 'Start'.

To stop the application, hit the ESC key or close the window. Press F1 during simulation for default key assignment.

  1. Where to find documentation

More information can be found in the download area of the project website.

  1. Contributors

a) Concept: Christian Müller b) Architecture and development: Rafael Math c) Other contributions: Saied Tehrani Michael Feld Otávio Biasutti Daniel Braun Gleb Banas Till Maurer Dastin Rosemann Paul Jacob Hoepner Malvin Danhof Tarek Schneider Michael Walz Eric Audehm d) How to contribute? Please write us using the contact form on the project website.

  1. Credits

Digital media assets have been taken from jMonkeyEngine (http://www.jmonkeyengine.org) if no other reference can be found in the corresponding folder.

The "BigCity" model has been provided by Paul Jacob Hoepner from the Technical University of Berlin, Germany

The Oculus Rift Extension has been provided by Malvin Danhof, Tarek Schneider, Michael Walz, and Eric Audehm from Hochschule Konstanz (University of Applied Sciences), Constance, Germany

  1. Available tasks

BigCity/bigCity.xml (Very powerful computer required!)

Drive through a large city model provided by Paul Jacob Hoepner from the Technical University of Berlin, Germany. This task needs high performance computer.

ConTReTask/conTReTask.xml (OpenDS Premium only!)

The Continuous Tracking and Reaction Task (ConTRe Task) is a highly controlled driving task that allows fine-grained measurement of steering and event detection performance through very few dependent variables. Also, it is a rather artificial task that only resembles to realistic driving. NOTE: This driving task is only available in the Pro Complete version of OpenDS

Countryside/countryside.xml

This model has been created with CityEngine and shows the ability to model roads in hilly terrain. Furthermore, some vehicles will be driving around. By pressing the U key a top-down view will be shown. Screen capturing is switched on by default.

Countryside2/countryside2.xml (Powerful computer required!)

Slightly larger remake of "Countryside" with a lot more traffic on the road. This task needs high performance computer.

Idealtest2/idealtest2.xml

In this model the traffic light control will be demonstrated by the help of a few simple intersections. At the beginning, trigger mode is active, i.e. approaching vehicles will be detected and the related traffic light will turn green. By pressing the "A"-key, you can toggle all traffic light modes: TRIGGER -> PROGRAM -> EXTERNAL INPUT -> BLINKING -> OFF. In program mode, all traffic lights will obey to a pre-defined list of traffic light rules and in external mode traffic lights can be interactively controlled by the experiment leader. When you reached modes blinking and off you can go back to trigger mode by pressing the "A"-key once more. The trip will be recorded for later analysis and in the "data analyzer" folder. Furthermore, a traffic vehicle obeying to traffic lights will be available. Also used as test track for OpenDS HMI (OpenDS Premium only!)

Paris/paris.xml

This CityEngine model includes photo-realistic textures of Paris and was equipped with a bus stop and a roundabout. This model shows how to use the Object Locator tool to place further objects (cf. ParisTraffic as potential result).

ParisTraffic/parisTraffic.xml (Powerful computer required!)

This is the extended model (road signs, traffic, sky texture, triggers, etc.) of the aforementioned Paris model. This model can be used for eye-gaze analysis (OpenDS Premium only!).

ReactionTest/reactionTest.xml (Powerful computer required!)

This task contains a reaction experiment with instruction screen. The driver has to drive in the center lane at full speed and react to suddenly appearing signs. On red X signs the driver has to decelerate while keeping the center lane. On green arrow signs the driver has to change to the indicated lane at full speed. After a confirmation sound is played, the car is advised to go back to driving in the center lane at full speed. After the drive, a PDF file showing the driver's performance will be presented.

Terrain/terrain.xml

Test track for simple terrain generation from hight map and alpha map. This model can be used for the multi-driver demo by running multiple OpenDS instances on that track. The multi-driver server which can be found in the "tools" folder must be running first (default port 4510).

ThreeVehiclePlatooningTask/threeVehiclePlatooningTask.xml (OpenDS Premium only!)

The Three Vehicle Platooning Task (3VPT) is a more realistic driving task and allows measuring many different dependent variables, but is still controlled. It demands the driver to control his lateral as well as longitudinal position and additionally to detect and respond to several events. NOTE: This driving task is only available in the Pro Complete version of OpenDS

Village/village.xml

Another CityEngine model showing snow and fog effects. This model can be used for the settings controller demo. Running the test client in the "tools" folder will show live simulation data. Connect to server (default port 5678) and open "examples/EstablishConnection.xml"

Village2/village2.xml (Powerful computer required!)

Another CityEngine model showing traffic and pedestrians.

A_Distraction_Task/a_distraction_task.xml

The task serves as a measurement of cognitive load on the driver. At the beginning of the programthe user choses what kind of distracting elemnts are applied during his driving. While the simulation is on there is a testing "cognitive function" collecting data about the "distractors" and how the driver reacted to them. The results can be graphically interpreted using written matlab script which is packed with the program (WIP).

We created an unofficial repository on https://github.com/breznak/openDS where you can download our solution and contribute with your ideas.

We also published a study https://www.researchgate.net/publication/303837822_Cognitive_Stress_during_Driving_task and are preparing new additions in near future.