Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Synchronize master and develop #495

Merged
merged 68 commits into from
Dec 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
5fa025c
Add zenodo DOI badge (#396)
passalis Jan 17, 2023
561a66c
Update README.md (#406)
charsyme Feb 13, 2023
572ae75
facial expression recognition demo update (FPS added) (#405)
negarhdr Feb 15, 2023
e7b73ec
Merge `develop` into `master` (#412)
ad-daniel Feb 22, 2023
becc43c
Version bump (#413)
ad-daniel Feb 22, 2023
f2b5b05
remove qos_profile in message_filters subscribers (#420)
jelledouwe Mar 20, 2023
f96d846
Fix link to nanodet documentation (#421)
stefaniapedrazzi Mar 29, 2023
df01182
Update CODEOWNERS (#425)
ad-daniel Mar 31, 2023
d202dd2
Bump flask (#430)
dependabot[bot] May 15, 2023
6cfb5ce
Debug test failures on master branch (#431)
stefaniapedrazzi May 17, 2023
da36893
Update citation of Seq2Seq-NMS (#427)
charsyme May 17, 2023
dab9ed1
Fix tests on master branch (#438)
stefaniapedrazzi Jun 6, 2023
ca76ab9
Prepare v2.2.0 (#435)
stefaniapedrazzi Jul 3, 2023
b89ea14
Update release date (#445)
stefaniapedrazzi Jul 3, 2023
fb0e1d7
Added unzip installation as base ubuntu dependency and tool tests fix…
tsampazk Aug 24, 2023
629b6d5
Refactoring: pythonic joins in test_clang_format.py/test_cppcheck.py …
tosemml Aug 24, 2023
b3d6ce6
Fix publisher.yml workflow (#446)
stefaniapedrazzi Aug 29, 2023
60a0d98
Resolved conflicts
passalis Nov 13, 2023
a413761
Attempt to resolve av installation failure
passalis Nov 13, 2023
2eaf227
Fixed tests for HR pose estimation
passalis Nov 13, 2023
b932841
Revert target branch changes
passalis Nov 14, 2023
8daa94e
Merge pull request #478 from opendr-eu/merge-develop-into-master
passalis Nov 14, 2023
cb6bff4
Added new features and enhancements
passalis Nov 14, 2023
3cd912d
Added bugfixes
passalis Nov 14, 2023
d766e8d
Overhauled the installing from source (cloning) the toolkit section w…
tsampazk Nov 15, 2023
753be45
Added apt update
passalis Nov 16, 2023
4421916
Added apt update
passalis Nov 16, 2023
99e6d57
Bump jlumbroso/free-disk-space
passalis Nov 16, 2023
ca86706
Bump jlumbroso/free-disk-space
passalis Nov 16, 2023
d14bf50
Updated versions
passalis Nov 16, 2023
5a56922
Added speech_transcription to `packages.txt`
passalis Nov 16, 2023
d81b51a
Merge branch 'master' into prepare_v3
passalis Nov 16, 2023
65dd02b
disabling single_demo_grasp docker tests
passalis Nov 19, 2023
6688230
disabling single_demo_grasp docker tests
passalis Nov 19, 2023
f07c4e2
Added missing dependecies
passalis Nov 19, 2023
4d929b5
Added missing dependecies
passalis Nov 19, 2023
32de71a
Added gesture_recognition to `packages.txt`
passalis Nov 19, 2023
4908ae3
Added dependencies
passalis Nov 19, 2023
3bb2a28
Added dependecies
passalis Nov 19, 2023
fef1b9d
Added mising `__init__.py`
passalis Nov 19, 2023
dfac1a2
Added mising `__init__.py`
passalis Nov 19, 2023
1131eb1
Added mising `__init__.py`
passalis Nov 19, 2023
8f943ac
Added missing ``__init__.py``
passalis Nov 19, 2023
6bc7a3f
Create __init__.py
passalis Nov 19, 2023
62ebd45
Create __init__.py
passalis Nov 19, 2023
01f500d
Added missing `__init__.py`
passalis Nov 19, 2023
7a5fd90
Added missing intra-OpenDR dependency
passalis Nov 19, 2023
912d9aa
Fix individual tool installation
passalis Nov 19, 2023
5ff8cfa
Fix dependencies
passalis Nov 19, 2023
cd6156f
Fixed typo in dependecies
passalis Nov 19, 2023
2068a22
Update __init__.py
passalis Nov 19, 2023
fd24860
Update __init__.py
passalis Nov 19, 2023
ddf0da7
Update __init__.py
passalis Nov 19, 2023
2a39492
Update __init__.py
passalis Nov 19, 2023
997fc72
Update __init__.py
passalis Nov 19, 2023
61d6226
Update __init__.py
passalis Nov 19, 2023
25d823c
pep8 fixes
passalis Nov 19, 2023
e2b0380
Fix pep8 issues
passalis Nov 19, 2023
d4f7b69
Merge branch 'master' into merge_develop_to_master
passalis Nov 29, 2023
d5362a5
Merge pull request #491 from opendr-eu/merge_develop_to_master
passalis Nov 29, 2023
d674596
Merge branch 'master' into prepare_v3
passalis Nov 29, 2023
c9c7949
Merge branch 'master' into merge_develop_to_master
passalis Dec 2, 2023
aa5475b
Merge branch 'develop' into merge_develop_to_master
passalis Dec 2, 2023
2709659
Merge pull request #493 from opendr-eu/merge_develop_to_master
passalis Dec 2, 2023
29c4c59
Merge branch 'master' into prepare_v3
passalis Dec 2, 2023
53cbf33
Allow more recent OpenCV versions
passalis Dec 2, 2023
460198d
Update CHANGELOG.md
passalis Dec 4, 2023
a8f385f
Merge pull request #486 from opendr-eu/prepare_v3
passalis Dec 4, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test_packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,6 @@ jobs:
python-version: 3.8
- name: Test Docker
run: |
docker run --name toolkit -i opendr/opendr-toolkit:cpu_v2.2.0 bash
docker run --name toolkit -i opendr/opendr-toolkit:cpu_v3.0.0 bash
docker start toolkit
docker exec -i toolkit bash -c "source bin/activate.sh && source tests/sources/tools/control/mobile_manipulation/run_ros.sh && python3 -m unittest discover -s tests/sources/tools/${{ matrix.package }}"
20 changes: 12 additions & 8 deletions .github/workflows/tests_suite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Free Disk Space
uses: jlumbroso/free-disk-space@v1.2.0
uses: jlumbroso/free-disk-space@v1.3.1
- uses: actions/checkout@v3
with:
submodules: true
Expand Down Expand Up @@ -363,12 +363,13 @@ jobs:
export PYTHONPATH=$OPENDR_HOME/src:$PYTHONPATH
export ROS_DISTRO=noetic

sudo apt -y install python3.8-venv libfreetype6-dev git build-essential cmake python3-dev wget libopenblas-dev libsndfile1 libboost-dev python3-dev

sudo apt-get update
sudo apt -y install python3.8-venv libfreetype6-dev git build-essential cmake python3-dev wget libopenblas-dev libsndfile1 libboost-dev python3-dev python3-six ffmpeg

python3 -m venv venv
source venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install wheel==0.38.4
python3 -m pip install wheel==0.38.4 six

# install all tools one at a time
while read f; do
Expand Down Expand Up @@ -455,12 +456,13 @@ jobs:
export OPENDR_DEVICE=cpu
export ROS_DISTRO=noetic

sudo apt -y install python3.8-venv libfreetype6-dev git build-essential cmake python3-dev wget libopenblas-dev libsndfile1 libboost-dev libeigen3-dev
sudo apt-get update
sudo apt -y install python3.8-venv libfreetype6-dev git build-essential cmake python3-dev wget libopenblas-dev libsndfile1 libboost-dev libeigen3-dev python3-dev python3-six ffmpeg

python3 -m venv venv
source venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install wheel==0.38.4
python3 -m pip install wheel==0.38.4 six

# get the name of the wheel to install based on the test being run
package=$(sed "s/_/-/g" <<< ${{ matrix.package }})
Expand All @@ -480,6 +482,8 @@ jobs:
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-pose-estimation-*.tar.gz
elif [ ${{ matrix.package }} == "perception/heart_anomaly_detection" ]; then
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-compressive-learning-*.tar.gz
elif [ ${{ matrix.package }} == "perception/gesture_recognition" ]; then
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-object-detection-2d-*.tar.gz
elif [ ${{ matrix.package }} == "perception/multimodal_human_centric" ]; then
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-compressive-learning-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-object-detection-2d-*.tar.gz
Expand Down Expand Up @@ -541,13 +545,13 @@ jobs:
- perception/facial_expression_recognition
- simulation/human_model_generation
- control/mobile_manipulation
- control/single_demo_grasp
# - control/single_demo_grasp
- planning/end_to_end_planning
# - control/multi_object_search # needs CUDA Docker container
runs-on: ubuntu-20.04
steps:
- name: Free Disk Space
uses: jlumbroso/free-disk-space@v1.2.0
uses: jlumbroso/free-disk-space@v1.3.1
- name: Download artifact
uses: actions/download-artifact@v2
with:
Expand Down
18 changes: 11 additions & 7 deletions .github/workflows/tests_suite_develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,7 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Free Disk Space
uses: jlumbroso/free-disk-space@v1.2.0
uses: jlumbroso/free-disk-space@v1.3.1
- uses: actions/checkout@v3
with:
submodules: true
Expand Down Expand Up @@ -369,12 +369,13 @@ jobs:
export PYTHONPATH=$OPENDR_HOME/src:$PYTHONPATH
export ROS_DISTRO=noetic

sudo apt -y install python3.8-venv libfreetype6-dev git build-essential cmake python3-dev wget libopenblas-dev libsndfile1 libboost-dev python3-dev
sudo apt-get update
sudo apt -y install python3.8-venv libfreetype6-dev git build-essential cmake python3-dev wget libopenblas-dev libsndfile1 libboost-dev python3-dev python3-six ffmpeg

python3 -m venv venv
source venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install wheel==0.38.4
python3 -m pip install wheel==0.38.4 six

# install all tools one at a time
while read f; do
Expand Down Expand Up @@ -464,12 +465,13 @@ jobs:
export PYTHONPATH=$OPENDR_HOME/src:$PYTHONPATH
export ROS_DISTRO=noetic

sudo apt -y install python3.8-venv libfreetype6-dev git build-essential cmake python3-dev wget libopenblas-dev libsndfile1 libboost-dev libeigen3-dev
sudo apt-get update
sudo apt -y install python3.8-venv libfreetype6-dev git build-essential cmake python3-dev wget libopenblas-dev libsndfile1 libboost-dev libeigen3-dev python3-dev python3-six ffmpeg

python3 -m venv venv
source venv/bin/activate
python3 -m pip install --upgrade pip
python3 -m pip install wheel==0.38.4
python3 -m pip install wheel==0.38.4 six

# get the name of the wheel to install based on the test being run
package=$(sed "s/_/-/g" <<< ${{ matrix.package }})
Expand All @@ -489,6 +491,8 @@ jobs:
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-pose-estimation-*.tar.gz
elif [ ${{ matrix.package }} == "perception/heart_anomaly_detection" ]; then
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-compressive-learning-*.tar.gz
elif [ ${{ matrix.package }} == "perception/gesture_recognition" ]; then
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-object-detection-2d-*.tar.gz
elif [ ${{ matrix.package }} == "perception/multimodal_human_centric" ]; then
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-compressive-learning-*.tar.gz
python3 -m pip install --find-links ./artifact/wheel-artifact/ ./artifact/wheel-artifact/opendr-toolkit-object-detection-2d-*.tar.gz
Expand Down Expand Up @@ -550,13 +554,13 @@ jobs:
- perception/facial_expression_recognition
- simulation/human_model_generation
- control/mobile_manipulation
- control/single_demo_grasp
# - control/single_demo_grasp
- planning/end_to_end_planning
# - control/multi_object_search # needs CUDA Docker container
runs-on: ubuntu-20.04
steps:
- name: Free Disk Space
uses: jlumbroso/free-disk-space@v1.2.0
uses: jlumbroso/free-disk-space@v1.3.1
- name: Download artifact
uses: actions/download-artifact@v2
with:
Expand Down
46 changes: 46 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,51 @@
# OpenDR Toolkit Change Log

## Version 3.0.0
Released on Dec, 4, 2023.
- New Features:
- Binary High Resolution Learner ([#402](https://github.com/opendr-eu/opendr/pull/402))
- ROS2 node for EfficientLPS ([#404](https://github.com/opendr-eu/opendr/pull/404))
- Fall and wave detection ROS nodes ([#423](https://github.com/opendr-eu/opendr/pull/423))
- Continual SLAM: Adds a new SLAM tool for Continual SLAM ([#424](https://github.com/opendr-eu/opendr/pull/424))
- Add RGB gesture recognition ([#436](https://github.com/opendr-eu/opendr/pull/436))
- FSeq2-NMS ([#442](https://github.com/opendr-eu/opendr/pull/442))
- Intent recognition tool ([#443](https://github.com/opendr-eu/opendr/pull/443))
- Robotti human detection simulation demo ([#451](https://github.com/opendr-eu/opendr/pull/451))
- Object Detection 2D Class Filtering ([#467](https://github.com/opendr-eu/opendr/pull/467))
- RL-based Learner for Active Face Recognition ([#473](https://github.com/opendr-eu/opendr/pull/473))
- YOLOv5s Inference Demo with Optimized Weights for Agricultural Use ([#476]([#](https://github.com/opendr-eu/opendr/pull/)476))
- Adaptive HR Pose Estimation ([#479](https://github.com/opendr-eu/opendr/pull/479))
- Enhancements:
- Wave detection demo based on pose estimation ([#394](https://github.com/opendr-eu/opendr/pull/394))
- Facial expression recognition demo update ([#405](https://github.com/opendr-eu/opendr/pull/405))
- Object detection 2d camera demos ([#408](https://github.com/opendr-eu/opendr/pull/408))
- High Resolution Pose Estimation webcam demo ([#409](https://github.com/opendr-eu/opendr/pull/409))
- ROS nodes FPS performance measurements ([#419](https://github.com/opendr-eu/opendr/pull/419))
- Refactoring: pythonic joins in `test_clang_format.py`/`test_cppcheck.py` ([#455](https://github.com/opendr-eu/opendr/pull/455))
- Test-tools improvement ([#456](https://github.com/opendr-eu/opendr/pull/456))
- Adding prompt when transcribe with Whisper ([#462](https://github.com/opendr-eu/opendr/pull/462))

- Bug Fixes:
- Fix package creator and sources ([#390](https://github.com/opendr-eu/opendr/pull/390))
- Lightweight OpenPose tool fixes and improvements ([#392](https://github.com/opendr-eu/opendr/pull/392))
- Fall Detection - alternative infer input ([#397](https://github.com/opendr-eu/opendr/pull/397))
- Yolov5 training bugfix ([#401](https://github.com/opendr-eu/opendr/pull/401))
- Fix the dependency conflict of geffnet installation ([#410](https://github.com/opendr-eu/opendr/pull/410))
- Fix bug in GEM ROS2 node ([#420](https://github.com/opendr-eu/opendr/pull/420))
- Fix link to nanodet documentation ([#421](https://github.com/opendr-eu/opendr/pull/421))
- EfficientLPS panoptic segmentation coloring bug ([#426](https://github.com/opendr-eu/opendr/pull/426))
- Bump flask from 1.1.2 to 2.3.2 ([#430](https://github.com/opendr-eu/opendr/pull/430))
- Fix tests on master branch ([#438](https://github.com/opendr-eu/opendr/pull/438))
- Added unzip installation as base ubuntu dependency and tool tests fixes ([#454](https://github.com/opendr-eu/opendr/pull/454))
- Active face recognition demo and bug fixes on Face Recognition ([#459](https://github.com/opendr-eu/opendr/pull/459))
- GPU installation fix ([#463](https://github.com/opendr-eu/opendr/pull/463))
- Fix ROS1 nodes argparse issue with .launch files ([#465](https://github.com/opendr-eu/opendr/pull/465))
- Minor fix on yolov5 webcam demo ([#466](https://github.com/opendr-eu/opendr/pull/466))
- Apply cuDNN init fix to all Object Detectors 2D ([#469](https://github.com/opendr-eu/opendr/pull/469))
- Updated test_suite_develop.yml based on latest test_suite.yml ([#471](https://github.com/opendr-eu/opendr/pull/471))
- Fix fmpgmapping ([#472](https://github.com/opendr-eu/opendr/pull/472))
- Synchronization and bugfixes ([#478](https://github.com/opendr-eu/opendr/pull/478))

## Version 2.2.0
Released on July, 3rd, 2023.

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM ubuntu:20.04

ARG branch=develop
ARG branch=master
ARG ros_distro=noetic

# Install dependencies
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-cuda
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM nvidia/cuda:11.2.2-cudnn8-devel-ubuntu20.04

ARG branch=develop
ARG branch=master
ARG ros_distro=noetic

# Fix NVIDIA CUDA Linux repository key rotation
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-embedded
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ RUN echo 'source /opt/ros/${ROS_DISTRO}/setup.bash' >> /root/.bashrc
CMD ["bash"]
WORKDIR /

RUN git clone --depth 1 --recurse-submodules -j8 --branch develop https://github.com/opendr-eu/opendr
RUN git clone --depth 1 --recurse-submodules -j8 --branch master https://github.com/opendr-eu/opendr
RUN apt-get update
RUN cd ./opendr && ./bin/install_nvidia.sh $device
RUN cd ./opendr/projects/opendr_ws/src && \
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# OpenDR Toolkit Reference Manual

*Release 2.2.0*
*Release 3.0.0*
<div align="center">
<img src="images/opendr_logo.png" />
</div>
Expand Down
63 changes: 46 additions & 17 deletions docs/reference/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,14 +106,14 @@ Note that `opendr-toolkit` is actually just a metapackage that includes all the
## CPU docker
After installing [docker](https://docs.docker.com/engine/install/ubuntu/), you can directly run the OpenDR image as:
```bash
sudo docker run -p 8888:8888 opendr/opendr-toolkit:cpu_v2.2.0
sudo docker run -p 8888:8888 opendr/opendr-toolkit:cpu_v3.0.0
```
The docker automatically runs a Jupyter notebook server that listens at port 8888.
When launched, you can access the Jupyter notebook by following the link provided in the console, it should be similar to [http://127.0.0.1:8888/?token=TOKEN](http://127.0.0.1:8888/?token=TOKEN). In order to stop the container, please quit the Jupyter notebook.

If you do not wish to use Jupyter, you can also experiment by starting an interactive session by running:
```bash
sudo docker run -it opendr/opendr-toolkit:cpu_v2.2.0 /bin/bash
sudo docker run -it opendr/opendr-toolkit:cpu_v3.0.0 /bin/bash
```
In this case, do not forget to enable the virtual environment with:
```bash
Expand All @@ -122,18 +122,18 @@ source bin/activate.sh
If you want to display GTK-based applications from the Docker container (e.g., visualize results using OpenCV `imshow()`), then you should mount the X server socket inside the container, e.g.,
```bash
xhost +local:root
sudo docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY opendr/opendr-toolkit:cpu_v2.2.0 /bin/bash
sudo docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY opendr/opendr-toolkit:cpu_v3.0.0 /bin/bash
```

## GPU docker
If you want to use a CUDA-enabled container please install [nvidia-docker](https://github.com/NVIDIA/nvidia-docker).
Then, you can directly run the latest image with the command:
```bash
sudo docker run --gpus all -p 8888:8888 opendr/opendr-toolkit:cuda_v2.2.0
sudo docker run --gpus all -p 8888:8888 opendr/opendr-toolkit:cuda_v3.0.0
```
or, for an interactive session:
```bash
sudo docker run --gpus all -it opendr/opendr-toolkit:cuda_v2.2.0 /bin/bash
sudo docker run --gpus all -it opendr/opendr-toolkit:cuda_v3.0.0 /bin/bash
```
In this case, do not forget to enable the virtual environment with:
```bash
Expand All @@ -147,28 +147,61 @@ To install the toolkit, please first make sure that you have `git` available on
```bash
sudo apt install git
```
Then, clone the toolkit:

### Clone the toolkit

Then, shallow clone the toolkit:
```bash
git clone --depth 1 --recurse-submodules -j8 https://github.com/opendr-eu/opendr
```

If you want to install GPU-related dependencies, then you can appropriately set the `OPENDR_DEVICE` variable.
The toolkit defaults to using CPU.
Therefore, if you want to use GPU, please set this variable accordingly *before* running the installation script:
or if you intend to use it as a development environment clone it fully:
```bash
git clone --recurse-submodules -j8 https://github.com/opendr-eu/opendr
```

### Installing for GPU

If you want to install GPU-related dependencies, then you can appropriately set the `OPENDR_DEVICE` variable and install some
additional packages, otherwise skip this section.

To use GPU-enabled functionalities, you are strongly advised to install the following:

1. NVIDIA drivers >460.106.00:
2. CUDA 11.2:
1. cuda_11.2.0_460.27.04_linux.run from [here](https://developer.nvidia.com/cuda-11.2.0-download-archive?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=2004&target_type=runfilelocal)
2. Linux -> x86_64 -> Ubuntu-> 20.04 -> runfile local
3. Skip driver installation, since drivers are already installed in the previous step
3. cuDNN installed through [here](https://developer.nvidia.com/rdp/cudnn-archive)
1. Look for and download cuDNN v8.1.0 (January 26th, 2021), for CUDA 11.0, 11.1 and 11.2
2. cuDNN Runtime Library for Ubuntu20.04 x86_64 (Deb)

The toolkit defaults to using CPU. Therefore, if you want to use GPU, please set this variable accordingly
*before* running the installation script:

```bash
export OPENDR_DEVICE=gpu
```

If you want to use ROS or ROS2, then you need to set the `ROS_DISTRO` variable *before* running the installation script so that additional required dependencies are correctly installed.
**NOTE:** `OPENDR_DEVICE` does not alter the inference/training device at *runtime*.
It only affects the dependency installation.
You can use OpenDR API to change the inference device.

### Using ROS

If you want to use ROS or ROS2, then you need to set the `ROS_DISTRO` variable *before* running the installation script so that
additional required dependencies are correctly installed, otherwise skip this section.
This variable should be set to either `noetic` or `melodic` for ROS, and `foxy` or `humble` for ROS2.

### Installing the cloned repository

You are then ready to install the toolkit:
```bash
cd opendr
./bin/install.sh
```
The installation script automatically installs all the required dependencies.
Note that this might take a while (~10-20min depending on your machine and network connection), while the script also makes system-wide changes.
Note that this might take a while (~10-20 minutes depending on your machine and network connection), while the script also makes system-wide changes.
Using dockerfiles is strongly advised (please see below), unless you know what you are doing.
Please also make sure that you have enough RAM available for the installation (about 4GB of free RAM is needed for the full installation/compilation).

Expand All @@ -180,23 +213,19 @@ source ./bin/activate.sh
```
Then, you are ready to use the toolkit!

**NOTE:** `OPENDR_DEVICE` does not alter the inference/training device at *runtime*.
It only affects the dependency installation.
You can use OpenDR API to change the inference device.
### Verify the installation

You can also verify the installation by using the supplied Python and C unit tests:
```bash
make unittest
make ctests
```

If you plan to use GPU-enabled functionalities, then you are advised to install [CUDA 11.2](https://developer.nvidia.com/cuda-11.2.0-download-archive), along with [CuDNN](https://developer.nvidia.com/cudnn).

**HINT:** All tests probe for the `TEST_DEVICE` enviromental variable when running.
If this enviromental variable is set during testing, it allows for easily running all tests on a different device (e.g., setting `TEST_DEVICE=cuda:0` runs all tests on the first GPU of the system).


## Nvidia embedded devices docker
# Nvidia embedded devices docker
You can also run the corresponding docker image on an Nvidia embedded device (supported: TX-2, Xavier-NX and AGX):

Note that the embedded device should be flashed with Jetpack 4.6.
Expand Down
2 changes: 2 additions & 0 deletions packages.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
engine
perception/speech_recognition
perception/speech_transcription
perception/semantic_segmentation
perception/binary_high_resolution
perception/face_recognition
Expand All @@ -15,6 +16,7 @@ perception/object_detection_2d
perception/object_tracking_2d
perception/object_detection_3d
perception/object_tracking_3d
perception/gesture_recognition
perception/panoptic_segmentation
simulation/human_model_generation
utils/hyperparameter_tuner
Expand Down
2 changes: 1 addition & 1 deletion projects/opendr_ws/src/opendr_bridge/package.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>opendr_bridge</name>
<version>2.2.0</version>
<version>3.0.0</version>
<description>OpenDR ROS bridge package. This package provides a way to translate ROS messages into OpenDR data types
and vice versa.
</description>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<package format="2">
<name>opendr_data_generation</name>
<version>2.2.0</version>
<version>3.0.0</version>
<description>OpenDR's ROS nodes for data generation package</description>
<maintainer email="tefas@csd.auth.gr">OpenDR Project Coordinator</maintainer>
<license>Apache License v2.0 </license>
Expand Down
Loading
Loading