-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XArm robot and RealSense D400 calibration - compatibility issues #3273
Comments
Hi @luciargonza2 RealSense does have a compatibility wrapper for ROS1. It has not been updated for a while as only the RealSense ROS2 wrapper is now actively developed. The ROS1 wrapper supports ROS1 versions up until Noetic (the final ROS1 version) though so it is probable that it could work with UFACTORY's ROS1 interface. https://github.com/IntelRealSense/realsense-ros/tree/ros1-legacy The recommended configuration for the ROS1 wrapper is librealsense 2.50.0, ROS1 wrapper 2.3.2 and camera firmware driver version 5.13.0.50. In regard to the Ubuntu version to use, the ROS1 wrapper is able to work with 18.04 for ROS1 Melodic or 20.04 for ROS1 Noetic. If you install librealsense 2.50.0 and ROS1 wrapper 2.3.2 from packages together at the same time then the installation will be based on the RSUSB backend, meaning that it should not matter what the kernel version is because when RSUSB = true, the kernel is bypassed and so the installation is not dependent on a particular Linux version or kernel version and does not require a kernel patch script to be applied to the kernel. You can install librealsense and the wrapper from packages together at the same time with the command below:
In regard to Windows, whilst it is technically possible to install the ROS wrapper on Windows or use WSL2, it can be very difficult to get working and so I would recommend installing on a computer using the Ubuntu OS if possible for you to do so. |
Hello Marty, Thank you for your reply. I followed your advice and installed ROS1 wrapper 2.3.2, with the corresponding librealsense 2.50.0, in ubuntu 20.4 with Noetic. Now I am trying to run this command to check the installation "roslaunch realsense2_camera rs_camera.launch", but the RealSense camera is not been detected. Also, I tried to enumerate the devices and I get this error "No device detected. Is it plugged in?". The kernel version that I am using is "5.15.167.4-microsoft-standard-WSL2" in Windows 11. But Im still getting the same error again: Could you help me taking a look at it once again? Thank you |
Detection of the D435if model was not added to the RealSense SDK and RealSense Viewer until version 2.54.1. So version 2.50.0 should not be able to detect the D435if when it is plugged in because the SDK was not yet programmed with this camera model's product ID (PID) number. Some RealSense ROS users have been able to use version 2.55.1 (which does have D435if support) with the 2.3.2 ROS1 wrapper, even though 2.55.1 was not designed for that wrapper. But it would require installing librealsense and the wrapper separately - librealsense installed first and the wrapper second. |
I researched UFACTORY's ROS2 support for xArm and found that they added support for ROS2 Humble in September 2022 and have updated it regularly since then. The RealSense ROS2 wrapper works with Humble, so you could use librealsense 2.55.1 with RealSense ROS2 wrapper version 4.55.1. |
Hello Marty, This time I installed the sdk version 2.54.1 and the wrapper 2.3.2 for ROS1 in Ubuntu Noetic 20.04. I also checked that the device was shared and attached from my Windows 11 to the WSL. The problem remains "No RealSense devices were found!". When I try to open Realsense-viewer, I get an info message saying "Cannot access /sys/class/video4linux" I believe I might be missing something bwhen installing librealsense 2.54.1 instead of 2.50.0. And when trying to enumerate the devices, no device is recognized either. Would getting a 435i camera solve this issue? |
A D435i can work with old RealSense versions such as 2.50.0. However, if you installed 2.54.1 and your D435if was still not detected then it suggests that the problem might be with WSL2 rather than the camera. You can test the camera in 2.54.1 in Windows instead of Ubuntu to confirm this by visiting the link below and then downloading and running the file Intel.RealSense.Viewer.exe from the 'Assets' file list at the bottom of the page at that link. If the 2.54.1 version of the RealSense Viewer tool detects the D435if correctly then it is likely that it is a WSL2 or Ubuntu issue. https://github.com/IntelRealSense/librealsense/releases/tag/v2.54.1 There was a WSL2 user at IntelRealSense/librealsense#10506 (comment) who was able to get RealSense working with WSL2 on Windows 11 by "completely unplugging and replugging the camera and also restarting WSL". Another RealSense WSL2 user who tried this method of getting the camera detected said that sometimes it worked for them and sometimes it didn't. |
Hi Marty, Now I am trying toinstall in ROS2. I installed ROS2 distro humble with Intel RealSense v2.55.1 SDK and 4.55.1 wrapper in Ubuntu 22.04 jummy 5.15.167.4-microsoft-standard-WSL2. I also checked that the camera was connected and shared with the wsl. However, I still get the problem that the camera is nor recognized. Any idea of why this happens and how can I solve the problem? Also, I realised of the following error, but I do not know how to solve this problem or if it's even significant. |
As Intel do not provide official support for using RealSense with WSL2, problems with it tend to only be solvable with advice from other RealSense WSL2 users. For example, a WSL2 user at the link below succeeded with instructions that recommended inputting the following command to copy the udev device handling rules before using the camera.
https://stackoverflow.com/questions/75335203/realsense-sdk-2-0-installation-in-ubuntu |
Also, the first message I got was that the repository was empty. I checked the script inside the patch-realsense-ubuntu-lts.sh I tried to look for the specific repository that I thought was trying to get connected to in this line: |
If you are using 2.50.0 and ROS1 Noetic then it is easiest to install librealsense 2.50.0 and ROS1 wrapper 2.3.2 together at the same time with the command below.
You do not need to apply a kernel patch script with this method because the librealsense that it installs is based on the RSUSB Backend, which bypasses the kernel. I am not familiar with how the kernel patch scripts work, so I do not have advice to offer about that subject. I do apologize. |
Hello Marty,
Please, could you provide some solution for this? either tell me how to instal sdk 2.50 from source without getting the patch issue or solving the warning error I have with this latest instalation. Here I provide the details of the error: roslaunch realsense2_camera rs_camera.launch started roslaunch server http://ubuntu-System-Product-Name:41111/ SUMMARYPARAMETERS
NODES auto-starting new master setting /run_id to d3d5c71a-c0d6-11ef-8a7b-b30cb1237c0f [ INFO] [1734921438.798562280]: Device with physical ID 4-3-5 was found. ^C[camera/realsense2_camera-3] killing on exit |
The realsense-viewer tool is not installed when using ** control_transfer returned** warnings indicate that there is a communication problem between the camera and computer which is usually caused by the USB system (the port or the cable). Sometimes topics can display normally in RViz even when the warnings are generating continuously in the log, but apparently not in your particular case, as shown when you performed the initial_reset. What happens if you change Fixed Frame in RViz from 'map' to camera_link librealsense can be installed from source code in a mode that bypasses the kernel if the libuvc backend installation procedure at the link below is used. https://github.com/IntelRealSense/librealsense/blob/master/doc/libuvc_installation.md The libuvc method has a pre-made build script called 'libuvc_installation.sh'. https://github.com/IntelRealSense/librealsense/blob/master/scripts/libuvc_installation.sh To install it with tools and examples such as realsense-viewer included, edit line 46 of the script from this:
to this:
After using this method and testing that librealsense and its tools are working correctly, you would afterwards have to build the ROS wrapper from source code using 'Method 2' of the ROS1 wrapper instructions. |
Issue Description
Good morning,
I’m reaching out for guidance on how to use an XArm 6 robot from UFACTORY with the RealSense D435i camera. I’ve been trying to follow the documentation from both companies but am encountering many compatibility issues.
Firstly, UFACTORY primarily supports ROS 1 and hasn’t updated its ROS 2 packages since 2022. On the other hand, Intel seems to focus on the opposite, which makes it challenging to determine the best approach.
In my case, I’m working on a Windows 11 computer, but I’ve also tried installing the necessary packages on Ubuntu. Regardless of the setup, I keep running into compatibility errors related to kernel versions, Ubuntu versions, the Librealsense SDK, and other dependencies.
I know there are people who use this exact combination of robots and RealSense cameras from the D400 series successfully. I’d like to ask if anyone could guide me on the specific versions I should install to avoid compatibility issues.
For example, I need advice on the following:
Firmware version
Operating system and version
Kernel version (if using the Linux subsystem on Windows)
Platform
Librealsense SDK version
ROS distribution
xArm ROS SDK version
RealSense ROS Wrapper version
Anything else that might be important to ensure everything works smoothly on my system would be incredibly helpful. At this point, I’ve tried many different combinations, and I’m unsure whether the issues are due to compatibility problems or other errors.
Thank you so much for your guidance.
Best regards,
Lucia
The text was updated successfully, but these errors were encountered: