Skip to content
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

new abort with an assert #22

Open
LucaFibbi opened this issue May 2, 2020 · 1 comment
Open

new abort with an assert #22

LucaFibbi opened this issue May 2, 2020 · 1 comment

Comments

@LucaFibbi
Copy link
Collaborator

I find an new assert with the attach test case.
I use this options:
TropDeal=UNB3m
Method=Kalman
Cut-off Angle=0
Kinematic No
Satellite system GPS
PPP NoSmooth
PPP Back Yes
run PPP

The assert is:
MG_APP: ../MG_APP/resources/myeigen/Eigen/src/Core/ProductBase.h:102: Eigen::ProductBase<Derived, Lhs, Rhs>::ProductBase(const Lhs&, const Rhs&) [with Derived = Eigen::GeneralProduct<Eigen::Matrix<double, -1, -1>, Eigen::Matrix<double, -1, 1>, 4>; Lhs = Eigen::Matrix<double, -1, -1>; Rhs = Eigen::Matrix<double, -1, 1>]: Assertion `a_lhs.cols() == a_rhs.rows() && "invalid matrix product" && "if you wanted a coeff-wise or a dot product use the respective explicit functions"' failed.

For use clk_30s files with backward filter and avoid the download of clk files, I changed the code like this:

diff --git a/QPPPBackSmooth.cpp b/QPPPBackSmooth.cpp
--- a/QPPPBackSmooth.cpp
+++ b/QPPPBackSmooth.cpp
@@ -42,6 +42,13 @@ QPPPBackSmooth::QPPPBackSmooth(QString files_path,  QTextEdit *pQTextEdit, QStri
     tempFilters.clear();
     tempFilters.append("*.clk");
     ClkFileNamesList = searchFilterFile(m_run_floder, tempFilters);
+    // if not find clk try clk_*
+    if(ClkFileNamesList.isEmpty())
+    {
+        tempFilters.clear();
+        tempFilters.append("*.clk_*");
+        ClkFileNamesList = searchFilterFile(m_run_floder, tempFilters);
+    }
     // find erp files
     tempFilters.clear();
     tempFilters.append("*.erp");

testassert_2.zip

@XiaoGongWei
Copy link
Owner

Thanks for your help. I downloaded the sp3 file, and this bug has been fixed and submitted. You can test again.
commit: a59042da6d659a052bc30113025dd355281ffe91

The reason (QPPPBackSmooth.cpp 659):
// use diff pos of X = PPP - SPP rather then X[0]=0; X[1]=0; X[2]=0;
for(int i = 0;i < 3;i++) X[i] = last_fillter_X[i] - temp_spp_pos[i];

1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants