CogRob / distributed-mapper

This library is an implementation of the algorithm described in Distributed Trajectory Estimation with Privacy and Communication Constraints: a Two-Stage Distributed Gauss-Seidel Approach.
https://cognitiverobotics.github.io/distributed-mapper/
113 stars 33 forks source link

error: static assertion failed: YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(ActualDstTypeCleaned,Src) #6

Closed NatureLan-sudo closed 2 years ago

NatureLan-sudo commented 2 years ago

When I finished make and input command: $ make check # optional, run unit tests The program failed with some errors @itzsid In file included from /usr/local/include/Eigen/Core:366:0, from /usr/local/include/Eigen/Dense:1, from /usr/local/include/gtsam/base/OptionalJacobian.h:22, from /usr/local/include/gtsam/base/Matrix.h:27, from /usr/local/include/gtsam/base/Manifold.h:22, from /usr/local/include/gtsam/base/Lie.h:25, from /home/nature/kitti/test_1/distributed-mapper/distributed_mapper_core/cpp/src/BetweenChordalFactor.h:21, from /home/nature/kitti/test_1/distributed-mapper/distributed_mapper_core/cpp/src/MultiRobotUtils.h:3, from /home/nature/kitti/test_1/distributed-mapper/distributed_mapper_core/cpp/src/DistributedMapper.h:3, from /home/nature/kitti/test_1/distributed-mapper/distributed_mapper_core/cpp/tests/testBetweenChordalFactor.cpp:7: /usr/local/include/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, -1, 1>; Src = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<double, 6, 6, 0, 6, 6> >; Func = Eigen::internal::assign_op<double, double>]’: /usr/local/include/Eigen/src/Core/PlainObjectBase.h:732:41: required from ‘Derived& Eigen::PlainObjectBase::_set_noalias(const Eigen::DenseBase&) [with OtherDerived = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<double, 6, 6, 0, 6, 6> >; Derived = Eigen::Matrix<double, -1, 1>]’ /usr/local/include/Eigen/src/Core/PlainObjectBase.h:537:19: required from ‘Eigen::PlainObjectBase::PlainObjectBase(const Eigen::DenseBase&) [with OtherDerived = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<double, 6, 6, 0, 6, 6> >; Derived = Eigen::Matrix<double, -1, 1>]’ /usr/local/include/Eigen/src/Core/Matrix.h:377:29: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::Matrix(const Eigen::EigenBase&) [with OtherDerived = Eigen::CwiseNullaryOp<Eigen::internal::scalar_constant_op, Eigen::Matrix<double, 6, 6, 0, 6, 6> >; _Scalar = double; int _Rows = -1; int _Cols = 1; int _Options = 0; int _MaxRows = -1; int _MaxCols = 1]’ /home/nature/kitti/test_1/distributed-mapper/distributed_mapper_core/cpp/tests/testBetweenChordalFactor.cpp:111:102: required from here /usr/local/include/Eigen/src/Core/AssignEvaluator.h:833:3: error: static assertion failed: YOU_MIXED_MATRICES_OF_DIFFERENT_SIZES EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(ActualDstTypeCleaned,Src) ^ tests/CMakeFiles/testBetweenChordalFactor.dir/build.make:62: recipe for target 'tests/CMakeFiles/testBetweenChordalFactor.dir/testBetweenChordalFactor.cpp.o' failed make[3]: [tests/CMakeFiles/testBetweenChordalFactor.dir/testBetweenChordalFactor.cpp.o] Error 1 CMakeFiles/Makefile2:365: recipe for target 'tests/CMakeFiles/testBetweenChordalFactor.dir/all' failed make[2]: [tests/CMakeFiles/testBetweenChordalFactor.dir/all] Error 2 CMakeFiles/Makefile2:284: recipe for target 'CMakeFiles/check.dir/rule' failed make[1]: [CMakeFiles/check.dir/rule] Error 2 Makefile:253: recipe for target 'check' failed make: [check] Error 2

I am very confused, Does anyone have the same problem as me

itzsid commented 2 years ago

Hi @lantianran, try testing this package inside the docker container: https://github.com/CogRob/distributed-mapper/tree/master/distributed_mapper_core/docker/distributed_mapper. It will avoid the installation issues.

bairuofei commented 2 years ago

I also have the same error message. I can still run the experiment successfully. However, when I want to plot the trajectory of robots in matlab, the trajectory files needs to be generated by make check in the installation process, which however has the above errors. Can someone help me with that?

wyhhhhhhhhh commented 5 months ago

我也有相同的错误消息。我仍然可以成功运行实验。但是,当我想在matlab中绘制机器人的轨迹时,需要在安装过程中生成轨迹文件,但是存在上述错误。有人可以帮我吗?make check

Hello, I have the same error, Did you solve it?