zed-ros2-wrapper
jetson-containers
Our great sponsors
zed-ros2-wrapper | jetson-containers | |
---|---|---|
1 | 10 | |
131 | 1,624 | |
0.8% | - | |
8.2 | 9.9 | |
8 days ago | 6 days ago | |
C++ | Python | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
zed-ros2-wrapper
-
How to build ZED 2i Camera x ROS2 Foxy x Nvidia Jetson x Ubuntu 18.04 via Docker
# Based on https://gitlab.com/nvidia/container-images/l4t-base/-/blob/master/Dockerfile.l4t # https://github.com/dusty-nv/jetson-containers/blob/master/Dockerfile.ros.foxy # https://github.com/codustry/jetson-containers/blob/master/Dockerfile.ros.foxy ARG L4T_MINOR_VERSION=5.0 FROM codustry/ros:foxy-ros-base-l4t-r32.${L4T_MINOR_VERSION} # # ZED Jetson # https://github.com/stereolabs/zed-docker/blob/master/3.X/jetpack_4.X/devel/Dockerfile # ARG ZED_SDK_MAJOR=3 ARG ZED_SDK_MINOR=5 ARG JETPACK_MAJOR=4 ARG JETPACK_MINOR=5 #This environment variable is needed to use the streaming features on Jetson inside a container ENV LOGNAME root ENV DEBIAN_FRONTEND noninteractive RUN apt-get update -y && apt-get install --no-install-recommends lsb-release wget less udev sudo apt-transport-https build-essential cmake openssh-server libv4l-0 libv4l-dev v4l-utils binutils xz-utils bzip2 lbzip2 curl ca-certificates libegl1 python3 -y && \ echo "# R32 (release), REVISION: 5.0" > /etc/nv_tegra_release ; \ wget -q --no-check-certificate -O ZED_SDK_Linux_JP.run https://download.stereolabs.com/zedsdk/${ZED_SDK_MAJOR}.${ZED_SDK_MINOR}/jp${JETPACK_MAJOR}${JETPACK_MINOR}/jetsons && \ chmod +x ZED_SDK_Linux_JP.run ; ./ZED_SDK_Linux_JP.run silent skip_tools && \ rm -rf /usr/local/zed/resources/* \ rm -rf ZED_SDK_Linux_JP.run && \ rm -rf /var/lib/apt/lists/* #This symbolic link is needed to use the streaming features on Jetson inside a container RUN ln -sf /usr/lib/aarch64-linux-gnu/tegra/libv4l2.so.0 /usr/lib/aarch64-linux-gnu/libv4l2.so # # Configure Enviroment for ROS RUN echo 'source /opt/ros/foxy/install/setup.bash' >> ~/.bashrc # RUN echo "source /opt/ros/eloquent/setup.bash" >> ~/.bashrc RUN echo 'source /usr/share/colcon_cd/function/colcon_cd.sh' >> ~/.bashrc # RUN echo "export _colcon_cd_root=~/ros2_install" >> ~/.bashrc # echo $LD_LIBRARY_PATH RUN echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/targets/aarch64-linux/lib/stubs:/opt/ros/foxy/install/lib' >> ~/.bashrc WORKDIR /root/Downloads RUN wget https://developer.nvidia.com/embedded/L4T/r32_Release_v5.0/T186/Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN tar xf Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN cd Linux_for_Tegra && \ sed -i 's/config.tbz2\"/config.tbz2\" --exclude=etc\/hosts --exclude=etc\/hostname/g' apply_binaries.sh && \ sed -i 's/install --owner=root --group=root \"${QEMU_BIN}\" \"${L4T_ROOTFS_DIR}\/usr\/bin\/\"/#install --owner=root --group=root \"${QEMU_BIN}\" \"${L4T_ROOTFS_DIR}\/usr\/bin\/\"/g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/LC_ALL=C chroot . mount -t proc none \/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/umount ${L4T_ROOTFS_DIR}\/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/chroot . \// /g' nv_tegra/nv-apply-debs.sh && \ ./apply_binaries.sh -r / --target-overlay RUN rm -rf Tegra210_Linux_R32.4.4_aarch64.tbz2 && \ rm -rf Linux_for_Tegra && \ echo "/usr/lib/aarch64-linux-gnu/tegra" > /etc/ld.so.conf.d/nvidia-tegra.conf && ldconfig WORKDIR /usr/local/zed ENV CUDA_HOME=/usr/local/cuda WORKDIR /root/ros2_ws/src/ RUN source /opt/ros/foxy/install/setup.bash && cd ../ && colcon build --symlink-install RUN git clone https://github.com/stereolabs/zed-ros2-wrapper.git RUN git clone https://github.com/ros/diagnostics.git && cd diagnostics && git checkout foxy WORKDIR /root/ros2_ws RUN source /opt/ros/foxy/install/setup.bash && source $(pwd)/install/local_setup.bash && rosdep update && \ rosdep install --from-paths src --ignore-src -r --rosdistro ${ROS_DISTRO} -y && \ colcon build --symlink-install --cmake-args " -DCMAKE_BUILD_TYPE=Release" " -DCMAKE_LIBRARY_PATH=/usr/local/cuda/lib64/stubs" " -DCUDA_CUDART_LIBRARY=/usr/local/cuda/lib64/stubs" " -DCMAKE_CXX_FLAGS='-Wl,--allow-shlib-undefined'" && \ echo source $(pwd)/install/local_setup.bash >> ~/.bashrc && \ source ~/.bashrc
jetson-containers
-
Install ros 2 humble on jetson orin
https://github.com/dusty-nv/jetson-containers This one might be helpful
-
Should I use Docker ROS2?
That's the worst solution because you lose CUDA support, if you don't use the NANO's GPU you can use a Rpi4 instead that has a more powerful CPU. Docker is the solution instead, there are ready images for Jetson: https://github.com/dusty-nv/jetson-containers
-
troubles trying to install ros2 on jetson nano
Finally, if you don't want the full ros2 desktop on the nano (you may struggle with memory anyway) then jetson containers can run foxy etc with your existing jetpack version. https://github.com/dusty-nv/jetson-containers
-
Raspberry Pi4 Good Enough for SLAM?
I had to modify this dockerfile to get pangolin to work, but now it is the ORB_SLAM2_CODA portion that I cannot figure out.
-
How to build ZED 2i Camera x ROS2 Foxy x Nvidia Jetson x Ubuntu 18.04 via Docker
# Based on https://gitlab.com/nvidia/container-images/l4t-base/-/blob/master/Dockerfile.l4t # https://github.com/dusty-nv/jetson-containers/blob/master/Dockerfile.ros.foxy # https://github.com/codustry/jetson-containers/blob/master/Dockerfile.ros.foxy ARG L4T_MINOR_VERSION=5.0 FROM codustry/ros:foxy-ros-base-l4t-r32.${L4T_MINOR_VERSION} # # ZED Jetson # https://github.com/stereolabs/zed-docker/blob/master/3.X/jetpack_4.X/devel/Dockerfile # ARG ZED_SDK_MAJOR=3 ARG ZED_SDK_MINOR=5 ARG JETPACK_MAJOR=4 ARG JETPACK_MINOR=5 #This environment variable is needed to use the streaming features on Jetson inside a container ENV LOGNAME root ENV DEBIAN_FRONTEND noninteractive RUN apt-get update -y && apt-get install --no-install-recommends lsb-release wget less udev sudo apt-transport-https build-essential cmake openssh-server libv4l-0 libv4l-dev v4l-utils binutils xz-utils bzip2 lbzip2 curl ca-certificates libegl1 python3 -y && \ echo "# R32 (release), REVISION: 5.0" > /etc/nv_tegra_release ; \ wget -q --no-check-certificate -O ZED_SDK_Linux_JP.run https://download.stereolabs.com/zedsdk/${ZED_SDK_MAJOR}.${ZED_SDK_MINOR}/jp${JETPACK_MAJOR}${JETPACK_MINOR}/jetsons && \ chmod +x ZED_SDK_Linux_JP.run ; ./ZED_SDK_Linux_JP.run silent skip_tools && \ rm -rf /usr/local/zed/resources/* \ rm -rf ZED_SDK_Linux_JP.run && \ rm -rf /var/lib/apt/lists/* #This symbolic link is needed to use the streaming features on Jetson inside a container RUN ln -sf /usr/lib/aarch64-linux-gnu/tegra/libv4l2.so.0 /usr/lib/aarch64-linux-gnu/libv4l2.so # # Configure Enviroment for ROS RUN echo 'source /opt/ros/foxy/install/setup.bash' >> ~/.bashrc # RUN echo "source /opt/ros/eloquent/setup.bash" >> ~/.bashrc RUN echo 'source /usr/share/colcon_cd/function/colcon_cd.sh' >> ~/.bashrc # RUN echo "export _colcon_cd_root=~/ros2_install" >> ~/.bashrc # echo $LD_LIBRARY_PATH RUN echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-10.2/targets/aarch64-linux/lib/stubs:/opt/ros/foxy/install/lib' >> ~/.bashrc WORKDIR /root/Downloads RUN wget https://developer.nvidia.com/embedded/L4T/r32_Release_v5.0/T186/Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN tar xf Tegra186_Linux_R32.5.0_aarch64.tbz2 RUN cd Linux_for_Tegra && \ sed -i 's/config.tbz2\"/config.tbz2\" --exclude=etc\/hosts --exclude=etc\/hostname/g' apply_binaries.sh && \ sed -i 's/install --owner=root --group=root \"${QEMU_BIN}\" \"${L4T_ROOTFS_DIR}\/usr\/bin\/\"/#install --owner=root --group=root \"${QEMU_BIN}\" \"${L4T_ROOTFS_DIR}\/usr\/bin\/\"/g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/LC_ALL=C chroot . mount -t proc none \/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/umount ${L4T_ROOTFS_DIR}\/proc/ /g' nv_tegra/nv-apply-debs.sh && \ sed -i 's/chroot . \// /g' nv_tegra/nv-apply-debs.sh && \ ./apply_binaries.sh -r / --target-overlay RUN rm -rf Tegra210_Linux_R32.4.4_aarch64.tbz2 && \ rm -rf Linux_for_Tegra && \ echo "/usr/lib/aarch64-linux-gnu/tegra" > /etc/ld.so.conf.d/nvidia-tegra.conf && ldconfig WORKDIR /usr/local/zed ENV CUDA_HOME=/usr/local/cuda WORKDIR /root/ros2_ws/src/ RUN source /opt/ros/foxy/install/setup.bash && cd ../ && colcon build --symlink-install RUN git clone https://github.com/stereolabs/zed-ros2-wrapper.git RUN git clone https://github.com/ros/diagnostics.git && cd diagnostics && git checkout foxy WORKDIR /root/ros2_ws RUN source /opt/ros/foxy/install/setup.bash && source $(pwd)/install/local_setup.bash && rosdep update && \ rosdep install --from-paths src --ignore-src -r --rosdistro ${ROS_DISTRO} -y && \ colcon build --symlink-install --cmake-args " -DCMAKE_BUILD_TYPE=Release" " -DCMAKE_LIBRARY_PATH=/usr/local/cuda/lib64/stubs" " -DCUDA_CUDART_LIBRARY=/usr/local/cuda/lib64/stubs" " -DCMAKE_CXX_FLAGS='-Wl,--allow-shlib-undefined'" && \ echo source $(pwd)/install/local_setup.bash >> ~/.bashrc && \ source ~/.bashrc
-
Trying to install opencv-cuda on Jetson nano
Have you tried looking at some jetson nano docker images? https://github.com/dusty-nv/jetson-containers
-
Should I use ROS or ROS2 to make an obstacle avoidance robot that runs SLAM and which ROS "package" should I use given my hardware (like Noetic, or kinetic or Fitzroy etc)
Yeah, Nvidia has been very slow to release a 20.04 version, but they have provided a lot of Docker containers just for the Jetson for people to use. Here is the Nvidia dev that works on the project.
-
Newbie question: When given several containers full of demo code, how does one mix and match?
There are also pip wheels provided. You can easily install them into your system, even without using containers. Also, look at the l4t-ml Dockerfile, which merges some stuff from several containers, using Docker multi-stage builds.
What are some alternatives?
zed-docker - Docker images for the ZED SDK
docker-images - Official source of container configurations, images, and examples for Oracle products and projects
isaac_ros_apriltag - Hardware-accelerated Apriltag detection and pose estimation.
onnxruntime - ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator
Pangolin - Pangolin is a lightweight portable rapid development library for managing OpenGL display / interaction and abstracting video input.
AiDungeon2-Docker-ROCm - Runs an AIDungeon2 fork in Docker on AMD ROCm hardware.
openMVS - open Multi-View Stereo reconstruction library
tensorflow-on-arm - TensorFlow for Arm
container-images
tello-ros2 - ROS2 node for DJI Tello and Visual SLAM for mapping of indoor environments.
aws-lambda-docker-serverless-inference - Serve scikit-learn, XGBoost, TensorFlow, and PyTorch models with AWS Lambda container images support.