Skip to content

Instantly share code, notes, and snippets.

@tfoldi
Last active October 14, 2024 06:11
Show Gist options
  • Save tfoldi/3f9cc2290be3f10955ce84105fcd170c to your computer and use it in GitHub Desktop.
Save tfoldi/3f9cc2290be3f10955ce84105fcd170c to your computer and use it in GitHub Desktop.
Yahboom Robor R2
#!/bin/bash
# Copyright (c) 2019-2020, NVIDIA CORPORATION. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of NVIDIA CORPORATION nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
# OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
logo_path="/usr/share/backgrounds/NVIDIA_Login_Logo.png"
# Set NVIDIA Logo after user login to desktop
if [ -x "/usr/bin/xsetbg" ] && [ -r "${logo_path}" ]; then
xsetbg -center "${logo_path}" -border black
fi
# Set screensaver as blank
if [ -x "/usr/bin/xset" ]; then
xset s blank s noexpose
fi
# Set nv_l4t_readme.desktop as trusted
if [ -f "/home/${USER}/Desktop/nv_l4t_readme.desktop" ]; then
chmod +x "/home/${USER}/Desktop/nv_l4t_readme.desktop"
gio set "/home/${USER}/Desktop/nv_l4t_readme.desktop" "metadata::trusted" yes
fi

Run docker with X11 with proper mappings

run_docker.sh

Set X11 resolution on touchscreen

xrandr --output HDMI-0 --panning 1280x720+0+0

Stream video from Robot

gst-launch-1.0 v4l2src device=/dev/video0 ! 'image/jpeg,width=1920,height=1080,framerate=30/1' ! jpegdec !  nveglglessink

VNC

tigervncserver

Docker

docker build . -t tfoldi/rosmaster:0.1

Calibration

ros2 run camera_calibration cameracalibrator --no-service-check   --size 12x9 --square  0.030 --pattern charuco  --charuco_marker_size 0.022 --aruco_dict "5x5_250"    --ros-args -r image:=/go2_camera/color/image
FROM yahboomtechnology/ros-foxy:4.0.7R2
ENV ROS_DISTRO foxy
COPY cyclonedds.xml /etc
RUN echo "deb [trusted=yes] https://download.eclipse.org/zenoh/debian-repo/ /" | tee -a /etc/apt/sources.list > /dev/null && \
apt update && \
sudo apt install -y libgflags-dev nlohmann-json3-dev \
ros-$ROS_DISTRO-image-transport ros-$ROS_DISTRO-image-publisher ros-$ROS_DISTRO-camera-info-manager \
ros-$ROS_DISTRO-diagnostic-updater ros-$ROS_DISTRO-diagnostic-msgs ros-$ROS_DISTRO-statistics-msgs \
ros-$ROS_DISTRO-apriltag ros-$ROS_DISTRO-image-pipeline \
ros-$ROS_DISTRO-backward-ros libdw-dev zenoh-bridge-ros2dds ros-$ROS_DISTRO-rmw-cyclonedds-cpp && \
echo 'export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp' | tee -a /root/.bashrc > /dev/null && \
echo 'export CYCLONEDDS_URI=file:///etc/cyclonedds.xml' | tee -a /root/.bashrc > /dev/null && \
git config --global user.name tfoldi && git config --global user.email [email protected]
RUN cd /root/yahboomcar_ros2_ws/software/library_ws/src && \
git clone https://github.com/orbbec/OrbbecSDK_ROS2 --depth=1 && \
git clone https://github.com/tfoldi/apriltag_ros --depth=1 && \
git clone https://github.com/christianrauch/apriltag_msgs && \
git clone --recurse-submodules https://github.com/tfoldi/yahboom_r2 && \
cd /root/yahboomcar_ros2_ws/software/library_ws && \
. /opt/ros/$ROS_DISTRO/setup.sh && \
colcon build --packages-up-to orbbec_camera && \
colcon build --packages-up-to apriltag_ros
#!/bin/bash
xhost +
docker run -it \
--rm \
--gpus all \
--net=host \
--env="DISPLAY" \
--env="QT_X11_NO_MITSHM=1" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /home/jetson/temp:/root/yahboomcar_ros2_ws/temp \
-v /home/jetson/rosboard:/root/rosboard \
-v /home/jetson/maps:/root/maps \
-v /home/jetson/src:/root/src \
-v /dev/bus/usb/001/012:/dev/bus/usb/001/012 \
-v /dev/bus:/dev/bus \
-v /home/jetson/.bashrc.docker:/root/.bashrc \
--device=/dev/myserial \
--device=/dev/rplidar \
--device=/dev/input \
--device=/dev/astradepth \
--device=/dev/astrauvc \
--device=/dev/video0 \
-p 9090:9090 \
-p 8888:8888 \
tfoldi/rosmaster:0.1 /bin/bash
net.ipv4.ipfrag_time=3
net.ipv4.ipfrag_high_thresh=134217728
net.core.rmem_max=2147483647
KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0777", SYMLINK+="rplidar"
#KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{devpath}=="2.4.2", ATTRS{idProduct}=="7523", MODE:="0777", SYMLINK+="myserial"
KERNEL=="ttyUSB*",ATTRS{devpath}=="2.4.4",ATTRS{idVendor}=="1a86",ATTRS{idProduct}=="7523",MODE:="0777",SYMLINK+="myserial"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment