# Meeting Minutes (2023-08-18) * sdk - ros - realsense firmware ver 要對應 * D435i FW: https://dev.intelrealsense.com/docs/firmware-releases * The T265 does not have a firmware updater tool. Instead, new firmware files are included in the RealSense SDK software. [[Ref]](https://support.intelrealsense.com/hc/en-us/community/posts/360042627134-Firmware-upgrade-T265) * realsense-ros: https://github.com/IntelRealSense/realsense-ros/tree/ros1-legacy * librealsense installation: * https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md * https://github.com/IntelRealSense/librealsense/blob/master/scripts/libuvc_installation.sh (不能全部照跑,要確認firmware版本,所有版本要正確) * https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md#building-from-source-using-native-backend * mavros * the requested device with device name containing... -> realsense一直要port,導致飛控port"被搶" (衝突) # (Success) Building from Source using RSUSB Backend [[Ref]](https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md#building-from-source-using-rsusb-backend) ### Step 1: Remove all RS devices from NX ### Step 2: Preliminary Save as `libuvc_installation.sh` and run it. (This is a modified version of original libuvc_installation.sh) ``` #!/bin/bash -xe #Locally suppress stderr to avoid raising not relevant messages exec 3>&2 exec 2> /dev/null con_dev=$(ls /dev/video* | wc -l) exec 2>&3 if [ $con_dev -ne 0 ]; then echo -e "\e[32m" read -p "Remove all RealSense cameras attached. Hit any key when ready" echo -e "\e[0m" fi lsb_release -a echo "Kernel version $(uname -r)" sudo apt-get update cd ~/ sudo rm -rf ./librealsense_build mkdir librealsense_build && cd librealsense_build if [ $(sudo swapon --show | wc -l) -eq 0 ]; then echo "No swapon - setting up 1Gb swap file" sudo fallocate -l 2G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile sudo swapon --show fi echo Installing Librealsense-required dev packages sudo apt-get install git cmake libssl-dev freeglut3-dev libusb-1.0-0-dev pkg-config libgtk-3-dev unzip -y rm -f ./master.zip ``` Step 3: ``` git clone https://github.com/IntelRealSense/librealsense.git cd librealsense/ git checkout v2.52.1 echo Install udev-rules sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/ sudo cp config/99-realsense-d4xx-mipi-dfu.rules /etc/udev/rules.d/ sudo udevadm control --reload-rules && sudo udevadm trigger mkdir build && cd build #cmake ../ -DFORCE_LIBUVC=true -DCMAKE_BUILD_TYPE=release -DBUILD_WITH_CUDA=true cmake ../ -DFORCE_RSUSB_BACKEND=false -DCMAKE_BUILD_TYPE=release -DBUILD_WITH_CUDA=true make -j2 sudo make install echo -e "\e[92m\n\e[1mLibrealsense script completed.\n\e[0m" ``` Note that we set `-DFORCE_RSUSB_BACKEND=false` in order to prevent "(messenger-libusb.cpp:42) control_transfer returned error, index: 768, error: Resource temporarily unavailable, number: 11" The reference is from [here](https://github.com/IntelRealSense/realsense-ros/issues/2386#issuecomment-1189297091). [Build configuration parameters](https://dev.intelrealsense.com/docs/build-configuration) Step 4: Re-build realsense-ros # Building from Source using Native Backend [[Ref]](https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md#building-from-source-using-native-backend) The method was verified with Jetson AGX boards with JetPack 4.2.3[L4T 32.2.1,32.2.3], 4.3[L4T 32.3.1], 4.4[L4T 32.4.3], 4.5.1[L4T 32.5.1] and 5.0.2[L4T 35.1.0]. With Jetpack 5.1.1, the error occured: ![](https://hackmd.io/_uploads/rJL5jlAnh.png) Orin NX support at least Jetpack 5.1.1. Reference * https://github.com/IntelRealSense/librealsense/blob/master/scripts/patch-realsense-ubuntu-L4T.sh * https://github.com/IntelRealSense/librealsense/issues/12012 * https://github.com/IntelRealSense/librealsense/issues/10722#issuecomment-1230250762 * https://github.com/IntelRealSense/librealsense/blob/master/doc/libuvc_installation.md