iazdan / opendr

A modular, open and non-proprietary toolkit for core robotic functionalities by harnessing deep learning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A modular, open and non-proprietary toolkit for core robotic functionalities by harnessing deep learning


WebsiteAboutInstallationUsing OpenDR toolkitExamplesRoadmapChangelogLicense

License Test Suite (master) Test Packages

About

The aim of OpenDR Project is to develop a modular, open and non-proprietary toolkit for core robotic functionalities by harnessing deep learning to provide advanced perception and cognition capabilities, meeting in this way the general requirements of robotics applications in the applications areas of healthcare, agri-food and agile production. OpenDR provides the means to link the robotics applications to software libraries (deep learning frameworks, e.g., PyTorch and Tensorflow) to the operating environment (ROS). OpenDR focuses on the AI and Cognition core technology in order to provide tools that make robotic systems cognitive, giving them the ability to:

  1. interact with people and environments by developing deep learning methods for human centric and environment active perception and cognition,
  2. learn and categorize by developing deep learning tools for training and inference in common robotics settings, and
  3. make decisions and derive knowledge by developing deep learning tools for cognitive robot action and decision making.

As a result, the developed OpenDR toolkit will also enable cooperative human-robot interaction as well as the development of cognitive mechatronics where sensing and actuation are closely coupled with cognitive systems thus contributing to another two core technologies beyond AI and Cognition. OpenDR aims to develop, train, deploy and evaluate deep learning models that improve the technical capabilities of the core technologies beyond the current state of the art.

Installing OpenDR Toolkit

OpenDR can be installed in the following ways:

  1. By cloning this repository (CPU/GPU support)
  2. Using pip (CPU/GPU support only)
  3. Using docker (CPU/GPU support)

You can find detailed installation instruction in the documentation.

Using OpenDR toolkit

OpenDR provides an intuitive and easy to use Python interface, a C API for performance critical application, a wealth of usage examples and supporting tools, as well as ready-to-use ROS nodes. OpenDR is built to support Webots Open Source Robot Simulator, while it also extensively follows industry standards, such as ONNX model format and OpenAI Gym Interface. You can find detailed documentation in OpenDR wiki, as well as in the tools index.

Roadmap

OpenDR has the following roadmap:

  • v1.0 (2021): Baseline deep learning tools for core robotic functionalities
  • v2.0 (2022): Optimized lightweight and high-resolution deep learning tools for robotics
  • v3.0 (2023): Active perception-enabled deep learning tools for improved robotic perception

How to contribute

Please follow the instructions provided in the wiki.

How to cite us

If you use OpenDR for your research, please cite the following paper that introduces OpenDR architecture and design:

@article{opendr2022,
  title={OpenDR: An Open Toolkit for Enabling High Performance, Low Footprint Deep Learning for Robotics},
  author={Passalis, Nikolaos and Pedrazzi, Stefania and Babuska, Robert and Burgard, Wolfram and Dias, Daniel and Ferro, Francesco and Gabbouj, Moncef and Green, Ole and Iosifidis, Alexandros and Kayacan, Erdal and Kober, Jens and Michel, Olivier and Nikolaidis, Nikos and Nousi, Paraskevi and Pieters, Roel and Tzelepi, Maria and Valada, Abhinav and Tefas, Anastasios},
  journal={arXiv preprint arXiv:2203.00403},
  year={2022}
}

Acknowledgments

OpenDR project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 871449.

About

A modular, open and non-proprietary toolkit for core robotic functionalities by harnessing deep learning

License:Apache License 2.0


Languages

Language:Python 48.2%Language:Jupyter Notebook 41.2%Language:C++ 6.1%Language:EmberScript 3.2%Language:C 0.4%Language:Makefile 0.2%Language:CMake 0.2%Language:Shell 0.1%Language:Cython 0.1%Language:GLSL 0.1%Language:TeX 0.1%Language:Cuda 0.0%Language:HTML 0.0%Language:MATLAB 0.0%Language:Dockerfile 0.0%