You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thank you for your great work.
I have some questions about the function "double2vector( )" in which the state does not compensate offset of the state of the first keyframe, i.e. Ps[0] and Rs[0]. However, in VINS-Fusion, this offset is considered which is equal to fixing the first keyframe. If this modification is ok when the GPS is lost?
GVINS:
`void Estimator::double2vector()
{
for (int i = 0; i <= WINDOW_SIZE; i++)
{
Rs[i] = Quaterniond(para_Pose[i][6], para_Pose[i][3],
para_Pose[i][4], para_Pose[i][5]).normalized().toRotationMatrix();
Ps[i] = Vector3d(para_Pose[i][0], para_Pose[i][1], para_Pose[i][2]);
Vs[i] = Vector3d(para_SpeedBias[i][0], para_SpeedBias[i][1], para_SpeedBias[i][2]);
Bas[i] = Vector3d(para_SpeedBias[i][3], para_SpeedBias[i][4], para_SpeedBias[i][5]);
Bgs[i] = Vector3d(para_SpeedBias[i][6], para_SpeedBias[i][7], para_SpeedBias[i][8]);
}
for (int i = 0; i < NUM_OF_CAM; i++)
{
tic[i] = Vector3d(para_Ex_Pose[i][0], para_Ex_Pose[i][1], para_Ex_Pose[i][2]);
ric[i] = Quaterniond(para_Ex_Pose[i][6], para_Ex_Pose[i][3],
para_Ex_Pose[i][4], para_Ex_Pose[i][5]).normalized().toRotationMatrix();
}
VectorXd dep = f_manager.getDepthVector();
for (int i = 0; i < f_manager.getFeatureCount(); i++)
dep(i) = para_Feature[i][0];
f_manager.setDepth(dep);
if (ESTIMATE_TD)
td = para_Td[0][0];
if (gnss_ready)
{
yaw_enu_local = para_yaw_enu_local[0];
for (uint32_t k = 0; k < 3; ++k)
anc_ecef(k) = para_anc_ecef[k];
R_ecef_enu = ecef2rotation(anc_ecef);
}
Thank you for your great work.
I have some questions about the function "double2vector( )" in which the state does not compensate offset of the state of the first keyframe, i.e. Ps[0] and Rs[0]. However, in VINS-Fusion, this offset is considered which is equal to fixing the first keyframe. If this modification is ok when the GPS is lost?
GVINS:
`void Estimator::double2vector()
{
for (int i = 0; i <= WINDOW_SIZE; i++)
{
}`
VINS:
void Estimator::double2vector()
{
Vector3d origin_R0 = Utility::R2ypr(Rs[0]);
Vector3d origin_P0 = Ps[0];
The text was updated successfully, but these errors were encountered: