Giter Site home page Giter Site logo

mit-spark / kimera-vio-ros Goto Github PK

View Code? Open in Web Editor NEW
366.0 20.0 151.0 109.07 MB

ROS wrapper for Kimera-VIO

License: BSD 2-Clause "Simplified" License

CMake 1.07% C++ 85.06% Python 10.50% Shell 2.70% Dockerfile 0.68%
ros vio rviz rosbag catkin kimera-vio euroc slam reconstruction visual

kimera-vio-ros's Introduction

Kimera-VIO-ROS

ROS Wrapper for Kimera.

Publications

We kindly ask to cite our paper if you find this library useful:

@InProceedings{Rosinol20icra-Kimera,
  title = {Kimera: an Open-Source Library for Real-Time Metric-Semantic Localization and Mapping},
  author = {Rosinol, Antoni and Abate, Marcus and Chang, Yun and Carlone, Luca},
  year = {2020},
  booktitle = {IEEE Intl. Conf. on Robotics and Automation (ICRA)},
  url = {https://github.com/MIT-SPARK/Kimera},
  pdf = {https://arxiv.org/pdf/1910.02490.pdf}
}

1. Installation

A. Prerequisities

sudo apt-get install ros-noetic-image-geometry ros-noetic-pcl-ros ros-noetic-cv-bridge
  • System dependencies: First, update package list: sudo apt-get update
# For 20.04 (noetic)
sudo apt-get install -y --no-install-recommends apt-utils
sudo apt-get install -y \
      cmake build-essential unzip pkg-config autoconf \
      libboost-all-dev \
      libjpeg-dev libpng-dev libtiff-dev \
# Use libvtk5-dev, libgtk2.0-dev in ubuntu 16.04 \
      libvtk7-dev libgtk-3-dev \
      libatlas-base-dev gfortran \
      libparmetis-dev \
      python3-wstool python3-catkin-tools \

B. KimeraVIO ROS wrapper Installation

# Setup catkin workspace
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin init
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -DGTSAM_TANGENT_PREINTEGRATION=OFF
# On Ubuntu 16.04:
# catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -DGTSAM_USE_SYSTEM_EIGEN=ON -DGTSAM_TANGENT_PREINTEGRATION=OFF

catkin config --merge-devel

# Add workspace to bashrc for automatic sourcing of workspace.
echo 'source ~/catkin_ws/devel/setup.bash' >> ~/.bashrc

# Clone repo
cd ~/catkin_ws/src
# For ssh:
git clone [email protected]:MIT-SPARK/Kimera-VIO-ROS.git
# For https:
# git clone https://github.com/MIT-SPARK/Kimera-VIO-ROS.git

# Install dependencies from rosinstall file using wstool
wstool init # Use unless wstool is already initialized

# For ssh:
wstool merge Kimera-VIO-ROS/install/kimera_vio_ros_ssh.rosinstall
# For https
# wstool merge Kimera-VIO-ROS/install/kimera_vio_ros_https.rosinstall

# download and update repos:
wstool update

# Optionally install all dependencies that you might have missed:
# Some packages may report errors, this is expected
# rosdep install --from-paths . --ignore-src -r -y

Finally, compile:

# Compile code
catkin build

# Refresh workspace
source ~/catkin_ws/devel/setup.bash

2. Usage

Download a Euroc rosbag: for example V1_01_easy.

Online

  1. As a general good practice, open a new terminal and run: roscore

  2. In another terminal, launch KimeraVIO ROS wrapper:

roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch
  1. In another terminal, launch rviz for visualization:
rviz -d $(rospack find kimera_vio_ros)/rviz/kimera_vio_euroc.rviz

Note: this rviz configuration makes use of a rviz plugin: mesh_rviz_plugins. To visualize the textured 3D mesh, clone this plugin to your catkin workspace and catkin build it (note that this should be done automatically via wstool).

  1. Finally, in another terminal, launch the downloaded Euroc rosbag:
rosbag play --clock /PATH/TO/EUROC_ROSBAG

Note that you will need to both source ROS and your catkin_ws for each new terminal unless you added the following lines to your ~/.bashrc file:

source /opt/ros/noetic/setup.bash  # Change `noetic` for your ROS distribution.
source ~/catkin_ws/devel/setup.bash # Change `bash` to the shell you use.

Offline

In this mode, the provided rosbag will be first parsed and then sent to the VIO for processing. This is particularly useful when debugging to avoid potential ROS networking issues.

  • To run, launch the KimeraVIO ROS wrapper with the online parameter set to false and specify the rosbag's path:
roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch online:=false rosbag_path:="PATH/TO/ROSBAG"

Running Unit tests

To run unit tests using catkin for this specific package, call (after building the package and sourcing the workspace):

catkin run_tests --no-deps --this

Other functionalities

Using camera_info topics instead of Yaml parameters

It is sometimes convenient to use the camera_info topics to parse the camera's parameters. There is currently only one way to use these topics:

  • Offline: using the launch file launch/cam_info_yamlizer.launch which will generate yaml files out of the topics. You need to make sure that the frame_ids and the ROS topics are correctly set. Also, mind that the left/right cam frame ids are typically set as static tfs in a rosbag, therefore, first launch the node, and then run the rosbag (in case you see an exception bcs of a missing frame_id).

Restart Kimera-VIO

The typical use case is that you have multiple rosbags and you don't want to be killing Kimera-VIO(-ROS) each time. If this is your case, then we provide a rosservice to restart Kimera-VIO (it will do a hard restart, meaning the whole pipeline and data provider will be destructed and constructed again).

rosservice call /kimera_vio_ros/kimera_vio_ros_node/restart_kimera_vio

Note that Kimera-VIO will complain if timestamps are not strictly increasing. Therefore, one must follow these steps:

  1. Start Kimera-VIO and rosbag
  2. Stop rosbag
  3. Call rosservice to restart VIO
  4. Start another rosbag

Enable Dense Depth Stereo estimation

This will run OpenCV's StereoBM algorithm, more info can be found here (also checkout this to choose good parameters):

roslaunch kimera_vio_ros kimera_vio_ros_euroc run_stereo_dense:=1

This will publish a /stereo_gray/points2 topic, which you can visualize in Rviz as a 3D pointcloud. Alternatively, if you want to visualize the depth image, since Rviz does not provide a plugin to visualize a disparity image, we also run a disparity_image_proc nodelet that will publish the depth image to /stereo_gray/disparity_image_proc/depth/image_raw.

Hardware use

See the documentation on hardware setup for instructions on running KimeraROS on supported hardware platforms, as well as guides on how to develop for other platforms.

BSD License

KimeraVIO ROS wrapper is open source under the BSD license, see the LICENSE.BSD file.

kimera-vio-ros's People

Contributors

clungzta avatar gavanderhoorn avatar goldenzephyr avatar m-pilia avatar marcusabate avatar nathanhhughes avatar pantonante avatar sandro-berchier avatar sandroberchier avatar sisco0 avatar sunzezhou avatar tonirv avatar violetteavi avatar yuluntian avatar yunzc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kimera-vio-ros's Issues

ERROR Did not load frame id

The next launcher file gives an error:
$ roslaunch kimera_vio_ros kimera_ros_kitti.launch

WARNING: Package name "KimeraRPGO" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
... logging to /home/amburkoff/.ros/log/0d735e06-4cdd-11ea-a0db-34e12de90b0b/roslaunch-MSI-28614.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

WARNING: Package name "KimeraRPGO" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
started roslaunch server http://localhost:39089/

SUMMARY

PARAMETERS

  • /kimera_vio_ros/kimera_vio_ros/base_link_frame_id: base_link
  • /kimera_vio_ros/kimera_vio_ros/left_cam_frame_id: left_cam
  • /kimera_vio_ros/kimera_vio_ros/map_frame_id: map
  • /kimera_vio_ros/kimera_vio_ros/mono_ransac_threshold: 30
  • /kimera_vio_ros/kimera_vio_ros/online_run: True
  • /kimera_vio_ros/kimera_vio_ros/position_det_threshold: 0.3
  • /kimera_vio_ros/kimera_vio_ros/right_cam_frame_id: right_cam
  • /kimera_vio_ros/kimera_vio_ros/stereo_ransac_threshold: 20
  • /kimera_vio_ros/kimera_vio_ros/use_lcd: False
  • /kimera_vio_ros/kimera_vio_ros/velocity_det_threshold: 0.1
  • /kimera_vio_ros/kimera_vio_ros/world_frame_id: world
  • /kimera_vio_ros/posegraph_viewer/frame_id: world
  • /rosdistro: melodic
  • /rosversion: 1.14.3
  • /use_sim_time: True

NODES
/
velo_link_broadcaster (tf/static_transform_publisher)
/kimera_vio_ros/
kimera_vio_ros (kimera_vio_ros/kimera_vio_ros)
posegraph_viewer (pose_graph_tools/visualizer_node)

ROS_MASTER_URI=http://localhost:11311

WARNING: Package name "KimeraRPGO" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
process[kimera_vio_ros/kimera_vio_ros-1]: started with pid [28629]
process[kimera_vio_ros/posegraph_viewer-2]: started with pid [28630]
process[velo_link_broadcaster-3]: started with pid [28631]
[ INFO] [1581432298.134822116]: Initializing pose graph visualizer
[ERROR] [1581432298.135850744]: Did not load frame id
F0211 17:44:58.223088 28629 YamlParser.h:79] Cannot open file in parseYAML: /home/amburkoff/cb_ws/src/Kimera-VIO-ROS/param/Kitti/LeftCameraParams.yaml (remember that the first line should be: %YAML:1.0)

*** Check failure stack trace: ***
@ 0x7f854ca1fb0d google::LogMessage::Fail()
@ 0x7f854ca219b1 google::LogMessage::SendToLog()
@ 0x7f854ca1f63d google::LogMessage::Flush()
@ 0x7f854ca22369 google::LogMessageFatal::~LogMessageFatal()
@ 0x7f854ab41b12 VIO::CameraParams::parseYAML()
@ 0x7f854ab1a2ca VIO::parsePipelineParams<>()
@ 0x7f854ab1a64c VIO::DataProviderInterface::parseCameraParams()
@ 0x7f854ab1a6ad VIO::DataProviderInterface::parseParams()
@ 0x7f854ab1ac09 VIO::DataProviderInterface::DataProviderInterface()
@ 0x7f854ab1b185 VIO::DataProviderInterface::DataProviderInterface()
@ 0x55b959b5aa59 (unknown)
@ 0x55b959b7b48a (unknown)
@ 0x55b959b4542a (unknown)
@ 0x7f85492b4b97 __libc_start_main
@ 0x55b959b4824a (unknown)
[kimera_vio_ros/kimera_vio_ros-1] process has died [pid 28629, exit code -6, cmd /home/amburkoff/cb_ws/devel/lib/kimera_vio_ros/kimera_vio_ros --left_cam_params_path=/home/amburkoff/cb_ws/src/Kimera-VIO-ROS/param/Kitti/LeftCameraParams.yaml --right_cam_params_path=/home/amburkoff/cb_ws/src/Kimera-VIO-ROS/param/Kitti/RightCameraParams.yaml --imu_params_path=/home/amburkoff/cb_ws/src/Kimera-VIO-ROS/param/Kitti/ImuParams.yaml --backend_params_path=/home/amburkoff/cb_ws/src/Kimera-VIO-ROS/param/Kitti/regularVioParameters.yaml --frontend_params_path=/home/amburkoff/cb_ws/src/Kimera-VIO-ROS/param/Kitti/trackerParameters.yaml --use_lcd=false --lcd_params_path=/home/amburkoff/cb_ws/src/Kimera-VIO-ROS/param/Kitti/LCDParameters.yaml --vocabulary_path=/home/amburkoff/cb_ws/src/Kimera-VIO/vocabulary/ORBvoc.yml --flagfile=/home/amburkoff/cb_ws/src/Kimera-VIO-ROS/param/Kitti/flags/Mesher.flags --flagfile=/home/amburkoff/cb_ws/src/Kimera-VIO-ROS/param/Kitti/flags/VioBackEnd.flags --flagfile=/home/amburkoff/cb_ws/src/Kimera-VIO-ROS/param/Kitti/flags/RegularVioBackEnd.flags --flagfile=/home/amburkoff/cb_ws/src/Kimera-VIO-ROS/param/Kitti/flags/Visualizer3D.flags --logtostderr=1 --colorlogtostderr=1 --log_prefix=1 --v=0 --backend_type=1 --log_output=false --output_path=/home/amburkoff/cb_ws/src/Kimera-VIO-ROS/output_logs/ --visualize=false --parallel_run=True left_cam:=/kitti/camera_gray_left/image_raw right_cam:=/kitti/camera_gray_right/image_raw imu:=/kitti/oxts/imu reinit_flag:=reinit_flag reinit_pose:=reinit_pose odometry:=odometry resiliency:=resiliency imu_bias:=imu_bias optimized_trajectory:=optimized_trajectory pose_graph:=pose_graph mesh:=mesh frontend_stats:=frontend_stats debug_mesh_img:=debug_mesh_img time_horizon_pointcloud:=time_horizon_pointcloud __name:=kimera_vio_ros __log:=/home/amburkoff/.ros/log/0d735e06-4cdd-11ea-a0db-34e12de90b0b/kimera_vio_ros-kimera_vio_ros-1.log].
log file: /home/amburkoff/.ros/log/0d735e06-4cdd-11ea-a0db-34e12de90b0b/kimera_vio_ros-kimera_vio_ros-1
.log
*

  • Operating system and version: Ubuntu 18.04
  • Did you change the source code: no

Rosbag error

Description:
Thank you for your impressive work. I successfully run the Kimera-VIO-ROS, but it crashed because of the testing rosbag V1_01_easy.bag.

Command:

rosbag play --clock ~/Downloads/V1_01_easy.bag

Console output:


W0313 03:01:14.222038 21868 DataProviderModule.cpp:92] Waiting for IMU data...
F0313 03:01:14.765467 21868 QueueSynchronizer.h:111] Check failed: timestamp == payload_timestamp (1403715286162143000 vs. 1403715286212143000) Syncing queue data_provider_right_frame_queue in module Data Provider failed;
 Could not retrieve exact timestamp requested: 
 - Requested timestamp: 1403715286162143000
 - Actual timestamp:    1403715286212143000
*** Check failure stack trace: ***
    @     0x7f0f2015fb0d  google::LogMessage::Fail()
    @     0x7f0f201619b1  google::LogMessage::SendToLog()
    @     0x7f0f2015f63d  google::LogMessage::Flush()
    @     0x7f0f20162389  google::LogMessageFatal::~LogMessageFatal()
    @     0x7f0f1eccfb46  VIO::SimpleQueueSynchronizer<>::syncQueue()
    @     0x7f0f1ecc9cdb  VIO::DataProviderModule::getInputPacket()
    @     0x7f0f1ecd445c  VIO::PipelineModule<>::spin()
    @     0x55fb3f165087  (unknown)
    @     0x55fb3f1649c3  (unknown)
    @     0x55fb3f164ab9  (unknown)
    @     0x7f0f1f76b827  __pthread_once_slow
    @     0x55fb3f167096  (unknown)
    @     0x7f0f1e2d76ef  (unknown)
    @     0x7f0f1f7636db  start_thread
    @     0x7f0f1dd3288f  clone
[kimera_vio_ros/kimera_vio_ros_node-1] process has died [pid 21798, exit code -6, cmd /home/alan/catkin_ws/devel/lib/kimera_vio_ros/kimera_vio_ros_node --left_cam_params_path=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/LeftCameraParams.yaml --right_cam_params_path=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/RightCameraParams.yaml --imu_params_path=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/ImuParams.yaml --backend_params_path=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/regularVioParameters.yaml --frontend_params_path=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/trackerParameters.yaml --use_lcd=false --lcd_params_path=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/LCDParameters.yaml --vocabulary_path=/home/alan/catkin_ws/src/Kimera-VIO/vocabulary/ORBvoc.yml --flagfile=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/flags/Mesher.flags --flagfile=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/flags/VioBackEnd.flags --flagfile=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/flags/RegularVioBackEnd.flags --flagfile=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/flags/Visualizer3D.flags --logtostderr=1 --colorlogtostderr=1 --log_prefix=1 --v=0 --backend_type=1 --log_output=false --output_path=/home/alan/catkin_ws/src/Kimera-VIO-ROS/output_logs/ --visualize=false --parallel_run=true left_cam:=/cam0/image_raw right_cam:=/cam1/image_raw imu:=/imu0 reinit_flag:=reinit_flag reinit_pose:=reinit_pose odometry:=odometry resiliency:=resiliency imu_bias:=imu_bias optimized_trajectory:=optimized_trajectory pose_graph:=pose_graph mesh:=mesh frontend_stats:=frontend_stats debug_mesh_img:=debug_mesh_img feature_tracks:=feature_tracks time_horizon_pointcloud:=time_horizon_pointcloud __name:=kimera_vio_ros_node __log:=/home/alan/.ros/log/4d684728-64f8-11ea-b042-080027127613/kimera_vio_ros-kimera_vio_ros_node-1.log].
log file: /home/alan/.ros/log/4d684728-64f8-11ea-b042-080027127613/kimera_vio_ros-kimera_vio_ros_node-1*.log


Additional files:
Please attach all the files needed to reproduce the error.

Please give also the following information:

  • SparkVio branch, tag or commit used: a5109c
  • GTSAM version used:
  • OpenGV version used:
  • OpenCV version used:
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 18.04
  • Did you change the source code? (yes / no): no

"https://github.com/ToniRV/mesh_rviz_plugins" does not exist...

Description:
the repository may be private now?

Command:

wstool update

Console output:


Exception caught during install: Error processing 'mesh_rviz_plugins' : [mesh_rviz_plugins] Checkout of https://github.com/ToniRV/mesh_rviz_plugins.git version master into /home/xhy/allros_ws/kimeravio_ws/src/mesh_rviz_plugins failed.

ERROR in config: Error processing 'mesh_rviz_plugins' : [mesh_rviz_plugins] Checkout of https://github.com/ToniRV/mesh_rviz_plugins.git version master into /home/xhy/allros_ws/kimeravio_ws/src/mesh_rviz_plugins failed.


Additional files:
Please attach all the files needed to reproduce the error.

Please give also the following information:

  • SparkVio branch, tag or commit used
  • GTSAM version used:
  • OpenGV version used:
  • OpenCV version used: type opencv_version
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10):
  • Did you change the source code? (yes / no):

Porting to ROS2

I'd like to ask if there would be any interest in porting the Kimera ROS wrapper to ROS2. I'm currently in progress of developing the port, and am at a stage where I'd like to reach out to collaborate further. I have a compiling and running prototype modeled after the existing ROS1 wrapper, but included a number of performance improvement to take advantage on newer paradigms and features in ROS2. Areas I'd like to extend include:

References:

Build fails on Ubuntu 16.04 + ROS Kinetic due to missing dependencies

Description:
The installation instructions fail on a fresh installation of Ubuntu 16.04 + ROS Kinetic (official ros-kinetic-desktop-full package following the upstream ROS installation instructions).

Apparently mesh_rviz_plugins depends on the following packages that are not part of a default install (replace kinetic with relevant name for other ROS versions):

  • ros-kinetic-image-geometry
  • ros-kinetic-pcl-ros
  • ros-kinetic-cv-bridge

Command:

All the installation commands in the current version of README.md, up to

catkin build

Console output:

Errors     << mesh_rviz_plugins:cmake /home/martino/catkin_ws/logs/mesh_rviz_plugins/build.cmake.000.log                                                                                                                                                                          
CMake Error at /home/martino/catkin_ws/devel/share/catkin_simple/cmake/catkin_simple-extras.cmake:38 (find_package):
  By not providing "Findpcl_ros.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "pcl_ros", but
  CMake did not find one.

  Could not find a package configuration file provided by "pcl_ros" with any
  of the following names:

    pcl_rosConfig.cmake
    pcl_ros-config.cmake

  Add the installation prefix of "pcl_ros" to CMAKE_PREFIX_PATH or set
  "pcl_ros_DIR" to a directory containing one of the above files.  If
  "pcl_ros" provides a separate development package or SDK, be sure it has
  been installed.
Call Stack (most recent call first):
  CMakeLists.txt:5 (catkin_simple)
Errors     << mesh_rviz_plugins:cmake /home/martino/catkin_ws/logs/mesh_rviz_plugins/build.cmake.001.log                                                                                                                                                                          
CMake Error at /home/martino/catkin_ws/devel/share/catkin_simple/cmake/catkin_simple-extras.cmake:38 (find_package):
  By not providing "Findcv_bridge.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "cv_bridge", but CMake did not find one.

  Could not find a package configuration file provided by "cv_bridge" with
  any of the following names:

    cv_bridgeConfig.cmake
    cv_bridge-config.cmake

  Add the installation prefix of "cv_bridge" to CMAKE_PREFIX_PATH or set
  "cv_bridge_DIR" to a directory containing one of the above files.  If
  "cv_bridge" provides a separate development package or SDK, be sure it has
  been installed.
Errors     << mesh_rviz_plugins:cmake /home/martino/catkin_ws/logs/mesh_rviz_plugins/build.cmake.002.log                                                                                                                                                                          
CMake Error at /home/martino/catkin_ws/devel/share/catkin_simple/cmake/catkin_simple-extras.cmake:38 (find_package):
  By not providing "Findimage_geometry.cmake" in CMAKE_MODULE_PATH this
  project has asked CMake to find a package configuration file provided by
  "image_geometry", but CMake did not find one.

  Could not find a package configuration file provided by "image_geometry"
  with any of the following names:

    image_geometryConfig.cmake
    image_geometry-config.cmake

  Add the installation prefix of "image_geometry" to CMAKE_PREFIX_PATH or set
  "image_geometry_DIR" to a directory containing one of the above files.  If
  "image_geometry" provides a separate development package or SDK, be sure it
  has been installed.

Additional files:
Please attach all the files needed to reproduce the error.

Please give also the following information:

  • SparkVio branch, tag or commit used: 3e5bece
  • GTSAM version used:
  • OpenGV version used:
  • OpenCV version used: type opencv_version
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 16.04
  • Did you change the source code? (yes / no): no

Catkin build error

opencv3_catkin is not building correctly and preventing full installation. Any ideas on how to fix it ?

Errors << opencv3_catkin:make /home/bernardo/catkin_ws1/logs/opencv3_catkin/build.make.000.log
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/gflags/gflags-targets.cmake:37 (message):
Some (but not all) targets in this export set were already defined.

Targets Defined: gflags_shared;gflags_nothreads_shared

Targets not yet defined: gflags_static;gflags_nothreads_static

Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/gflags/gflags-config.cmake:10 (include)
/usr/local/lib/cmake/Ceres/FindGflags.cmake:327 (find_package)
/usr/local/lib/cmake/Ceres/CeresConfig.cmake:308 (find_package)
/home/bernardo/catkin_ws1/build/opencv3_catkin/opencv3_contrib_src/modules/sfm/CMakeLists.txt:8 (find_package)

make[2]: *** [opencv3_src-prefix/src/opencv3_src-stamp/opencv3_src-configure] Error 1
make[1]: *** [CMakeFiles/opencv3_src.dir/all] Error 2
make: *** [all] Error 2
cd /home/bernardo/catkin_ws1/build/opencv3_catkin; catkin build --get-env opencv3_catkin | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd -

Failed << opencv3_catkin:make [ Exited with code 2 ]
Failed <<< opencv3_catkin [ 8 minutes and 22.5 seconds ]
Abandoned <<< KimeraRPGO [ Unrelated job failed ]
Abandoned <<< kimera_vio [ Unrelated job failed ]
Abandoned <<< kimera_vio_ros [ Unrelated job failed ]
Finished <<< gtsam [ 11 minutes and 53.5 seconds ]
[build] Summary: 10 of 14 packages succeeded.
[build] Ignored: None.
[build] Warnings: 7 packages succeeded with warnings.
[build] Abandoned: 3 packages were abandoned.
[build] Failed: 1 packages failed.
[build] Runtime: 11 minutes and 53.5 seconds total.

CMake error on Ubuntu 16.04

Description:
It seems the syntax used in Kimera-VIO/cmake/kimera_vioConfig.cmake.in breaks the build on a fresh install of Ubuntu 16.04. Removing the version number from line 14 seems to fix the issue.

Command:

catkin build

Console output:

Errors     << kimera_vio_ros:cmake /home/martino/catkin_ws/logs/kimera_vio_ros/build.cmake.003.log                                                                                                                                                                                
CMake Error at /usr/share/cmake-3.5/Modules/CMakeFindDependencyMacro.cmake:45 (message):
  Invalid arguments to find_dependency
Call Stack (most recent call first):
  /home/martino/catkin_ws/devel/lib/cmake/kimera_vio/kimera_vioConfig.cmake:14 (find_dependency)
  /home/martino/catkin_ws/devel/share/catkin_simple/cmake/catkin_simple-extras.cmake:40 (find_package)
  CMakeLists.txt:16 (catkin_simple)

Additional files:
Please attach all the files needed to reproduce the error.

Please give also the following information:

  • SparkVio branch, tag or commit used: 6608e65
  • GTSAM version used:
  • OpenGV version used:
  • OpenCV version used: type opencv_version
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 16.04
  • Did you change the source code? (yes / no): no

RosBagDataProvider doesn't shut itself down

I found two infinite loops when using RosBagDataProvider in accordance with the DataProviderInterface expectations. Neither of them interfere with normal roslaunch usage, but I am documenting them here for future reference.

Parallel
A single call to RosbagDataProvider's spin() method loads the rosbag's contents into the pipeline's input queues, then polls and publishes the pipeline's output. There is no active mechanism currently in place to shut either down, so they both spin until the user kills the node manually. This not a huge issue as they process all the data before this infinite loop. A more elegant solution would end the infinite loop once all the data has been read and processed.

Sequential
It appears that neither RosbagDataProvider nor RosOnlineDataProvider have sequential modes. Their spin() methods spin until the ros node is terminated, so the typical sequential structure (below) deadlocks at the first call.

while (dataset_parser_->spin() && vio_pipeline_->spin()) { };

Neither of these are urgent. Sequential mode is unnecessary for ros nodes. The data is processed before deadlocking in the parallel case. However, it would be nice to refactor these classes to match the API expectations.

Kimera-VIO node crashes if loop closure detection is enabled

Description:
When running Kimera-VIO-ROS in real-time using a Mynt Eye S camera as data source, the Kimera node crashes at startup if the loop closure detector is enabled. If the LCD is disabled, the crash does not happen.

Command:

roslaunch kimera_vio_ros kimera_ros_mymynt.launch use_lcd:=true

Console output:

[ INFO] [1579263518.245934011]: Starting KimeraVIO wrapper for online
[ INFO] [1579263518.261440349]: >>>>>>> Started data subscribers <<<<<<<<
I0117 14:18:38.291894 11760 RegularVioBackEnd.cpp:113] Using Regular VIO backend.
I0117 14:18:38.292043 11760 LoopClosureDetector.cpp:98] LoopClosureDetector:: Loading vocabulary from /home/martino/catkin_ws/src/Kimera-VIO/vocabulary/ORBvoc.yml
F0117 14:18:38.414885 11881 RosOnlineDataProvider.cpp:156] Check failed: imu_single_callback_ Did you forget to register the IMU callback?
*** Check failure stack trace: ***
    @     0x7f5d24e4643d  google::LogMessage::Fail()
    @     0x7f5d24e48253  google::LogMessage::SendToLog()
    @     0x7f5d24e45fcb  google::LogMessage::Flush()
    @     0x7f5d24e48c3e  google::LogMessageFatal::~LogMessageFatal()
    @           0x47d06f  VIO::RosOnlineDataProvider::callbackIMU()
    @           0x48553b  boost::detail::function::void_function_obj_invoker1<>::invoke()
    @           0x49e2ee  ros::SubscriptionCallbackHelperT<>::call()
    @     0x7f5d242b0d8d  ros::SubscriptionQueue::call()
    @     0x7f5d24256838  ros::CallbackQueue::callOneCB()
    @     0x7f5d24257074  ros::CallbackQueue::callOne()
    @     0x7f5d242b4265  ros::AsyncSpinnerImpl::threadFunc()
    @     0x7f5d1bb295d5  (unknown)
    @     0x7f5d234e86ba  start_thread
    @     0x7f5d218a141d  clone
Full output (click to expand)
$ roslaunch kimera_vio_ros kimera_ros_mymynt.launch use_lcd:=true
WARNING: Package name "KimeraRPGO" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
... logging to /home/martino/.ros/log/f6f3aedc-3919-11ea-8226-a4c3f096aa6e/roslaunch-martino-ThinkPad-T480-11743.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

WARNING: Package name "KimeraRPGO" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
started roslaunch server http://martino-ThinkPad-T480:37317/

SUMMARY
========

PARAMETERS
 * /kimera_vio_ros/kimera_vio_ros/base_link_frame_id: base_link
 * /kimera_vio_ros/kimera_vio_ros/left_cam_frame_id: left_cam
 * /kimera_vio_ros/kimera_vio_ros/map_frame_id: map
 * /kimera_vio_ros/kimera_vio_ros/mono_ransac_threshold: 30
 * /kimera_vio_ros/kimera_vio_ros/online_run: True
 * /kimera_vio_ros/kimera_vio_ros/position_det_threshold: 0.3
 * /kimera_vio_ros/kimera_vio_ros/right_cam_frame_id: right_cam
 * /kimera_vio_ros/kimera_vio_ros/stereo_ransac_threshold: 20
 * /kimera_vio_ros/kimera_vio_ros/use_lcd: True
 * /kimera_vio_ros/kimera_vio_ros/velocity_det_threshold: 0.1
 * /kimera_vio_ros/kimera_vio_ros/world_frame_id: world
 * /kimera_vio_ros/posegraph_viewer/frame_id: world
 * /rosdistro: kinetic
 * /rosversion: 1.12.14
 * /use_sim_time: True

NODES
  /kimera_vio_ros/
    kimera_vio_ros (kimera_vio_ros/kimera_vio_ros)
    posegraph_viewer (pose_graph_tools/visualizer_node)

ROS_MASTER_URI=http://localhost:11311

WARNING: Package name "KimeraRPGO" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
process[kimera_vio_ros/kimera_vio_ros-1]: started with pid [11760]
process[kimera_vio_ros/posegraph_viewer-2]: started with pid [11761]
[ INFO] [1579263518.118055797]: Initializing pose graph visualizer
[ERROR] [1579263518.118760149]: Did not load frame id
I0117 14:18:38.180212 11760 CameraParams.cpp:31] Parsing camera parameters for: left_cam
I0117 14:18:38.180420 11760 CameraParams.cpp:31] Parsing camera parameters for: right_cam
I0117 14:18:38.180681 11760 DataProviderInterface.cpp:96] Running dataset between frame 50 and frame 10000
[ INFO] [1579263518.181391194]: >>>>>>> Initializing Kimera-VIO-ROS <<<<<<<
I0117 14:18:38.181444 11760 RosDataProvider.cpp:879] ================================================================================
 - Left camera info:
I0117 14:18:38.181465 11760 CameraParams.cpp:175] ------------ Camera ID: left_cam -------------
intrinsics_: 365.791000 , 365.396000 , 395.442000 , 251.729000 , 
I0117 14:18:38.181473 11760 CameraParams.cpp:178] body_Pose_cam_: 

|0.000849008, -0.999944, -0.0105228|
|0.999938, 0.000731755, 0.0111416|
|-0.0111333, -0.0105316, 0.999883|

[0.00180156, -0.0425878, 0.0265878]';


 gtsam calibration:
.K[
 	365.791       0 395.442;
    	      0 365.396 251.729;
    	      0       0       1
  ]

 gtsam calibration:
.k[-0.022520039; -0.008515824; 0.011157318; -0.006467303];
I0117 14:18:38.181605 11760 CameraParams.cpp:183] frame_rate_: 0.05
image_size_: width= 752 height= 480
camera_matrix_: 
[365.791, 0, 395.442;
 0, 365.396, 251.729;
 0, 0, 1]
distortion_model_: equidistant
distortion_coeff_: 
[-0.022520039, -0.008515824, 0.011157318, -0.006467303]
R_rectify_: 
[]
undistRect_map_y_ too large to display (only created in StereoFrame)
P_: 
[]
I0117 14:18:38.181645 11760 RosDataProvider.cpp:881] ================================================================================
 - Right camera info:
I0117 14:18:38.181658 11760 CameraParams.cpp:175] ------------ Camera ID: right_cam -------------
intrinsics_: 366.845000 , 366.261000 , 390.195000 , 256.602000 , 
I0117 14:18:38.181664 11760 CameraParams.cpp:178] body_Pose_cam_: 

|-0.00102832, -0.999971, -0.00756387|
|0.999947, -0.00110545, 0.0102007|
|-0.0102088, -0.00755298, 0.999919|

[0.0021576, 0.0765324, 0.0256731]';


 gtsam calibration:
.K[
 	366.845       0 390.195;
    	      0 366.261 256.602;
    	      0       0       1
  ]

 gtsam calibration:
.k[-0.018005025; -0.013159767; 0.014297214; -0.007286674];
I0117 14:18:38.181732 11760 CameraParams.cpp:183] frame_rate_: 0.05
image_size_: width= 752 height= 480
camera_matrix_: 
[366.845, 0, 390.195;
 0, 366.261, 256.602;
 0, 0, 1]
distortion_model_: equidistant
distortion_coeff_: 
[-0.018005025, -0.013159767, 0.014297214, -0.007286674]
R_rectify_: 
[]
undistRect_map_y_ too large to display (only created in StereoFrame)
P_: 
[]
I0117 14:18:38.181762 11760 RosDataProvider.cpp:883] ================================================================================
 - IMU info:
I0117 14:18:38.181772 11760 ImuFrontEndParams.cpp:89] ------------ ImuParams::print -------------
gyroscope_noise_density: 0.0125
gyroscope_random_walk: 2.3e-05
accelerometer_noise_density: 0.0169
accelerometer_random_walk: 0.0005
imu_integration_sigma: 1e-08
imu_time_shift: 0
n_gravity: 00000
00000
-9.81
I0117 14:18:38.181795 11760 RosDataProvider.cpp:885] ================================================================================
 - IMU params:
I0117 14:18:38.181802 11760 ImuFrontEndParams.cpp:89] ------------ ImuParams::print -------------
gyroscope_noise_density: 0.0125
gyroscope_random_walk: 2.3e-05
accelerometer_noise_density: 0.0169
accelerometer_random_walk: 0.0005
imu_integration_sigma: 1e-08
imu_time_shift: 0
n_gravity: 00000
00000
-9.81
I0117 14:18:38.181819 11760 RosDataProvider.cpp:887] ================================================================================
 - Backend params
I0117 14:18:38.181828 11760 VioBackEndParams.cpp:154] $$$$$$$$$$$$$$$$$$$$$ VIO PARAMETERS $$$$$$$$$$$$$$$$$$$$$
** INITIALIZATION parameters **
autoInitialize_: 1
initial_ground_truth_state_: 
I0117 14:18:38.181839 11760 DataProviderInterface-definitions.cpp:35] ---  --- 

 pose: 
R:
[
 	1 0 0;
    	0 1 0;
    	0 0 1
  ]
I0117 14:18:38.181881 11760 DataProviderInterface-definitions.cpp:37] 
 velocity: 
0 0 0
[0, 0, 0]';
 imuBias: 
acc = [0, 0, 0]' gyro = [0, 0, 0]'
I0117 14:18:38.181913 11760 VioBackEndParams.cpp:159] roundOnAutoInitialize_: 0
initialPositionSigma: 1e-05
initialRollPitchSigma: 0.174533
initialYawSigma: 0.00174533
initialVelocitySigma: 0.001
initialAccBiasSigma: 0.1
initialGyroBiasSigma: 0.01
** VISION parameters **
linearizationMode_: 0 HESSIAN, IMPLICIT_SCHUR, JACOBIAN_Q, JACOBIAN_SVD 
degeneracyMode_: 1 IGNORE_DEGENERACY, ZERO_ON_DEGENERACY, HANDLE_INFINITY 
rankTolerance_: 1
landmarkDistanceThreshold_: 15
outlierRejection_: 8
retriangulationThreshold_: 0.001
addBetweenStereoFactors_: 1
betweenRotationPrecision_: 0
betweenTranslationPrecision_: 100
** OPTIMIZATION parameters **
relinearizeThreshold_: 0.01
relinearizeSkip_: 1
zeroVelocitySigma_: 0.001
noMotionPositionSigma_: 0.001
noMotionRotationSigma_: 0.0001
constantVelSigma_: 0.01
numOptimize_: 1
horizon_: 5
useDogLeg_: 0
I0117 14:18:38.181957 11760 RosDataProvider.cpp:889] ================================================================================
I0117 14:18:38.181964 11760 LoopClosureDetectorParams.cpp:113] $$$$$$$$$$$$$$$$$$$$$ LCD PARAMETERS $$$$$$$$$$$$$$$$$$$$$
image_width_: 752
image_height_: 480
focal_length_: 1
principle_point_: [0, 0]
use_nss_: 1
alpha_: 0.001
min_temporal_matches_: 1
dist_local_: 1
max_db_results_: 50
max_db_results_: 50
min_nss_factor_: 0.05
min_matches_per_group_: 1
max_intragroup_gap_: 3
max_distance_between_groups_: 3
max_distance_between_queries_: 2
geom_check_: 0
min_correspondences_: 12
max_ransac_iterations_mono_: 500
ransac_probability_mono_: 0.995
ransac_threshold_mono_: 1e-05
ransac_randomize_mono_: 1
ransac_inlier_threshold_mono_: 0.01
pose_recovery_option_: 0
max_ransac_iterations_stereo_: 500
ransac_probability_stereo_: 0.995
ransac_threshold_stereo_: 0.3
ransac_randomize_stereo_: 1
ransac_inlier_threshold_stereo_: 0.3
use_mono_rot_:0
lowe_ratio_: 0.2
matcher_type_:3
nfeatures_: 1000
scale_factor_: 1.2
nlevels_: 8
edge_threshold_: 31
first_level_: 0
WTA_K_: 2
score_type_: 0
patch_sze_: 31
fast_threshold_: 20
pgo_rot_threshold_: 0.005
pgo_trans_threshold_: 0.05
I0117 14:18:38.182006 11760 RosDataProvider.cpp:891] ================================================================================
[ INFO] [1579263518.245934011]: Starting KimeraVIO wrapper for online
[ INFO] [1579263518.261440349]: >>>>>>> Started data subscribers <<<<<<<<
I0117 14:18:38.291894 11760 RegularVioBackEnd.cpp:113] Using Regular VIO backend.
I0117 14:18:38.292043 11760 LoopClosureDetector.cpp:98] LoopClosureDetector:: Loading vocabulary from /home/martino/catkin_ws/src/Kimera-VIO/vocabulary/ORBvoc.yml
F0117 14:18:38.414885 11881 RosOnlineDataProvider.cpp:156] Check failed: imu_single_callback_ Did you forget to register the IMU callback?
*** Check failure stack trace: ***
    @     0x7f5d24e4643d  google::LogMessage::Fail()
    @     0x7f5d24e48253  google::LogMessage::SendToLog()
    @     0x7f5d24e45fcb  google::LogMessage::Flush()
    @     0x7f5d24e48c3e  google::LogMessageFatal::~LogMessageFatal()
    @           0x47d06f  VIO::RosOnlineDataProvider::callbackIMU()
    @           0x48553b  boost::detail::function::void_function_obj_invoker1<>::invoke()
    @           0x49e2ee  ros::SubscriptionCallbackHelperT<>::call()
    @     0x7f5d242b0d8d  ros::SubscriptionQueue::call()
    @     0x7f5d24256838  ros::CallbackQueue::callOneCB()
    @     0x7f5d24257074  ros::CallbackQueue::callOne()
    @     0x7f5d242b4265  ros::AsyncSpinnerImpl::threadFunc()
    @     0x7f5d1bb295d5  (unknown)
    @     0x7f5d234e86ba  start_thread
    @     0x7f5d218a141d  clone
[kimera_vio_ros/kimera_vio_ros-1] process has died [pid 11760, exit code -6, cmd /home/martino/catkin_ws/devel/lib/kimera_vio_ros/kimera_vio_ros --left_cam_params_path=/home/martino/catkin_ws/src/Kimera-VIO-ROS/param/MyMynt/LeftCameraParams.yaml   --right_cam_params_path=/home/martino/catkin_ws/src/Kimera-VIO-ROS/param/MyMynt/RightCameraParams.yaml   --imu_params_path=/home/martino/catkin_ws/src/Kimera-VIO-ROS/param/MyMynt/ImuParams.yaml   --backend_params_path=/home/martino/catkin_ws/src/Kimera-VIO-ROS/param/MyMynt/regularVioParameters.yaml   --frontend_params_path=/home/martino/catkin_ws/src/Kimera-VIO-ROS/param/MyMynt/trackerParameters.yaml   --use_lcd=true   --lcd_params_path=/home/martino/catkin_ws/src/Kimera-VIO-ROS/param/MyMynt/LCDParameters.yaml   --vocabulary_path=/home/martino/catkin_ws/src/Kimera-VIO/vocabulary/ORBvoc.yml   --flagfile=/home/martino/catkin_ws/src/Kimera-VIO-ROS/param/MyMynt/flags/Mesher.flags   --flagfile=/home/martino/catkin_ws/src/Kimera-VIO-ROS/param/MyMynt/flags/VioBackEnd.flags   --flagfile=/home/martino/catkin_ws/src/Kimera-VIO-ROS/param/MyMynt/flags/RegularVioBackEnd.flags   --flagfile=/home/martino/catkin_ws/src/Kimera-VIO-ROS/param/MyMynt/flags/Visualizer3D.flags   --logtostderr=1 --colorlogtostderr=1 --log_prefix=1 --v=0 --backend_type=1 --log_output=false --output_path=/home/martino/catkin_ws/src/Kimera-VIO-ROS/output_logs/ --visualize=false --parallel_run=True left_cam:=/mynteye/left/image_raw right_cam:=/mynteye/right/image_raw imu:=/mynteye/imu/data_raw reinit_flag:=reinit_flag reinit_pose:=reinit_pose odometry:=odometry resiliency:=resiliency imu_bias:=imu_bias optimized_trajectory:=optimized_trajectory pose_graph:=pose_graph mesh:=mesh frontend_stats:=frontend_stats debug_mesh_img:=debug_mesh_img time_horizon_pointcloud:=time_horizon_pointcloud __name:=kimera_vio_ros __log:=/home/martino/.ros/log/f6f3aedc-3919-11ea-8226-a4c3f096aa6e/kimera_vio_ros-kimera_vio_ros-1.log].
log file: /home/martino/.ros/log/f6f3aedc-3919-11ea-8226-a4c3f096aa6e/kimera_vio_ros-kimera_vio_ros-1*.log

Additional files:
Please attach all the files needed to reproduce the error.

Please give also the following information:

  • SparkVio branch, tag or commit used: bceed7203f824c1bcffc0c195a186d13c5ea2b22
  • GTSAM version used: 4.0.0 (342f30d148fae84c92ff71705c9e50e0a3683bda)
  • OpenGV version used: 306a54e6c6b94e2048f820cdf77ef5281d4b48ad
  • OpenCV version used: type opencv_version: 3.4.2
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 16.04
  • Did you change the source code? (yes / no): no

catkin build errors

Description:
When running the catkin build command during KimeraVIO ROS wrapper installation, some errors popped up. Not a 100% sure what they mean. Can you provide solution? Thanks.

Console output:

`Warnings << dbow2_catkin:make /home/user/catkin_ws/logs/dbow2_catkin/build.make.001.log`
`make[3]: warning: jobserver unavailable: using -j1. Add '+' to parent make rule.`

`Errors << KimeraVIO:make /home/user/catkin_ws/logs/KimeraVIO/build.make.001.log`
`/usr/bin/ld: cannot find -lDBoW2`
`collect2: error: ld returned 1 exit status`
`make[2]: *** [libKimeraVIO.so] Error 1`
`make[1]: *** [CMakeFiles/KimeraVIO.dir/all] Error 2`
`make: *** [all] Error 2`

`Failed << KimeraVIO:make [Exited with code 2]`

`Abandoned <<< kimera_ros [Unrelated job failed]`

`[build] Summary: 11 of 12 packages succeeded.`
`[build] Warnings: 1 packages succeeded with warnings.`
`[build] Abandoned: 1 packages were abandoned.`
`[build] Failed: 1 packages failed.`

Additional files:
Please attach all the files needed to reproduce the error.

Please give also the following information:

  • SparkVio branch, tag or commit used
  • GTSAM version used:
  • OpenGV version used:
  • OpenCV version used: 3.2.0
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 18.04.3 LTS
  • Did you change the source code? (yes / no): no

Screenshot from 2019-10-21 12-26-35

RosOnlineDataProvider hangs when using sim_time

Description:
Somewhere along the line the RosOnlineDataProvider was limited to a 30 Hz publishing frequency via ros::Rate. Unfortunately, ros::Rate uses sim_time, which stops when a rosbag finishes. Any frame not published by that point gets effectively dropped. This is one or two frames if the VIO pipeline is running quickly, but many frames if VIO can't keep up with the publishing speed of the rosbag (I found out when my computer was low on battery and running suuuper slow).

Command:

roscore
roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch
rviz -d $(rospack find kimera_vio_ros)/rviz/kimera_vio_euroc.rviz
rosbag play --clock /PATH/TO/EUROC_ROSBAG

Please give also the following information:

  • SparkVio branch, tag or commit used: Master, master
  • GTSAM version used:
  • OpenGV version used:
  • OpenCV version used: type opencv_version
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 18.04
  • Did you change the source code? (yes / no): No for the original problem. When I commented out the ros::Rate that fixed the problem.

Smart Factor Error on RealSense

Description:
I'm running kimera_vio_ros on the Intel RealSense. After running reasonably well for ten seconds or so, it throws the error below. Repeating yields the same error but with a different landmark ID: 822, 5288, 23, ...

Any ideas why this is happening?

Command:

roscore
roslaunch realsense2_camera rs_camera.launch unite_imu_method:=linear_interpolation
roslaunch kimera_vio_ros kimera_vio_ros_realsense_IR.launch
rviz -d $(rospack find kimera_vio_ros)/rviz/kimera_vio_euroc.rviz

Console Output:

F0410 20:37:34.120515  7066 RegularVioBackEnd.cpp:558] Check failed: old_smart_factors_it != old_smart_factors->end() Landmark with id: 32090 not found in old_smart_factors_
*** Check failure stack trace: ***
    @     0x7f6f4e760b0d  google::LogMessage::Fail()
    @     0x7f6f4e7629b1  google::LogMessage::SendToLog()
    @     0x7f6f4e76063d  google::LogMessage::Flush()
    @     0x7f6f4e763389  google::LogMessageFatal::~LogMessageFatal()
    @     0x7f6f47060b6a  VIO::RegularVioBackEnd::updateExistingSmartFactor()
    @     0x7f6f47061155  VIO::RegularVioBackEnd::updateLandmarkInGraph()
    @     0x7f6f47061d23  VIO::RegularVioBackEnd::addLandmarksToGraph()
    @     0x7f6f47068a7c  VIO::RegularVioBackEnd::addVisualInertialStateAndOptimize()
    @     0x7f6f470b88b6  VIO::VioBackEnd::addVisualInertialStateAndOptimize()
    @     0x7f6f470be40f  VIO::VioBackEnd::spinOnce()
    @     0x7f6f47146c2e  VIO::VioBackEndModule::spinOnce()
    @     0x7f6f47147cd1  VIO::PipelineModule<>::spin()
    @     0x7f6f4d39c6df  (unknown)
    @     0x7f6f4cabe6db  start_thread
    @     0x7f6f4cdf788f  clone

Additional files:
SmartFactorError

Please give also the following information:

  • SparkVio branch, tag or commit used: feature/centralized_params_with_realsense
  • VioRos branch used: feature/realsense_metric_reconstruction_demo
  • GTSAM version used:
  • OpenGV version used:
  • OpenCV version used:
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): 18.04
  • Did you change the source code? (yes / no): No, code is the same as in master on both branches, but the branches have different launch/parameter files

how run on live from a Realsense camera?

I have a realsense camera, but I cannot find how run it on live slam, only I can find ros bag based .launch files.
Other question is can Kimera use Imu data from a Pix 4 or t265 and the stereo from d435? what name should have the IMU msg and what kind of coordinate system (quaternions or other)

thanks

SPEEDUP ODOMETRY

Dear colleagues, please tell how to speedup odometry?
MH_04_difficult.bag dataset, i7-3820 CPU @ 3.60GHz, /kimera_ros/odometry is ~5Hz

Catkin Build Error

Description:
Building the workspace crashes due to issue I believe between kimera-vio and gtsam. I follow the tutorial. All other packages build correctly (including gtsam itself).
Command:

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin init
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin config --merge-devel
echo 'source ~/catkin_ws/devel/setup.bash' >> ~/.bashrc
cd ~/catkin_ws/src
git clone https://github.com/MIT-SPARK/Kimera-VIO-ROS.git
wstool init 
wstool merge Kimera-VIO-ROS/install/kimera_vio_ros_https.rosinstall
wstool update
catkin build

Console output:

...omitted many warnings...
/home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp: In member function ‘virtual void VIO::BackendLoggerFixture_logBackendOutput_Test::TestBody()’:
/home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:137:31: error: no matching function for call to ‘gtsam::Rot3::Random(boost::random::mt19937&)’
       gtsam::Rot3::Random(rng_), gtsam::Point3::Random());
                               ^
In file included from /usr/local/include/gtsam/geometry/Pose3.h:24:0,
                 from /usr/local/include/gtsam/geometry/CalibratedCamera.h:23,
                 from /usr/local/include/gtsam/geometry/CameraSet.h:22,
                 from /usr/local/include/gtsam/slam/RegularImplicitSchurFactor.h:10,
                 from /usr/local/include/gtsam/slam/SmartFactorBase.h:25,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionFactor.h:23,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionPoseFactor.h:23,
                 from /home/username/catkin_ws/src/Kimera-VIO/include/kimera-vio/backend/VioBackEnd-definitions.h:26,
                 from /home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:29:
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note: candidate: static gtsam::Rot3 gtsam::Rot3::Random(std::mt19937&)
     static Rot3 Random(std::mt19937 & rng);
                 ^~~~~~
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note:   no known conversion for argument 1 from ‘boost::random::mt19937 {aka boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>}’ to ‘std::mt19937& {aka std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>&}’
/home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:140:31: error: no matching function for call to ‘gtsam::Rot3::Random(boost::random::mt19937&)’
       gtsam::Rot3::Random(rng_), gtsam::Point3::Random());
                               ^
In file included from /usr/local/include/gtsam/geometry/Pose3.h:24:0,
                 from /usr/local/include/gtsam/geometry/CalibratedCamera.h:23,
                 from /usr/local/include/gtsam/geometry/CameraSet.h:22,
                 from /usr/local/include/gtsam/slam/RegularImplicitSchurFactor.h:10,
                 from /usr/local/include/gtsam/slam/SmartFactorBase.h:25,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionFactor.h:23,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionPoseFactor.h:23,
                 from /home/username/catkin_ws/src/Kimera-VIO/include/kimera-vio/backend/VioBackEnd-definitions.h:26,
                 from /home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:29:
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note: candidate: static gtsam::Rot3 gtsam::Rot3::Random(std::mt19937&)
     static Rot3 Random(std::mt19937 & rng);
                 ^~~~~~
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note:   no known conversion for argument 1 from ‘boost::random::mt19937 {aka boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>}’ to ‘std::mt19937& {aka std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>&}’
/home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp: In member function ‘virtual void VIO::FrontendLoggerFixture_logFrontendRansac_Test::TestBody()’:
/home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:331:31: error: no matching function for call to ‘gtsam::Rot3::Random(boost::random::mt19937&)’
       gtsam::Rot3::Random(rng_), gtsam::Point3::Random());
                               ^
In file included from /usr/local/include/gtsam/geometry/Pose3.h:24:0,
                 from /usr/local/include/gtsam/geometry/CalibratedCamera.h:23,
                 from /usr/local/include/gtsam/geometry/CameraSet.h:22,
                 from /usr/local/include/gtsam/slam/RegularImplicitSchurFactor.h:10,
                 from /usr/local/include/gtsam/slam/SmartFactorBase.h:25,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionFactor.h:23,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionPoseFactor.h:23,
                 from /home/username/catkin_ws/src/Kimera-VIO/include/kimera-vio/backend/VioBackEnd-definitions.h:26,
                 from /home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:29:
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note: candidate: static gtsam::Rot3 gtsam::Rot3::Random(std::mt19937&)
     static Rot3 Random(std::mt19937 & rng);
                 ^~~~~~
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note:   no known conversion for argument 1 from ‘boost::random::mt19937 {aka boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>}’ to ‘std::mt19937& {aka std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>&}’
/home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:333:31: error: no matching function for call to ‘gtsam::Rot3::Random(boost::random::mt19937&)’
       gtsam::Rot3::Random(rng_), gtsam::Point3::Random());
                               ^
In file included from /usr/local/include/gtsam/geometry/Pose3.h:24:0,
                 from /usr/local/include/gtsam/geometry/CalibratedCamera.h:23,
                 from /usr/local/include/gtsam/geometry/CameraSet.h:22,
                 from /usr/local/include/gtsam/slam/RegularImplicitSchurFactor.h:10,
                 from /usr/local/include/gtsam/slam/SmartFactorBase.h:25,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionFactor.h:23,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionPoseFactor.h:23,
                 from /home/username/catkin_ws/src/Kimera-VIO/include/kimera-vio/backend/VioBackEnd-definitions.h:26,
                 from /home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:29:
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note: candidate: static gtsam::Rot3 gtsam::Rot3::Random(std::mt19937&)
     static Rot3 Random(std::mt19937 & rng);
                 ^~~~~~
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note:   no known conversion for argument 1 from ‘boost::random::mt19937 {aka boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>}’ to ‘std::mt19937& {aka std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>&}’
/home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp: In member function ‘virtual void VIO::LoopClosureDetectorLoggerFixture_logOptimizedTraj_Test::TestBody()’:
/home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:413:31: error: no matching function for call to ‘gtsam::Rot3::Random(boost::random::mt19937&)’
       gtsam::Rot3::Random(rng_), gtsam::Point3::Random());
                               ^
In file included from /usr/local/include/gtsam/geometry/Pose3.h:24:0,
                 from /usr/local/include/gtsam/geometry/CalibratedCamera.h:23,
                 from /usr/local/include/gtsam/geometry/CameraSet.h:22,
                 from /usr/local/include/gtsam/slam/RegularImplicitSchurFactor.h:10,
                 from /usr/local/include/gtsam/slam/SmartFactorBase.h:25,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionFactor.h:23,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionPoseFactor.h:23,
                 from /home/username/catkin_ws/src/Kimera-VIO/include/kimera-vio/backend/VioBackEnd-definitions.h:26,
                 from /home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:29:
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note: candidate: static gtsam::Rot3 gtsam::Rot3::Random(std::mt19937&)
     static Rot3 Random(std::mt19937 & rng);
                 ^~~~~~
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note:   no known conversion for argument 1 from ‘boost::random::mt19937 {aka boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>}’ to ‘std::mt19937& {aka std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>&}’
/home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:415:31: error: no matching function for call to ‘gtsam::Rot3::Random(boost::random::mt19937&)’
       gtsam::Rot3::Random(rng_), gtsam::Point3::Random());
                               ^
In file included from /usr/local/include/gtsam/geometry/Pose3.h:24:0,
                 from /usr/local/include/gtsam/geometry/CalibratedCamera.h:23,
                 from /usr/local/include/gtsam/geometry/CameraSet.h:22,
                 from /usr/local/include/gtsam/slam/RegularImplicitSchurFactor.h:10,
                 from /usr/local/include/gtsam/slam/SmartFactorBase.h:25,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionFactor.h:23,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionPoseFactor.h:23,
                 from /home/username/catkin_ws/src/Kimera-VIO/include/kimera-vio/backend/VioBackEnd-definitions.h:26,
                 from /home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:29:
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note: candidate: static gtsam::Rot3 gtsam::Rot3::Random(std::mt19937&)
     static Rot3 Random(std::mt19937 & rng);
                 ^~~~~~
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note:   no known conversion for argument 1 from ‘boost::random::mt19937 {aka boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>}’ to ‘std::mt19937& {aka std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>&}’
/home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:417:31: error: no matching function for call to ‘gtsam::Rot3::Random(boost::random::mt19937&)’
       gtsam::Rot3::Random(rng_), gtsam::Point3::Random());
                               ^
In file included from /usr/local/include/gtsam/geometry/Pose3.h:24:0,
                 from /usr/local/include/gtsam/geometry/CalibratedCamera.h:23,
                 from /usr/local/include/gtsam/geometry/CameraSet.h:22,
                 from /usr/local/include/gtsam/slam/RegularImplicitSchurFactor.h:10,
                 from /usr/local/include/gtsam/slam/SmartFactorBase.h:25,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionFactor.h:23,
                 from /usr/local/include/gtsam_unstable/slam/SmartStereoProjectionPoseFactor.h:23,
                 from /home/username/catkin_ws/src/Kimera-VIO/include/kimera-vio/backend/VioBackEnd-definitions.h:26,
                 from /home/username/catkin_ws/src/Kimera-VIO/tests/testLogger.cpp:29:
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note: candidate: static gtsam::Rot3 gtsam::Rot3::Random(std::mt19937&)
     static Rot3 Random(std::mt19937 & rng);
                 ^~~~~~
/usr/local/include/gtsam/geometry/Rot3.h:139:17: note:   no known conversion for argument 1 from ‘boost::random::mt19937 {aka boost::random::mersenne_twister_engine<unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>}’ to ‘std::mt19937& {aka std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>&}’
make[2]: *** [CMakeFiles/testKimeraVIO.dir/tests/testLogger.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
libkimera_vio.so: undefined reference to `gtsam::Scatter::Scatter(gtsam::GaussianFactorGraph const&)'
libkimera_vio.so: undefined reference to `gtsam::GaussianFactorGraph::hessian() const'
libkimera_vio.so: undefined reference to `gtsam::HessianFactor::HessianFactor(gtsam::GaussianFactorGraph const&, gtsam::Scatter const&)'
libkimera_vio.so: undefined reference to `gtsam::fpEqual(double, double, double)'
libkimera_vio.so: undefined reference to `gtsam::GaussianFactorGraph::optimize(boost::function<std::pair<boost::shared_ptr<gtsam::GaussianConditional>, boost::shared_ptr<gtsam::GaussianFactor> > (gtsam::GaussianFactorGraph const&, gtsam::Ordering const&)> const&) const'
libkimera_vio.so: undefined reference to `gtsam::SO<3>::Expmap(Eigen::Matrix<double, 3, 1, 0, 3, 1> const&, gtsam::OptionalJacobian<3, 3>)'
libkimera_vio.so: undefined reference to `gtsam::Marginals::Marginals(gtsam::NonlinearFactorGraph const&, gtsam::Values const&, gtsam::Marginals::Factorization)'
libkimera_vio.so: undefined reference to `gtsam::EliminateableFactorGraph<gtsam::GaussianFactorGraph>::eliminateMultifrontal(boost::optional<gtsam::Ordering::OrderingType>, boost::function<std::pair<boost::shared_ptr<gtsam::GaussianConditional>, boost::shared_ptr<gtsam::GaussianFactor> > (gtsam::GaussianFactorGraph const&, gtsam::Ordering const&)> const&, boost::optional<gtsam::VariableIndex const&>) const'
collect2: error: ld returned 1 exit status
make[2]: *** [stereoVIOEuroc] Error 1
make[1]: *** [CMakeFiles/stereoVIOEuroc.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/testKimeraVIO.dir/all] Error 2
make: *** [all] Error 2

Please give also the following information:

  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 18.04.3
  • Did you change the source code? (yes / no): no

opengv_catkin and gtsam causes catkin to fail

Description:
Cant build catkin workspace when following the installation instructions, see console output.

Command:

catkin build

Console output:

__________________________________________________________________________________________________________________
Errors     << opengv_catkin:make /home/user/catkin_ws/logs/opengv_catkin/build.make.000.log                 
Cloning into 'opengv_src'...
Already on 'master'
Submodule 'python/pybind11' (https://github.com/pybind/pybind11.git) registered for path 'python/pybind11'
Cloning into '/home/user/catkin_ws/build/opengv_catkin/opengv_src-prefix/src/opengv_src/python/pybind11'...
Submodule 'tools/clang' (https://github.com/wjakob/clang-cindex-python3) registered for path 'python/pybind11/tools/clang'
Cloning into '/home/user/catkin_ws/build/opengv_catkin/opengv_src-prefix/src/opengv_src/python/pybind11/tools/clang'...
make[3]: warning: -jN forced in submake: disabling jobserver mode.
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
make[5]: *** [CMakeFiles/opengv.dir/src/absolute_pose/modules/main.cpp.o] Error 4
make[5]: *** Waiting for unfinished jobs....
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
make[5]: *** [CMakeFiles/opengv.dir/src/relative_pose/modules/main.cpp.o] Error 4
make[4]: *** [CMakeFiles/opengv.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [opengv_src-prefix/src/opengv_src-stamp/opengv_src-build] Error 2
make[1]: *** [CMakeFiles/opengv_src.dir/all] Error 2
make: *** [all] Error 2
cd /home/user/catkin_ws/build/opengv_catkin; catkin build --get-env opengv_catkin | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
..................................................................................................................
Failed     << opengv_catkin:make                           [ Exited with code 2 ]                                 
Failed    <<< opengv_catkin                                [ 8 minutes and 11.7 seconds ]                         
Abandoned <<< glog_catkin                                  [ Unrelated job failed ]                               
Abandoned <<< KimeraRPGO                                   [ Unrelated job failed ]                               
Abandoned <<< kimera_vio                                   [ Unrelated job failed ]                               
Abandoned <<< kimera_vio_ros                               [ Unrelated job failed ]                               
__________________________________________________________________________________________________________________
Errors     << gtsam:make /home/user/catkin_ws/logs/gtsam/build.make.000.log                                 
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
make[2]: *** [examples/CMakeFiles/ImuFactorExample2.dir/ImuFactorExample2.cpp.o] Error 4
make[1]: *** [examples/CMakeFiles/ImuFactorExample2.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
c++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
make[2]: *** [examples/CMakeFiles/Pose2SLAMExample_graph.dir/Pose2SLAMExample_graph.cpp.o] Error 4
make[1]: *** [examples/CMakeFiles/Pose2SLAMExample_graph.dir/all] Error 2
make: *** [all] Error 2
cd /home/user/catkin_ws/build/gtsam; catkin build --get-env gtsam | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
..................................................................................................................
Failed     << gtsam:make                                   [ Exited with code 2 ]                                 
Failed    <<< gtsam                                        [ 31 minutes and 27.9 seconds ]

Please give also the following information:

  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 18.04.4 LTS
  • Did you change the source code? (yes / no): no

cannot find -lglog

I do everything according to the instructions after the catkin build I get an error:
Errors << kimera_vio:make /home/amburkoff/cb_ws/logs/kimera_vio/build.make.004.log
/usr/bin/ld: cannot find -lglog
collect2: error: ld returned 1 exit status
make[2]: *** [libkimera_vio.so] Error 1
make[1]: *** [CMakeFiles/kimera_vio.dir/all] Error 2
make: *** [all] Error 2

I use ubuntu 18.04 and ros melodic

[C++11] catkin build errors

Description:
I get build errors when building pose_graph_tools and kimera_rviz_markers

Command:

catkin build --cmake-args -DCMAKE_BUILD_TYPE=Release

error fixed by adding the following in their corresponding CMakeLists.txt

add_compile_options(-std=c++11)

RAM usage keeps accumlating

Description:
RAM memory usage keeps accumlating in a rate of about 20MB per second

Running the Kimera-VIO-ROS with D435i
Normal movement around the 2 room and back to the starting point on the table.

Command:

roscore
roslaunch kimera_vio_ros kimera_vio_ros_realsense_IR.launch
rosbag play ~/d435i_recs/my_bag.bag
rviz

Console output:

-----------                        #	Hz	(avg     +- std    )	[min,max]
Data Provider [ms]            	      0	
IMU Preintegration Timing [us]	   1745	11.5143	(133.979 +- 14.3228)	[86,2735]
Mesher [ms]                   	    284	1.87226	(21.0669 +- 5.96944)	[3,40]
VioBackEnd [ms]               	    284	1.87236	(49.3134 +- 13.4856)	[2,139]
VioFrontEnd [ms]              	   1745	11.4843	(56.1456 +- 119.395)	[5,410]
I0510 15:20:52.095813 24526 KimeraVioRos.cpp:99] Statistics

Additional files:
ezgif com-video-to-gif

Please give also the following information:
SparkVio branch, tag or commit used
GTSAM version used: master branch
OpenGV version used: master branch
OpenCV version used: 3.4.2
Operating system and version (e.g. Ubuntu 16.04 or Windows 10): ubuntu 18.04
Did you change the source code? (yes / no): No, only testlogger.cpp in order to allign with gtsam

Hardware:
Both on Jetson TX2 and on Dell G5

Crushed in "catkin build"

I followed your guide and met some problems in my installation,and solved these problem by others solution in issues.But after 13 packages have been installed successfully,my pc crushed when installed kimera-vio-ros (about 80%),cant finsh installtion.Anyone else has the same problem?Looking for your help.
ps:My system is Ubuntu 16.04 lts

Error: The current devel space layout, `linked`,is incompatible with the configured layout, `merged`.

Description:
Hi, I am unable to run catkin build. This is what I did:

Command:

sudo apt-get install -y --no-install-recommends apt-utils
sudo apt-get install -y \
      cmake build-essential unzip pkg-config autoconf \
      libboost-all-dev \
      libjpeg-dev libpng-dev libtiff-dev \
      libvtk5-dev, libgtk2.0-dev  \
      libatlas-base-dev gfortran \
      libparmetis-dev \
      python-wstool python-catkin-tools \
sudo apt-get install libtbb-dev
mkdir -p ~/kimera_ws/src
cd ~/kimera_ws
catkin init
catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release
catkin config --merge-devel
echo 'source ~/kimera_ws/devel/setup.bash' >> ~/.bashrc
cd ~/catkin_ws/src
git clone [email protected]:MIT-SPARK/Kimera-VIO-ROS.git
wstool init
wstool merge Kimera-VIO-ROS/install/kimera_ros_ssh.rosinstall
wstool update
catkin build

Console output:

Error: The current devel space layout, `linked`,is incompatible with the configured layout, `merged`.

I am running on Ubuntu 16.04 with ROS Kinetic installed.

gtsam compilation issue related to boost float128

Description:

This is a curious issue.
catkin build was unable to build gtsam (16.04, ROS Kinetic).
The errors are along the vein of "error: unable to find numeric literal operator ‘operator""Q’".

Seems related to a c++11 and c++14 issue in boost::multiprecision::float128.

Changes to the original code:

  • First I used the c++14 fix from this issue.
  • Then I fixed the CMakeLists.txt according to my reply to this issue.

Command:

`catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=14` 
`catkin build`

Console output:

Errors     << gtsam:make /home/ibotics/temp/logs/gtsam/build.make.000.log                                                                                                                                  
In file included from /usr/include/boost/config.hpp:61:0,
                 from /usr/include/boost/optional/optional.hpp:24,
                 from /usr/include/boost/optional.hpp:15,
                 from /home/ibotics/temp/src/gtsam/gtsam/base/OptionalJacobian.h:25,
                 from /home/ibotics/temp/src/gtsam/gtsam/base/Matrix.h:25,
                 from /home/ibotics/temp/src/gtsam/gtsam/base/Manifold.h:22,
                 from /home/ibotics/temp/src/gtsam/gtsam/base/Lie.h:25,
                 from /home/ibotics/temp/src/gtsam/gtsam/base/VectorSpace.h:11,
                 from /home/ibotics/temp/src/gtsam/gtsam/geometry/Point2.h:20,
                 from /home/ibotics/temp/src/gtsam/gtsam/geometry/Unit3.h:23,
                 from /home/ibotics/temp/src/gtsam/gtsam/geometry/Rot3.h:25,
                 from /home/ibotics/temp/src/gtsam/gtsam/geometry/Rot3M.cpp:25:
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_half<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:277:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(half, 5.000000000000000000000000000000000000e-01, "5.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:277:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_third<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:278:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(third, 3.333333333333333333333333333333333333e-01, "3.33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:278:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_twothirds<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:279:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(twothirds, 6.666666666666666666666666666666666666e-01, "6.66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:279:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_two_thirds<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:280:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(two_thirds, 6.666666666666666666666666666666666666e-01, "6.66666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:280:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_three_quarters<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:281:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(three_quarters, 7.500000000000000000000000000000000000e-01, "7.50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:281:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_root_two<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:282:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(root_two, 1.414213562373095048801688724209698078e+00, "1.41421356237309504880168872420969807856967187537694807317667973799073247846210703885038753432764157273501384623e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:282:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_root_three<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:283:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(root_three, 1.732050807568877293527446341505872366e+00, "1.73205080756887729352744634150587236694280525381038062805580697945193301690880003708114618675724857567562614142e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:283:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_half_root_two<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:284:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(half_root_two, 7.071067811865475244008443621048490392e-01, "7.07106781186547524400844362104849039284835937688474036588339868995366239231053519425193767163820786367506923115e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:284:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_ln_two<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:285:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(ln_two, 6.931471805599453094172321214581765680e-01, "6.93147180559945309417232121458176568075500134360255254120680009493393621969694715605863326996418687542001481021e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:285:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_ln_ln_two<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:286:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(ln_ln_two, -3.665129205816643270124391582326694694e-01, "-3.66512920581664327012439158232669469454263447837105263053677713670561615319352738549455822856698908358302523045e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:286:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_root_ln_four<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:287:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(root_ln_four, 1.177410022515474691011569326459699637e+00, "1.17741002251547469101156932645969963774738568938582053852252575650002658854698492680841813836877081106747157858e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:287:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_one_div_root_two<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:288:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(one_div_root_two, 7.071067811865475244008443621048490392e-01, "7.07106781186547524400844362104849039284835937688474036588339868995366239231053519425193767163820786367506923115e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:288:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:289:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(pi, 3.141592653589793238462643383279502884e+00, "3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:289:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_half_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:290:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(half_pi, 1.570796326794896619231321691639751442e+00, "1.57079632679489661923132169163975144209858469968755291048747229615390820314310449931401741267105853399107404326e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:290:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_third_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:291:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(third_pi, 1.047197551196597746154214461093167628e+00, "1.04719755119659774615421446109316762806572313312503527365831486410260546876206966620934494178070568932738269550e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:291:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_sixth_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:292:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(sixth_pi, 5.235987755982988730771072305465838140e-01, "5.23598775598298873077107230546583814032861566562517636829157432051302734381034833104672470890352844663691347752e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:292:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_two_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:293:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(two_pi, 6.283185307179586476925286766559005768e+00, "6.28318530717958647692528676655900576839433879875021164194988918461563281257241799725606965068423413596429617303e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:293:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_two_thirds_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:294:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(two_thirds_pi, 2.094395102393195492308428922186335256e+00, "2.09439510239319549230842892218633525613144626625007054731662972820521093752413933241868988356141137865476539101e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:294:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_three_quarters_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:295:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(three_quarters_pi, 2.356194490192344928846982537459627163e+00, "2.35619449019234492884698253745962716314787704953132936573120844423086230471465674897102611900658780098661106488e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:295:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_four_thirds_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:296:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(four_thirds_pi, 4.188790204786390984616857844372670512e+00, "4.18879020478639098461685784437267051226289253250014109463325945641042187504827866483737976712282275730953078202e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:296:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_one_div_two_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:297:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(one_div_two_pi, 1.591549430918953357688837633725143620e-01, "1.59154943091895335768883763372514362034459645740456448747667344058896797634226535090113802766253085956072842727e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:297:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_one_div_root_two_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:298:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(one_div_root_two_pi, 3.989422804014326779399460599343818684e-01, "3.98942280401432677939946059934381868475858631164934657665925829670657925899301838501252333907306936430302558863e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:298:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_root_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:299:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(root_pi, 1.772453850905516027298167483341145182e+00, "1.77245385090551602729816748334114518279754945612238712821380778985291128459103218137495065673854466541622682362e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:299:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_root_half_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:300:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(root_half_pi, 1.253314137315500251207882642405522626e+00, "1.25331413731550025120788264240552262650349337030496915831496178817114682730392098747329791918902863305800498633e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:300:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_root_two_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:301:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(root_two_pi, 2.506628274631000502415765284811045253e+00, "2.50662827463100050241576528481104525300698674060993831662992357634229365460784197494659583837805726611600997267e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:301:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_log_root_two_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:302:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(log_root_two_pi, 9.189385332046727417803297364056176398e-01, "9.18938533204672741780329736405617639861397473637783412817151540482765695927260397694743298635954197622005646625e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:302:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_one_div_root_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:303:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(one_div_root_pi, 5.641895835477562869480794515607725858e-01, "5.64189583547756286948079451560772585844050629328998856844085721710642468441493414486743660202107363443028347906e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:303:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_root_one_div_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:304:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(root_one_div_pi, 5.641895835477562869480794515607725858e-01, "5.64189583547756286948079451560772585844050629328998856844085721710642468441493414486743660202107363443028347906e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:304:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_pi_minus_three<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:305:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(pi_minus_three, 1.415926535897932384626433832795028841e-01, "1.41592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:305:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_four_minus_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:306:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(four_minus_pi, 8.584073464102067615373566167204971158e-01, "8.58407346410206761537356616720497115802830600624894179025055407692183593713791001371965174657882932017851913487e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:306:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_pi_pow_e<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:308:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(pi_pow_e, 2.245915771836104547342715220454373502e+01, "2.24591577183610454734271522045437350275893151339966922492030025540669260403991179123185197527271430315314500731e+01")
   ^
/usr/include/boost/math/constants/constants.hpp:308:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_pi_sqr<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:309:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(pi_sqr, 9.869604401089358618834490999876151135e+00, "9.86960440108935861883449099987615113531369940724079062641334937622004482241920524300177340371855223182402591377e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:309:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_pi_sqr_div_six<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:310:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(pi_sqr_div_six, 1.644934066848226436472415166646025189e+00, "1.64493406684822643647241516664602518921894990120679843773555822937000747040320087383362890061975870530400431896e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:310:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_pi_cubed<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:311:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(pi_cubed, 3.100627668029982017547631506710139520e+01, "3.10062766802998201754763150671013952022252885658851076941445381038063949174657060375667010326028861930301219616e+01")
   ^
/usr/include/boost/math/constants/constants.hpp:311:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_cbrt_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:312:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(cbrt_pi, 1.464591887561523263020142527263790391e+00, "1.46459188756152326302014252726379039173859685562793717435725593713839364979828626614568206782035382089750397002e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:312:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_one_div_cbrt_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:313:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(one_div_cbrt_pi, 6.827840632552956814670208331581645981e-01, "6.82784063255295681467020833158164598108367515632448804042681583118899226433403918237673501922595519865685577274e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:313:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_e<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:314:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(e, 2.718281828459045235360287471352662497e+00, "2.71828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516642742746639193e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:314:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_exp_minus_half<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:315:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(exp_minus_half, 6.065306597126334236037995349911804534e-01, "6.06530659712633423603799534991180453441918135487186955682892158735056519413748423998647611507989456026423789794e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:315:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_e_pow_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:316:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(e_pow_pi, 2.314069263277926900572908636794854738e+01, "2.31406926327792690057290863679485473802661062426002119934450464095243423506904527835169719970675492196759527048e+01")
   ^
/usr/include/boost/math/constants/constants.hpp:316:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_root_e<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:317:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(root_e, 1.648721270700128146848650787814163571e+00, "1.64872127070012814684865078781416357165377610071014801157507931164066102119421560863277652005636664300286663776e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:317:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_log10_e<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:318:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(log10_e, 4.342944819032518276511289189166050822e-01, "4.34294481903251827651128918916605082294397005803666566114453783165864649208870774729224949338431748318706106745e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:318:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_one_div_log10_e<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:319:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(one_div_log10_e, 2.302585092994045684017991454684364207e+00, "2.30258509299404568401799145468436420760110148862877297603332790096757260967735248023599720508959829834196778404e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:319:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_ln_ten<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:320:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(ln_ten, 2.302585092994045684017991454684364207e+00, "2.30258509299404568401799145468436420760110148862877297603332790096757260967735248023599720508959829834196778404e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:320:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_degree<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:321:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(degree, 1.745329251994329576923690768488612713e-02, "1.74532925199432957692369076848861271344287188854172545609719144017100911460344944368224156963450948221230449251e-02")
   ^
/usr/include/boost/math/constants/constants.hpp:321:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_radian<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:322:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(radian, 5.729577951308232087679815481410517033e+01, "5.72957795130823208767981548141051703324054724665643215491602438612028471483215526324409689958511109441862233816e+01")
   ^
/usr/include/boost/math/constants/constants.hpp:322:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_sin_one<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:323:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(sin_one, 8.414709848078965066525023216302989996e-01, "8.41470984807896506652502321630298999622563060798371065672751709991910404391239668948639743543052695854349037908e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:323:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_cos_one<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:324:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(cos_one, 5.403023058681397174009366074429766037e-01, "5.40302305868139717400936607442976603732310420617922227670097255381100394774471764517951856087183089343571731160e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:324:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_sinh_one<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:325:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(sinh_one, 1.175201193643801456882381850595600815e+00, "1.17520119364380145688238185059560081515571798133409587022956541301330756730432389560711745208962339184041953333e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:325:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_cosh_one<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:326:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(cosh_one, 1.543080634815243778477905620757061682e+00, "1.54308063481524377847790562075706168260152911236586370473740221471076906304922369896426472643554303558704685860e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:326:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_phi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:327:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(phi, 1.618033988749894848204586834365638117e+00, "1.61803398874989484820458683436563811772030917980576286213544862270526046281890244970720720418939113748475408808e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:327:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_ln_phi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:328:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(ln_phi, 4.812118250596034474977589134243684231e-01, "4.81211825059603447497758913424368423135184334385660519661018168840163867608221774412009429122723474997231839958e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:328:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_one_div_ln_phi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:329:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(one_div_ln_phi, 2.078086921235027537601322606117795767e+00, "2.07808692123502753760132260611779576774219226778328348027813992191974386928553540901445615414453604821933918634e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:329:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_euler<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:330:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(euler, 5.772156649015328606065120900824024310e-01, "5.77215664901532860606512090082402431042159335939923598805767234884867726777664670936947063291746749514631447250e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:330:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_one_div_euler<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:331:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(one_div_euler, 1.732454714600633473583025315860829681e+00, "1.73245471460063347358302531586082968115577655226680502204843613287065531408655243008832840219409928068072365714e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:331:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_euler_sqr<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:332:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(euler_sqr, 3.331779238077186743183761363552442266e-01, "3.33177923807718674318376136355244226659417140249629743150833338002265793695756669661263268631715977303039565603e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:332:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_zeta_two<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:333:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(zeta_two, 1.644934066848226436472415166646025189e+00, "1.64493406684822643647241516664602518921894990120679843773555822937000747040320087383362890061975870530400431896e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:333:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_zeta_three<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:334:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(zeta_three, 1.202056903159594285399738161511449990e+00, "1.20205690315959428539973816151144999076498629234049888179227155534183820578631309018645587360933525814619915780e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:334:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_catalan<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:335:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(catalan, 9.159655941772190150546035149323841107e-01, "9.15965594177219015054603514932384110774149374281672134266498119621763019776254769479356512926115106248574422619e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:335:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_glaisher<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:336:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(glaisher, 1.282427129100622636875342568869791727e+00, "1.28242712910062263687534256886979172776768892732500119206374002174040630885882646112973649195820237439420646120e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:336:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_khinchin<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:337:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(khinchin, 2.685452001065306445309714835481795693e+00, "2.68545200106530644530971483548179569382038229399446295305115234555721885953715200280114117493184769799515346591e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:337:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_extreme_value_skewness<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:338:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(extreme_value_skewness, 1.139547099404648657492793019389846112e+00, "1.13954709940464865749279301938984611208759979583655182472165571008524800770607068570718754688693851501894272049e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:338:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_rayleigh_skewness<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:339:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(rayleigh_skewness, 6.311106578189371381918993515442277798e-01, "6.31110657818937138191899351544227779844042203134719497658094585692926819617473725459905027032537306794400047264e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:339:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_rayleigh_kurtosis<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:340:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(rayleigh_kurtosis, 3.245089300687638062848660410619754415e+00, "3.24508930068763806284866041061975441541706673178920936177133764493367904540874159051490619368679348977426462633e+00")
   ^
/usr/include/boost/math/constants/constants.hpp:340:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_rayleigh_kurtosis_excess<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:341:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(rayleigh_kurtosis_excess, 2.450893006876380628486604106197544154e-01, "2.45089300687638062848660410619754415417066731789209361771337644933679045408741590514906193686793489774264626328e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:341:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_two_div_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:343:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(two_div_pi, 6.366197723675813430755350534900574481e-01, "6.36619772367581343075535053490057448137838582961825794990669376235587190536906140360455211065012343824291370907e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:343:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
/usr/include/boost/math/constants/constants.hpp: In static member function ‘static constexpr T boost::math::constants::detail::constant_root_two_div_pi<T>::get(const mpl_::int_<5>&)’:
/usr/include/boost/math/constants/constants.hpp:344:3: error: unable to find numeric literal operator ‘operator""Q’
   BOOST_DEFINE_MATH_CONSTANT(root_two_div_pi, 7.978845608028653558798921198687637369e-01, "7.97884560802865355879892119868763736951717262329869315331851659341315851798603677002504667814613872860605117725e-01")
   ^
/usr/include/boost/math/constants/constants.hpp:344:3: note: use -std=gnu++11 or -fext-numeric-literals to enable more built-in suffixes
make[2]: *** [gtsam/CMakeFiles/gtsam.dir/geometry/Rot3M.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [gtsam/CMakeFiles/gtsam.dir/all] Error 2
make: *** [all] Error 2
cd /home/ibotics/temp/build/gtsam; catkin build --get-env gtsam | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
...........................................................................................................................................................................................................
Failed     << gtsam:make                                   [ Exited with code 2 ]                                                                                                                          
Failed    <<< gtsam                                        [ 1 minute and 43.4 seconds ]                                                                                                                   
Abandoned <<< KimeraRPGO                                   [ Unrelated job failed ]                                                                                                                        
Abandoned <<< KimeraVIO                                    [ Unrelated job failed ]                                                                                                                        
Abandoned <<< kimera_ros                                   [ Unrelated job failed ]      

Please give also the following information:

  • SparkVio branch, tag or commit used
  • GTSAM version used: 4.0.2
  • OpenGV version used:
  • OpenCV version used:
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 16.04
  • Did you change the source code? (yes / no): no, then yes

Is kimera_vio supposed to be a ROS package?

In one of the core launch files, the path_to_vocab argument must be properly set:

<arg name="path_to_vocab" default="$(find kimera_vio)/vocabulary/ORBvoc.yml"/>

Given the use of find directo to locate the path to the kimera_vio package directory, this assumes kimera_vio is a ROS package that includes such assets like the vocabulary folder. However, the kimera_vio doesn't register itself as a package, thus this find lookup fails to locate it.

run kimera-vio using mynteye camera online

Description:

Have you tried to run the kimera-vio-ros with mynteye-d camera?
I tried to run it online with mynteye camera, but always get the same error at the very beginning:

F0324 08:37:29.031905 15002 QueueSynchronizer.h:110] Check failed: timestamp == payload_timestamp (1585010246980287075 vs. 1585010247013477087) Syncing queue data_provider_right_frame_queue in module Data Provider failed;
Could not retrieve exact timestamp requested:

  • Requested timestamp: 1585010246980287075
  • Actual timestamp: 1585010247013477087

kimera-vio-mybteye-online

Do you know how to fix it?

dlib_catkin compilation error

When I compile I get

Cloning into 'dlib_src'...
Already on 'master'
/home/antonap/sparklab/kimera/drone/build/dlib_catkin/dlib_src-prefix/src/dlib_src/src/DVision/FSolver.cpp: In member function ‘cv::Mat DVision::FSolver::findFundamentalMat(const cv::Mat&, const cv::Mat&, double, int, std::vector<unsigned char>*, bool, double, int) const’:
/home/antonap/sparklab/kimera/drone/build/dlib_catkin/dlib_src-prefix/src/dlib_src/src/DVision/FSolver.cpp:149:35: error: ‘CV_REDUCE_SUM’ was not declared in this scope
       cv::reduce(sq_ab, norms, 0, CV_REDUCE_SUM); // 0 = single row
                                   ^~~~~~~~~~~~~
/home/antonap/sparklab/kimera/drone/build/dlib_catkin/dlib_src-prefix/src/dlib_src/src/DVision/BRIEF.cpp: In member function ‘void DVision::BRIEF::compute(const cv::Mat&, const std::vector<cv::KeyPoint>&, std::vector<boost::dynamic_bitset<> >&, bool) const’:
/home/antonap/sparklab/kimera/drone/build/dlib_catkin/dlib_src-prefix/src/dlib_src/src/DVision/BRIEF.cpp:55:32: error: ‘CV_RGB2GRAY’ was not declared in this scope
       cv::cvtColor(image, aux, CV_RGB2GRAY);
                                ^~~~~~~~~~~
/home/antonap/sparklab/kimera/drone/build/dlib_catkin/dlib_src-prefix/src/dlib_src/src/DVision/BRIEF.cpp:55:32: note: suggested alternative: ‘CV_RGB’
       cv::cvtColor(image, aux, CV_RGB2GRAY);
                                ^~~~~~~~~~~
                                CV_RGB
make[5]: *** [CMakeFiles/DLib.dir/src/DVision/FSolver.cpp.o] Error 1
make[5]: *** Waiting for unfinished jobs....
make[5]: *** [CMakeFiles/DLib.dir/src/DVision/BRIEF.cpp.o] Error 1
/home/antonap/sparklab/kimera/drone/build/dlib_catkin/dlib_src-prefix/src/dlib_src/src/DVision/HSolver.cpp: In member function ‘cv::Mat DVision::HSolver::findHomography(const cv::Mat&, const cv::Mat&, double, int, std::vector<unsigned char>*, bool, double, int) const’:
/home/antonap/sparklab/kimera/drone/build/dlib_catkin/dlib_src-prefix/src/dlib_src/src/DVision/HSolver.cpp:144:35: error: ‘CV_REDUCE_SUM’ was not declared in this scope
       cv::reduce(sq_ab, error, 0, CV_REDUCE_SUM); // 0 = single row
                                   ^~~~~~~~~~~~~
make[5]: *** [CMakeFiles/DLib.dir/src/DVision/HSolver.cpp.o] Error 1
make[4]: *** [CMakeFiles/DLib.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [dlib_src-prefix/src/dlib_src-stamp/dlib_src-build] Error 2
make[1]: *** [CMakeFiles/dlib_src.dir/all] Error 2
make: *** [all] Error 2

If I run opencv_version I get 3.3.1.

permission denied when git cloneing

when I excute the git clone command:"git clone [email protected]:MIT-SPARK/Kimera-VIO-ROS.git", it shows this error message:

~/catkin_ws/src$ git clone [email protected]:MIT-SPARK/Kimera-VIO-ROS.git
Cloning into 'Kimera-VIO-ROS'...
Warning: Permanently added the RSA host key for IP address '140.82.114.4' to the list of known hosts.
[email protected]: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Use camera_info rather than hardcoded param files.

Is your feature request related to a problem? Please describe.
I'm trying to use Kimera-VIO-ROS with my own ZED Mini stereo camera (which came factory calibrated). However, the setup process appears tedious and error-prone; it appears that I manually have to transfer all calibration from camera_info (intrinsics), tf (extrinsics).

Describe the solution you'd like
It would be excellent to have the Kimera ROS StereoFrame node automatically fetch this information from camera_info and the ROS tf tree.

Describe alternatives you've considered
I'm about to embark on the manual entry process of transferring all of my calibration values across. I'm concerned that if I make a data entry mistake, I'd have issues troubleshooting the poor calibration.

DBoW2 not installing correctly

Description:
Building KimeraVIO fails because it cannot find the DBoW2 supplied with this repository. A workaround I tested is cloning DBoW2 manually, making it, and make installing it.

Given the differences in the CMakeFiles.txt files of DBoW2 and opengb I assume the BUILD COMMAND and the INSTALL COMMAND of DBoW2 should be changed.

from:

  BUILD_COMMAND make
  INSTALL_COMMAND make install

into:

  BUILD_COMMAND cd ../dbow2_src && make -j 8
  INSTALL_COMMAND cd ../dbow2_src && make install

Command:

catkin build

Console output:

/usr/bin/ld: cannot find -lDBoW2
collect2: error: ld returned 1 exit status
make[2]: *** [libKimeraVIO.so] Error 1
make[1]: *** [CMakeFiles/KimeraVIO.dir/all] Error 2
make: *** [all] Error 2
cd /home/ibotics/kimera-ws/build/KimeraVIO; catkin build --get-env KimeraVIO | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
............................................................................................................................................................................................................
Failed     << KimeraVIO:make                               [ Exited with code 2 ]                                                                                                                           
Failed    <<< KimeraVIO                                    [ 1 minute and 59.6 seconds ]                                                                                                                    
Abandoned <<< kimera_ros                                   [ Unrelated job failed ]

Additional files:
Please attach all the files needed to reproduce the error.

SparkVio branch, tag or commit used VIO-Ros 6930bec
GTSAM version used: ?
OpenGV version used: ?
OpenCV version used: 3.3.1-dev
Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 16.04
Did you change the source code? (yes / no): yes. see issues [19](https://github.com/MIT-SPARK/Kimera-VIO-ROS/issues/19) and [20](https://github.com/MIT-SPARK/Kimera-VIO-ROS/issues/20).

cannot find -lkimera_vio

I do everything according to the instructions after the catkin build I get an error:
Errors << kimera_vio_ros:make /home/zcj/kimera/logs/kimera_vio_ros/build.make.002.log
/usr/bin/ld: cannot find -lkimera_vio
collect2: error: ld returned 1 exit status
make[2]: *** [/home/zcj/kimera/devel/lib/kimera_vio_ros/kimera_vio_ros] Error 1
make[1]: *** [CMakeFiles/kimera_vio_ros.dir/all] Error 2
make: *** [all] Error 2

I use ubuntu 18.04 and ros melodic
I have already passed the command "wstool update" without error.

Large localization errors when running with only D435i

Description:

  1. Running the Kimera-VIO-ROS with D435i
  2. Normal movement around the 2 room and back to the starting point on the table.
  3. Large drift in terms of localization when getting back to the starting point

Command:

  1. roscore
  2. roslaunch kimera_vio_ros kimera_vio_ros_realsense_IR.launch
  3. rosbag play ~/d435i_recs/my_bag.bag
  4. rviz

The bag was recorded using:

  1. roslaunch realsense2_camera rs_camera.launch unite_imu_method:=linear_interpolation
  2. rosrun dynamic_reconfigure dynparam set /camera/stereo_module emitter_enabled 0
  3. rosbag record -a

Console output:

Suppose to be x: 0 , y:0 , z:0
World to base_link when getting back to starting point:
header:
seq: 0
stamp:
secs: 1588772794
nsecs: 545706272
frame_id: "world"
child_frame_id: "base_link"
transform:
translation:
x: -0.0482988878966
y: -0.982817650416
z: 1.06684057522

Additional files:

Please attach all the files needed to reproduce the error.

Please give also the following information:

  • SparkVio branch, tag or commit used
  • GTSAM version used: master branch
  • OpenGV version used: master branch
  • OpenCV version used: 3.4.2
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): ubuntu 18.04
  • Did you change the source code? (yes / no): only testlogger.cpp in order to allign with gtsam

Consider adding c++14 requirement to installation instructions?

Description:
On Ubuntu 16.04, I got a bunch of errors that went away when i added a flag to use C++14.

Command:

catkin build

Console output:

/mnt/ubuntu_extra_ssd2/code/kimera_vio_ws/src/pose_graph_tools/src/visualizer.cpp:209:30: error: ‘to_string’ is not a member of ‘std’
       std::string robot_id = std::to_string(keyedPose.first);
                              ^
/mnt/ubuntu_extra_ssd2/code/kimera_vio_ws/src/pose_graph_tools/src/visualizer.cpp:209:55: error: request for member ‘first’ in ‘keyedPose’, which is of non-class type ‘const int’
       std::string robot_id = std::to_string(keyedPose.first);
                                                       ^
/mnt/ubuntu_extra_ssd2/code/kimera_vio_ws/src/pose_graph_tools/src/visualizer.cpp:210:32: error: request for member ‘second’ in ‘keyedPose’, which is of non-class type ‘const int’
       MakeMenuMarker(keyedPose.second, robot_id);
                                ^
/mnt/ubuntu_extra_ssd2/code/kimera_vio_ws/src/pose_graph_tools/src/visualizer.cpp:212:9: error: ‘interactive_mrkr_srvr_’ was not declared in this scope
     if (interactive_mrkr_srvr_ != nullptr) {
         ^
/mnt/ubuntu_extra_ssd2/code/kimera_vio_ws/src/pose_graph_tools/src/visualizer.cpp:212:35: error: ‘nullptr’ was not declared in this scope
     if (interactive_mrkr_srvr_ != nullptr) {
                                   ^
/mnt/ubuntu_extra_ssd2/code/kimera_vio_ws/src/pose_graph_tools/src/visualizer.cpp:233:22: error: ISO C++ forbids declaration of ‘keyedPose’ with no type [-fpermissive]
     for (const auto &keyedPose : keyed_poses_) {
                      ^
/mnt/ubuntu_extra_ssd2/code/kimera_vio_ws/src/pose_graph_tools/src/visualizer.cpp:233:34: warning: range-based ‘for’ loops only available with -std=c++11 or -std=gnu++11
     for (const auto &keyedPose : keyed_poses_) {
                                  ^
/mnt/ubuntu_extra_ssd2/code/kimera_vio_ws/src/pose_graph_tools/src/visualizer.cpp:233:34: error: ‘keyed_poses_’ was not declared in this scope
/mnt/ubuntu_extra_ssd2/code/kimera_vio_ws/src/pose_graph_tools/src/visualizer.cpp:234:55: error: request for member ‘first’ in ‘keyedPose’, which is of non-class type ‘const int’
       m.points.push_back(getPositionFromKey(keyedPose.first));

Additional files:
Please attach all the files needed to reproduce the error.

Please give also the following information:

  • SparkVio branch, tag or commit used: master? on 11/22/19?
  • GTSAM version used: ?
  • OpenGV version used: ?
  • OpenCV version used: ?
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 16.04
  • Did you change the source code? (yes / no): no

I switched the line in the installation instructions from:

catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release

to:

catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=14

and the errors disappeared. I don't know what the implications of this are for the rest of the system but it now compiles, so potentially worth adding to instructions.

Node crashes when I set log_output to true.

Description:
When I set log_output to true in kimera_vio_ros_euroc.launch, the Kimera-VIO-ROS node crashed.

Command:

roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch

Console output:


[ INFO] [1584437080.786460888]: Starting KimeraVIO wrapper for online
I0317 05:24:40.786512 25640 RosOnlineDataProvider.cpp:38] Requested initialization from ground-truth. Initializing ground-truth odometry one-shot subscriber.
W0317 05:24:40.789090 25640 RosOnlineDataProvider.cpp:46] Waiting for ground-truth pose to initialize VIO on ros topic: /kimera_vio_ros/gt_odom
W0317 05:24:40.950736 25640 RosOnlineDataProvider.cpp:61] Missing ground-truth pose while waiting for 3s.Enabling autoInitialize and continuing without ground-truth pose.
[ INFO] [1584437080.974957777, 1403715363.473703805]: >>>>>>> Started data subscribers <<<<<<<<
I0317 05:24:40.978472 25640 Logger.cpp:57] Opening output file: output_frontend_stats.csv
F0317 05:24:40.978513 25640 Logger.h:38] Check failed: output_file->is_open() Cannot open file: /home/alan/catkin_ws/src/Kimera-VIO-ROS/output_logs/Euroc/output_frontend_stats.csv
*** Check failure stack trace: ***
    @     0x7fdfde541b0d  google::LogMessage::Fail()
    @     0x7fdfde5439b1  google::LogMessage::SendToLog()
    @     0x7fdfde54163d  google::LogMessage::Flush()
    @     0x7fdfde544389  google::LogMessageFatal::~LogMessageFatal()
    @     0x7fdfdd244c8d  VIO::OfstreamWrapper::openLogFile()
    @     0x7fdfdd244ffd  VIO::OfstreamWrapper::OfstreamWrapper()
    @     0x7fdfdd2474b8  VIO::FrontendLogger::FrontendLogger()
    @     0x7fdfdd11c1a9  VIO::StereoVisionFrontEnd::StereoVisionFrontEnd()
    @     0x7fdfdd125b17  VIO::VisionFrontEndFactory::createFrontend()
    @     0x7fdfdd211b11  VIO::Pipeline::Pipeline()
    @     0x561e6946e749  (unknown)
    @     0x7fdfdc014b97  __libc_start_main
    @     0x561e6946f60a  (unknown)
[kimera_vio_ros/kimera_vio_ros_node-1] process has died [pid 25640, exit code -6, cmd /home/alan/catkin_ws/devel/lib/kimera_vio_ros/kimera_vio_ros_node --left_cam_params_path=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/LeftCameraParams.yaml --right_cam_params_path=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/RightCameraParams.yaml --imu_params_path=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/ImuParams.yaml --backend_params_path=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/regularVioParameters.yaml --frontend_params_path=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/trackerParameters.yaml --use_lcd=true --lcd_params_path=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/LCDParameters.yaml --vocabulary_path=/home/alan/catkin_ws/src/Kimera-VIO/vocabulary/ORBvoc.yml --flagfile=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/flags/Mesher.flags --flagfile=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/flags/VioBackEnd.flags --flagfile=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/flags/RegularVioBackEnd.flags --flagfile=/home/alan/catkin_ws/src/Kimera-VIO/params/Euroc/flags/Visualizer3D.flags --logtostderr=1 --colorlogtostderr=1 --log_prefix=1 --v=0 --backend_type=1 --log_output=true --output_path=/home/alan/catkin_ws/src/Kimera-VIO-ROS/output_logs/Euroc --visualize=false --parallel_run=true left_cam:=/cam0/image_raw right_cam:=/cam1/image_raw imu:=/imu0 reinit_flag:=reinit_flag reinit_pose:=reinit_pose odometry:=odometry resiliency:=resiliency imu_bias:=imu_bias optimized_trajectory:=optimized_trajectory pose_graph:=pose_graph mesh:=mesh frontend_stats:=frontend_stats debug_mesh_img:=debug_mesh_img feature_tracks:=feature_tracks time_horizon_pointcloud:=time_horizon_pointcloud __name:=kimera_vio_ros_node __log:=/home/alan/.ros/log/64b5c944-682e-11ea-aac1-0800270fda36/kimera_vio_ros-kimera_vio_ros_node-1.log].
log file: /home/alan/.ros/log/64b5c944-682e-11ea-aac1-0800270fda36/kimera_vio_ros-kimera_vio_ros_node-1*.log


Additional files:
Please attach all the files needed to reproduce the error.

Please give also the following information:

  • SparkVio branch, tag or commit used: a5109c7157482bb1203918512ef6593e226507f7
  • GTSAM version used: 4.0.2
  • OpenGV version used: ddee36ad8d9bf25a26b2eed11c1ba5cef23006bf
  • OpenCV version used: 3.4.2
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 18.04
  • Did you change the source code? (yes / no): no

Expected image with MONO8 or BGR8 encoding

Description:
I am attempting to use Kimera ROS node with my ZED Mini Stereo Camera. However, the node does not support images of bgra8 format.

Console output:


F1230 20:35:42.739012  1157 RosDataProvider.cpp:111] Check failed: cv_ptr->encoding == sensor_msgs::image_encodings::MONO8 (bgra8 vs. mono8) Expected image with MONO8 or BGR8 encoding

Please give also the following information:

  • SparkVio branch, tag or commit used: 6608e65
  • OpenCV version used: type opencv_version: 3.4.2
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 18.04
  • Did you change the source code? (yes / no): no

compile kimera-vio-ros:Error: GTSAM was built against a different version of Eigen

Description:
Error: GTSAM was built against a different version of Eigen

Command:

# catkin build kimera_vio_ros

Console output:

Errors     << kimera_vio_ros:make /home/data/projects/KimeraVIO_ws/logs/kimera_vio_ros/build.make.011.log                                                                                                  
In file included from /home/data/projects/KimeraVIO_ws/devel/include/gtsam/base/Matrix.h:26:0,
                 from /home/data/projects/KimeraVIO_ws/devel/include/kimera-vio/common/vio_types.h:8,
                 from /home/data/projects/KimeraVIO_ws/src/Kimera-VIO-ROS/include/kimera_vio_ros/RosDataProviderInterface.h:28,
                 from /home/data/projects/KimeraVIO_ws/src/Kimera-VIO-ROS/include/kimera_vio_ros/RosBagDataProvider.h:22,
                 from /home/data/projects/KimeraVIO_ws/src/Kimera-VIO-ROS/src/RosBagDataProvider.cpp:8:
/home/data/projects/KimeraVIO_ws/devel/include/gtsam/base/Vector.h:72:1: error: static assertion failed: Error: GTSAM was built against a different version of Eigen
 static_assert(
 ^~~~~~~~~~~~~
make[2]: *** [CMakeFiles/kimera_vio_ros.dir/src/RosBagDataProvider.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/data/projects/KimeraVIO_ws/devel/include/gtsam/base/Matrix.h:26:0,
                 from /home/data/projects/KimeraVIO_ws/devel/include/kimera-vio/common/vio_types.h:8,
                 from /home/data/projects/KimeraVIO_ws/src/Kimera-VIO-ROS/include/kimera_vio_ros/RosDataProviderInterface.h:28,
                 from /home/data/projects/KimeraVIO_ws/src/Kimera-VIO-ROS/include/kimera_vio_ros/RosOnlineDataProvider.h:18,
                 from /home/data/projects/KimeraVIO_ws/src/Kimera-VIO-ROS/src/RosOnlineDataProvider.cpp:8:
/home/data/projects/KimeraVIO_ws/devel/include/gtsam/base/Vector.h:72:1: error: static assertion failed: Error: GTSAM was built against a different version of Eigen
 static_assert(
 ^~~~~~~~~~~~~
make[2]: *** [CMakeFiles/kimera_vio_ros.dir/src/RosOnlineDataProvider.cpp.o] Error 1
In file included from /home/data/projects/KimeraVIO_ws/devel/include/gtsam/base/Matrix.h:26:0,
                 from /home/data/projects/KimeraVIO_ws/devel/include/kimera-vio/common/vio_types.h:8,
                 from /home/data/projects/KimeraVIO_ws/src/Kimera-VIO-ROS/include/kimera_vio_ros/RosDataProviderInterface.h:28,
                 from /home/data/projects/KimeraVIO_ws/src/Kimera-VIO-ROS/include/kimera_vio_ros/RosOnlineDataProvider.h:18,
                 from /home/data/projects/KimeraVIO_ws/src/Kimera-VIO-ROS/src/RosDataProvider.cpp:11:
/home/data/projects/KimeraVIO_ws/devel/include/gtsam/base/Vector.h:72:1: error: static assertion failed: Error: GTSAM was built against a different version of Eigen
 static_assert(
 ^~~~~~~~~~~~~
make[2]: *** [CMakeFiles/kimera_vio_ros.dir/src/RosDataProvider.cpp.o] Error 1
In file included from /home/data/projects/KimeraVIO_ws/devel/include/gtsam/base/Matrix.h:26:0,
                 from /home/data/projects/KimeraVIO_ws/devel/include/gtsam/base/Manifold.h:22,
                 from /home/data/projects/KimeraVIO_ws/devel/include/gtsam/base/Lie.h:25,
                 from /home/data/projects/KimeraVIO_ws/devel/include/gtsam/base/VectorSpace.h:11,
                 from /home/data/projects/KimeraVIO_ws/devel/include/gtsam/geometry/Point2.h:20,
                 from /home/data/projects/KimeraVIO_ws/devel/include/gtsam/geometry/Cal3_S2.h:24,
                 from /home/data/projects/KimeraVIO_ws/devel/include/kimera-vio/backend/VioBackEnd-definitions.h:23,
                 from /home/data/projects/KimeraVIO_ws/devel/include/kimera-vio/pipeline/Pipeline.h:25,
                 from /home/data/projects/KimeraVIO_ws/src/Kimera-VIO-ROS/src/KimeraVioRos.cpp:16:
/home/data/projects/KimeraVIO_ws/devel/include/gtsam/base/Vector.h:72:1: error: static assertion failed: Error: GTSAM was built against a different version of Eigen
 static_assert(
 ^~~~~~~~~~~~~
make[2]: *** [CMakeFiles/kimera_vio_ros.dir/src/KimeraVioRos.cpp.o] Error 1
make[1]: *** [CMakeFiles/kimera_vio_ros.dir/all] Error 2
make: *** [all] Error 2
# remove this line and paste your console output HERE - no screenshots please

Additional files:
Please attach all the files needed to reproduce the error.

Please give also the following information:

  • SparkVio branch, tag or commit used
  • GTSAM version used:
  • OpenGV version used:
  • OpenCV version used: type opencv_version
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 16.04
  • Did you change the source code? (yes / no): no

Failed to checkout tag: 'master'

Description:
I followed the KimeraVIO ROS Wrapper installation instructions and I get a "Failed to checkout tag: 'master' when I run catkin build

Command:

catkin build

Console output:

Errors     << dbow2_catkin:make /home/hansel/kimera_ws/logs/dbow2_catkin/build.make.000.log                       
Cloning into 'origin'...
CMake Error at /home/hansel/kimera_ws/build/dbow2_catkin/dbow2_src-prefix/tmp/dbow2_src-gitclone.cmake:49 (message):
  Failed to checkout tag: 'master'


make[2]: *** [dbow2_src-prefix/src/dbow2_src-stamp/dbow2_src-download] Error 1
make[1]: *** [CMakeFiles/dbow2_src.dir/all] Error 2
make: *** [all] Error 2
cd /home/hansel/kimera_ws/build/dbow2_catkin; catkin build --get-env dbow2_catkin | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -


Additional files:
Please attach all the files needed to reproduce the error.

Please give also the following information:

  • SparkVio branch, tag or commit used
  • GTSAM version used:
  • OpenGV version used:
  • OpenCV version used: type opencv_version
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10):
  • Did you change the source code? (yes / no):

install kimera-VIO-ROS1 dev_tools/linter' failed

Description:
install dev_tools/linter' failed

Command:


wstool update

Console output:



WARNING [vcstools] Command failed: 'git submodule update --init --recursive'
 run at: '/home/lzw/resplendent_code/kimera_ros1_ws/src/Kimera-VIO'
 errcode: 1:
submoudle 'dev_tools/linter'(https://github.com/ToniRV/linter.git)isnot register for path'dev_tools/linter' 
cloning to '/home/lzw/resplendent_code/kimera_ros1_ws/src/Kimera-VIO/dev_tools/linter'...
fatal: unable to access 'https://github.com/ToniRV/linter.git/': Failed to receive SOCKS4 connect request ack.
fatal: cant clone 'https://github.com/ToniRV/linter.git'
to submodule path '/home/lzw/resplendent_code/kimera_ros1_ws/src/Kimera-VIO/dev_tools/linter'
clone 'dev_tools/linter' failed。plan to retry
cloning '/home/lzw/resplendent_code/kimera_ros1_ws/src/Kimera-VIO/dev_tools/linter'...
fatal: unable to access 'https://github.com/ToniRV/linter.git/': Failed to receive SOCKS4 connect request ack.
fatal:cant clone 'https://github.com/ToniRV/linter.git' to  '/home/lzw/resplendent_code/kimera_ros1_ws/src/Kimera-VIO/dev_tools/linter'
secondly try to clone 'dev_tools/linter' failed,out
[/vcstools]
[Kimera-VIO-ROS] Updating /home/lzw/resplendent_code/kimera_ros1_ws/src/Kimera-VIO-ROS
[Kimera-VIO-ROS] Done.

SECOND OUTPUT 2:
```Exception caught during install: Error processing 'Kimera-VIO' : [Kimera-VIO] Checkout of [email protected]:MIT-SPARK/Kimera-VIO.git version master into /home/lzw/resplendent_code/kimera_ros1_ws/src/Kimera-VIO failed.

ERROR in config: Error processing 'Kimera-VIO' : [Kimera-VIO] Checkout of [email protected]:MIT-SPARK/Kimera-VIO.git version master into /home/lzw/resplendent_code/kimera_ros1_ws/src/Kimera-VIO failed.


* Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu18.04
* Did you change the source code? (yes / no): no change

kimera_vio_ros_euroc.launch is not launching as in example after clear instalation Ubuntu 18

Description:
I just installed ubuntu 18 on my virtual machine, installed ROS Melodic following official instructions,
then wanted to install Kimera-VIO-ROS, but during installation openVG was not installed (i dont know why). Screenshot to error :https://ibb.co/p0YL4Y1
Then i tried to launch this:
but got this:

Command:

roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch  (as in tutorial)

Console output:

(base) mark@ubuntu:~/catkin_ws/src$ roslaunch kimera_vio_ros kimera_vio_ros_euroc.launch 
WARNING: Package name "KimeraRPGO" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
... logging to /home/mark/.ros/log/0921792e-9089-11ea-8c0e-000c29f1cd79/roslaunch-ubuntu-62289.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

WARNING: Package name "KimeraRPGO" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
started roslaunch server http://ubuntu:36185/

SUMMARY
========

PARAMETERS
 * /kimera_vio_ros/kimera_vio_ros_node/base_link_frame_id: base_link
 * /kimera_vio_ros/kimera_vio_ros_node/left_cam_frame_id: cam0
 * /kimera_vio_ros/kimera_vio_ros_node/map_frame_id: map
 * /kimera_vio_ros/kimera_vio_ros_node/mono_ransac_threshold: 30
 * /kimera_vio_ros/kimera_vio_ros_node/online_run: True
 * /kimera_vio_ros/kimera_vio_ros_node/params_folder_path: /home/mark/catkin...
 * /kimera_vio_ros/kimera_vio_ros_node/position_det_threshold: 0.3
 * /kimera_vio_ros/kimera_vio_ros_node/right_cam_frame_id: cam1
 * /kimera_vio_ros/kimera_vio_ros_node/stereo_ransac_threshold: 20
 * /kimera_vio_ros/kimera_vio_ros_node/use_lcd: False
 * /kimera_vio_ros/kimera_vio_ros_node/use_online_cam_params: False
 * /kimera_vio_ros/kimera_vio_ros_node/velocity_det_threshold: 0.1
 * /kimera_vio_ros/kimera_vio_ros_node/world_frame_id: world
 * /kimera_vio_ros/posegraph_viewer/frame_id: world
 * /rosdistro: melodic
 * /rosversion: 1.14.5
 * /use_sim_time: True

NODES
  /kimera_vio_ros/
    kimera_vio_ros_node (kimera_vio_ros/kimera_vio_ros_node)
    posegraph_viewer (pose_graph_tools/visualizer_node)

ROS_MASTER_URI=http://localhost:11311

WARNING: Package name "KimeraRPGO" does not follow the naming conventions. It should start with a lower case letter and only contain lower case letters, digits, underscores, and dashes.
ERROR: cannot launch node of type [kimera_vio_ros/kimera_vio_ros_node]: Cannot locate node of type [kimera_vio_ros_node] in package [kimera_vio_ros]. Make sure file exists in package path and permission is set to executable (chmod +x)
ERROR: cannot launch node of type [pose_graph_tools/visualizer_node]: Cannot locate node of type [visualizer_node] in package [pose_graph_tools]. Make sure file exists in package path and permission is set to executable (chmod +x)
No processes to monitor
shutting down processing monitor...
... shutting down processing monitor complete


# remove this line and paste your console output HERE - no screenshots please

Additional files:
Please attach all the files needed to reproduce the error.

Please give also the following information:

  • SparkVio branch, tag or commit used
  • GTSAM version used:
  • OpenGV version used:
  • OpenCV version used: type opencv_version
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 18
  • Did you change the source code? (yes / no): no

GIT_TAG in dbow2_catkin and opengv_catkin

Description:
catkin build was unable to correctly clone DBoW2 and opengv after a fresh clone.

Command:

catkin build

Console output:

---------------------------------------------------------------------------
Profile:                     default
Extending:             [env] /home/ibotics/catkin_ws/devel:/opt/ros/kinetic
Workspace:                   /home/ibotics/temp
---------------------------------------------------------------------------
Build Space:        [exists] /home/ibotics/temp/build
Devel Space:        [exists] /home/ibotics/temp/devel
Install Space:      [unused] /home/ibotics/temp/install
Log Space:         [missing] /home/ibotics/temp/logs
Source Space:       [exists] /home/ibotics/temp/src
DESTDIR:            [unused] None
---------------------------------------------------------------------------
Devel Space Layout:          merged
Install Space Layout:        None
---------------------------------------------------------------------------
Additional CMake Args:       -DCMAKE_BUILD_TYPE=Release
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
---------------------------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
---------------------------------------------------------------------------
Workspace configuration appears valid.

NOTE: Forcing CMake to run for each package.
---------------------------------------------------------------------------
[build] Found '12' packages in 0.0 seconds.                                                                                                                                                                
[build] Updating package table.                                                                                                                                                                            
Starting  >>> catkin_simple                                                                                                                                                                                
Starting  >>> gtsam                                                                                                                                                                                        
Finished  <<< catkin_simple                                [ 1.3 seconds ]                                                                                                                                 
Starting  >>> cmake_external_project_catkin                                                                                                                                                                
Starting  >>> dbow2_catkin                                                                                                                                                                                 
Starting  >>> kimera_rviz_markers                                                                                                                                                                          
Starting  >>> mesh_rviz_plugins                                                                                                                                                                            
Starting  >>> opencv3_catkin                                                                                                                                                                               
Starting  >>> opengv_catkin                                                                                                                                                                                
Starting  >>> pose_graph_tools                                                                                                                                                                             
___________________________________________________________________________________________________________________________________________________________________________________________________________
Warnings   << gtsam:cmake /home/ibotics/temp/logs/gtsam/build.cmake.000.log                                                                                                                                
Ignoring Boost restriction on optional lvalue assignment from rvalues
cd /home/ibotics/temp/build/gtsam; catkin build --get-env gtsam | catkin env -si  /usr/bin/cmake /home/ibotics/temp/src/gtsam --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX=/home/ibotics/temp/devel -DCMAKE_BUILD_TYPE=Release; cd -
...........................................................................................................................................................................................................
Finished  <<< cmake_external_project_catkin                [ 2.3 seconds ]                                                                                                                                 
___________________________________________________________________________________________________________________________________________________________________________________________________________
Errors     << dbow2_catkin:make /home/ibotics/temp/logs/dbow2_catkin/build.make.000.log                                                                                                                    
Cloning into 'origin'...
CMake Error at /home/ibotics/temp/build/dbow2_catkin/dbow2_src-prefix/tmp/dbow2_src-gitclone.cmake:49 (message):
  Failed to checkout tag: 'master'


make[2]: *** [dbow2_src-prefix/src/dbow2_src-stamp/dbow2_src-download] Error 1
make[1]: *** [CMakeFiles/dbow2_src.dir/all] Error 2
make: *** [all] Error 2
cd /home/ibotics/temp/build/dbow2_catkin; catkin build --get-env dbow2_catkin | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
...........................................................................................................................................................................................................
Failed     << dbow2_catkin:make                            [ Exited with code 2 ]                                                                                                                          
Failed    <<< dbow2_catkin                                 [ 4.1 seconds ]                                                                                                                                 
Abandoned <<< KimeraRPGO                                   [ Unrelated job failed ]                                                                                                                        
Abandoned <<< KimeraVIO                                    [ Unrelated job failed ]                                                                                                                        
Abandoned <<< kimera_ros                                   [ Unrelated job failed ]                                                                                                                        
___________________________________________________________________________________________________________________________________________________________________________________________________________
Errors     << opengv_catkin:make /home/ibotics/temp/logs/opengv_catkin/build.make.000.log                                                                                                                  
Cloning into 'origin'...
CMake Error at /home/ibotics/temp/build/opengv_catkin/opengv_src-prefix/tmp/opengv_src-gitclone.cmake:49 (message):
  Failed to checkout tag: 'master'


make[2]: *** [opengv_src-prefix/src/opengv_src-stamp/opengv_src-download] Error 1
make[1]: *** [CMakeFiles/opengv_src.dir/all] Error 2
make: *** [all] Error 2
cd /home/ibotics/temp/build/opengv_catkin; catkin build --get-env opengv_catkin | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
...........................................................................................................................................................................................................
Failed     << opengv_catkin:make                           [ Exited with code 2 ]                                                                                                                          
Failed    <<< opengv_catkin                                [ 4.8 seconds ]    

Please give also the following information:

  • SparkVio branch, tag or commit used VIO-Ros 6930bec
  • GTSAM version used: ?
  • OpenGV version used: ?
  • OpenCV version used: 3.3.1-dev
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 16.04
  • Did you change the source code? (yes / no): no

Ignore...

Need to update the ROS dataproviders to actually register shutdown callbacks from the VIO, so that the dataprovider is also killed softly.

GTSAM was built against a different version of Eigen

Description:
I built gtsam with and without the default eigen. Still getting the error

Console output:

In file included from /home/harshal/vio_ws/devel/include/gtsam/base/Matrix.h:26:0,
                 from /home/harshal/vio_ws/devel/include/gtsam/base/Manifold.h:22,
                 from /home/harshal/vio_ws/devel/include/gtsam/base/Lie.h:25,
                 from /home/harshal/vio_ws/devel/include/gtsam/base/VectorSpace.h:11,
                 from /home/harshal/vio_ws/devel/include/gtsam/geometry/Point2.h:20,
                 from /home/harshal/vio_ws/devel/include/gtsam/geometry/Cal3_S2.h:24,
                 from /home/harshal/vio_ws/src/Kimera-VIO/include/kimera-vio/StereoFrame.h:35,
                 from /home/harshal/vio_ws/src/Kimera-VIO/include/kimera-vio/StereoVisionFrontEnd.h:25,
                 from /home/harshal/vio_ws/src/Kimera-VIO/src/StereoVisionFrontEnd.cpp:16:
/home/harshal/vio_ws/devel/include/gtsam/base/Vector.h:72:1: error: static assertion failed: Error: GTSAM was built against a different version of Eigen
 static_assert(

Similar error is thrown for other library files.

Please give also the following information:

  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): ubuntu 16.04 with ROS kinetic
  • Did you change the source code? (yes / no): no

Could not find OpenGV Ransac.hpp

Description:
I am doing a fresh install of Kimera on my machine, and it seems to be unable to find Ransac in opengv.

Command:

catkin build kimera_vio_ros -j 4

Console output:

In file included from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/StereoFrame-definitions.h:20:0,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/StereoFrame.h:39,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/Camera.h:32,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/dataprovider/DataProviderInterface.h:20,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/dataprovider/EurocDataProvider.h:31,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/examples/KimeraVIO.cpp:23:
/home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/Tracker-definitions.h:26:10: fatal error: opengv/sac/Ransac.hpp: No such file or directory
 #include <opengv/sac/Ransac.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/stereoVIOEuroc.dir/examples/KimeraVIO.cpp.o] Error 1
make[1]: *** [CMakeFiles/stereoVIOEuroc.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
In file included from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/StereoFrame-definitions.h:20:0,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/StereoFrame.h:39,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/tests/testCodesignIdeas.cpp:23:
/home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/Tracker-definitions.h:26:10: fatal error: opengv/sac/Ransac.hpp: No such file or directory
 #include <opengv/sac/Ransac.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/testKimeraVIO.dir/tests/testCodesignIdeas.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/StereoFrame-definitions.h:20:0,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/StereoFrame.h:39,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/Camera.h:32,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/dataprovider/DataProviderInterface.h:20,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/dataprovider/EurocDataProvider.h:31,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/tests/testPipeline.cpp:9:
/home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/Tracker-definitions.h:26:10: fatal error: opengv/sac/Ransac.hpp: No such file or directory
 #include <opengv/sac/Ransac.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/testKimeraVIO.dir/tests/testPipeline.cpp.o] Error 1
In file included from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/StereoFrame-definitions.h:20:0,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/StereoVisionFrontEnd-definitions.h:18,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/backend/RegularVioBackEnd-definitions.h:29,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/backend/RegularVioBackEndParams.h:29,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/pipeline/Pipeline-definitions.h:17,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/tests/testVioParams.cpp:20:
/home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/Tracker-definitions.h:26:10: fatal error: opengv/sac/Ransac.hpp: No such file or directory
 #include <opengv/sac/Ransac.hpp>
          ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/testKimeraVIO.dir/tests/testVioParams.cpp.o] Error 1
In file included from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/StereoFrame-definitions.h:20:0,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/StereoFrame.h:39,
                 from /home/andrew/aiia_catkin_ws/src/Kimera-VIO/tests/testDataProviderModule.cpp:25:
/home/andrew/aiia_catkin_ws/src/Kimera-VIO/include/kimera-vio/frontend/Tracker-definitions.h:26:10: fatal error: opengv/sac/Ransac.hpp: No such file or directory
 #include <opengv/sac/Ransac.hpp>



Additional files:
Please attach all the files needed to reproduce the error.

Please give also the following information:

  • SparkVio branch, tag or commit used: master
  • SparkVioRos branch, tag or commit used: master
  • OpenGV version used: 0.0.1
  • Operating system and version (e.g. Ubuntu 16.04 or Windows 10): Ubuntu 18.04
  • Did you change the source code? (yes / no): no

Missing Lib

Hi,
i am running into following error:
RosDataProviderInterface.h:22:10: fatal error: pose_graph_tools/PoseGraph.h: is missing

what library do i need to solve it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.