-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8a403d3
commit 8e25741
Showing
31 changed files
with
1,887 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Images | ||
*.gif filter=lfs diff=lfs merge=lfs -text | ||
*.jpg filter=lfs diff=lfs merge=lfs -text | ||
*.png filter=lfs diff=lfs merge=lfs -text | ||
*.psd filter=lfs diff=lfs merge=lfs -text | ||
|
||
# Archives | ||
*.gz filter=lfs diff=lfs merge=lfs -text | ||
*.tar filter=lfs diff=lfs merge=lfs -text | ||
*.zip filter=lfs diff=lfs merge=lfs -text | ||
# Documents | ||
*.pdf filter=lfs diff=lfs merge=lfs -text | ||
# Numpy data | ||
*.npy filter=lfs diff=lfs merge=lfs -text | ||
# Debian package | ||
*.deb filter=lfs diff=lfs merge=lfs -text |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Ignore all pycache files | ||
**/__pycache__/** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,4 @@ | ||
# JetROS Test | ||
# Isaac ROS Common | ||
|
||
Isaac ROS common utilities for use in conjunction with the Isaac ROS suite of packages. | ||
Note: Please refer to `scripts/README.md` for script used to setup dev environment |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,107 @@ | ||
# Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved. | ||
# | ||
# NVIDIA CORPORATION and its licensors retain all intellectual property | ||
# and proprietary rights in and to this software, related documentation | ||
# and any modifications thereto. Any use, reproduction, disclosure or | ||
# distribution of this software and related documentation without an express | ||
# license agreement from NVIDIA CORPORATION is strictly prohibited. | ||
|
||
# Dockder file to aarch64 based Jetson device | ||
ARG BASE_IMAGE=dustynv/ros:foxy-ros-base-l4t-r32.6.1 | ||
FROM ${BASE_IMAGE} | ||
|
||
# Disable terminal interaction for apt | ||
ENV DEBIAN_FRONTEND=noninteractive | ||
|
||
# Fundamentals | ||
RUN apt-get update && apt-get install -y \ | ||
build-essential \ | ||
cmake \ | ||
curl \ | ||
git \ | ||
sudo \ | ||
unzip \ | ||
vim \ | ||
wget \ | ||
software-properties-common \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Install OpenCV dependencies | ||
RUN apt-get update && apt-get install -y \ | ||
libavformat-dev \ | ||
libjpeg-dev \ | ||
libopenjp2-7-dev \ | ||
libpng-dev \ | ||
libpq-dev \ | ||
libswscale-dev \ | ||
libtbb2 \ | ||
libtbb-dev \ | ||
libtiff-dev \ | ||
pkg-config \ | ||
yasm \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Install additional packages needed for ROS2 dependencies | ||
RUN apt-get update && apt-get install -y \ | ||
python3-distutils \ | ||
libboost-all-dev \ | ||
libboost-dev \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# sklearn dependencies | ||
RUN apt-get update && apt-get install -y \ | ||
gfortran \ | ||
libatlas-base-dev \ | ||
python3-scipy \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# sklearn Python dependencies | ||
RUN python3 -m pip install -U \ | ||
Cython \ | ||
wheel | ||
|
||
# Install sklearn | ||
RUN python3 -m pip install -U \ | ||
scikit-learn | ||
|
||
# Install Git-LFS | ||
RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash && \ | ||
apt-get update && apt-get install -y \ | ||
git-lfs \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Install Realsense | ||
RUN apt update \ | ||
&& apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE \ | ||
&& add-apt-repository -y "deb https://librealsense.intel.com/Debian/apt-repo bionic main" -u \ | ||
&& apt-get install -y librealsense2-utils librealsense2-dev | ||
|
||
|
||
# Update environment | ||
ENV LD_LIBRARY_PATH="/opt/nvidia/vpi1/lib64:${LD_LIBRARY_PATH}" | ||
ENV LD_LIBRARY_PATH="/usr/lib/aarch64-linux-gnu/tegra:${LD_LIBRARY_PATH}" | ||
ENV LD_LIBRARY_PATH="/usr/local/cuda-10.2/targets/aarch64-linux/lib:${LD_LIBRARY_PATH}" | ||
ENV LD_LIBRARY_PATH="/usr/lib/aarch64-linux-gnu/tegra-egl:${LD_LIBRARY_PATH}" | ||
|
||
RUN echo "source /opt/ros/foxy/install/setup.bash" > /opt/ros/foxy/setup.bash | ||
|
||
# Restore using the default Foxy DDS middleware: FastRTPS | ||
ENV RMW_IMPLEMENTATION=rmw_fastrtps_cpp | ||
|
||
### ----------------------------- | ||
|
||
# Setup non-root admin user | ||
ARG USERNAME=admin | ||
ARG USER_UID=1000 | ||
ARG USER_GID=1001 | ||
|
||
# Create the 'admin' user | ||
RUN groupadd --gid $USER_GID $USERNAME \ | ||
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \ | ||
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ | ||
&& chmod 0440 /etc/sudoers.d/$USERNAME \ | ||
&& adduser admin video && adduser admin sudo | ||
|
||
COPY scripts/workspace-entrypoint.sh /home/$USERNAME/workspace-entrypoint.sh | ||
RUN chmod +x /home/$USERNAME/workspace-entrypoint.sh | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
# Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved. | ||
# | ||
# NVIDIA CORPORATION and its licensors retain all intellectual property | ||
# and proprietary rights in and to this software, related documentation | ||
# and any modifications thereto. Any use, reproduction, disclosure or | ||
# distribution of this software and related documentation without an express | ||
# license agreement from NVIDIA CORPORATION is strictly prohibited. | ||
# | ||
# Docker file to build on x86_64 | ||
ARG BASE_IMAGE=nvidia/cuda:11.2.0-devel-ubuntu20.04 | ||
FROM ${BASE_IMAGE} | ||
|
||
# disable terminal interaction for apt | ||
ENV DEBIAN_FRONTEND=noninteractive | ||
|
||
# Fundamentals | ||
RUN apt-get update && apt-get install -y \ | ||
bash-completion \ | ||
build-essential \ | ||
clang-format \ | ||
cmake \ | ||
curl \ | ||
git \ | ||
gnupg2 \ | ||
locales \ | ||
lsb-release \ | ||
rsync \ | ||
software-properties-common \ | ||
wget \ | ||
vim \ | ||
mlocate \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Python basics | ||
RUN apt-get update && apt-get install -y \ | ||
python3-flake8 \ | ||
python3-opencv \ | ||
python3-pip \ | ||
python3-pytest-cov \ | ||
python3-setuptools \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Video utilities | ||
RUN apt-get update && apt-get install -y \ | ||
v4l-utils \ | ||
mesa-utils \ | ||
libcanberra-gtk-module \ | ||
libcanberra-gtk3-module \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Core dev libraries | ||
RUN apt-get update && apt-get install -y \ | ||
libasio-dev \ | ||
libbullet-dev \ | ||
libtinyxml2-dev \ | ||
libcunit1-dev \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Python3 (PIP) | ||
RUN python3 -m pip install -U \ | ||
argcomplete \ | ||
autopep8 \ | ||
flake8 \ | ||
flake8-blind-except \ | ||
flake8-builtins \ | ||
flake8-class-newline \ | ||
flake8-comprehensions \ | ||
flake8-deprecated \ | ||
flake8-docstrings \ | ||
flake8-import-order \ | ||
flake8-quotes \ | ||
pytest-repeat \ | ||
pytest-rerunfailures \ | ||
pytest \ | ||
pydocstyle \ | ||
scikit-learn | ||
|
||
# Install Git-LFS | ||
RUN curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | bash && \ | ||
apt-get update && apt-get install -y \ | ||
git-lfs \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
# Install VPI packages | ||
ARG HAS_GPU | ||
COPY vpi/*.deb /opt/install/ | ||
RUN if [ "$HAS_GPU" = "true" ]; then \ | ||
dpkg -i /opt/install/vpi-lib-1.1.11-cuda11-x86_64-linux.deb; \ | ||
dpkg -i /opt/install/vpi-dev-1.1.11-cuda11-x86_64-linux.deb; \ | ||
updatedb; \ | ||
fi | ||
|
||
# Setup ROS2 Foxy | ||
RUN locale-gen en_US en_US.UTF-8 | ||
RUN update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 | ||
ENV LANG=en_US.UTF-8 | ||
|
||
RUN curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | apt-key add - | ||
RUN sh -c 'echo "deb [arch=$(dpkg --print-architecture)] http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main" > /etc/apt/sources.list.d/ros2-latest.list' | ||
|
||
RUN apt-get update && apt-get install -y \ | ||
python3-colcon-common-extensions \ | ||
python3-rosdep \ | ||
python3-vcstool \ | ||
ros-foxy-camera-calibration-parsers \ | ||
ros-foxy-camera-info-manager \ | ||
ros-foxy-desktop \ | ||
ros-foxy-launch-testing-ament-cmake \ | ||
ros-foxy-rqt* \ | ||
ros-foxy-turtlesim \ | ||
ros-foxy-v4l2-camera \ | ||
ros-foxy-realsense2-camera \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
||
RUN rosdep init | ||
|
||
# Install Realsense | ||
RUN apt update \ | ||
&& apt-key adv --keyserver keys.gnupg.net --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE \ | ||
|| apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE \ | ||
&& add-apt-repository -y "deb https://librealsense.intel.com/Debian/apt-repo bionic main" -u \ | ||
&& apt-get install -y librealsense2-utils librealsense2-dev | ||
|
||
# Restore using the default Foxy DDS middleware: FastRTPS | ||
ENV RMW_IMPLEMENTATION=rmw_fastrtps_cpp | ||
|
||
# Setup non-root admin user | ||
ARG USERNAME=admin | ||
ARG USER_UID=1000 | ||
ARG USER_GID=1001 | ||
|
||
# Create the 'admin' user | ||
RUN groupadd --gid $USER_GID $USERNAME \ | ||
&& useradd --uid $USER_UID --gid $USER_GID -m $USERNAME \ | ||
&& echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME \ | ||
&& chmod 0440 /etc/sudoers.d/$USERNAME \ | ||
&& adduser admin video && adduser admin sudo | ||
|
||
COPY scripts/workspace-entrypoint.sh /home/$USERNAME/workspace-entrypoint.sh | ||
RUN chmod +x /home/$USERNAME/workspace-entrypoint.sh | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#!/bin/bash | ||
# | ||
# Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved. | ||
# | ||
# NVIDIA CORPORATION and its licensors retain all intellectual property | ||
# and proprietary rights in and to this software, related documentation | ||
# and any modifications thereto. Any use, reproduction, disclosure or | ||
# distribution of this software and related documentation without an express | ||
# license agreement from NVIDIA CORPORATION is strictly prohibited. | ||
|
||
# Build ROS dependency | ||
echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc | ||
source /opt/ros/foxy/setup.bash | ||
|
||
sudo apt-get update | ||
rosdep update | ||
|
||
$@ |
Git LFS file not shown
Git LFS file not shown
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
## Individual Contributor License Agreement (CLA) | ||
|
||
**Thank you for submitting your contributions to this project.** | ||
|
||
By signing this CLA, you agree that the following terms apply to all of your past, present and future contributions | ||
to the project. | ||
|
||
### License. | ||
|
||
You hereby represent that all present, past and future contributions are governed by the | ||
[MIT License](https://opensource.org/licenses/MIT) | ||
copyright statement. | ||
|
||
This entails that to the extent possible under law, you transfer all copyright and related or neighboring rights | ||
of the code or documents you contribute to the project itself or its maintainers. | ||
Furthermore you also represent that you have the authority to perform the above waiver | ||
with respect to the entirety of you contributions. | ||
|
||
### Moral Rights. | ||
|
||
To the fullest extent permitted under applicable law, you hereby waive, and agree not to | ||
assert, all of your “moral rights” in or relating to your contributions for the benefit of the project. | ||
|
||
### Third Party Content. | ||
|
||
If your Contribution includes or is based on any source code, object code, bug fixes, configuration changes, tools, | ||
specifications, documentation, data, materials, feedback, information or other works of authorship that were not | ||
authored by you (“Third Party Content”) or if you are aware of any third party intellectual property or proprietary | ||
rights associated with your Contribution (“Third Party Rights”), | ||
then you agree to include with the submission of your Contribution full details respecting such Third Party | ||
Content and Third Party Rights, including, without limitation, identification of which aspects of your | ||
Contribution contain Third Party Content or are associated with Third Party Rights, the owner/author of the | ||
Third Party Content and Third Party Rights, where you obtained the Third Party Content, and any applicable | ||
third party license terms or restrictions respecting the Third Party Content and Third Party Rights. For greater | ||
certainty, the foregoing obligations respecting the identification of Third Party Content and Third Party Rights | ||
do not apply to any portion of a Project that is incorporated into your Contribution to that same Project. | ||
|
||
### Representations. | ||
|
||
You represent that, other than the Third Party Content and Third Party Rights identified by | ||
you in accordance with this Agreement, you are the sole author of your Contributions and are legally entitled | ||
to grant the foregoing licenses and waivers in respect of your Contributions. If your Contributions were | ||
created in the course of your employment with your past or present employer(s), you represent that such | ||
employer(s) has authorized you to make your Contributions on behalf of such employer(s) or such employer | ||
(s) has waived all of their right, title or interest in or to your Contributions. | ||
|
||
### Disclaimer. | ||
|
||
To the fullest extent permitted under applicable law, your Contributions are provided on an "as is" | ||
basis, without any warranties or conditions, express or implied, including, without limitation, any implied | ||
warranties or conditions of non-infringement, merchantability or fitness for a particular purpose. You are not | ||
required to provide support for your Contributions, except to the extent you desire to provide support. | ||
|
||
### No Obligation. | ||
|
||
You acknowledge that the maintainers of this project are under no obligation to use or incorporate your contributions | ||
into the project. The decision to use or incorporate your contributions into the project will be made at the | ||
sole discretion of the maintainers or their authorized delegates. |
Oops, something went wrong.