-
Notifications
You must be signed in to change notification settings - Fork 4.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
RealSense error calling rs2_run_on_chip_calibration_cpp(device:0x559eecacdfa0): hwmon command 0x80( 8 3 0 0 ) failed (response -7= HW not ready) #7087
Comments
Hi @96daja11 I have not personally seen that error before. If it works after a couple of attempts, it may be exactly what the error describes - that the camera is not ready at the time that the on-chip calibration call is made. You may be able to validate your theory about whether used cameras experience the problem more than factory-new ones by performing a gold reset on the older camera to reset it to factory defaults. A gold reset can also correct corruptions in the 'calibration table' stored in the camera. The gold reset procedure is performed by a program called CustomRW that is part of the Dynamic Calibrator software for the 400 Series cameras. You can initiate a gold reset by inputting the following text command: Intel.Realsense.CustomRW -g To install the Dynamic Calibrator tool on Linux, please refer to page 14 onward of the user guide for the tool. |
Hi @96daja11 Do you still require assistance with this case, please? Thanks! |
Hi! I have not really come to any more conclusion about why the problem occurs. I would like to know if you got any more inputs about this. Otherwise I do not need any more help for now. Thanks for the help! |
Thanks so much for the update! No, I have not come across any other cases of this particular error from other RealSense users since our last discussion. |
I am experiencing this exact error when running librealsense version: 2.38.1-0~realsense0.3378
|
This is kind of incredible but I narrowed it down to two code samples, one that works and one that doesn't.
This does not work
Something to do with setting up the pipeline inside a method and returning the device is causing problems, which to me indicates that something very strange is happening with global variables and scope. |
@Chandler Hello there, I hope you have solved this issue. Is doing the "gold reset" enough or did you had to do something else in addition? Any help is welcome, thanks in advance! |
I had this issue trying to do on-chip calibration through |
Thanks very much @joshuafishman for sharing your own experience! |
That's my conclusion as well: after many restarts, the auto-calibration works. |
I have a single unit of d435i, My task is calibration of it. Today I also met this problem with it, and then I decide to update Linux kernel drivers( by command ./scripts/patch-realsense-ubuntu-lts.sh), I I did reboot the PC, I started saw the problem is still there. After this I try press "Check for update" , later I did try to do the "on chip calibration", the problem has gone and I got “Health-Check" value as "0" (good). In addition I must I am remotely operating the PC in the lab at home, the font in my screen are small and fuzzy. |
thank u very much, I met the same problem and use your plan. Press "Check for update" really works. All my camera is fine |
Is there a solution for this issue? My devices are: D435i |
Hi @subox A couple of the RealSense users commenting above found that calibration eventually worked if they restarted their application at least several times. If you have created your own script for controlling on-chip calibration then you could also try incorporating a hardware_reset() instruction into your script to reset the camera when your program launches. Below are links to examples of code for doing so. C++ Python Also, have you tested calibrating wit the RealSense Viewer tool by going to the More option near the top of its options side-panel and selecting On-CHip Calibration from its drop-down menu, please? |
@MartyG-RealSense Thank you for the response but restarting a few times sometimes works (most of the time it doesn't). I'd like to check the self-calibration health status every time I run the application to be sure my values are good and they don't need dynamic calibration. The problem is that when I execute the official code example from https://dev.intelrealsense.com/docs/self-calibration-for-depth-cameras#appendix-b-details-on-self-calibration-flow-and-c-api, the errors occurs 90% of times of the next run the application. Here's the code I use:
The behavior is the same when I use a different config, for example: In the realsense-viewer, the autocalibration works but the purpose is to use the sdk. Do you know the solution to run self-calibration using the available API? |
@subox The most reliable librealsense SDK version for On-Chip calibration is 2.49.0. Newer versions (2.50, 2.51, 2.53) may experience initiation failures when starting On-Chip calibration. |
Thank you @MartyG-RealSense . When I compiled @MartyG-RealSense Can we reopen this issue, as it looks like all the recent releases for the last 1.5 years has a bug in self-calibration SDK? |
I will re-open the issue and consult with my Intel RealSense colleagues about it. |
I Also have this issue. I tried with a camera with firmware 05.11.01.100 with these sdks: 2.49.0, 2.50.0, without a success. So maybe the problem is in the firmware? |
Hi @avizipi Firmware 5.11.1.100 is very old and dates back to February 2019. On-Chip calibration was not introduced until later after this date and requires 5.12.2.100 or newer according to Intel's calibration user guide. https://dev.intelrealsense.com/docs/self-calibration-for-depth-cameras |
Hi @MartyG-RealSense , right now, the workaround is to use 1.5 years old build, which is ok, for now. Do you know when can we expect the fix for the self-calibration for releases newer than |
@subox There is not a fix being worked on at the time of writing this as it was an issue that had a small number of cases reported and RealSense users found that it could be overcome in some cases by resetting. I will raise the issue with my Intel RealSense colleagues to see if there is anything that can be done. In #7087 (comment) you state that an unplug-replug of the camera before running calibration is a solution in the newer SDK versions. Could you try adding a hardware_reset() instruction to the start of your script before calibration is activated, as this should have a similar effect to an unplug-replug of the camera but the reset will be performed automatically each time the script is run. A simple example of implementing hardware_reset() in C++ is shown below.
|
I have had further discussions with my Intel RealSense colleagues about this case. They stated that the disappearance of the Intrinsic and Extrinsic calibration options from the On-Chip interface in the RealSense Viewer from 2.50.0 onwards is intentional and not a bug. The interface design was simplified for the user by removing those options and just having a 'Calibrate' button. The design change was not referenced in the 2.50.0 SDK's release notes however, and so the missing options appeared to be a bug when it actually is not. They also stated that when trying out different versions between 2.49.0 and 2.53.1, the recommended firmware for each specific SDK version should be installed in the camera, as using firmware 5.14.0.0 with SDKs 2.49.0, 2.50.0 and 2.51.1 could cause problems. The recommended firmware for each SDK is: 2.53.1: 5.14.0.0 |
For us the case is worst because we want to work in production recommanded configuration. (https://dev.intelrealsense.com/docs/recommended-production-camera-configurations) So we will work in 2.38.1 and 5.12.7... Also to follow the camera calibration every time our system is booting we thought of running the calibration and follow the health score. So it is part of the boot sequence and we can not use the Real sense Viewer for it. |
If the camera is in a location where it is not going to receive physical shocks such as hard knocks, a drop on the ground or severe vibration then you will not likely need to perform a calibration check every time that the program is run as the camera should maintain good calibration. Even in a critical production environment where the camera has the potential to receive knocks there should not be the need to check calibration more often than once a week. So if the camera is in a protected position then you may be able to leave out the calibration check and use the latest SDK. |
In our case the cameras always suffer from physical shocks, drops to the ground or severe vibration. |
It may be worth trying to change the scan speed for the json speed setting of rs2_run_on_chip_calibration to see whether it improves stability and reduces the likelihood of the error occurring. To quote the relevant information from the self calibration guide: The rs2_run_on_chip_calibration command is a blocking call that has speed as an argument: 0 = Very fast (0.66 seconds), for small depth degradation There is a tradeoff between scan speed and degree of degradation. For slight degradation, “Very Fast” or “Fast” is acceptable, but for severe degradation, “Slow” may be necessary. In most cases, the recommended speed is “Medium”, which takes ~2.8 seconds to complete when running at 90 fps and scales in speed with frame rate. |
Hi @avizipi Do you require further assistance with this case, please? Thanks! |
Case closed due to no further comments received. |
@MartyG-RealSense is this issue resolved in the new SDK 2.55.1? or are there any specific params that I can use that make it work? |
Hi @eilat-inbal This rs2_run_on_chip_calibration issue occurs on a small number of PCs and may not necessarily be a problem in the SDK. If problems are encountered with the On-Chip calibration tool then as an alternative to performing a calibration I recommend instead resetting the camera to its factory-new calibration in the RealSense Viewer tool using instructions at #10182 (comment) |
thanks @MartyG-RealSense but unfortunately i am experiencing this issue. with sdk 2.45 it was not an issue. now upgraded to 2.55.1 and i am not able to run the calibration at all from the c++ and python SDK! |
Where problems with On-Chip calibration are experienced with modern SDK versions on a particular computer, typically it will work up until 2.49.0 and then have issues in 2.50.0 and newer. Significant changes were made to the calibration tool in 2.50.0, as listed at #9336 When you upgraded to 2.55.1, did you also update the camera's firmware driver to the 5.16.0.1 version recommended for 2.55.1 please? The SDK has an official on-chip example program for Python at the link below that you could test. There are also examples of programming the calibration interface for Python and C++ in the official guide to the calibration tool that you could compare to your own code to see whether anything in the procedure has been missed. |
Hi,
I am running tests on multiple cameras (around 10) to test whether all the D435i has similar behavior coming from the factory. One thing I am comparing is the performance with factory settings and after a on chip self calibration. I am also trying out some different kinds of visual presets. The issue is that sometimes the
The code I use for configuring the cameras can be seen below. The issue is that sometimes the cameras are giving the following error when running the run_on_chip_calibration command.
Sometimes yields
Do you know why this error occurs? Usually it works by just trying again a couple of times. From what I have noticed while working with multiple cameras is that this error seem to happen with cameras that has been used for some time, and never happens with cameras that are brand new from the supplier. But I am not sure if that has anything to do with the actual problem. Any ideas about this? Thankful for help!
The text was updated successfully, but these errors were encountered: