J. Nazarenus, S. Reichhuber, M. Amersdorfer, L. Elsner, R. Koch, S. Tomforde, H. Abbas
This repository contains the official authors implementation associated with the paper "Learning Occlusions in Robotic Systems: How to Prevent Robots from Hiding Themselves"
@inproceedings{Nazarenus2024Learning,
author = {Nazarenus, J. and Reichhuber, S. and Amersdorfer, M. and Elsner, L. and Koch, R. and Tomforde, S. and Abbas, H.},
title = {Learning Occlusions in Robotic Systems: How to Prevent Robots from Hiding Themselves},
booktitle = {Proceedings of the 16th International Conference on Agents and Artificial Intelligence},
volume = {2},
pages = {482--492},
year = {2024},
isbn = {978-989-758-680-4},
issn = {2184-433X},
}
This research is funded through the Project "OP der Zukunft" within the funding program by Europäischen Fonds für Regionale Entwicklung (REACT-EU).
An interactive demo is available at this link. Keep in mind that due to network latencies or high demand, the optimization speed and responsiveness of the animation may vary.
If you want to quickly run the code, you can use this colab notebook. Esure to select a T4 gpu for the runtime before training for accelerated training.
For validating the results, python validate.py param
offers to execute different experiments such as training on different datasets, measuring inference latencies or performing a hyperparameter search. There are the following parameters available:
param | Explanation |
---|---|
baseline |
Trains the MLP on a uniformly distributed synthetic dataset of |
synthetic |
Trains the MLP on a synthetic sampling trajectory of |
real |
Trains the MLP on a real-world dataset of |
duration |
Trains the MLP on a series of trajectories with increasing durations |
hyperparameters |
Performs a hyperparameter search |
latency |
Analyses the MLP's latency for inference and gradient computation |
nullspace |
Optimizes a robot configuration in order to improve the visibility |
To generate random sampling trajectories use python trajectory_generation.py
During the development of this project, we used the GitHub Copilot plugin for Visual Studio Code for semantic code completion.