-
Notifications
You must be signed in to change notification settings - Fork 1
Realsense camera ROS drivers with the Jetson TX2 #33
Comments
built librealsense2 from source with the help of: |
after following these steps (cloning a repo that supports opencv4): I could build successfully, however the cameras don't launch: D435:
T265:
|
Forgot to set the udev rules, cameras are now detected! Instructions are here: After I solved that I tried to run the launch file again but started having issues with space, I was getting really suspicious and with the help of chatgpt we figured out that there was a logfile called with enough free space to start the node, I once again try to start the launch file this time faced with this error: a quick google search leads me to this: which makes me suspect I might need to downgrade the firmware of the D435. |
connected the D435 to my laptop to downgrade the firmware with:
didnt help with the error |
ran out of space again which is odd. that same log file was 9GB. I deleted it again and started monitoring the storage on the Jetson. As soon as I plug in the camera I can see space running out on the Jetson in real time. I should probably read whats in that log file... UPDATE: it spams this
|
I'm now able to use both cameras in ROS, just cant view the raw pointcloud from the D435 without it crashing after a few seconds. I believe this has something to do with the TX2's kernel. To get around that we'll just convert the depth image to a laserscan. due to this issue you can't set enable_pointcloud to true. I had to build librealsense2 from source following this. This follows the Ubuntu install instructions and not the one for the Jetson because its outdated. I also didnt apply any kernel patches. I cloned the realsense ROS 1 branch into my ROS ws. I've added it as a submodule in the repo which can be downloaded with this time I installed the binary for cv_bridge (ros-melodic-cv-bridge) and manually changed a file to fix the opencv4 issue on the jetson: see here I also fixed the log spam with sudo apt-get purge uvcdynctrl |
To avoid rebuilding the source files for librealsense2 on the other TX2 (due to limited time and space constraints), I used The Another benefit of this method is that it allows for a clean uninstall with: |
Disable USB autosuspend on the TX2 (requires reboot): |
UPDATE: on a fresh Jetpack install I ended up installing the latest binaries for librealsense2 and realsense2 ros. We will continue with this configuration on the rover since we are using the latest Jetpack that doesn't support the official kernel modifications provided by intel and it is simpler and less of a headache to debug if we face issues. without the kernel modifications we see minimal performance benefits, and I found that adjusting camera parameters through rqt_reconfigure had a greater affect (things like lowering the exposure, and jpeg compression over remote ROS). L4T 32.7.3 [ JetPack 4.6.3 ] |
This is relevant for getting a pointcloud published. IntelRealSense/realsense-ros#2646 (comment) it requires |
Re-added git submodule for |
Upon building opencv, librealsense, and realsense-ros from source, errors were now occurring with the PCIe card. To resolve this, we disabled PCIe ASPM on the jetson (see wiki: https://github.com/MacRover/Rover/wiki/Disable-aspm) Now, there is an error that occurs when running only the t265.
This appears to be a bug in the linux kernel that has not been back-ported by nvidia to the tegra kernel running on the TX2. It does not appear to impact the performance of the cameras in any way. http://billauer.co.il/blog/2019/11/xhci-controller-bug-warning/ |
Documenting progress on getting Realsense D435 and T265 working with ROS Melodic on the Jetson TX2 with L4T 32.7.3.
simply installing the binaries of realsense2_camera and librealsense2 doesn't work when pointclouds are enabled, as ROS topics don't publish any messages (at least reliably).
JetsonUtilites output:
NVIDIA quill
L4T 32.7.3 [ JetPack 4.6.3 ]
Ubuntu 18.04.6 LTS
Kernel Version: 4.9.299-tegra
CUDA NOT_INSTALLED
CUDA Architecture: 6.2
OpenCV version: 4.1.1
OpenCV Cuda: NO
CUDNN: 8.2.1.32
TensorRT: 8.2.1.9
Vision Works: 1.6.0.501
VPI: 1.2.3
Vulcan: 1.2.70
The text was updated successfully, but these errors were encountered: