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

Eigen assertion thrown when generating trajectories in racing example #86

Open
lukeopteran opened this issue Mar 16, 2021 · 1 comment

Comments

@lukeopteran
Copy link
Contributor

Hi I am getting an assertion every time I run the racing.launch example. This only occurs running on Ubuntu 20.04LTS and ROS Noetic. It runs fine on Ubuntu 18.04 ROS Melodic. All using the default / example trajectory.

Here is the gdb backtrace:

[UnityBridge] Initializing ZMQ connection!
[UnityBridge] Initializing ZMQ connections done!
racing: /usr/local/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h:180: Eigen::DenseCoeffsBase<Derived, 0>::CoeffReturnType Eigen::DenseCoeffsBase<Derived, 0>::operator()(Eigen::Index) const [with Derived = Eigen::Matrix<double, -1, 1>; Eigen::DenseCoeffsBase<Derived, 0>::CoeffReturnType = const double&; Eigen::Index = long int]: Assertion `index >= 0 && index < size()' failed.

Thread 1 "racing" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff7691859 in __GI_abort () at abort.c:79
#2 0x00007ffff7691729 in __assert_fail_base (fmt=0x7ffff7827588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7ffff7ef338c "index >= 0 && index < size()",
file=0x7ffff7ef2478 "/usr/local/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h", line=180, function=) at assert.c:92
#3 0x00007ffff76a2f36 in __GI___assert_fail (assertion=0x7ffff7ef338c "index >= 0 && index < size()",
file=0x7ffff7ef2478 "/usr/local/include/eigen3/Eigen/src/Core/DenseCoeffsBase.h", line=180,
function=0x7ffff7ef2f30 "Eigen::DenseCoeffsBase<Derived, 0>::CoeffReturnType Eigen::DenseCoeffsBase<Derived, 0>::operator()(Eigen::Index) const [with Derived = Eigen::Matrix<double, -1, 1>; Eigen::DenseCoeffsBase<Derived, 0>:"...) at assert.c:101
#4 0x00007ffff7ecec4d in polynomial_trajectories::minimum_snap_trajectories::implementation::generateFVector(polynomial_trajectories::PolynomialTrajectorySettings const&, Eigen::Matrix<double, -1, 1, 0, -1, 1> const&, int) () from /home/luke/catkin_ws/devel/lib/libpolynomial_trajectories.so
#5 0x00007ffff7ed1ecf in polynomial_trajectories::minimum_snap_trajectories::generateMinimumSnapRingTrajectory(Eigen::Matrix<double, -1, 1, 0, -1, 1> const&, polynomial_trajectories::PolynomialTrajectorySettings const&) () from /home/luke/catkin_ws/devel/lib/libpolynomial_trajectories.so
#6 0x00007ffff7ed6cd5 in polynomial_trajectories::minimum_snap_trajectories::generateMinimumSnapRingTrajectory(Eigen::Matrix<double, -1, 1, 0, -1, 1> const&, polynomial_trajectories::PolynomialTrajectorySettings const&, double, double, double) () from /home/luke/catkin_ws/devel/lib/libpolynomial_trajectories.so
#7 0x000055555556c4a3 in main ()

I cannot get gdb to give me information from the Eigen matrices so will have to print it out...

I have tried multiple different libraries:

  1. In the Flightmare install-guide it says to use Google's Protobuffer Compiler 3.0.0 . However as Noetic is using Gazebo 11, the Gazebo messages appear to be built using v3.6.1. I have tried running with built from source 3.0.0 and latest 3.15.6. However I am using 3.6.1 to match Gazebo. Still getting the same error.
  2. Eigen > I have tried the default 3.3.7 (installed with flightmare), 3.3.4 (Melodic default) and the latest RC 3.4.99 but all throw the same assertion.

Any help (how to debug?) much appreciated, the Unity / graphics runs best in Ubuntu 20.04 so would prefer not to downgrade.

Thanks

@slimeth
Copy link
Contributor

slimeth commented Mar 20, 2021

@lukeopteran the error happens within rpg_quadrotor_control when computing the polynomial trajectory. So I would suggest you check this out and see if you might need to adapt anything for the more recent Eigen version. That project as well as Flightmare are optimized for Ubuntu 18.04 and Eigen 3.3.4.

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