dychen24 / magx

Public repo for MagX paper
MIT License
21 stars 3 forks source link

Calibrate_Data returns nan ? #2

Closed Myzhencai closed 11 months ago

Myzhencai commented 1 year ago

Hi dychen,thanks for sharing . As you can see ,we have just make it with the instruction of your readme ,and the PCB works fine ,we just collect the data for calibration but wen we run the code :real_time_pos.py we got the error like this : image

and this is the collecte data of our PCB : file_name.csv

can you help with us for solving this issue ? is there any thing come with numpy or panda version make this happen? thanks for help:-) have a nice day:-0

Myzhencai commented 1 year ago

By the way this is the result of running real_time_pos.py :

image

E0109 17:16:21.871924 85589 trust_region_minimizer.cc:71] Terminating: Residual and Jacobian evaluation failed. Position: -2.00, 2.00, 11.00, dis=11.36 W0109 17:16:21.917574 89658 residual_block.cc:129]

Error in evaluating the ResidualBlock.

There are two possible reasons. Either the CostFunction did not evaluate and fill all
residual and jacobians that were requested or there was a non-finite value (nan/infinite) generated during the or jacobian computation.

Residual Block size: 8 parameter blocks x 3 residuals

For each parameter block, the value of the parameters are printed in the first column
and the value of the jacobian under the corresponding residual. If a ParameterBlock was held constant then the corresponding jacobian is printed as 'Not Computed'. If an entry of the Jacobian/residual array was requested but was not written to by user code, it is indicated by 'Uninitialized'. This is an error. Residuals or Jacobian values evaluating to Inf or NaN is also an error.

Residuals: inf inf 219.454

Parameter Block 0, size: 1

   -0.02 |      2096.42      656.464     -2226.92 

Parameter Block 1, size: 1

    0.02 |      656.464      2096.42      2226.92 

Parameter Block 2, size: 1

    0.11 |     -2226.92      2226.92     -4192.84 

Parameter Block 3, size: 1

       0 |     -109.786     -18.3308      79.8336 

Parameter Block 4, size: 1

       0 |            0            0            0 

Parameter Block 5, size: 1

2.82843e-05 | 1e+06 0 0

Parameter Block 6, size: 1

2.82843e-05 | 0 1e+06 0

Parameter Block 7, size: 1

       0 |            0            0        1e+06 
Myzhencai commented 1 year ago

By the way this is the result of running real_time_pos.py :

image

E0109 17:16:21.871924 85589 trust_region_minimizer.cc:71] Terminating: Residual and Jacobian evaluation failed. Position: -2.00, 2.00, 11.00, dis=11.36 W0109 17:16:21.917574 89658 residual_block.cc:129]

Error in evaluating the ResidualBlock.

There are two possible reasons. Either the CostFunction did not evaluate and fill all
residual and jacobians that were requested or there was a non-finite value (nan/infinite) generated during the or jacobian computation.

Residual Block size: 8 parameter blocks x 3 residuals

For each parameter block, the value of the parameters are printed in the first column
and the value of the jacobian under the corresponding residual. If a ParameterBlock was held constant then the corresponding jacobian is printed as 'Not Computed'. If an entry of the Jacobian/residual array was requested but was not written to by user code, it is indicated by 'Uninitialized'. This is an error. Residuals or Jacobian values evaluating to Inf or NaN is also an error.

Residuals: inf inf 219.454

Parameter Block 0, size: 1

   -0.02 |      2096.42      656.464     -2226.92 

Parameter Block 1, size: 1

    0.02 |      656.464      2096.42      2226.92 

Parameter Block 2, size: 1

    0.11 |     -2226.92      2226.92     -4192.84 

Parameter Block 3, size: 1

       0 |     -109.786     -18.3308      79.8336 

Parameter Block 4, size: 1

       0 |            0            0            0 

Parameter Block 5, size: 1

2.82843e-05 | 1e+06 0 0

Parameter Block 6, size: 1

2.82843e-05 | 0 1e+06 0

Parameter Block 7, size: 1

       0 |            0            0        1e+06 
Wangmerlyn commented 11 months ago

Screenshot from 2023-12-23 17-16-36 Based on the raw data returned from your sensor, there appears to be an issue with the raw data itself. The absolute values of the Z-axis readings are too large. When this occurs, it could be indicative of a malfunction in your sensor, or it might be caused by a sporadic issue. Please try resetting your sensor several times and then recalibrate it, ensuring that the readings are within the normal range of a few tens of microteslas before proceeding with subsequent operations. If you continue to get abnormal readings, it is possible that there is a problem with the sensor.