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
"Error: No RealSense device." when calibrating IMU on Orange Pi 5 Plus #12906
Comments
Hi @MingyuPan2 This error with rs-imu-calibration.py has not been previously reported. Can you confirm that the RealSense Viewer is closed when you launch the calibration script, please? Some years ago the calibration script used to be important because an IMU calibration needed to be written to the camera hardware before an Enable Motion Correction option in 'Motion Module > Controls' would unlock. This option 'fixes' raw IMU data to make it more accurate. However, the motion correction option is now usually unlocked and enabled by default on IMU-equipped RealSense camera models, making the calibration script less important now. |
Thank you for the reply @MartyG-RealSense! Yes, the Viewer is closed when the script was launched. How much more accurate will the IMU be if i calibrate it? For now, my normal is about 9.74 for Mounting screw pointing down, device facing out. I also do not have the Gyro Sensitivity option in my viewer but can access everything else. Can this be a hardware compatibility issue? I just don't understand why the Viewer works fine but the script won't. |
The ideal target value is 9.80, so 9.74 is a very good current calibration and you likely do not currently need to perform a calibration of the IMU. The new variable gyro sensitivity feature requires SDK 2.55.1 and firmware 5.16.0.1. Sometimes the IMU calibration script does have problems for unknown reasons and there is not a workaround or solution for it. As your camera's IMU works fine with the Viewer, it is likely a software problem (SDK, kernel, etc) rather than a hardware one. When using RealSense cameras with a computing device that has a Rockchip (RK) chipset, it is recommendable to build the RealSense SDK from source code with the RSUSB backend installation method (-DFORCE_RSUSB_BACKEND=TRUE). |
Thank you! I will try the RSUSB backend method tomorrow. I also installed ROS2 Iron and the ROS2 wrapper today based on the official instructions. The build process did not give any errors, but when i try ros2 run realsense2_camera realsense2_camera_node, or ros2 launch realsense2_camera rs_launch.py, I get the error: Since my kernel version is 5.10.160-rockchip, is this another software compatibility issue because of the kernel version? |
It could be because it is currently a non-RSUSB installation of librealsense, yes. You could try performing a reset of the camera at launch with ros2 launch or ros2 run to see whether that makes a difference. ROS2 RUN ROS2 LAUNCH |
HI @MartyG-RealSense , I reinstalled and rebuilt everything with all the methods provided above (RSUSB,reset camera at launch), but the scripts still give the same error that No Realsense devices were found. Do you have any other idea of what the problem may be? Thank you! |
The error message in your opening comment in this discussion indicates that there is a problem with the old_settings instruction in lines 721 and 722 of the rs-imu-calibration script. What happens if you comment out these two lines and then run the script, please? |
I tried it a few days before. It just gives the same error without the Traceback (...): waiting for realsense device... Error: No RealSense device. |
You already have a very good calibration of 9.74 against an ideal of 9.80. That value is not likely to degrade over time. So at this point I would recommend putting the calibration attempts on hold, because what you already have is fine. |
For now, i am able to use the command (ros2 launch realsense2_camera rs_launch.py) to get the following output: [INFO] [launch]: All log files can be found below /home/mingyupan/.ros/log/2024-05-10-14-49-38-865772-MP-Orange5P-23393 I am currently looking up why it is giving the warnings. |
I note that you are using librealsense 2.55.1. The 2.54.2 version of librealsense should be used with wrapper 4.54.1. There is not a ROS wrapper for 2.55.1 at the time of writing this. The control_transfer returned warning indicates that there may be a communication problem between the camera and computer, likely related to the USB system (the port or the cable). Sometimes streams are able to be published successfully in RViz even if these warnings are generating in the log continuously, so please check RViz to see if the streams are displayed. |
Hi @MartyG-RealSense , thank you for the information! Yes, i can see the streams in RViz such as pointcloud, depth, rgb, infra&2. And the terminal still sometimes output errors such as: [WARN] [1715886051.829293254] [camera.camera]: No stream match for pointcloud chosen texture Process - Color Interestingly, whenever I try (rs-enumerate-devices), it always gives the following output: 16/05 15:05:43,107 ERROR [281473402728576] (handle-libusb.h:125) failed to claim usb interface: 0, error: RS2_USB_STATUS_BUSY I'm still in the process of testing the camera's functionalities, so are the errors something i should fix immediately or can i ignore them as long as RViz's output is normal? Thank you! |
As long as RViz's output is normal then it is usually safe to ignore log warnings. |
Issue Description
Hi, I am trying to calibrate the IMU in the D435i using the given code in /librealsense/tools/rs-imu-calibration.
Command: python3 rs-imu-calibration.py,
Output:
waiting for realsense device...
Error: No RealSense device.
Traceback (most recent call last):
File "/home/mingyupan/Documents/D435i/librealsense/tools/rs-imu-calibration/rs-imu-calibration.py", line 732, in
main()
File "/home/mingyupan/Documents/D435i/librealsense/tools/rs-imu-calibration/rs-imu-calibration.py", line 721, in main
if os.name == 'posix' and old_settings is not None:
UnboundLocalError: local variable 'old_settings' referenced before assignment
It seems that the "serial_no" was not recognized at all when the code was ran. However, in the realsense-viewer, I can view the IMU data perfectly normal, even with Stereo Module with Infrared 1,2 and RGB camera enabled all at the same time. What might be the issue?
The text was updated successfully, but these errors were encountered: