Public Code Repository of the iRotate Active SLAM for Omnidirectional robots at the Max Planck Institute for Intelligent Systems, Tübingen

Overview

iRotate: Active Visual SLAM for Omnidirectional Robots

This repository contains the code of iRotate, an active V-SLAM method submitted to RA-L + IROS2021. This project has been developed within Robot Perception Group at the Max Planck Institute for Intelligent Systems, Tübingen.

The paper can be found here -- please cite us if you find this work useful

Check out the video here

Getting Started

These instructions will help you to set up both the simulation environment and a real robot scenario for development and testing purposes.

Installation

There are many prerequisites. Please follow instructions on the linked webpages on how to install them.

  • Clone this repository

  • Update CMake to the latest version: follow this. Tested with CMake 3.16.5

  • OpenCV with contrib and non-free enabled. Tested with 3.4.3

  • Install ros-melodic-desktop-full following this

  • Install ros prerequisites sh ros-req.sh

  • [optional] (For the notebook visualization) Install python3, pip3 and virtualenv

    • create a virtualenv with python3.6
    • Install in the virtualenv with pip install -r requirements.txt the required packages
    • Run jupyter labextension install jupyterlab-plotly (if nodejs gives problems run curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash – && sudo apt-get install nodejs)
  • Install ACADO from sources and follow this README

  • Install GTSAM4.x either from sources or APT. NOTE If building from sources be sure that march_native is off, or, as an alternative, you can have g2o+PCL+GTSAM all built from sources with such option enabled. If problems arise during the compilation of RTABMap check this

  • Install libpointmatcher

  • RTABMap:

    • git clone https://github.com/introlab/rtabmap && cd rtabmap
    • git checkout 39f68c44c
    • copy the edited rtabmap files into the cloned folder cp <your-active_v_slam>/rtabmap-edited/* <your-rtabmap>/corelib/
    • build and install rtabmap. NOTE Be careful that the end of cmake .. must be "Build files have been written to ..." w/o ANY subsequent warnings. GTSAM, g2o, OpenCV should be automatically recognized and enabled for the building.
    • Test the installation by running rtabmap command in a console. A preemptive sudo ldconfig might be necessary.
  • Gazebo:

    • Launch gazebo at least once so that folders are created.
    • [optional] Download gazebo's models and place them in ~/.gazebo/models
    • Download 3dgems models with sh 3dgems.sh
    • Download models from AWS and place them in ~/.gazebo/models
  • Catkin make on the main project folder


  • ONLY REAL ROBOT:
    • Install librealsense
    • robotino's packages: rec-rpc robotino-dev and robotino-api2 from here in this order
    • REMOVE the CATKIN_IGNORE from src/realsense-ros/realsense2-camera, src/robotino-node, src/robotino-rest-node, src/robotino-teleop
    • do catkin_make again. If error occurs because of missing robotino's msg files you can run mkdir -p ./devel/include/robotino_msgs && cp robotino_specific/robotino_msgs/*.h ./devel/include/robotino_msgs

How to run

Since you will need at least 5 terminals to run this project my suggestion is to use a package like terminator.

  1. Launch the simulation environment roslaunch robotino_simulations world.launch here.
    1. Select the desired environment with name:=<arg>. We tested our work with name:="cafe" and name:="small_house" x:=-2.0.

      .world files are placed in robotino_simulations/worlds/

    2. This node takes care also of launching the nodes for generating the necessary ground truth transforms

    3. In case a shift is needed (like with the AWS's small_house) the robot_ekf in robotino_description/launch/robotino.launch should be adapted to get the corrispondent starting pose since groundtruth will reflect this shift

  2. Run the MPC: roslaunch robotino_mpc robotino_mpc.launch. Parameters in robotino_mpc/cfg/nmpc.yaml will be used in the code to configure mainly the topics while NMPC constraints can be configured either dynamically (rosrun rqt_reconfigure rqt_reconfigure) or by editing the robotino_mpc/cfg/NonLinearMPC.cfg file. Note that the latter require a catkin_make afterwards.
  3. Run RTABMap: roslaunch robotino_simulations rtabmap.launch which is here. Many things will be launched here.
    1. move_base and the costmap converter found here. The parameters are placed in robotino_simulations/config
    2. The "main" mapping.launch file contains:
      • libpointmatcher odometry node
      • rgbd_sync node (from RTABMap)
      • config parameters of RTABMap
    3. the argument delete:=-d lets the user delete the previously generated db at launch
    4. the default folder of the db is .ros/rtabmap.db (setted with the db argument)
    5. RTABMap parameters can be edited directly in robotino_simulations/launch/mapping.launch
    6. RTABMapViz (the visualization tool of RTABMap) is currently commented in robotino_simulations/launch/mapping.launch. Note that with this enabled performance will suffer most probably requiring RTABMap to use its memory management techniques.
    7. Note that some arguments, like "compressed" (which is triggerred by remote:=true) are useful only in case of distributed systems and real robot scenarios
  4. [optional] Run the logger: rosrun robotino_simulations rtabmap_eval.py. This will log odometry, loop closures, map entropy, explored space, wheels rotations in different "npy" files saved on the node running location.
  5. Run the active node: roslaunch active_slam active_node.launch. This will launch the frontier extraction and the map information optimizer.
  6. [optional] Run the features' follower: roslaunch robotino_camera_heading best_heading.launch. The camera specifics are placed in robotino_simulations/config/camera.yaml
  7. The FSM is launched with roslaunch robotino_fsm robotino_fsm.launch kind:=2.
    • With kind you can select the utility [see the paper for reference]:
      • 2: Shannon
      • 5: Dynamic weight with obstacles
      • 7: Interpolation
      • 9: Shannon with obstacles
    • With only_last:=true/false you can decide if the system should use only the last waypoint to chose the path or use the whole information.
    • With weighted_avg:=true/false you can switch between weighted avg and weighted sum as total utility of a path
    • With pre_fix:=true/false you can decide if the system should pre-optimize the heading after choosing the path to follow. Only applicable if only_last:=true
    • With mid_optimizer:=true/false you can turn on/off the optimization procedure for the next waypoint.

Custom robot system

This algorithm has been tested thoroughly based on our hw architecture fully simulated inside the Gazebo environment. We developed a custom Gazebo's plugin to generate odometry and movement of the three-wheel omnidirectional robot system so that we have correct joint movements and representation of the robot real movements. If you want to test this algorithm on your own system there are some changes you might want to apply:

  • camera, IMU, laser scan and odom topics here, here, here and here
  • camera configuration here
  • Frontier size in the active_slam package
  • EKF's settings and topics: note that the system relies on two odometry sources, one for the camera wrt the base and one for the base. The system will indeed need both topics to be published to work (i.e. the FSM and the MPC relies on synchronization of odom messages from these two sources).
  • Other things like move_base setting

Evaluation

Reproducing results

Results achieved in real world experiments always depend on the hardware in question as well as environmental factors on the day of experiment. However our simulated experiments results were averaged over a large number of identical experiments and should be reproducible by third parties.

We focused on AWS's Small House and an edited version of the Gazebo's Cafè environments. Tests results are averaged among 20 tries of 10 minutes each with the same starting location ([-2,0] and [0,0] respectively).

No changes to the code are necessary.

Generate evaluation files and analyze the results

To generate evaluation files you need to edit the following files map.sh, back.sh, robotino_simulations/src/convert_map.cpp and robotino_simulations/src/calculate_map_error.cpp such that folders are correct for your system.

  • convert_map.cpp:L12 is the destination folder of the map converted to a txt file.
  • calculate_map_error.cpp:L10-14 are the folders/files used to generate the results and read the (gt)map
  • map.sh will be then use to create the map, compute the results and generate the log files from rtabmap database
  • back.sh will run the trajectory evaluation scripts and map.sh and move all the files to the desired folder

The groundtruths for the considered environments [Cafe and AWS's small house] (generated with the pgm_map_creator) are in src/pgm_map_creator/maps.

The suggested folder structure is as follow (since this is the one used in scripts and notebook):

  • Test/
    • env/
      • occupancy_gt.txt
      • folder/ [i.e. experiment identifier]
        • 0/ [i.e. run number ]
        • 1/
        • 2/
        • ...

folder should be named as utility_env_testkind. For example using Shannon, on env 1 and every component enabled (A) I generated: Test/E1/S_E1_A/0.

While running the experiments you need run the logger (step 4).

One can use python src/pause.py to pause the simulation after a given amount of time.

After the run has been paused you can call sh back.sh 'env' 'folder' 'try' and generate all the results.

NOTE: these scripts assume that all the components are available and online [roscore, rtabmap, map server...]

The python notebook can then be used to generate paper-like plots and results.

The BAC score will be computed inside the notebook.

The notebook requires the "poses.g2o" file for each run. This was initially used to gather the evolution of link uncertainties. Even if it's not directly useful I suggest to still export this via rtabmap-databaseViewer tool by opening the database and doing File>export poses> g2o so that you can double-check the correctness of every run.

NOTE Most probably you will need to edit the notebook based on your need: e.g. length of the experiments, bucketing and other things are managed inside.

Included external packages / sources

  • pgm_map_creator

  • rtabmap_ros: edited in a couple of source files and froze

  • evaluation of the map and frontier extractor from crowdbot_active_slam.

    Frontier extractor has been edited to obtain more frontiers.

  • trajectory evaluation from TUM

  • realsense-ros and realsense-gazebo-plugin folders. Note that those have slightly edited tfs. This won't impact results you can [probably] freely update those.

License

All Code in this repository - unless otherwise stated in local license or code headers is

Copyright 2021 Max Planck Institute for Intelligent Systems, Tübingen.

Licensed under the terms of the GNU General Public Licence (GPL) v3 or higher. See: https://www.gnu.org/licenses/gpl-3.0.en.html

Issues
  • rtabmap-edited

    rtabmap-edited

    Hi, When I copy two cpp into the rtabmap/corelib/src and build, I have some issue, as follow:

    rtabmap/corelib/src/Memory.cpp:274:14: error: ‘_landmarksInvertedIndex’ was not declared in this scope
           nter = _landmarksInvertedIndex.find(landmarkId);
                  ^~~~~~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:274:14: note: suggested alternative: ‘_landmarksIndex’
           nter = _landmarksInvertedIndex.find(landmarkId);
                  ^~~~~~~~~~~~~~~~~~~~~~~
                  _landmarksIndex
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:365:73: error: invalid initialization of reference of type ‘const std::multimap<int, cv::KeyPoint>&’ from expression of type ‘const std::multimap<int, int>’
         const std::multimap<int, cv::KeyPoint> & words = i->second->getWords();
                                                          ~~~~~~~~~~~~~~~~~~~^~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:416:64: error: invalid initialization of reference of type ‘const std::multimap<int, cv::KeyPoint>&’ from expression of type ‘const std::multimap<int, int>’
        const std::multimap<int, cv::KeyPoint> & words = s->getWords();
                                                         ~~~~~~~~~~~^~
    [  9%] Building CXX object corelib/src/CMakeFiles/rtabmap_core.dir/CameraThread.cpp.o
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp: In member function ‘std::multimap<int, rtabmap::Link> rtabmap::Memory::getLinks(int, bool, bool) const’:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:1273:56: error: ‘_landmarksInvertedIndex’ was not declared in this scope
       std::map<int, std::set<int> >::const_iterator iter = _landmarksInvertedIndex.find(landmarkId);
                                                            ^~~~~~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:1273:56: note: suggested alternative: ‘_landmarksIndex’
       std::map<int, std::set<int> >::const_iterator iter = _landmarksInvertedIndex.find(landmarkId);
                                                            ^~~~~~~~~~~~~~~~~~~~~~~
                                                            _landmarksIndex
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp: In member function ‘std::map<int, int> rtabmap::Memory::getNeighborsId(int, int, int, bool, bool, bool, bool, const std::set<int>&, double*) const’:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:1492:65: error: ‘_landmarksInvertedIndex’ was not declared in this scope
          const std::map<int, std::set<int> >::const_iterator kter = _landmarksInvertedIndex.find(iter->first);
                                                                     ^~~~~~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:1492:65: note: suggested alternative: ‘_landmarksIndex’
          const std::map<int, std::set<int> >::const_iterator kter = _landmarksInvertedIndex.find(iter->first);
                                                                     ^~~~~~~~~~~~~~~~~~~~~~~
                                                                     _landmarksIndex
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp: In member function ‘void rtabmap::Memory::clear()’:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:1771:2: error: ‘_landmarksInvertedIndex’ was not declared in this scope
      _landmarksInvertedIndex.clear();
      ^~~~~~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:1771:2: note: suggested alternative: ‘_landmarksIndex’
      _landmarksInvertedIndex.clear();
      ^~~~~~~~~~~~~~~~~~~~~~~
      _landmarksIndex
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp: In member function ‘void rtabmap::Memory::moveToTrash(rtabmap::Signature*, bool, std::__cxx11::list<int>*)’:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2317:12: error: ‘_landmarksInvertedIndex’ was not declared in this scope
         nter = _landmarksInvertedIndex.find(landmarkId);
                ^~~~~~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2317:12: note: suggested alternative: ‘_landmarksIndex’
         nter = _landmarksInvertedIndex.find(landmarkId);
                ^~~~~~~~~~~~~~~~~~~~~~~
                _landmarksIndex
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp: In member function ‘std::map<int, rtabmap::Link> rtabmap::Memory::getNodesObservingLandmark(int, bool) const’:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2467:56: error: ‘_landmarksInvertedIndex’ was not declared in this scope
       std::map<int, std::set<int> >::const_iterator iter = _landmarksInvertedIndex.find(landmarkId);
                                                            ^~~~~~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2467:56: note: suggested alternative: ‘_landmarksIndex’
       std::map<int, std::set<int> >::const_iterator iter = _landmarksInvertedIndex.find(landmarkId);
                                                            ^~~~~~~~~~~~~~~~~~~~~~~
                                                            _landmarksIndex
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp: In member function ‘rtabmap::Transform rtabmap::Memory::computeTransform(rtabmap::Signature&, rtabmap::Signature&, rtabmap::Transform, rtabmap::RegistrationInfo*, bool) const’:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2757:55: error: no matching function for call to ‘rtabmap::Signature::setWords(std::multimap<int, cv::KeyPoint>)’
        tmpFrom.setWords(std::multimap<int, cv::KeyPoint>());
                                                           ^
    In file included from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:36:0:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:108:7: note: candidate: void rtabmap::Signature::setWords(const std::multimap<int, int>&, const std::vector<cv::KeyPoint>&, const std::vector<cv::Point3_<float> >&, const cv::Mat&)
      void setWords(const std::multimap<int, int> & words, const std::vector<cv::KeyPoint> & keypoints, const std::vector<cv::Point3f> & words3, const cv::Mat & descriptors);
           ^~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:108:7: note:   candidate expects 4 arguments, 1 provided
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2758:12: error: ‘class rtabmap::Signature’ has no member named ‘setWords3’; did you mean ‘setWords’?
        tmpFrom.setWords3(std::multimap<int, cv::Point3f>());
                ^~~~~~~~~
                setWords
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2759:61: error: no matching function for call to ‘rtabmap::Signature::setWordsDescriptors(std::multimap<int, cv::Mat>)’
        tmpFrom.setWordsDescriptors(std::multimap<int, cv::Mat>());
                                                                 ^
    In file included from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:36:0:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:116:7: note: candidate: void rtabmap::Signature::setWordsDescriptors(const cv::Mat&)
      void setWordsDescriptors(const cv::Mat & descriptors);
           ^~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:116:7: note:   no known conversion for argument 1 from ‘std::multimap<int, cv::Mat>’ to ‘const cv::Mat&’
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2761:53: error: no matching function for call to ‘rtabmap::Signature::setWords(std::multimap<int, cv::KeyPoint>)’
        tmpTo.setWords(std::multimap<int, cv::KeyPoint>());
                                                         ^
    In file included from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:36:0:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:108:7: note: candidate: void rtabmap::Signature::setWords(const std::multimap<int, int>&, const std::vector<cv::KeyPoint>&, const std::vector<cv::Point3_<float> >&, const cv::Mat&)
      void setWords(const std::multimap<int, int> & words, const std::vector<cv::KeyPoint> & keypoints, const std::vector<cv::Point3f> & words3, const cv::Mat & descriptors);
           ^~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:108:7: note:   candidate expects 4 arguments, 1 provided
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2762:10: error: ‘class rtabmap::Signature’ has no member named ‘setWords3’; did you mean ‘setWords’?
        tmpTo.setWords3(std::multimap<int, cv::Point3f>());
              ^~~~~~~~~
              setWords
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2763:59: error: no matching function for call to ‘rtabmap::Signature::setWordsDescriptors(std::multimap<int, cv::Mat>)’
        tmpTo.setWordsDescriptors(std::multimap<int, cv::Mat>());
                                                               ^
    In file included from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:36:0:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:116:7: note: candidate: void rtabmap::Signature::setWordsDescriptors(const cv::Mat&)
      void setWordsDescriptors(const cv::Mat & descriptors);
           ^~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:116:7: note:   no known conversion for argument 1 from ‘std::multimap<int, cv::Mat>’ to ‘const cv::Mat&’
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2769:61: error: no matching function for call to ‘rtabmap::Signature::setWordsDescriptors(std::multimap<int, cv::Mat>)’
        tmpFrom.setWordsDescriptors(std::multimap<int, cv::Mat>());
                                                                 ^
    In file included from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:36:0:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:116:7: note: candidate: void rtabmap::Signature::setWordsDescriptors(const cv::Mat&)
      void setWordsDescriptors(const cv::Mat & descriptors);
           ^~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:116:7: note:   no known conversion for argument 1 from ‘std::multimap<int, cv::Mat>’ to ‘const cv::Mat&’
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2770:59: error: no matching function for call to ‘rtabmap::Signature::setWordsDescriptors(std::multimap<int, cv::Mat>)’
        tmpTo.setWordsDescriptors(std::multimap<int, cv::Mat>());
                                                               ^
    In file included from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:36:0:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:116:7: note: candidate: void rtabmap::Signature::setWordsDescriptors(const cv::Mat&)
      void setWordsDescriptors(const cv::Mat & descriptors);
           ^~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:116:7: note:   no known conversion for argument 1 from ‘std::multimap<int, cv::Mat>’ to ‘const cv::Mat&’
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2807:87: error: no matching function for call to ‘uMultimapToMapUnique(const std::vector<cv::Point3_<float> >&)’
         const std::map<int, cv::Point3f> & words3 = uMultimapToMapUnique(fromS.getWords3());
                                                                                           ^
    In file included from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Memory.h:42:0,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:35:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/UStl.h:505:23: note: candidate: template<class K, class V> std::map<K, V> uMultimapToMapUnique(const std::multimap<K, V>&)
     inline std::map<K, V> uMultimapToMapUnique(const std::multimap<K, V> & m)
                           ^~~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/UStl.h:505:23: note:   template argument deduction/substitution failed:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2807:87: note:   ‘const std::vector<cv::Point3_<float> >’ is not derived from ‘const std::multimap<K, V>’
         const std::map<int, cv::Point3f> & words3 = uMultimapToMapUnique(fromS.getWords3());
                                                                                           ^
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2814:58: error: no matching function for call to ‘std::multimap<int, cv::KeyPoint>::insert(const std::pair<const int, int>&)’
           wordsMap.insert(*fromS.getWords().find(jter->first));
                                                              ^
    In file included from /usr/include/c++/7/map:62:0,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/ULogger.h:34,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/UEventsManager.h:27,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:28:
    /usr/include/c++/7/bits/stl_multimap.h:531:7: note: candidate: std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(const value_type&) [with _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const int, cv::KeyPoint>]
           insert(const value_type& __x)
           ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:531:7: note:   no known conversion for argument 1 from ‘const std::pair<const int, int>’ to ‘const value_type& {aka const std::pair<const int, cv::KeyPoint>&}’
    /usr/include/c++/7/bits/stl_multimap.h:538:7: note: candidate: std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type&&) [with _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const int, cv::KeyPoint>]
           insert(value_type&& __x)
           ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:538:7: note:   no known conversion for argument 1 from ‘const std::pair<const int, int>’ to ‘std::multimap<int, cv::KeyPoint>::value_type&& {aka std::pair<const int, cv::KeyPoint>&&}’
    /usr/include/c++/7/bits/stl_multimap.h:543:2: note: candidate: template<class _Pair> std::__enable_if_t<std::is_constructible<std::pair<const _Key, _Tp>, _Pair>::value, typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Tp> >::other>::iterator> std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(_Pair&&) [with _Pair = _Pair; _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >]
      insert(_Pair&& __x)
      ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:543:2: note:   template argument deduction/substitution failed:
    /usr/include/c++/7/bits/stl_multimap.h:571:7: note: candidate: std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator, const value_type&) [with _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const int, cv::KeyPoint>]
           insert(const_iterator __position, const value_type& __x)
           ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:571:7: note:   candidate expects 2 arguments, 1 provided
    /usr/include/c++/7/bits/stl_multimap.h:581:7: note: candidate: std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator, std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type&&) [with _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const int, cv::KeyPoint>]
           insert(const_iterator __position, value_type&& __x)
           ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:581:7: note:   candidate expects 2 arguments, 1 provided
    /usr/include/c++/7/bits/stl_multimap.h:586:2: note: candidate: template<class _Pair> std::__enable_if_t<std::is_constructible<std::pair<const _Key, _Tp>, _Pair&&>::value, typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Tp> >::other>::iterator> std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator, _Pair&&) [with _Pair = _Pair; _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >]
      insert(const_iterator __position, _Pair&& __x)
      ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:586:2: note:   template argument deduction/substitution failed:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2814:58: note:   candidate expects 2 arguments, 1 provided
           wordsMap.insert(*fromS.getWords().find(jter->first));
                                                              ^
    In file included from /usr/include/c++/7/map:62:0,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/ULogger.h:34,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/UEventsManager.h:27,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:28:
    /usr/include/c++/7/bits/stl_multimap.h:605:2: note: candidate: template<class _InputIterator> void std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >]
      insert(_InputIterator __first, _InputIterator __last)
      ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:605:2: note:   template argument deduction/substitution failed:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2814:58: note:   candidate expects 2 arguments, 1 provided
           wordsMap.insert(*fromS.getWords().find(jter->first));
                                                              ^
    In file included from /usr/include/c++/7/map:62:0,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/ULogger.h:34,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/UEventsManager.h:27,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:28:
    /usr/include/c++/7/bits/stl_multimap.h:617:7: note: candidate: void std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::initializer_list<std::pair<const _Key, _Tp> >) [with _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >]
           insert(initializer_list<value_type> __l)
           ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:617:7: note:   no known conversion for argument 1 from ‘const std::pair<const int, int>’ to ‘std::initializer_list<std::pair<const int, cv::KeyPoint> >’
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2815:63: error: ‘const class cv::Mat’ has no member named ‘find’; did you mean ‘inv’?
           wordsDescriptorsMap.insert(*fromS.getWordsDescriptors().find(jter->first));
                                                                   ^~~~
                                                                   inv
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2829:86: error: no matching function for call to ‘uMultimapToMapUnique(const std::vector<cv::Point3_<float> >&)’
           const std::map<int, cv::Point3f> & words3 = uMultimapToMapUnique(s->getWords3());
                                                                                          ^
    In file included from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Memory.h:42:0,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:35:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/UStl.h:505:23: note: candidate: template<class K, class V> std::map<K, V> uMultimapToMapUnique(const std::multimap<K, V>&)
     inline std::map<K, V> uMultimapToMapUnique(const std::multimap<K, V> & m)
                           ^~~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/UStl.h:505:23: note:   template argument deduction/substitution failed:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2829:86: note:   ‘const std::vector<cv::Point3_<float> >’ is not derived from ‘const std::multimap<K, V>’
           const std::map<int, cv::Point3f> & words3 = uMultimapToMapUnique(s->getWords3());
                                                                                          ^
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2837:57: error: no matching function for call to ‘std::multimap<int, cv::KeyPoint>::insert(const std::pair<const int, int>&)’
             wordsMap.insert(*s->getWords().find(jter->first));
                                                             ^
    In file included from /usr/include/c++/7/map:62:0,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/ULogger.h:34,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/UEventsManager.h:27,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:28:
    /usr/include/c++/7/bits/stl_multimap.h:531:7: note: candidate: std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(const value_type&) [with _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const int, cv::KeyPoint>]
           insert(const value_type& __x)
           ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:531:7: note:   no known conversion for argument 1 from ‘const std::pair<const int, int>’ to ‘const value_type& {aka const std::pair<const int, cv::KeyPoint>&}’
    /usr/include/c++/7/bits/stl_multimap.h:538:7: note: candidate: std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type&&) [with _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const int, cv::KeyPoint>]
           insert(value_type&& __x)
           ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:538:7: note:   no known conversion for argument 1 from ‘const std::pair<const int, int>’ to ‘std::multimap<int, cv::KeyPoint>::value_type&& {aka std::pair<const int, cv::KeyPoint>&&}’
    /usr/include/c++/7/bits/stl_multimap.h:543:2: note: candidate: template<class _Pair> std::__enable_if_t<std::is_constructible<std::pair<const _Key, _Tp>, _Pair>::value, typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Tp> >::other>::iterator> std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(_Pair&&) [with _Pair = _Pair; _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >]
      insert(_Pair&& __x)
      ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:543:2: note:   template argument deduction/substitution failed:
    /usr/include/c++/7/bits/stl_multimap.h:571:7: note: candidate: std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator, const value_type&) [with _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const int, cv::KeyPoint>]
           insert(const_iterator __position, const value_type& __x)
           ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:571:7: note:   candidate expects 2 arguments, 1 provided
    /usr/include/c++/7/bits/stl_multimap.h:581:7: note: candidate: std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator, std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type&&) [with _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator = std::_Rb_tree_const_iterator<std::pair<const int, cv::KeyPoint> >; std::multimap<_Key, _Tp, _Compare, _Alloc>::value_type = std::pair<const int, cv::KeyPoint>]
           insert(const_iterator __position, value_type&& __x)
           ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:581:7: note:   candidate expects 2 arguments, 1 provided
    /usr/include/c++/7/bits/stl_multimap.h:586:2: note: candidate: template<class _Pair> std::__enable_if_t<std::is_constructible<std::pair<const _Key, _Tp>, _Pair&&>::value, typename std::_Rb_tree<_Key, std::pair<const _Key, _Tp>, std::_Select1st<std::pair<const _Key, _Tp> >, _Compare, typename __gnu_cxx::__alloc_traits<_Allocator>::rebind<std::pair<const _Key, _Tp> >::other>::iterator> std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::multimap<_Key, _Tp, _Compare, _Alloc>::const_iterator, _Pair&&) [with _Pair = _Pair; _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >]
      insert(const_iterator __position, _Pair&& __x)
      ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:586:2: note:   template argument deduction/substitution failed:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2837:57: note:   candidate expects 2 arguments, 1 provided
             wordsMap.insert(*s->getWords().find(jter->first));
                                                             ^
    In file included from /usr/include/c++/7/map:62:0,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/ULogger.h:34,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/UEventsManager.h:27,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:28:
    /usr/include/c++/7/bits/stl_multimap.h:605:2: note: candidate: template<class _InputIterator> void std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(_InputIterator, _InputIterator) [with _InputIterator = _InputIterator; _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >]
      insert(_InputIterator __first, _InputIterator __last)
      ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:605:2: note:   template argument deduction/substitution failed:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2837:57: note:   candidate expects 2 arguments, 1 provided
             wordsMap.insert(*s->getWords().find(jter->first));
                                                             ^
    In file included from /usr/include/c++/7/map:62:0,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/ULogger.h:34,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/UEventsManager.h:27,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:28:
    /usr/include/c++/7/bits/stl_multimap.h:617:7: note: candidate: void std::multimap<_Key, _Tp, _Compare, _Alloc>::insert(std::initializer_list<std::pair<const _Key, _Tp> >) [with _Key = int; _Tp = cv::KeyPoint; _Compare = std::less<int>; _Alloc = std::allocator<std::pair<const int, cv::KeyPoint> >]
           insert(initializer_list<value_type> __l)
           ^~~~~~
    /usr/include/c++/7/bits/stl_multimap.h:617:7: note:   no known conversion for argument 1 from ‘const std::pair<const int, int>’ to ‘std::initializer_list<std::pair<const int, cv::KeyPoint> >’
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2838:62: error: ‘const class cv::Mat’ has no member named ‘find’; did you mean ‘inv’?
             wordsDescriptorsMap.insert(*s->getWordsDescriptors().find(jter->first));
                                                                  ^~~~
                                                                  inv
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2846:13: error: ‘class rtabmap::Signature’ has no member named ‘setWords3’; did you mean ‘setWords’?
        tmpFrom2.setWords3(words3DMap);
                 ^~~~~~~~~
                 setWords
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2847:30: error: no matching function for call to ‘rtabmap::Signature::setWords(std::multimap<int, cv::KeyPoint>&)’
        tmpFrom2.setWords(wordsMap);
                                  ^
    In file included from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:36:0:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:108:7: note: candidate: void rtabmap::Signature::setWords(const std::multimap<int, int>&, const std::vector<cv::KeyPoint>&, const std::vector<cv::Point3_<float> >&, const cv::Mat&)
      void setWords(const std::multimap<int, int> & words, const std::vector<cv::KeyPoint> & keypoints, const std::vector<cv::Point3f> & words3, const cv::Mat & descriptors);
           ^~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:108:7: note:   candidate expects 4 arguments, 1 provided
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2848:52: error: no matching function for call to ‘rtabmap::Signature::setWordsDescriptors(std::multimap<int, cv::Mat>&)’
        tmpFrom2.setWordsDescriptors(wordsDescriptorsMap);
                                                        ^
    In file included from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:36:0:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:116:7: note: candidate: void rtabmap::Signature::setWordsDescriptors(const cv::Mat&)
      void setWordsDescriptors(const cv::Mat & descriptors);
           ^~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Signature.h:116:7: note:   no known conversion for argument 1 from ‘std::multimap<int, cv::Mat>’ to ‘const cv::Mat&’
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2854:87: error: no matching function for call to ‘uMultimapToMapUnique(const std::vector<cv::Point3_<float> >&)’
         std::map<int, cv::Point3f> points3DMap = uMultimapToMapUnique(tmpFrom2.getWords3());
                                                                                           ^
    In file included from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Memory.h:42:0,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:35:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/UStl.h:505:23: note: candidate: template<class K, class V> std::map<K, V> uMultimapToMapUnique(const std::multimap<K, V>&)
     inline std::map<K, V> uMultimapToMapUnique(const std::multimap<K, V> & m)
                           ^~~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/utilite/include/rtabmap/utilite/UStl.h:505:23: note:   template argument deduction/substitution failed:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2854:87: note:   ‘const std::vector<cv::Point3_<float> >’ is not derived from ‘const std::multimap<K, V>’
         std::map<int, cv::Point3f> points3DMap = uMultimapToMapUnique(tmpFrom2.getWords3());
                                                                                           ^
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2916:71: error: invalid initialization of reference of type ‘const std::map<int, cv::KeyPoint>&’ from expression of type ‘std::map<int, int>’
            const std::map<int,cv::KeyPoint> & words = uMultimapToMapUnique(s->getWords());
                                                       ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:2922:80: error: ‘const class std::vector<cv::Point3_<float> >’ has no member named ‘find’; did you mean ‘cend’?
              std::multimap<int, cv::Point3f>::const_iterator kter = s->getWords3().find(jter->first);
                                                                                    ^~~~
                                                                                    cend
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Rtabmap.cpp: In constructor ‘rtabmap::Rtabmap::Rtabmap()’:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Rtabmap.cpp:128:2: error: class ‘rtabmap::Rtabmap’ does not have any field named ‘_savedLocalizationIgnored’
      _savedLocalizationIgnored(Parameters::defaultRGBDSavedLocalizationIgnored()),
      ^~~~~~~~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Rtabmap.cpp:128:40: error: ‘defaultRGBDSavedLocalizationIgnored’ is not a member of ‘rtabmap::Parameters’
      _savedLocalizationIgnored(Parameters::defaultRGBDSavedLocalizationIgnored()),
                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Rtabmap.cpp: In member function ‘void rtabmap::Rtabmap::init(const ParametersMap&, const string&, bool)’:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Rtabmap.cpp:341:6: error: ‘_savedLocalizationIgnored’ was not declared in this scope
       if(_savedLocalizationIgnored)
          ^~~~~~~~~~~~~~~~~~~~~~~~~
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp: In member function ‘rtabmap::Transform rtabmap::Memory::computeIcpTransformMulti(int, int, const std::map<int, rtabmap::Transform>&, rtabmap::RegistrationInfo*)’:
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:3173:152: error: no match for ‘operator=’ (operand types are ‘cv::Mat’ and ‘rtabmap::LaserScan’)
        assembledScan = fromScan.is2d()?util3d::laserScan2dFromPointCloud(*assembledToNormalClouds):util3d::laserScanFromPointCloud(*assembledToNormalClouds);
                                                                                                                                                            ^
    In file included from /usr/local/include/opencv2/core/mat.hpp:3764:0,
                     from /usr/local/include/opencv2/core.hpp:59,
                     from /usr/local/include/opencv2/core/core.hpp:48,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Transform.h:37,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/SensorData.h:32,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Memory.h:35,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:35:
    /usr/local/include/opencv2/core/mat.inl.hpp:790:6: note: candidate: cv::Mat& cv::Mat::operator=(const cv::Mat&)
     Mat& Mat::operator = (const Mat& m)
          ^~~
    /usr/local/include/opencv2/core/mat.inl.hpp:790:6: note:   no known conversion for argument 1 from ‘rtabmap::LaserScan’ to ‘const cv::Mat&’
    In file included from /usr/local/include/opencv2/core/mat.hpp:3764:0,
                     from /usr/local/include/opencv2/core.hpp:59,
                     from /usr/local/include/opencv2/core/core.hpp:48,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Transform.h:37,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/SensorData.h:32,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Memory.h:35,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:35:
    /usr/local/include/opencv2/core/mat.inl.hpp:3429:6: note: candidate: cv::Mat& cv::Mat::operator=(const cv::MatExpr&)
     Mat& Mat::operator = (const MatExpr& e)
          ^~~
    /usr/local/include/opencv2/core/mat.inl.hpp:3429:6: note:   no known conversion for argument 1 from ‘rtabmap::LaserScan’ to ‘const cv::MatExpr&’
    In file included from /usr/local/include/opencv2/core.hpp:59:0,
                     from /usr/local/include/opencv2/core/core.hpp:48,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Transform.h:37,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/SensorData.h:32,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Memory.h:35,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:35:
    /usr/local/include/opencv2/core/mat.hpp:1258:10: note: candidate: cv::Mat& cv::Mat::operator=(const Scalar&)
         Mat& operator = (const Scalar& s);
              ^~~~~~~~
    /usr/local/include/opencv2/core/mat.hpp:1258:10: note:   no known conversion for argument 1 from ‘rtabmap::LaserScan’ to ‘const Scalar& {aka const cv::Scalar_<double>&}’
    In file included from /usr/local/include/opencv2/core/mat.hpp:3764:0,
                     from /usr/local/include/opencv2/core.hpp:59,
                     from /usr/local/include/opencv2/core/core.hpp:48,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Transform.h:37,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/SensorData.h:32,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Memory.h:35,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:35:
    /usr/local/include/opencv2/core/mat.inl.hpp:1464:6: note: candidate: cv::Mat& cv::Mat::operator=(cv::Mat&&)
     Mat& Mat::operator = (Mat&& m)
          ^~~
    /usr/local/include/opencv2/core/mat.inl.hpp:1464:6: note:   no known conversion for argument 1 from ‘rtabmap::LaserScan’ to ‘cv::Mat&&’
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:3177:140: error: no match for ‘operator=’ (operand types are ‘cv::Mat’ and ‘rtabmap::LaserScan’)
        assembledScan = fromScan.is2d()?util3d::laserScan2dFromPointCloud(*assembledToClouds):util3d::laserScanFromPointCloud(*assembledToClouds);
                                                                                                                                                ^
    In file included from /usr/local/include/opencv2/core/mat.hpp:3764:0,
                     from /usr/local/include/opencv2/core.hpp:59,
                     from /usr/local/include/opencv2/core/core.hpp:48,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Transform.h:37,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/SensorData.h:32,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Memory.h:35,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:35:
    /usr/local/include/opencv2/core/mat.inl.hpp:790:6: note: candidate: cv::Mat& cv::Mat::operator=(const cv::Mat&)
     Mat& Mat::operator = (const Mat& m)
          ^~~
    /usr/local/include/opencv2/core/mat.inl.hpp:790:6: note:   no known conversion for argument 1 from ‘rtabmap::LaserScan’ to ‘const cv::Mat&’
    In file included from /usr/local/include/opencv2/core/mat.hpp:3764:0,
                     from /usr/local/include/opencv2/core.hpp:59,
                     from /usr/local/include/opencv2/core/core.hpp:48,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Transform.h:37,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/SensorData.h:32,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Memory.h:35,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:35:
    /usr/local/include/opencv2/core/mat.inl.hpp:3429:6: note: candidate: cv::Mat& cv::Mat::operator=(const cv::MatExpr&)
     Mat& Mat::operator = (const MatExpr& e)
          ^~~
    /usr/local/include/opencv2/core/mat.inl.hpp:3429:6: note:   no known conversion for argument 1 from ‘rtabmap::LaserScan’ to ‘const cv::MatExpr&’
    In file included from /usr/local/include/opencv2/core.hpp:59:0,
                     from /usr/local/include/opencv2/core/core.hpp:48,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Transform.h:37,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/SensorData.h:32,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Memory.h:35,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:35:
    /usr/local/include/opencv2/core/mat.hpp:1258:10: note: candidate: cv::Mat& cv::Mat::operator=(const Scalar&)
         Mat& operator = (const Scalar& s);
              ^~~~~~~~
    /usr/local/include/opencv2/core/mat.hpp:1258:10: note:   no known conversion for argument 1 from ‘rtabmap::LaserScan’ to ‘const Scalar& {aka const cv::Scalar_<double>&}’
    In file included from /usr/local/include/opencv2/core/mat.hpp:3764:0,
                     from /usr/local/include/opencv2/core.hpp:59,
                     from /usr/local/include/opencv2/core/core.hpp:48,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Transform.h:37,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/SensorData.h:32,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/../include/rtabmap/core/Memory.h:35,
                     from /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:35:
    /usr/local/include/opencv2/core/mat.inl.hpp:1464:6: note: candidate: cv::Mat& cv::Mat::operator=(cv::Mat&&)
     Mat& Mat::operator = (Mat&& m)
          ^~~
    /usr/local/include/opencv2/core/mat.inl.hpp:1464:6: note:   no known conversion for argument 1 from ‘rtabmap::LaserScan’ to ‘cv::Mat&&’
    /home/zxn/dev/active_slam_v/src/active_v_slam-master/rtabmap/corelib/src/Memory.cpp:3181:154: error: no match for ‘operator=’ (operand types are ‘cv::Mat’ and ‘rtabmap::LaserScan’)
    

    Can you help me? Thanks

    wontfix 
    opened by zheng-xiao 3
  • [ERROR] Multiple packages found with the same name

    [ERROR] Multiple packages found with the same name "robotino_msgs"

    Hello guys, Thanks for open sourcing this work. I was trying to build the packages in this repository, but when I build it says it finds the robotine_msgs twice. So, I wanted to know which of the two robotino_msgs should I delete or remove? Is there any other way to resolve this issue? Following is the complete error log :

    [email protected]  ~/catkin_ws  catkin build
    -------------------------------------------------------------------------
    Profile:                     default
    Extending:          [cached] /home/adbidwai/nus_ws/devel:/opt/ros/melodic
    Workspace:                   /home/adbidwai/catkin_ws
    -------------------------------------------------------------------------
    Build Space:        [exists] /home/adbidwai/catkin_ws/build
    Devel Space:        [exists] /home/adbidwai/catkin_ws/devel
    Install Space:      [unused] /home/adbidwai/catkin_ws/install
    Log Space:          [exists] /home/adbidwai/catkin_ws/logs
    Source Space:       [exists] /home/adbidwai/catkin_ws/src
    DESTDIR:            [unused] None
    -------------------------------------------------------------------------
    Devel Space Layout:          linked
    Install Space Layout:        None
    -------------------------------------------------------------------------
    Additional CMake Args:       None
    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.
    -------------------------------------------------------------------------
    Traceback (most recent call last):
      File "/usr/bin/catkin", line 11, in <module>
        load_entry_point('catkin-tools==0.6.1', 'console_scripts', 'catkin')()
      File "/usr/lib/python2.7/dist-packages/catkin_tools/commands/catkin.py", line 272, in main
        catkin_main(sysargs)
      File "/usr/lib/python2.7/dist-packages/catkin_tools/commands/catkin.py", line 267, in catkin_main
        sys.exit(args.main(args) or 0)
      File "/usr/lib/python2.7/dist-packages/catkin_tools/verbs/catkin_build/cli.py", line 422, in main
        summarize_build=opts.summarize  # Can be True, False, or None
      File "/usr/lib/python2.7/dist-packages/catkin_tools/verbs/catkin_build/build.py", line 283, in build_isolated_workspace
        workspace_packages = find_packages(context.source_space_abs, exclude_subspaces=True, warnings=[])
      File "/usr/lib/python2.7/dist-packages/catkin_pkg/packages.py", line 96, in find_packages
        raise RuntimeError('\n'.join(duplicates))
    RuntimeError: Multiple packages found with the same name "robotino_msgs":
    - active_v_slam/robotino_specific/robotino_msgs
    - active_v_slam/src/robotino_msgs
    

    TIA

    good first issue 
    opened by adbidwai 3
  • robot_localization

    robot_localization

    Hi, I have the new issue. Can you help me one more time? Thanks fatal error: robot_localization/SetPose.h: No such file or directory #include "robot_localization/SetPose.h" ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. In file included from /home/zxn/dev/active_slam_v/src/active_v_slam-master/src/robotino_mpc/include/nlmpc.h:27:0, from /home/zxn/dev/active_slam_v/src/active_v_slam-master/src/robotino_mpc/src/nlmpc.cpp:5: /home/zxn/dev/active_slam_v/src/active_v_slam-master/src/robotino_fsm/include/robotino_fsm_node.h:26:10: fatal error: robot_localization/SetPose.h: No such file or directory #include "robot_localization/SetPose.h" ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    wontfix 
    opened by zheng-xiao 1
  • RTABMap process has died, exit code -11

    RTABMap process has died, exit code -11

    Hi @eliabntt, thanks for open sourcing this amazing work!

    I have successfully built the entire set up required to run the irotate simulation on ROS Melodic (Ubuntu 18.04)

    But when I try to run the simulation, I get the following error whenI try to alunch the rtabmap launch file using roslaunch robotino_simulations rtabmap.launch delete:=-d.

    [email protected]:~/irotate_ws/src/rtabmap/build$ roslaunch robotino_simulations rtabmap.launch delete:=-d
    ... logging to /home/marmot/.ros/log/1b2cabde-ebbd-11ec-9993-000ec666185a/roslaunch-Cadence-5031.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.
    
    started roslaunch server http://Cadence:41029/
    
    SUMMARY
    ========
    
    PARAMETERS
     * /camera_height: 0.85
     * /depth: 4
     * /feat_based: False
     * /fov: 69.4
     * /max_feat_dist: 10
     * /move_base/GlobalPlanner/allow_unknown: False
     * /move_base/GlobalPlanner/clearing_rotation_allowed: False
     * /move_base/GlobalPlanner/cost_factor: 1
     * /move_base/GlobalPlanner/default_tolerance: 0.5
     * /move_base/GlobalPlanner/lethal_cost: 180
     * /move_base/GlobalPlanner/max_planning_retries: 10
     * /move_base/GlobalPlanner/neutral_cost: 50
     * /move_base/GlobalPlanner/old_navfn_behavior: False
     * /move_base/GlobalPlanner/orientation_window_size: 255
     * /move_base/GlobalPlanner/oscillation_timeout: 5.0
     * /move_base/GlobalPlanner/planner_costmap_publish_frequency: 0.0
     * /move_base/GlobalPlanner/planner_window_x: 0.0
     * /move_base/GlobalPlanner/planner_window_y: 0.0
     * /move_base/GlobalPlanner/publish_scale: 100
     * /move_base/GlobalPlanner/recovery_behaviour_enabled: False
     * /move_base/GlobalPlanner/track_unknown_space: True
     * /move_base/GlobalPlanner/use_dijkstra: True
     * /move_base/GlobalPlanner/use_grid_path: False
     * /move_base/GlobalPlanner/use_quadratic: True
     * /move_base/base_global_planner: global_planner/Gl...
     * /move_base/global_costmap/first_map_only: False
     * /move_base/global_costmap/fotprint_padding: 0.02
     * /move_base/global_costmap/global_frame: map
     * /move_base/global_costmap/height: 100.0
     * /move_base/global_costmap/inflation_layer/cost_scaling_factor: 2
     * /move_base/global_costmap/inflation_layer/inflate_unknown: False
     * /move_base/global_costmap/inflation_layer/inflation_radius: 2
     * /move_base/global_costmap/map_type: voxel
     * /move_base/global_costmap/obstacle_layer/combination_method: 1
     * /move_base/global_costmap/obstacle_layer/laser/clearing: True
     * /move_base/global_costmap/obstacle_layer/laser/data_type: LaserScan
     * /move_base/global_costmap/obstacle_layer/laser/marking: True
     * /move_base/global_costmap/obstacle_layer/laser/max_obstacle_height: 50
     * /move_base/global_costmap/obstacle_layer/laser/min_obstacle_height: 0
     * /move_base/global_costmap/obstacle_layer/laser/sensor_frame: lasersensor_link
     * /move_base/global_costmap/obstacle_layer/laser/topic: /robot/laser/scan
     * /move_base/global_costmap/obstacle_layer/lethal_cost_threshold: 80
     * /move_base/global_costmap/obstacle_layer/mark_threshold: 0
     * /move_base/global_costmap/obstacle_layer/observation_sources: laser
     * /move_base/global_costmap/obstacle_layer/publish_voxel_map: False
     * /move_base/global_costmap/obstacle_layer/track_unknown_space: True
     * /move_base/global_costmap/obstacle_layer/unknown_threshold: 15
     * /move_base/global_costmap/obstacle_range: 15
     * /move_base/global_costmap/plugins: [{'type': 'costma...
     * /move_base/global_costmap/publish_frequency: 20.0
     * /move_base/global_costmap/raytrace_range: 3
     * /move_base/global_costmap/resolution: 0.05
     * /move_base/global_costmap/robot_base_frame: base_link
     * /move_base/global_costmap/robot_radius: 0.22
     * /move_base/global_costmap/rolling_window: True
     * /move_base/global_costmap/static_layer/enabled: True
     * /move_base/global_costmap/static_layer/map_topic: /rtabmap/proj_map
     * /move_base/global_costmap/static_layer/subscribe_to_updates: True
     * /move_base/global_costmap/static_map: False
     * /move_base/global_costmap/track_unknown_space: True
     * /move_base/global_costmap/transform_tolerance: 1
     * /move_base/global_costmap/update_frequency: 2.0
     * /move_base/global_costmap/width: 100.0
     * /move_base/local_costmap/fotprint_padding: 0.02
     * /move_base/local_costmap/global_frame: odom
     * /move_base/local_costmap/height: 6
     * /move_base/local_costmap/inflation_layer/cost_scaling_factor: 2
     * /move_base/local_costmap/inflation_layer/inflate_unknown: False
     * /move_base/local_costmap/inflation_layer/inflation_radius: 0.4
     * /move_base/local_costmap/map_type: voxel
     * /move_base/local_costmap/obstacle_layer/combination_method: 1
     * /move_base/local_costmap/obstacle_layer/cost_scaling_factor: 0.1
     * /move_base/local_costmap/obstacle_layer/inflation_radius: 0.1
     * /move_base/local_costmap/obstacle_layer/laser/clearing: True
     * /move_base/local_costmap/obstacle_layer/laser/data_type: LaserScan
     * /move_base/local_costmap/obstacle_layer/laser/marking: True
     * /move_base/local_costmap/obstacle_layer/laser/max_obstacle_height: 50
     * /move_base/local_costmap/obstacle_layer/laser/min_obstacle_height: 0
     * /move_base/local_costmap/obstacle_layer/laser/sensor_frame: lasersensor_link
     * /move_base/local_costmap/obstacle_layer/laser/topic: /robot/laser/scan
     * /move_base/local_costmap/obstacle_layer/lethal_cost_threshold: 80
     * /move_base/local_costmap/obstacle_layer/mark_threshold: 0
     * /move_base/local_costmap/obstacle_layer/observation_sources: laser
     * /move_base/local_costmap/obstacle_layer/publish_voxel_map: False
     * /move_base/local_costmap/obstacle_layer/track_unknown_space: True
     * /move_base/local_costmap/obstacle_layer/unknown_threshold: 15
     * /move_base/local_costmap/obstacle_range: 3.5
     * /move_base/local_costmap/plugins: [{'type': 'costma...
     * /move_base/local_costmap/publish_frequency: 10.0
     * /move_base/local_costmap/raytrace_range: 4.0
     * /move_base/local_costmap/resolution: 0.05
     * /move_base/local_costmap/robot_base_frame: base_link
     * /move_base/local_costmap/robot_radius: 0.22
     * /move_base/local_costmap/rolling_window: True
     * /move_base/local_costmap/static_layer/enabled: True
     * /move_base/local_costmap/static_layer/map_topic: map
     * /move_base/local_costmap/static_layer/subscribe_to_updates: True
     * /move_base/local_costmap/static_map: False
     * /move_base/local_costmap/transform_tolerance: 1
     * /move_base/local_costmap/update_frequency: 10.0
     * /move_base/local_costmap/width: 6
     * /move_base/make_plan_clear_costmap: False
     * /rosdistro: melodic
     * /rosversion: 1.14.13
     * /rtabmap/icp_odometry/Odom/GuessMotion: true
     * /rtabmap/icp_odometry/Odom/ResetCountdown: 10
     * /rtabmap/icp_odometry/Odom/ScanKeyFrameThr: 0.95
     * /rtabmap/icp_odometry/Odom/Strategy: 0
     * /rtabmap/icp_odometry/frame_id: base_link
     * /rtabmap/icp_odometry/publish_tf: False
     * /rtabmap/icp_odometry/queue_size: 1
     * /rtabmap/rgbd_sync/approx_sync: False
     * /rtabmap/rtabmap/GFTT/BlockSize: 4
     * /rtabmap/rtabmap/GFTT/K: 0.04
     * /rtabmap/rtabmap/GFTT/MinDistance: 5
     * /rtabmap/rtabmap/GFTT/QualityLevel: 0.005
     * /rtabmap/rtabmap/GFTT/UseHarrisDetector: false
     * /rtabmap/rtabmap/Grid/3D: true
     * /rtabmap/rtabmap/Grid/CellSize: 0.05
     * /rtabmap/rtabmap/Grid/ClusterRadius: 0.05
     * /rtabmap/rtabmap/Grid/DepthDecimation: 1.0
     * /rtabmap/rtabmap/Grid/FootprintHeight: 0.8
     * /rtabmap/rtabmap/Grid/FootprintLength: 0.4
     * /rtabmap/rtabmap/Grid/FootprintWidth: 0.4
     * /rtabmap/rtabmap/Grid/FromDepth: true
     * /rtabmap/rtabmap/Grid/MaxGroundAngle: 45.0
     * /rtabmap/rtabmap/Grid/MaxGroundHeight: 0.1
     * /rtabmap/rtabmap/Grid/MaxObstacleHeight: 1.5
     * /rtabmap/rtabmap/Grid/MinClusterSize: 10.0
     * /rtabmap/rtabmap/Grid/MinGroundHeight: -0.05
     * /rtabmap/rtabmap/Grid/NoiseFilteringMinNeighbors: 5.0
     * /rtabmap/rtabmap/Grid/NoiseFilteringRadius: 0.1
     * /rtabmap/rtabmap/Grid/NormalK: 15.0
     * /rtabmap/rtabmap/Grid/NormalsSegmentation: false
     * /rtabmap/rtabmap/Grid/RangeMax: 4.0
     * /rtabmap/rtabmap/Grid/RangeMin: 0.4
     * /rtabmap/rtabmap/Grid/RayTracing: true
     * /rtabmap/rtabmap/Grid/ScanDecimation: 0
     * /rtabmap/rtabmap/GridGlobal/FootprintRadius: 0.0
     * /rtabmap/rtabmap/GridGlobal/MaxNodes: 0
     * /rtabmap/rtabmap/GridGlobal/MinSize: 30
     * /rtabmap/rtabmap/GridGlobal/OccupancyThr: 0.55
     * /rtabmap/rtabmap/GridGlobal/ProbClampingMax: 0.999
     * /rtabmap/rtabmap/GridGlobal/ProbClampingMin: 0.001
     * /rtabmap/rtabmap/GridGlobal/ProbHit: 0.8
     * /rtabmap/rtabmap/GridGlobal/ProbMiss: 0.4
     * /rtabmap/rtabmap/GridGlobal/UpdateError: 0.05
     * /rtabmap/rtabmap/Icp/CorrespondenceRatio: 0.2
     * /rtabmap/rtabmap/Icp/DownsamplingStep: 1
     * /rtabmap/rtabmap/Icp/Epsilon: 0.00001
     * /rtabmap/rtabmap/Icp/MaxCorrespondenceDistance: 0.05
     * /rtabmap/rtabmap/Icp/MaxRotation: 0.3
     * /rtabmap/rtabmap/Icp/MaxTranslation: 0.05
     * /rtabmap/rtabmap/Icp/PM: true
     * /rtabmap/rtabmap/Icp/PMOutlierRatio: 0.9
     * /rtabmap/rtabmap/Icp/PointToPlane: false
     * /rtabmap/rtabmap/Icp/PointToPlaneK: 5
     * /rtabmap/rtabmap/Icp/PointToPlaneRadius: 0.5
     * /rtabmap/rtabmap/Icp/RangeMin: 0.4
     * /rtabmap/rtabmap/Icp/VoxelSize: 0.0
     * /rtabmap/rtabmap/Kp/BadSignRatio: 0.4
     * /rtabmap/rtabmap/Kp/DetectorStrategy: 6
     * /rtabmap/rtabmap/Kp/MaxDepth: 0.0
     * /rtabmap/rtabmap/Kp/MaxFeatures: 500
     * /rtabmap/rtabmap/Kp/MinDepth: 0.4
     * /rtabmap/rtabmap/Kp/SubPixIterations: 2
     * /rtabmap/rtabmap/Mem/BadignaturesIgnored: false
     * /rtabmap/rtabmap/Mem/DepthAsMask: true
     * /rtabmap/rtabmap/Mem/ImagePostDecimation: 2.0
     * /rtabmap/rtabmap/Mem/ImagePreDecimation: 2.0
     * /rtabmap/rtabmap/Mem/NotLinkedNodesKept: false
     * /rtabmap/rtabmap/Mem/RawDescriptorsKept: False
     * /rtabmap/rtabmap/Mem/RecentWmRatio: 0.2
     * /rtabmap/rtabmap/Mem/ReduceGraph: True
     * /rtabmap/rtabmap/Mem/STMSize: 30
     * /rtabmap/rtabmap/ORB/Gpu: True
     * /rtabmap/rtabmap/Optimizer/LadmarksIgnored: true
     * /rtabmap/rtabmap/Optimizer/Robust: false
     * /rtabmap/rtabmap/Optimizer/Strategy: 2
     * /rtabmap/rtabmap/RGBD/AngularUpdate: 0.1
     * /rtabmap/rtabmap/RGBD/LinearUpdate: 0.1
     * /rtabmap/rtabmap/RGBD/LocalBundleOnLoopClosure: False
     * /rtabmap/rtabmap/RGBD/LocalImmunizationRatio: 0.4
     * /rtabmap/rtabmap/RGBD/LocalRadius: 5
     * /rtabmap/rtabmap/RGBD/LoopClosureReextractFeatures: False
     * /rtabmap/rtabmap/RGBD/MaxLocalRetrieved: 10
     * /rtabmap/rtabmap/RGBD/MaxLoopClosureDistance: 2
     * /rtabmap/rtabmap/RGBD/NeighborLinkRefining: false
     * /rtabmap/rtabmap/RGBD/NewMapOdomChangeDistance: 2
     * /rtabmap/rtabmap/RGBD/OptimizeFromGraphEnd: false
     * /rtabmap/rtabmap/RGBD/OptimizeMaxError: 3.0
     * /rtabmap/rtabmap/RGBD/ProximityAngle: 359
     * /rtabmap/rtabmap/RGBD/ProximityBySpace: True
     * /rtabmap/rtabmap/RGBD/ProximityMaxGraphDepth: 50
     * /rtabmap/rtabmap/RGBD/ProximityMaxPaths: 4
     * /rtabmap/rtabmap/RGBD/ProximityOdomGuess: false
     * /rtabmap/rtabmap/RGBD/ProximityPathFilteringRadius: 1
     * /rtabmap/rtabmap/RGBD/ProximityPathMaxNeighbors: 50
     * /rtabmap/rtabmap/RGBD/SavedLocalizationIgnored: True
     * /rtabmap/rtabmap/Reg/Force3DoF: true
     * /rtabmap/rtabmap/Reg/RepeatOnce: false
     * /rtabmap/rtabmap/Reg/Strategy: 2
     * /rtabmap/rtabmap/Rtabmap/DetectionRate: 2
     * /rtabmap/rtabmap/Rtabmap/ImageBufferSize: 2.0
     * /rtabmap/rtabmap/Rtabmap/MaxRetrieved: 20
     * /rtabmap/rtabmap/Rtabmap/MemoryThr: 0
     * /rtabmap/rtabmap/Rtabmap/StartNewMapOnLoopClosure: False
     * /rtabmap/rtabmap/Rtabmap/TimeThr: 500
     * /rtabmap/rtabmap/Rtabmap/scan_range_min: 0.3
     * /rtabmap/rtabmap/Vis/DepthAsMask: true
     * /rtabmap/rtabmap/Vis/EpipolarGeometryVar: 0.5
     * /rtabmap/rtabmap/Vis/FeatureType: 6
     * /rtabmap/rtabmap/Vis/InlierDistance: 0.5
     * /rtabmap/rtabmap/Vis/MaxDepth: 0
     * /rtabmap/rtabmap/Vis/MaxFeatures: 500
     * /rtabmap/rtabmap/Vis/MinDepth: 0.4
     * /rtabmap/rtabmap/Vis/MinInliers: 15
     * /rtabmap/rtabmap/Vis/PnPRefineIterations: 5
     * /rtabmap/rtabmap/Vis/PnPReprojError: 10
     * /rtabmap/rtabmap/Vis/SubPixIterations: 0
     * /rtabmap/rtabmap/Vis/SubPixWinSize: 3
     * /rtabmap/rtabmap/approx_sync: True
     * /rtabmap/rtabmap/database_path: rtabmap.db
     * /rtabmap/rtabmap/frame_id: base_link
     * /rtabmap/rtabmap/g2o/Optimizer: 0
     * /rtabmap/rtabmap/ground_truth_base_frame_id: base_footprint_gt
     * /rtabmap/rtabmap/ground_truth_frame_id: world
     * /rtabmap/rtabmap/map_always_update: False
     * /rtabmap/rtabmap/map_filter_angle: 20.0
     * /rtabmap/rtabmap/map_filter_radius: 0.3
     * /rtabmap/rtabmap/odom_sensor_sync: True
     * /rtabmap/rtabmap/publish_tf: True
     * /rtabmap/rtabmap/queue_size: 30
     * /rtabmap/rtabmap/rtabmap/scan_range_min: 0.3
     * /rtabmap/rtabmap/rtabmap_ros/scan_range_min: 0.3
     * /rtabmap/rtabmap/scan_range_min: 0.3
     * /rtabmap/rtabmap/subscribe_depth: False
     * /rtabmap/rtabmap/subscribe_rgb: False
     * /rtabmap/rtabmap/subscribe_rgbd: True
     * /rtabmap/rtabmap/subscribe_scan: True
     * /rtabmap/rtabmap/wait_for_transform_duration: 0.1
     * /rtabmap/use_sim_time: True
     * /standalone_converter/converter_plugin: costmap_converter...
     * /standalone_converter/costmap_topic: /move_base/local_...
     * /standalone_converter/min_area: 8
     * /standalone_converter/odom_topic: /odometry/filtered
     * /use_sim_time: True
    
    NODES
      /
        move_base (move_base/move_base)
        standalone_converter (costmap_converter/standalone_converter)
        standalone_nodelet (nodelet/nodelet)
      /rtabmap/
        icp_odometry (rtabmap_ros/icp_odometry)
        rgbd_sync (nodelet/nodelet)
        rtabmap (rtabmap_ros/rtabmap)
    
    auto-starting new master
    process[master]: started with pid [5056]
    ROS_MASTER_URI=http://localhost:11311
    
    setting /run_id to 1b2cabde-ebbd-11ec-9993-000ec666185a
    process[rosout-1]: started with pid [5083]
    started core service [/rosout]
    process[rtabmap/rgbd_sync-2]: started with pid [5091]
    type is rtabmap_ros/rgbd_sync
    process[rtabmap/rtabmap-3]: started with pid [5092]
    process[rtabmap/icp_odometry-4]: started with pid [5097]
    process[standalone_nodelet-5]: started with pid [5099]
    process[move_base-6]: started with pid [5100]
    process[standalone_converter-7]: started with pid [5101]
    [ INFO] [1655195798.456007473]: Initializing nodelet with 16 worker threads.
    [ INFO] [1655195798.597252807]: Starting node...
    [ INFO] [1655195798.638022627]: Initializing nodelet with 16 worker threads.
    [ INFO] [1655195798.639833225]: /rtabmap/rgbd_sync: approx_sync = false
    [ INFO] [1655195798.641474827]: /rtabmap/rgbd_sync: queue_size  = 10
    [ INFO] [1655195798.641538336]: /rtabmap/rgbd_sync: depth_scale = 1.000000
    [ INFO] [1655195798.641553535]: /rtabmap/rgbd_sync: decimation = 1
    [ INFO] [1655195798.641566779]: /rtabmap/rgbd_sync: compressed_rate = 0.000000
    [ INFO] [1655195798.648074425]: 
    /rtabmap/rgbd_sync subscribed to (exact sync):
       /camera2/color/image_raw \
       /camera2/depth/image_raw \
       /camera2/color/camera_info
    [ INFO] [1655195798.705075952]: /rtabmap/rtabmap(maps): map_filter_radius          = 0.300000
    [ INFO] [1655195798.705103533]: /rtabmap/rtabmap(maps): map_filter_angle           = 20.000000
    [ INFO] [1655195798.705114103]: /rtabmap/rtabmap(maps): map_cleanup                = true
    [ INFO] [1655195798.705124002]: /rtabmap/rtabmap(maps): map_always_update          = false
    [ INFO] [1655195798.705133119]: /rtabmap/rtabmap(maps): map_empty_ray_tracing      = true
    [ INFO] [1655195798.705142977]: /rtabmap/rtabmap(maps): cloud_output_voxelized     = true
    [ INFO] [1655195798.705158316]: /rtabmap/rtabmap(maps): cloud_subtract_filtering   = false
    [ INFO] [1655195798.705169357]: /rtabmap/rtabmap(maps): cloud_subtract_filtering_min_neighbors = 2
    [ INFO] [1655195798.711765379]: /rtabmap/rtabmap(maps): octomap_tree_depth         = 16
    [ INFO] [1655195798.727564896]: rtabmap: frame_id      = base_link
    [ INFO] [1655195798.727596145]: rtabmap: ground_truth_frame_id = world -> ground_truth_base_frame_id = base_footprint_gt
    [ INFO] [1655195798.727615832]: rtabmap: map_frame_id  = map
    [ INFO] [1655195798.727634677]: rtabmap: use_action_for_goal  = false
    [ INFO] [1655195798.727653152]: rtabmap: tf_delay      = 0.050000
    [ INFO] [1655195798.727671065]: rtabmap: tf_tolerance  = 0.100000
    [ INFO] [1655195798.727688759]: rtabmap: odom_sensor_sync   = true
    [ INFO] [1655195798.788500309]: Setting RTAB-Map parameter "GFTT/BlockSize"="4"
    [ INFO] [1655195798.788976643]: Setting RTAB-Map parameter "GFTT/K"="0.04"
    [ INFO] [1655195798.789431306]: Setting RTAB-Map parameter "GFTT/MinDistance"="5"
    [ INFO] [1655195798.789936364]: Setting RTAB-Map parameter "GFTT/QualityLevel"="0.005"
    [ INFO] [1655195798.790409994]: Setting RTAB-Map parameter "GFTT/UseHarrisDetector"="false"
    [ INFO] [1655195798.796186236]: Setting RTAB-Map parameter "Grid/3D"="true"
    [ INFO] [1655195798.797661055]: Setting RTAB-Map parameter "Grid/CellSize"="0.05"
    [ INFO] [1655195798.799083124]: Setting RTAB-Map parameter "Grid/ClusterRadius"="0.05"
    [ INFO] [1655195798.800546842]: Setting RTAB-Map parameter "Grid/DepthDecimation"="1"
    [ INFO] [1655195798.804766903]: Setting RTAB-Map parameter "Grid/FootprintHeight"="0.8"
    [ INFO] [1655195798.805860145]: Setting RTAB-Map parameter "Grid/FootprintLength"="0.4"
    [ INFO] [1655195798.806835536]: Setting RTAB-Map parameter "Grid/FootprintWidth"="0.4"
    [ INFO] [1655195798.807138485]: Setting RTAB-Map parameter "Grid/FromDepth"="true"
    [ INFO] [1655195798.810554567]: Setting RTAB-Map parameter "Grid/MaxGroundAngle"="45"
    [ INFO] [1655195798.811596433]: Setting RTAB-Map parameter "Grid/MaxGroundHeight"="0.1"
    [ INFO] [1655195798.812479871]: Setting RTAB-Map parameter "Grid/MaxObstacleHeight"="1.5"
    [ INFO] [1655195798.813452938]: Setting RTAB-Map parameter "Grid/MinClusterSize"="10"
    [ INFO] [1655195798.814397521]: Setting RTAB-Map parameter "Grid/MinGroundHeight"="-0.05"
    [ INFO] [1655195798.815310234]: Setting RTAB-Map parameter "Grid/NoiseFilteringMinNeighbors"="5"
    [ INFO] [1655195798.816292207]: Setting RTAB-Map parameter "Grid/NoiseFilteringRadius"="0.1"
    [ INFO] [1655195798.817372185]: Setting RTAB-Map parameter "Grid/NormalK"="15"
    [ INFO] [1655195798.817761015]: Setting RTAB-Map parameter "Grid/NormalsSegmentation"="false"
    [ INFO] [1655195798.820350335]: Setting RTAB-Map parameter "Grid/RangeMax"="4"
    [ INFO] [1655195798.821291712]: Setting RTAB-Map parameter "Grid/RangeMin"="0.4"
    [ INFO] [1655195798.821614558]: Setting RTAB-Map parameter "Grid/RayTracing"="true"
    [ INFO] [1655195798.823186359]: Setting RTAB-Map parameter "Grid/ScanDecimation"="0"
    [ INFO] [1655195798.825371921]: Setting RTAB-Map parameter "GridGlobal/FootprintRadius"="0"
    [ INFO] [1655195798.827218968]: Setting RTAB-Map parameter "GridGlobal/MaxNodes"="0"
    [ INFO] [1655195798.827458257]: Setting RTAB-Map parameter "GridGlobal/MinSize"="30"
    [ INFO] [1655195798.828435402]: Setting RTAB-Map parameter "GridGlobal/OccupancyThr"="0.55"
    [ INFO] [1655195798.829385525]: Setting RTAB-Map parameter "GridGlobal/ProbClampingMax"="0.999"
    [ INFO] [1655195798.830445525]: Setting RTAB-Map parameter "GridGlobal/ProbClampingMin"="0.001"
    [ INFO] [1655195798.831317351]: Setting RTAB-Map parameter "GridGlobal/ProbHit"="0.8"
    [ INFO] [1655195798.832263858]: Setting RTAB-Map parameter "GridGlobal/ProbMiss"="0.4"
    [ INFO] [1655195798.833193994]: Setting RTAB-Map parameter "GridGlobal/UpdateError"="0.05"
    [ INFO] [1655195798.833513915]: Setting RTAB-Map parameter "Icp/CorrespondenceRatio"="0.2"
    [ INFO] [1655195798.833829727]: Setting RTAB-Map parameter "Icp/DownsamplingStep"="1"
    [ INFO] [1655195798.834149137]: Setting RTAB-Map parameter "Icp/Epsilon"="0.00001"
    [ INFO] [1655195798.835825514]: Setting RTAB-Map parameter "Icp/MaxCorrespondenceDistance"="0.05"
    [ INFO] [1655195798.836979179]: Setting RTAB-Map parameter "Icp/MaxRotation"="0.3"
    [ INFO] [1655195798.838119269]: Setting RTAB-Map parameter "Icp/MaxTranslation"="0.05"
    [ INFO] [1655195798.838497600]: Setting RTAB-Map parameter "Icp/PM"="true"
    [ INFO] [1655195798.843609595]: Setting RTAB-Map parameter "Icp/PMOutlierRatio"="0.9"
    [ INFO] [1655195798.844078255]: Setting RTAB-Map parameter "Icp/PointToPlane"="false"
    [ INFO] [1655195798.844483977]: Setting RTAB-Map parameter "Icp/PointToPlaneK"="5"
    [ INFO] [1655195798.846402718]: Setting RTAB-Map parameter "Icp/PointToPlaneRadius"="0.5"
    [ INFO] [1655195798.849181745]: Setting RTAB-Map parameter "Icp/RangeMin"="0.4"
    [ INFO] [1655195798.849645375]: Setting RTAB-Map parameter "Icp/VoxelSize"="0.0"
    [ INFO] [1655195798.867756021]: Setting RTAB-Map parameter "Kp/BadSignRatio"="0.4"
    [ INFO] [1655195798.868083416]: Setting RTAB-Map parameter "Kp/DetectorStrategy"="6"
    [ INFO] [1655195798.878715774]: Setting RTAB-Map parameter "Kp/MaxDepth"="0"
    [ INFO] [1655195798.879112569]: Setting RTAB-Map parameter "Kp/MaxFeatures"="500"
    [ INFO] [1655195798.880319865]: Setting RTAB-Map parameter "Kp/MinDepth"="0.4"
    [ INFO] [1655195798.886657932]: Setting RTAB-Map parameter "Kp/SubPixIterations"="2"
    [ WARN] [1655195798.895313550]: IcpOdometry: Transferring value 5 of "Icp/PointToPlaneK" to ros parameter "scan_normal_k" for convenience.
    [ WARN] [1655195798.895621798]: IcpOdometry: Transferring value 1.0 of "Icp/PointToPlaneRadius" to ros parameter "scan_normal_radius" for convenience.
    [ INFO] [1655195798.897475468]: Setting RTAB-Map parameter "Mem/DepthAsMask"="true"
    [ INFO] [1655195798.899926909]: Setting RTAB-Map parameter "Mem/ImagePostDecimation"="2"
    [ INFO] [1655195798.900616123]: Setting RTAB-Map parameter "Mem/ImagePreDecimation"="2"
    [ INFO] [1655195798.910700683]: Setting RTAB-Map parameter "Mem/NotLinkedNodesKept"="false"
    [ INFO] [1655195798.910948338]: Setting RTAB-Map parameter "Mem/RawDescriptorsKept"="false"
    [ INFO] [1655195798.911295149]: Setting RTAB-Map parameter "Mem/RecentWmRatio"="0.2"
    [ INFO] [1655195798.911532164]: Setting RTAB-Map parameter "Mem/ReduceGraph"="true"
    [ INFO] [1655195798.912898929]: Setting RTAB-Map parameter "Mem/STMSize"="30"
    [ INFO] [1655195798.916041939]: Setting RTAB-Map parameter "ORB/Gpu"="true"
    [ INFO] [1655195798.920305102]: Setting RTAB-Map parameter "Optimizer/Robust"="false"
    [ INFO] [1655195798.920443892]: Setting RTAB-Map parameter "Optimizer/Strategy"="2"
    [ INFO] [1655195798.923205145]: Setting RTAB-Map parameter "RGBD/AngularUpdate"="0.1"
    [ INFO] [1655195798.925233052]: Setting RTAB-Map parameter "RGBD/LinearUpdate"="0.1"
    [ INFO] [1655195798.925449098]: Setting RTAB-Map parameter "RGBD/LocalBundleOnLoopClosure"="false"
    [ INFO] [1655195798.925567189]: Setting RTAB-Map parameter "RGBD/LocalImmunizationRatio"="0.4"
    [ INFO] [1655195798.925683257]: Setting RTAB-Map parameter "RGBD/LocalRadius"="5"
    [ INFO] [1655195798.925893382]: Setting RTAB-Map parameter "RGBD/LoopClosureReextractFeatures"="false"
    [ INFO] [1655195798.926766490]: Setting RTAB-Map parameter "RGBD/MaxLocalRetrieved"="10"
    [ INFO] [1655195798.926882538]: Setting RTAB-Map parameter "RGBD/MaxLoopClosureDistance"="2"
    [ INFO] [1655195798.927376926]: Setting RTAB-Map parameter "RGBD/NeighborLinkRefining"="false"
    [ INFO] [1655195798.927493445]: Setting RTAB-Map parameter "RGBD/NewMapOdomChangeDistance"="2"
    [ INFO] [1655195798.927608180]: Setting RTAB-Map parameter "RGBD/OptimizeFromGraphEnd"="false"
    [ INFO] [1655195798.927919124]: Setting RTAB-Map parameter "RGBD/OptimizeMaxError"="3"
    [ INFO] [1655195798.929560766]: Setting RTAB-Map parameter "RGBD/ProximityAngle"="359"
    [ INFO] [1655195798.929781570]: Setting RTAB-Map parameter "RGBD/ProximityBySpace"="true"
    [ INFO] [1655195798.930312897]: Setting RTAB-Map parameter "RGBD/ProximityMaxGraphDepth"="50"
    [ INFO] [1655195798.930538711]: Setting RTAB-Map parameter "RGBD/ProximityMaxPaths"="4"
    [ INFO] [1655195798.930670088]: Setting RTAB-Map parameter "RGBD/ProximityOdomGuess"="false"
    [ INFO] [1655195798.930790444]: Setting RTAB-Map parameter "RGBD/ProximityPathFilteringRadius"="1"
    [ INFO] [1655195798.930907083]: Setting RTAB-Map parameter "RGBD/ProximityPathMaxNeighbors"="50"
    [ INFO] [1655195798.931498132]: Setting RTAB-Map parameter "RGBD/SavedLocalizationIgnored"="true"
    [ INFO] [1655195798.932002178]: Setting RTAB-Map parameter "Reg/Force3DoF"="true"
    [ INFO] [1655195798.932126822]: Setting RTAB-Map parameter "Reg/RepeatOnce"="false"
    [ INFO] [1655195798.932433678]: Setting RTAB-Map parameter "Reg/Strategy"="2"
    [ INFO] [1655195798.933302850]: Setting RTAB-Map parameter "Rtabmap/DetectionRate"="2"
    [ INFO] [1655195798.933614014]: Setting RTAB-Map parameter "Rtabmap/ImageBufferSize"="2"
    [ INFO] [1655195798.935235919]: Setting RTAB-Map parameter "Rtabmap/MaxRetrieved"="20"
    [ INFO] [1655195798.935355112]: Setting RTAB-Map parameter "Rtabmap/MemoryThr"="0"
    [ INFO] [1655195798.938588792]: Setting RTAB-Map parameter "Rtabmap/StartNewMapOnLoopClosure"="false"
    [ INFO] [1655195798.939860279]: Setting RTAB-Map parameter "Rtabmap/TimeThr"="500"
    [ INFO] [1655195798.975670910]: Setting RTAB-Map parameter "Vis/DepthAsMask"="true"
    [ INFO] [1655195798.975817365]: Setting RTAB-Map parameter "Vis/EpipolarGeometryVar"="0.5"
    [ INFO] [1655195798.976360194]: Setting RTAB-Map parameter "Vis/FeatureType"="6"
    [ INFO] [1655195798.977689990]: Setting RTAB-Map parameter "Vis/InlierDistance"="0.5"
    [ INFO] [1655195798.978240112]: Setting RTAB-Map parameter "Vis/MaxDepth"="0"
    [ INFO] [1655195798.978369766]: Setting RTAB-Map parameter "Vis/MaxFeatures"="500"
    [ INFO] [1655195798.979114544]: Setting RTAB-Map parameter "Vis/MinDepth"="0.4"
    [ INFO] [1655195798.979251912]: Setting RTAB-Map parameter "Vis/MinInliers"="15"
    [ INFO] [1655195798.980193479]: Setting RTAB-Map parameter "Vis/PnPRefineIterations"="5"
    [ INFO] [1655195798.980325777]: Setting RTAB-Map parameter "Vis/PnPReprojError"="10"
    [ INFO] [1655195798.981645465]: Setting RTAB-Map parameter "Vis/SubPixIterations"="0"
    [ INFO] [1655195798.981774286]: Setting RTAB-Map parameter "Vis/SubPixWinSize"="3"
    [ INFO] [1655195798.982298971]: Setting RTAB-Map parameter "g2o/Optimizer"="0"
    [ INFO] [1655195799.037525077]: RTAB-Map detection rate = 2.000000 Hz
    [ INFO] [1655195799.037594558]: rtabmap: Using database from "/home/marmot/.ros/rtabmap.db" (0 MB).
    [rtabmap/rtabmap-3] process has died [pid 5092, exit code -11, cmd /home/marmot/irotate_ws/devel/lib/rtabmap_ros/rtabmap -d scan:=/robot/laser/scan rgbd_image:=rgbd_image odom:=/odometry/filtered grid_map:=/map __name:=rtabmap __log:=/home/marmot/.ros/log/1b2cabde-ebbd-11ec-9993-000ec666185a/rtabmap-rtabmap-3.log].
    log file: /home/marmot/.ros/log/1b2cabde-ebbd-11ec-9993-000ec666185a/rtabmap-rtabmap-3*.log
    ^C[standalone_converter-7] killing on exit
    [move_base-6] killing on exit
    [standalone_nodelet-5] killing on exit
    [rtabmap/icp_odometry-4] killing on exit
    [rtabmap/rgbd_sync-2] killing on exit
    ^C^C^C[rosout-1] killing on exit
    ^C[master] killing on exit
    shutting down processing monitor...
    ... shutting down processing monitor complete
    done
    
    

    From my googling, I found out that one of the reasons this error pops is the unmatching versions of rtabmap and rtabmap_ros. I do not have any other rtabmap in my system and I have checked out to the brnahc that you've told to check out in the INSTALL.md file. Any idea why I might be facing this issue?

    Let me know if you need any more information from my side

    Any inputs are highly appreciated, Thanks

    opened by adbidwai 12
Releases(iRotate)
Owner
Elia Bonetto
Elia Bonetto
This is an active mirror of the KiCad development branch, which is hosted at GitLab

This is an active mirror of the KiCad development branch, which is hosted at GitLab (updated every time something is pushed). Pull requests on GitHub are not accepted or watched.

KiCad EDA 1.1k Jun 25, 2022
🌼 Homework of Computer Systems: A Programmer's Perspective (3rd Edition) and Autolab solutions of CMU 15-513: Intro to Computer Systems

Exercisebook of Computer Systems: A Programmer's Perspective, 3/E (CS:APP3e) CS:APP3e is written by Randal E. Bryant and David R. O'Hallaron, Carnegie

halfrost 28 Mar 10, 2022
This is the code repository for my book C++20 - Get the Details.

Cpp20 This is the code repository for my book C++20 - Get the Details. It has more than 200 running examples. The names of the directories reflect the

Rainer Grimm 40 Mar 27, 2022
This repository contains notes and starter code for Bit manipulation and mathematics session for DSA bootcamp organized by Codeflows.

Bitmanipulation_maths This repository contains notes and starter code for Bit manipulation and mathematics session for DSA bootcamp organized by Codef

Joe 7 Jun 15, 2022
C - A repository containing C code samples and concepts for beginners.

C - A repository containing C code samples and concepts for beginners. A repository containing C concepts I made when I was bored. You can also use th

doxxable3 1 Nov 1, 2021
All those who are willing to participate in the 7-day coding event Commit-Your-Code organized by GDSC, UIET have to fork this repository and contribute their solutions as per defined rules.

????‍?? Commit-Ur-Code ????‍?? GDSC UIET KUK ?? , welcomes you all to this amazing event where you will be introduced to the world of coding ?? . It i

Google Developer Student Club UIET KUK 9 Mar 24, 2022
🐛 Pangea Software's Bugdom for modern systems

Bugdom This is Bugdom running on modern macOS, Windows and Linux! This version, at https://github.com/jorio/Bugdom, is approved by Pangea Software. Ge

Iliyas Jorio 215 Jun 23, 2022
Introduction to Computer Systems (II), Spring 2021.

Introduction to Computer Systems (II) Spring 2021, Fudan University.

null 26 Jun 15, 2022
Pangea Software's Mighty Mike (Power Pete) for modern systems

Mighty Mike (a.k.a. Power Pete) This is Pangea Software's Mighty Mike updated to run on modern systems. Set in a toy store, this top-down action game

Iliyas Jorio 90 Jun 30, 2022
Imu_initialization - Implementation of "An Analytical Solution to the IMU Initialization Problem for Visual-Inertial Systems"

An Analytical Solution to the IMU Initialization Problem for Visual-Inertial Systems Implementation of "An Analytical Solution to the IMU Initializati

David Zuniga-Noel 68 Apr 29, 2022
Repository for the Object-oriented programming course for academic year 2020/21

Object-Oriented Programming 2020/21 Repository for the Object-oriented programming course for the 2020/21 academic year. Structure exam -- tasks given

Atanas Semerdzhiev 19 Oct 21, 2021
This repository is a summary of the basic knowledge of recruiting job seekers and beginners in the direction of C/C++ technology, including language, program library, data structure, algorithm, system, network, link loading library, interview experience, recruitment, recommendation, etc.

?? C/C++ 技术面试基础知识总结,包括语言、程序库、数据结构、算法、系统、网络、链接装载库等知识及面试经验、招聘、内推等信息。This repository is a summary of the basic knowledge of recruiting job seekers and beginners in the direction of C/C++ technology, including language, program library, data structure, algorithm, system, network, link loading library, interview experience, recruitment, recommendation, etc.

huihut 24.7k Jun 26, 2022
Welcome to my dungeon. Here, I keep all my configuration files in case I have a stroke and lose all my memory. You're very welcome to explore and use anything in this repository. Have fun!

Fr1nge's Dotfiles Welcome to my dungeon. Here, I keep all my configuration files in case I have a stroke an d lose all my memory. You're very welcome

Fr1nge 32 Apr 16, 2022
This repository is build for reviewing the CodingInterviews, Coding in ACM mode with C++.

CodingInterviews(剑指 Offer) 建立这个仓库为了重新复习一下《剑指 Offer》,上传的是ACM模式版本。 如果本仓库对你有任何帮助,请点 ?? 支持,谢谢! ??

Mike Zheng 17 Mar 4, 2022
This repository Contains PPTs and Sample Codes for IoT workshop 21st to 24th Aug 2021

IoT-workshop This repository Contains PPTs and Sample Codes for IoT workshop 21st to 24th Aug 2021 Fritzing Download Link: https://www.filehorse.com/d

Aman Singh 2 Feb 8, 2022
This repository aims to solve and create new problems from different spheres of coding. A path to help students to get access to solutions and discuss their doubts.

CPP-Questions-and-Solutions ?? This repository aims to solve and create new problems from different spheres of coding, which will serve as a single po

null 49 Jun 25, 2022
The Repository Contains the Set Way of Learning Cpplus With the help of programs And Notes.

Preface Since the C++ language varies so heavily between versions (e.g. C++0x, C++11, C++17, etc.), I will preface this cheat sheet by saying that the

Pawan Roshan Gupta 6 May 9, 2022
This repository consists a set of problems that a beginner can starts with.

Beginner's Coding Sheet ?? ?? This Coding Sheet is provided by SIDDHARTH SINGH on his YouTube Channel. Here are the set of problems with its respectiv

Kishan Kumar Rai 4 Jan 24, 2022
The Repository Contains all about Data Structure and Algorithms with Practice problems, series, and resources to follow!

?? The Complete DSA Preparation ?? This repository contains all the DSA (Data-Structures, Algorithms, 450 DSA by Love Babbar Bhaiya,STriver Series ,FA

Pawan Roshan Gupta 6 Jan 8, 2022