• Stars
    star
    303
  • Rank 137,655 (Top 3 %)
  • Language
    C++
  • License
    Other
  • Created about 10 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

GPU-Voxels is a CUDA based library which allows high resolution volumetric collision detection between animated 3D models and live pointclouds from 3D sensors of all kinds.

GPU Voxels Logo

GPU-Voxels is a CUDA based library which allows high resolution volumetric collision detection between animated 3D models and live pointclouds from 3D sensors of all kinds. It is mainly developed for robotics planning and monitoring tasks. See our videos on http://www.gpu-voxels.org/demos/ to get an impression.

Support:

Find more information on our website http://www.gpu-voxels.org Doxygen is available at http://www.gpu-voxels.org/doxygen/html/

If you have questions or experience any problems with the software, please post to our GitHub Bugtracker: at https://github.com/fzi-forschungszentrum-informatik/gpu-voxels/issues

Install dependencies:

This software is tested under 64 Bit Ubuntu Linux 14.04, 16.04 and 18.04. Find detailed installation and linking instructions in our Doxygen.

Core:

  • CUDA 7.5, 8.0, 9.x or 10.0
  • PCL
  • OpenNI
  • Boost
  • TinyXML (libtinyxml-dev)

Visualizer:

Examples:

  • ROS (Robot Operation System)
  • OpenNI to interface 3D cameras
  • urdfdom
  • orocos
  • kdl_parser

Compiling:

    mkdir build
    cd build
    cmake ..
    make

==> This will also generate example programs and a visualization tool to see some live demos.

Doxygen files can be generated by

    make doc

Compiling without C++11

C++11 is enabled by default. To compile without C++11 mode comment out this at the top of packages/gpu_voxels/CMakeLists.txt: SET(CMAKE_CXX_STANDARD 11) This is important if you are still using ROS Indigo and need to compile without C++11 support for compatibility reasons. There is a separate indigo branch that only differs in this line to disable C++11 during compilation.

Known issues

  • If the ROS dependency was found, but the GPU-Voxels URDF features are still unabailable, run source /opt/ros/YOUR_ROS_DISTRO/setup.bash before running cmake.
  • Eigen 3 issues: can be fixed by cloning a more current unstable Eigen version and placing it in CMAKE_PREFIX_PATH
  • Cuda 8.0: Code compiled with Cuda 8.0 works fine with older GPU drivers such as 375.66, but there are runtime errors with driver 384.111 and newer ("PTX JIT compilation failed"). Easy fix: use Cuda 10 with a current 410 or newer driver version. Cuda 10 is also available for Ubuntu 14.04 and 16.04.
  • GLM: There is a known bug in GLM on Ubuntu 16.04 that has to be patched to allow usage of the visualizer. Apply the patch described at https://github.com/g-truc/glm/issues/530 to /usr/include/glm/detail/func_common.inl

Maintainers:

The library is developed and maintained by:

  • Christian Jülg
  • Andreas Hermann

Contributors are (in temporal order):

  • Sebastian Klemm
  • Florian Drews
  • Matthias Wagner
  • Felix Mauch
  • Herbert Pietrzyk
  • Gabriele Bolano
  • Florian Fervers
  • Erik Albert

License:

The software in this repository underlies different licenses. Please consider the LICENSE.txt in the different package directories. Feel free to contact us for any licensing questions.

To clarify this:

  • The Build System (icmaker and according scripts) is distributed under BSD license
  • GPU-Voxels is distributed under the CDDL license
  • icl_core helber library is distributed under CDDL license

Please let us know if you are using the GPU-Voxels library, as we are curious to find out how it enables other people's work or research.

We would be grateful if scientific publications resulting from projects that make use of GPU-Voxels would cite our overview paper: A. Hermann, F. Drews, J. Bauer, S. Klemm, A. Roennau and R. Dillmann: “Unified GPU Voxel Collision Detection for Mobile Manipulation Planning” in Intelligent Robots and Systems (IROS 2014, Chicago, September 2014)

Copyright (c) 2014, FZI Forschungszentrum Informatik, Karlsruhe, Germany All rights reserved.

Thanks:

The GPU-Voxels library was developed at the FZI Forschungszentrum Informatik, Karlsruhe, Germany.

The research leading to the results has received funding from...

  • the German Federal Ministry of Education and Research (BMBF) under grant agreement no. 01IM12006C (ISABEL).
  • the European Union program Horizon 2020 under grant agreement no. 680734 (HORSE).
  • the Baden-Württemberg Stiftung through the KolRob reasearch project.

More Repositories

1

Lanelet2

Map handling framework for automated driving
C++
794
star
2

cartesian_controllers

A set of Cartesian controllers for the ROS1 and ROS2-control framework.
C++
374
star
3

TSInterpret

An Open-Source Library for the interpretability of time series classifiers
Python
117
star
4

vdb_mapping

Performantes 3D Kartierungs-Framework auf Basis von OpenVDB
C++
42
star
5

liblanelet

Library for handling lanelet maps in C++
C++
37
star
6

cartesian_ros_control

DEPRECATED: A set of packages to bring Cartesian control functionality to the ROS-control framework.
C++
35
star
7

robot_folders

robot_folders helps you managing multiple source projects with their own workspaces mainly around the ROS ecosystem.
Python
33
star
8

ros_bt_py

This is a Behavior Tree library meant to be an alternative to SMACH, FlexBE and the like. It includes a ReactJS-based web GUI and all the building blocks you need to build moderately advanced mission control Behavior Trees without writing a single line of code! Its claim to fame is the ability to shove, or transparently remote-execute, parts of a Behavior Tree. This implementation of Behavior trees was primarily done by Nils Berg in his thesis Distributed Execution of Behavior Trees using Heterogeneous Robot Teams. It was then improved and heavily upgraded by Kai-Uwe Hermann first with his thesis On-Line task allocation in an ad-hoc network of complex robots, currently as part of his research work. These works and the capability concept are part of Georg Heppners ongoing PhD Thesis Fähigkeitsbasierte Kooperation von Heterogenen Robotersystemen.
Python
30
star
9

ros2_ros_bt_py

This is a Behavior Tree library meant to be an alternative to SMACH, FlexBE and the like. It includes a ReactJS-based web GUI and all the building blocks you need to build moderately advanced mission control Behavior Trees without writing a single line of code!
Python
24
star
10

oadrive

Open Autonomous Driving Library (CDDL License)
C++
21
star
11

fzi_robot_interface_proposal

Design documentation for adding Cartesian robot interfaces to ROS
Python
17
star
12

schunk_svh_driver

Driver package for the SCHUNK SVH Five-Finger-Hand.
CMake
16
star
13

vdb_mapping_ros

ROS1 Wrapper für vdb_mapping
C++
15
star
14

NNAD

Neural Networks for Automated Driving
14
star
15

aadc2016

Code basis used by Team KACADU for the Audi Autonomous Driving Cup 2016
JavaScript
13
star
16

P3IV

Probabilistic Prediction and Planning for Intelligent Vehicles (P3IV) Simulator
Python
13
star
17

schunk_canopen_driver

Driver package for the SCHUNK LWA4P and other CanOpen enabled devices.
C++
13
star
18

corner_case_ontology

The repository provides a template ontology and scripts to create OpenSCENARIO-compatible corner case scenarios in simulation.
Python
12
star
19

PRIVACY-AVARE

Java
10
star
20

aadc2018

Code basis used by Team AlpaKa for the Audi Autonomous Driving Cup 2018
9
star
21

vdb_mapping_ros2

vdb_mapping_ros2 dient als Schnittstelle zu ROS2 und bietet die Möglichkeit ROS2 Nachrichten Typen einfach und schnell zu nutzen um auf deren Basis eine 3D Kartierung durchzuführen.
C++
9
star
22

BEMCom

BEMCom, the Building Energy Management Communication framework, is a tool for the rapid implementation of hardware abstraction layers, i.e. software that allows communication with diverse devices over a unified API.
Python
9
star
23

schunk_svh_ros_driver

DEPRECATED: A ROS1/ROS2 compatible driver for the Schunk SVH 5-Finger hand
C++
8
star
24

robotiq_2f_urcap_adapter

ROS2 node zur Ansteuerung der Robotiq 2F Greifer über URCap
Python
7
star
25

unity-burst-inverse-kinematics

An inverse kinematics solution for Unity using the Burst compiler with support for arbitrarily long joint chains.
C#
7
star
26

Semantic_Scene_Graph_Computation

Creates a semantic scene graph from a traffic scene.
Python
7
star
27

anovox

Multimodaler Anomalie-Detektions Benchmark für simulierte Szenarien
Python
6
star
28

mrf

Funktionen zum Upsampling von 3D-Lasermessungen unter Zuhilfenahme von aus Bildern extrahierten Features
C++
6
star
29

ros2_ros_bt_py_web_gui

This is the development version of the Web GUI shipped with ros2_ros_bt_py. It displays the current Behavior Tree loaded in the ROS-Node and allows the user to edit and run the BT.
TypeScript
6
star
30

scene-fingerprint

Berechnung mehrere Kritikalitätsmetriken zur Bewertung von Szenen und Szenarien.
Python
5
star
31

adtf_ros

Bridge between ROS and ADTF
C++
5
star
32

test-area-autonomous-driving-dataset

Datensätze des Testfelds Autonomes Fahren Baden-Württemberg
5
star
33

tropical_precooling_environment

Eine Simulationsumgebung zur Evaluierung und Bechmarking von Algorithmen zur Gebäudeenergieoptimierung.
Python
5
star
34

fzi_icl_can

CMake
4
star
35

quantification_road_user_behavior

The repository provides scripts to extract road user behavior distribution out of datasets.
Python
4
star
36

dream-ploc

Pocket Library for Open Content (ploc) / Demonstrator aus dem BMBF-geförderten Projekt DREAM (Digital Research Mining)
Java
4
star
37

muvo

A Multimodal Generative World Model for Autonomous Driving with Geometric Representations
Python
4
star
38

iterative-yolo-pruning

Iterative Filter Pruning for Concatenation-Based CNN Architectures
Jupyter Notebook
3
star
39

fzi-driver

Fahrermodell, welches im Projekt SETLevel entwickelt wurde.
C++
3
star
40

icmaker

IcMaker - The build system for the interchange libraries
CMake
3
star
41

energy_management_panel

Grundlegende Funktionen zur Entwicklung von webbasierten User Interfaces zur Interaktion zwischen Menschen und einem Gebäudeenergiemanagementsystem
Python
3
star
42

informed_rl

Informed Reinforcement Learning for Situation-Aware Traffic Rule Exceptions
Python
3
star
43

eg4u

EG4U - Environment Generator for Unreal: Plugin for UnrealEngine 4.26 to create virtual environments from OpenDRIVE and OpenStreetMap
C++
3
star
44

ArNe

A skill recording and generalization framework for assistive manipulators with ROS.
Python
2
star
45

schunk_svh_library

DEPRECATED: A C++ library for controlling the Schunk SVH 5-Finger hand
C++
2
star
46

icl_core

C++
2
star
47

automated_driving_msgs

ROS messages for automated driving.
CMake
2
star
48

oadrive-bsd

Open Autonomous Driving Library (BSD License)
JavaScript
2
star
49

top_uav_py

Software-Tool zur analytischen Bestimmung zeitoptimaler Trajektorien für Multikopterdrohnen unter Berücksichtigung von maximaler Geschwindigkeit und Beschleunigung.
Python
2
star
50

dream-gozer

Pocket Library for Open Content (ploc) / Demonstrator aus dem BMBF-geförderten Projekt DREAM (Digital Research Mining) / Backend Service
Go
2
star
51

top_uav_cpp

Software-Tool zur analytischen Bestimmung zeitoptimaler Trajektorien für Multikopterdrohnen unter Berücksichtigung von maximaler Geschwindigkeit und Beschleunigung.
C++
2
star
52

ros_oadrive

ROS package for using oadrive in ROS
C++
1
star
53

fzi_icl_core

C++
1
star
54

cdcstream

CDCStream - Change Detection in Categorical Evolving Data Streams
Python
1
star
55

mongeu

RESTful HTTP-Service zur Ermittlung des Energieverbrauchs von GPUs
Rust
1
star
56

catkin_doc

Tool for automatic ROS-API documentation generation
Python
1
star
57

schunk_svh_ros_driver-release

schunk_svh_ros_driver-release
1
star
58

taf-viewer

Erstellt einen Webserver, der den Datensatz des Testfeld autonomes Fahren BW visualisiert.
1
star
59

lanelet2-release

ROS release of Lanelet2
1
star
60

CSV_Motion_Dataset_Loader

Reads in .csv files in either TAF or inD format and creates an object structure.
Python
1
star
61

circt

Circuit IR Compilers and Tools
C++
1
star
62

dam4kmu

Modular software supporting various processes within the context of requirements management.
JavaScript
1
star
63

RealWork-WebApp

Die Software RealWork-WebApp, entstanden innerhalb des Projekts RealWork, ermittelt optimale Standorte für Coworking Spaces im ländlichen Raum, basierend auf der Minimierung der Netto-Pendelzeit von Arbeitnehmer*innen.
Python
1
star
64

energy-service-generics

A framework for the implementation of web-services that provide forecasting and optimization algorithms for energy management applications at scale.
Python
1
star
65

TBMEnv

An environment to assess the accuracy of thermal building models under realistic conditions.
Jupyter Notebook
1
star
66

eg4u-content

EG4U Base Assets: Base Assets for UE4 Environment Generator
1
star