Skip to content
Snippets Groups Projects
Commit f800c919 authored by Pep Martí Saumell's avatar Pep Martí Saumell
Browse files

Merge branch 'single_differences' of...

Merge branch 'single_differences' of ssh://gitlab.iri.upc.edu:2202/mobile_robotics/gauss_project/gnss_utils into single_differences
parents e4fce6b6 cfbbda00
No related branches found
No related tags found
2 merge requests!20new tag,!19new tag
Subproject commit eac44a45c19ac56c0c031135e9818788b5993005 Subproject commit 465a7650663d8ad3274a1565573013648822a4e9
...@@ -26,9 +26,9 @@ public: ...@@ -26,9 +26,9 @@ public:
~UBloxRaw(); ~UBloxRaw();
RawDataType addDataStream(const std::vector<u_int8_t>& data_stream); RawDataType addDataStream(const std::vector<u_int8_t>& data_stream);
Observations& getObservations(); const Observations& getObservations();
Navigation& getNavigation(); const Navigation& getNavigation();
RawDataType getRawDataType() const; RawDataType getRawDataType() const;
...@@ -43,12 +43,12 @@ private: ...@@ -43,12 +43,12 @@ private:
void updateObservations(); void updateObservations();
}; };
inline GNSSUtils::Observations& UBloxRaw::getObservations() inline const GNSSUtils::Observations& UBloxRaw::getObservations()
{ {
return obs_; return obs_;
} }
inline GNSSUtils::Navigation& UBloxRaw::getNavigation() inline const GNSSUtils::Navigation& UBloxRaw::getNavigation()
{ {
return nav_; return nav_;
} }
......
...@@ -19,34 +19,38 @@ ComputePosOutput computePos(const GNSSUtils::Observations& _observations, ...@@ -19,34 +19,38 @@ ComputePosOutput computePos(const GNSSUtils::Observations& _observations,
sol_t sol; sol_t sol;
sol = { { 0 } }; sol = { { 0 } };
output.pos_stat = pntpos( output.pos_stat = pntpos(_observations.data(), _observations.size(),
_observations.data(), _observations.size(), &(_navigation.getNavigation()), &_prcopt, &sol, NULL, NULL, msg); &(_navigation.getNavigation()),
&_prcopt, &sol, NULL, NULL, msg);
if (output.pos_stat == 0)
{ if (output.pos_stat == 0)
std::cout << "computePos: error in computing positioning, message: " << msg << "\n"; {
} std::cout << "computePos: error in computing positioning, message: " << msg << "\n";
}
output.time = sol.time.time;
output.sec = sol.time.sec; output.time = sol.time.time;
output.pos = Eigen::Vector3d(sol.rr); output.sec = sol.time.sec;
std::cout << "Compute pos: " << output.pos.transpose() << "\n"; output.pos = Eigen::Vector3d(sol.rr);
output.vel = Eigen::Vector3d(&sol.rr[3]); output.vel = Eigen::Vector3d(&sol.rr[3]);
output.pos_covar << sol.qr[0], sol.qr[3], sol.qr[5], sol.qr[3], sol.qr[1], sol.qr[4], sol.qr[5], sol.qr[3], sol.qr[2]; output.pos_covar << sol.qr[0], sol.qr[3], sol.qr[5],
sol.qr[3], sol.qr[1], sol.qr[4],
// XXX: segmentation fault here. sol.qr[5], sol.qr[4], sol.qr[2];
// if (sol.dtr != NULL) //std::cout << "Compute pos: " << output.pos.transpose() << "\n";
// { //std::cout << "Covariance:\n" << output.pos_covar << "\n";
// output.rcv_bias << sol.dtr[0], sol.dtr[1], sol.dtr[2], sol.dtr[3], sol.dtr[4], sol.dtr[5];
// } // XXX: segmentation fault here.
output.type = sol.type; // if (sol.dtr != NULL)
output.stat = sol.stat; // {
output.ns = sol.ns; // output.rcv_bias << sol.dtr[0], sol.dtr[1], sol.dtr[2], sol.dtr[3], sol.dtr[4], sol.dtr[5];
output.age = sol.age; // }
output.ratio = sol.ratio; output.type = sol.type;
output.lat_lon = ecefToLatLonAlt(output.pos); output.stat = sol.stat;
output.ns = sol.ns;
return output; output.age = sol.age;
output.ratio = sol.ratio;
output.lat_lon = ecefToLatLonAlt(output.pos);
return output;
} }
// ComputePosOutput computePosOwn(const GNSSUtils::Observations & _observations, // ComputePosOutput computePosOwn(const GNSSUtils::Observations & _observations,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment