kth-ros-pkg / yumi

ROS packages pertaining to the ABB YuMi (IRB 14000) robot
BSD 2-Clause "Simplified" License
44 stars 38 forks source link

Installation error #48

Closed yanjunyang closed 4 years ago

yanjunyang commented 4 years ago

I have a problem with building the workspace with catkin_make. I am using ROS melodic within python 2.7.16

yanjun_yang@MU00160572L:~/yumi_depends_ws$ catkin_make -DCMAKE_BUILD_TYPE=Release
Base path: /home/yanjun_yang/yumi_depends_ws
Source space: /home/yanjun_yang/yumi_depends_ws/src
Build space: /home/yanjun_yang/yumi_depends_ws/build
Devel space: /home/yanjun_yang/yumi_depends_ws/devel
Install space: /home/yanjun_yang/yumi_depends_ws/install
####
#### Running command: "cmake /home/yanjun_yang/yumi_depends_ws/src -DCMAKE_BUILD_TYPE=Release -DCATKIN_DEVEL_PREFIX=/home/yanjun_yang/yumi_depends_ws/devel -DCMAKE_INSTALL_PREFIX=/home/yanjun_yang/yumi_depends_ws/install -G Unix Makefiles" in "/home/yanjun_yang/yumi_depends_ws/build"
####
-- Using CATKIN_DEVEL_PREFIX: /home/yanjun_yang/yumi_depends_ws/devel
-- Using CMAKE_PREFIX_PATH: /home/yanjun_yang/yumi_depends_ws/devel;/opt/ros/melodic
-- This workspace overlays: /home/yanjun_yang/yumi_depends_ws/devel;/opt/ros/melodic
-- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.15", minimum required is "2") 
-- Using PYTHON_EXECUTABLE: /usr/bin/python2
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/yanjun_yang/yumi_depends_ws/build/test_results
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python2 (found version "2.7.15") 
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.17
-- BUILD_SHARED_LIBS is on
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 26 packages in topological order:
-- ~~  - abb (metapackage)
-- ~~  - abb_irb2400_moveit_config
-- ~~  - abb_irb6640_moveit_config
-- ~~  - industrial_core (metapackage)
-- ~~  - industrial_deprecated
-- ~~  - industrial_msgs
-- ~~  - abb_irb2400_support
-- ~~  - abb_irb5400_support
-- ~~  - abb_irb6600_support
-- ~~  - abb_irb6640_support
-- ~~  - simple_message
-- ~~  - gazebo_mimic
-- ~~  - industrial_utils
-- ~~  - industrial_robot_client
-- ~~  - abb_driver
-- ~~  - industrial_robot_simulator
-- ~~  - abb_irb2400_moveit_plugins
-- ~~  - industrial_trajectory_filters
-- ~~  - yumi_cameras
-- ~~  - yumi_control
-- ~~  - yumi_description
-- ~~  - yumi_hw
-- ~~  - yumi_moveit_config
-- ~~  - yumi_support
-- ~~  - yumi_launch
-- ~~  - yumi_test_controllers
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin metapackage: 'abb'
-- ==> add_subdirectory(abb/abb)
-- +++ processing catkin package: 'abb_irb2400_moveit_config'
-- ==> add_subdirectory(abb/abb_irb2400_moveit_config)
-- +++ processing catkin package: 'abb_irb6640_moveit_config'
-- ==> add_subdirectory(abb/abb_irb6640_moveit_config)
-- +++ processing catkin metapackage: 'industrial_core'
-- ==> add_subdirectory(industrial_core/industrial_core)
-- +++ processing catkin package: 'industrial_deprecated'
-- ==> add_subdirectory(industrial_core/industrial_deprecated)
-- +++ processing catkin package: 'industrial_msgs'
-- ==> add_subdirectory(industrial_core/industrial_msgs)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- industrial_msgs: 6 messages, 6 services
-- +++ processing catkin package: 'abb_irb2400_support'
-- ==> add_subdirectory(abb/abb_irb2400_support)
-- +++ processing catkin package: 'abb_irb5400_support'
-- ==> add_subdirectory(abb/abb_irb5400_support)
-- +++ processing catkin package: 'abb_irb6600_support'
-- ==> add_subdirectory(abb/abb_irb6600_support)
-- +++ processing catkin package: 'abb_irb6640_support'
-- ==> add_subdirectory(abb/abb_irb6640_support)
-- +++ processing catkin package: 'simple_message'
-- ==> add_subdirectory(industrial_core/simple_message)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- +++ processing catkin package: 'gazebo_mimic'
-- ==> add_subdirectory(yumi/gazebo_mimic)
-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   thread
--   signals
--   system
--   filesystem
--   program_options
--   regex
--   iostreams
--   date_time
--   chrono
--   atomic
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.0.0") 
-- Boost version: 1.65.1
-- Looking for OGRE...
-- Found Ogre Ghadamon (1.9.0)
-- Found OGRE: optimized;/usr/lib/x86_64-linux-gnu/libOgreMain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreMain.so
CMake Warning (dev) at /usr/share/cmake-3.10/Modules/FindBoost.cmake:911 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "chrono" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  /usr/share/cmake-3.10/Modules/FindBoost.cmake:1558 (_Boost_MISSING_DEPENDENCIES)
  /usr/share/OGRE/cmake/modules/FindOGRE.cmake:318 (find_package)
  /usr/lib/x86_64-linux-gnu/cmake/gazebo/gazebo-config.cmake:175 (find_package)
  yumi/gazebo_mimic/CMakeLists.txt:8 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for OGRE_Paging...
-- Found OGRE_Paging: optimized;/usr/lib/x86_64-linux-gnu/libOgrePaging.so;debug;/usr/lib/x86_64-linux-gnu/libOgrePaging.so
-- Looking for OGRE_Terrain...
-- Found OGRE_Terrain: optimized;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so
-- Looking for OGRE_Property...
-- Found OGRE_Property: optimized;/usr/lib/x86_64-linux-gnu/libOgreProperty.so;debug;/usr/lib/x86_64-linux-gnu/libOgreProperty.so
-- Looking for OGRE_RTShaderSystem...
-- Found OGRE_RTShaderSystem: optimized;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so;debug;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so
-- Looking for OGRE_Volume...
-- Found OGRE_Volume: optimized;/usr/lib/x86_64-linux-gnu/libOgreVolume.so;debug;/usr/lib/x86_64-linux-gnu/libOgreVolume.so
-- Looking for OGRE_Overlay...
-- Found OGRE_Overlay: optimized;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so;debug;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread;-lpthread (found suitable version "3.0.0", minimum required is "2.3.0") 
-- Config-file not installed for ZeroMQ -- checking for pkg-config
-- Checking for module 'libzmq >= 4'
--   Found libzmq , version 4.2.5
-- Checking for module 'uuid'
--   Found uuid, version 2.31.1
-- Checking for module 'tinyxml2'
--   Found tinyxml2, version 6.0.0
-- Looking for dlfcn.h - found
-- Looking for libdl - found
-- FreeImage.pc not found, we will search for FreeImage_INCLUDE_DIRS and FreeImage_LIBRARIES
-- Checking for module 'gts'
--   Found gts, version 0.7.6
-- Checking for module 'libswscale'
--   Found libswscale, version 4.8.100
-- Checking for module 'libavdevice >= 56.4.100'
--   Found libavdevice , version 57.10.100
-- Checking for module 'libavformat'
--   Found libavformat, version 57.83.100
-- Checking for module 'libavcodec'
--   Found libavcodec, version 57.107.100
-- Checking for module 'libavutil'
--   Found libavutil, version 55.78.100
-- Checking for module 'jsoncpp'
--   Found jsoncpp, version 1.7.4
-- Checking for module 'yaml-0.1'
--   Found yaml-0.1, version 0.1.7
-- Checking for module 'libzip'
--   Found libzip, version 1.1.2
-- +++ processing catkin package: 'industrial_utils'
-- ==> add_subdirectory(industrial_core/industrial_utils)
-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   system
-- +++ processing catkin package: 'industrial_robot_client'
-- ==> add_subdirectory(industrial_core/industrial_robot_client)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- simple_message: work around for #46
-- Boost version: 1.65.1
-- Found the following Boost libraries:
--   system
--   thread
--   chrono
--   date_time
--   atomic
-- +++ processing catkin package: 'abb_driver'
-- ==> add_subdirectory(abb/abb_driver)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- simple_message: work around for #46
-- industrial_robot_client: work around for #46
-- +++ processing catkin package: 'industrial_robot_simulator'
-- ==> add_subdirectory(industrial_core/industrial_robot_simulator)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- +++ processing catkin package: 'abb_irb2400_moveit_plugins'
-- ==> add_subdirectory(abb/abb_irb2400_moveit_plugins)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- A library with BLAS API found.
-- A library with LAPACK API found.
-- +++ processing catkin package: 'industrial_trajectory_filters'
-- ==> add_subdirectory(industrial_core/industrial_trajectory_filters)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- +++ processing catkin package: 'yumi_cameras'
-- ==> add_subdirectory(yumi/yumi_cameras)
--   ABB RWS library not found
--   This package is highly dependent on RWS, and its files cannot be built without it
-- +++ processing catkin package: 'yumi_control'
-- ==> add_subdirectory(yumi/yumi_control)
-- +++ processing catkin package: 'yumi_description'
-- ==> add_subdirectory(yumi/yumi_description)
-- +++ processing catkin package: 'yumi_hw'
-- ==> add_subdirectory(yumi/yumi_hw)
--   ABB RWS library not found
--   This package is highly dependent on abb RWS and EGM C++ libraries.
--   Only the hardware interface over industrial core sockets-RWS will be built.
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- simple_message: work around for #46
-- yumi_hw: 0 messages, 1 services
-- +++ processing catkin package: 'yumi_moveit_config'
-- ==> add_subdirectory(yumi/yumi_moveit_config)
-- +++ processing catkin package: 'yumi_support'
-- ==> add_subdirectory(yumi/yumi_support)
-- +++ processing catkin package: 'yumi_launch'
-- ==> add_subdirectory(yumi/yumi_launch)
-- +++ processing catkin package: 'yumi_test_controllers'
-- ==> add_subdirectory(yumi/yumi_test_controllers)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Configuring done
CMake Warning (dev) at industrial_core/industrial_robot_client/CMakeLists.txt:136 (add_dependencies):
  Policy CMP0046 is not set: Error on non-existent dependency in
  add_dependencies.  Run "cmake --help-policy CMP0046" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  The dependency target "industrial_robot_client_gencpp" of target
  "joint_trajectory_action" does not exist.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /home/yanjun_yang/yumi_depends_ws/build
####
#### Running command: "make -j12 -l12" in "/home/yanjun_yang/yumi_depends_ws/build"
####
[  0%] Built target trajectory_msgs_generate_messages_nodejs
[  0%] Built target std_msgs_generate_messages_nodejs
[  0%] Built target _industrial_msgs_generate_messages_check_deps_StartMotion
[  0%] Built target _industrial_msgs_generate_messages_check_deps_DebugLevel
[  0%] Built target _industrial_msgs_generate_messages_check_deps_SetRemoteLoggerLevel
[  0%] Built target _industrial_msgs_generate_messages_check_deps_CmdJointTrajectory
[  0%] Built target _industrial_msgs_generate_messages_check_deps_RobotMode
[  0%] Built target _industrial_msgs_generate_messages_check_deps_DeviceInfo
[  0%] Built target _industrial_msgs_generate_messages_check_deps_SetDrivePower
[  0%] Built target _industrial_msgs_generate_messages_check_deps_GetRobotInfo
[  0%] Built target _industrial_msgs_generate_messages_check_deps_RobotStatus
[  0%] Built target _industrial_msgs_generate_messages_check_deps_StopMotion
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target trajectory_msgs_generate_messages_py
[  0%] Built target trajectory_msgs_generate_messages_cpp
[  0%] Built target trajectory_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_cpp
[  0%] Built target trajectory_msgs_generate_messages_eus
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_lisp
[  0%] Built target geometry_msgs_generate_messages_cpp
[  0%] Built target _industrial_msgs_generate_messages_check_deps_ServiceReturnCode
[  0%] Built target std_msgs_generate_messages_eus
[  0%] Built target _industrial_msgs_generate_messages_check_deps_TriState
[  2%] Built target simple_message_dummy
[  2%] Built target geometry_msgs_generate_messages_nodejs
[  2%] Built target geometry_msgs_generate_messages_py
[  2%] Built target geometry_msgs_generate_messages_eus
[  2%] Building CXX object industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/src/utils.cpp.o
[  4%] Built target industrial_robot_client_dummy
[  5%] Built target abb_irb2400_manipulator_moveit_ikfast_plugin
[  6%] Building CXX object industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/src/param_utils.cpp.o
[  6%] Building CXX object yumi/gazebo_mimic/CMakeFiles/gazebo_mimic_plugin.dir/src/gazebo_mimic_plugin/mimic_plugin.cpp.o
[  6%] Built target test_traj_vel_control
[  7%] Built target test_vel_control
[ 13%] Built target industrial_msgs_generate_messages_nodejs
[ 19%] Built target industrial_msgs_generate_messages_cpp
[ 25%] Built target industrial_msgs_generate_messages_py
[ 31%] Built target industrial_msgs_generate_messages_lisp
[ 37%] Built target industrial_msgs_generate_messages_eus
[ 39%] Built target industrial_trajectory_filters
[ 39%] Built target _yumi_hw_generate_messages_check_deps_YumiGrasp
[ 39%] Building CXX object yumi/yumi_hw/CMakeFiles/yumi_hw.dir/src/yumi_hw.cpp.o
[ 39%] Built target industrial_msgs_generate_messages
[ 40%] Built target yumi_hw_generate_messages_nodejs
[ 40%] Built target yumi_hw_generate_messages_cpp
[ 41%] Built target yumi_hw_generate_messages_py
[ 42%] Built target yumi_hw_generate_messages_eus
[ 55%] Built target simple_message_float64
[ 67%] Built target simple_message
[ 67%] Built target yumi_hw_generate_messages_lisp
[ 79%] Built target simple_message_bswap
[ 79%] Built target yumi_hw_generate_messages
[ 83%] Built target industrial_robot_client
[ 86%] Built target industrial_robot_client_bswap
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp: In function ‘bool industrial_utils::param::getJointNames(std::__cxx11::string, std::__cxx11::string, std::vector<std::__cxx11::basic_string<char> >&)’:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:114:44: error: invalid initialization of reference of type ‘const boost::shared_ptr<const urdf::Link>&’ from expression of type ‘urdf::LinkConstSharedPtr {aka std::shared_ptr<const urdf::Link>}’
        && findChainJointNames(model.getRoot(), true, joint_names) )
                               ~~~~~~~~~~~~~^~
In file included from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:0:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:78:6: note: in passing argument 1 of ‘bool industrial_utils::findChainJointNames(const boost::shared_ptr<const urdf::Link>&, bool, std::vector<std::__cxx11::basic_string<char> >&)’
 bool findChainJointNames(const boost::shared_ptr<const urdf::Link> &link, bool ignore_fixed,
      ^~~~~~~~~~~~~~~~~~~
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp: In function ‘bool industrial_utils::param::getJointVelocityLimits(std::__cxx11::string, std::map<std::__cxx11::basic_string<char>, double>&)’:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:33: error: no match for ‘operator=’ (operand types are ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ and ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’)
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                 ^
In file included from /usr/include/c++/7/map:60:0,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_tree.h:256:12: note: candidate: constexpr std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >& std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >::operator=(const std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >&)
     struct _Rb_tree_iterator
            ^~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_tree.h:256:12: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ to ‘const std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >&’
/usr/include/c++/7/bits/stl_tree.h:256:12: note: candidate: constexpr std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >& std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >::operator=(std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >&&)
/usr/include/c++/7/bits/stl_tree.h:256:12: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ to ‘std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >&&’
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/utils.cpp: In function ‘bool industrial_utils::findChainJointNames(const boost::shared_ptr<const urdf::Link>&, bool, std::vector<std::__cxx11::basic_string<char> >&)’:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/utils.cpp:80:36: error: invalid initialization of reference of type ‘const joint_list& {aka const std::vector<boost::shared_ptr<urdf::Joint> >&}’ from expression of type ‘const std::vector<std::shared_ptr<urdf::Joint> >’
   const joint_list &joints = link->child_joints;
                              ~~~~~~^~~~~~~~~~~~
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:40: error: no match for ‘operator!=’ (operand types are ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ and ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’)
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                    ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/map:60:0,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_tree.h:319:7: note: candidate: bool std::_Rb_tree_iterator<_Tp>::operator!=(const _Self&) const [with _Tp = std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >; std::_Rb_tree_iterator<_Tp>::_Self = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >]
       operator!=(const _Self& __x) const _GLIBCXX_NOEXCEPT
       ^~~~~~~~
/usr/include/c++/7/bits/stl_tree.h:319:7: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ to ‘const _Self& {aka const std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >&}’
In file included from /usr/include/c++/7/iterator:66:0,
                 from /usr/include/boost/detail/iterator.hpp:11,
                 from /usr/include/boost/array.hpp:50,
                 from /opt/ros/melodic/include/ros/message.h:38,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/stream_iterator.h:137:5: note: candidate: template<class _Tp, class _CharT, class _Traits, class _Dist> bool std::operator!=(const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>&, const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>&)
     operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stream_iterator.h:137:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/functional:58:0,
                 from /usr/include/boost/smart_ptr/detail/shared_count.hpp:38,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:28,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /opt/ros/melodic/include/ros/forwards.h:37,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/std_function.h:788:5: note: candidate: template<class _Res, class ... _Args> bool std::operator!=(std::nullptr_t, const std::function<_Res(_ArgTypes ...)>&)
     operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/std_function.h:788:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::function<_Res(_ArgTypes ...)>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/functional:58:0,
                 from /usr/include/boost/smart_ptr/detail/shared_count.hpp:38,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:28,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /opt/ros/melodic/include/ros/forwards.h:37,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/std_function.h:782:5: note: candidate: template<class _Res, class ... _Args> bool std::operator!=(const std::function<_Res(_ArgTypes ...)>&, std::nullptr_t)
     operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/std_function.h:782:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::function<_Res(_ArgTypes ...)>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/list:63:0,
                 from /opt/ros/melodic/include/ros/forwards.h:35,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/stl_list.h:1925:5: note: candidate: template<class _Tp, class _Alloc> bool std::operator!=(const std::__cxx11::list<_Tp, _Alloc>&, const std::__cxx11::list<_Tp, _Alloc>&)
     operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
     ^~~~~~~~
/usr/include/c++/7/bits/stl_list.h:1925:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::__cxx11::list<_Tp, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/list:63:0,
                 from /opt/ros/melodic/include/ros/forwards.h:35,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/stl_list.h:293:5: note: candidate: template<class _Val> bool std::operator!=(const std::_List_iterator<_Tp>&, const std::_List_const_iterator<_Tp>&)
     operator!=(const _List_iterator<_Val>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_list.h:293:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::_List_iterator<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/set:62:0,
                 from /opt/ros/melodic/include/ros/forwards.h:34,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/stl_multiset.h:920:5: note: candidate: template<class _Key, class _Compare, class _Alloc> bool std::operator!=(const std::multiset<_Key, _Compare, _Alloc>&, const std::multiset<_Key, _Compare, _Alloc>&)
     operator!=(const multiset<_Key, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_multiset.h:920:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::multiset<_Key, _Compare, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/set:61:0,
                 from /opt/ros/melodic/include/ros/forwards.h:34,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/stl_set.h:937:5: note: candidate: template<class _Key, class _Compare, class _Alloc> bool std::operator!=(const std::set<_Key, _Compare, _Alloc>&, const std::set<_Key, _Compare, _Alloc>&)
     operator!=(const set<_Key, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_set.h:937:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::set<_Key, _Compare, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/config/no_tr1/complex.hpp:21:0,
                 from /usr/include/boost/math/policies/error_handling.hpp:17,
                 from /usr/include/boost/math/special_functions/round.hpp:14,
                 from /opt/ros/melodic/include/ros/time.h:58,
                 from /opt/ros/melodic/include/ros/ros.h:38,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/complex:486:5: note: candidate: template<class _Tp> constexpr bool std::operator!=(const _Tp&, const std::complex<_Tp>&)
     operator!=(const _Tp& __x, const complex<_Tp>& __y)
     ^~~~~~~~
/usr/include/c++/7/complex:486:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::complex<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/config/no_tr1/complex.hpp:21:0,
                 from /usr/include/boost/math/policies/error_handling.hpp:17,
                 from /usr/include/boost/math/special_functions/round.hpp:14,
                 from /opt/ros/melodic/include/ros/time.h:58,
                 from /opt/ros/melodic/include/ros/ros.h:38,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/complex:481:5: note: candidate: template<class _Tp> constexpr bool std::operator!=(const std::complex<_Tp>&, const _Tp&)
     operator!=(const complex<_Tp>& __x, const _Tp& __y)
     ^~~~~~~~
/usr/include/c++/7/complex:481:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::complex<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/config/no_tr1/complex.hpp:21:0,
                 from /usr/include/boost/math/policies/error_handling.hpp:17,
                 from /usr/include/boost/math/special_functions/round.hpp:14,
                 from /opt/ros/melodic/include/ros/time.h:58,
                 from /opt/ros/melodic/include/ros/ros.h:38,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/complex:476:5: note: candidate: template<class _Tp> constexpr bool std::operator!=(const std::complex<_Tp>&, const std::complex<_Tp>&)
     operator!=(const complex<_Tp>& __x, const complex<_Tp>& __y)
     ^~~~~~~~
/usr/include/c++/7/complex:476:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::complex<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/shared_ptr.h:393:5: note: candidate: template<class _Tp> bool std::operator!=(std::nullptr_t, const std::shared_ptr<_Tp>&)
     operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:393:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::shared_ptr<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/shared_ptr.h:388:5: note: candidate: template<class _Tp> bool std::operator!=(const std::shared_ptr<_Tp>&, std::nullptr_t)
     operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:388:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::shared_ptr<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/shared_ptr.h:383:5: note: candidate: template<class _Tp, class _Up> bool std::operator!=(const std::shared_ptr<_Tp>&, const std::shared_ptr<_Up>&)
     operator!=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:383:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::shared_ptr<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/7/memory:81,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/shared_ptr_base.h:1436:5: note: candidate: template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator!=(std::nullptr_t, const std::__shared_ptr<_Tp, _Lp>&)
     operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr_base.h:1436:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/7/memory:81,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/shared_ptr_base.h:1431:5: note: candidate: template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator!=(const std::__shared_ptr<_Tp, _Lp>&, std::nullptr_t)
     operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr_base.h:1431:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/7/memory:81,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/shared_ptr_base.h:1425:5: note: candidate: template<class _Tp1, class _Tp2, __gnu_cxx::_Lock_policy _Lp> bool std::operator!=(const std::__shared_ptr<_Tp1, _Lp>&, const std::__shared_ptr<_Tp2, _Lp>&)
     operator!=(const __shared_ptr<_Tp1, _Lp>& __a,
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr_base.h:1425:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::__shared_ptr<_Tp1, _Lp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/memory:80:0,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/unique_ptr.h:711:5: note: candidate: template<class _Tp, class _Dp> bool std::operator!=(std::nullptr_t, const std::unique_ptr<_Tp, _Dp>&)
     operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/unique_ptr.h:711:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/memory:80:0,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/unique_ptr.h:706:5: note: candidate: template<class _Tp, class _Dp> bool std::operator!=(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t)
     operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/unique_ptr.h:706:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/memory:80:0,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/unique_ptr.h:700:5: note: candidate: template<class _Tp, class _Dp, class _Up, class _Ep> bool std::operator!=(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&)
     operator!=(const unique_ptr<_Tp, _Dp>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/unique_ptr.h:700:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/vector:64:0,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_vector.h:1625:5: note: candidate: template<class _Tp, class _Alloc> bool std::operator!=(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)
     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
     ^~~~~~~~
/usr/include/c++/7/bits/stl_vector.h:1625:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::vector<_Tp, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/map:62:0,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_multimap.h:1083:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&)
     operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_multimap.h:1083:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::multimap<_Key, _Tp, _Compare, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/map:61:0,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_map.h:1418:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&)
     operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_map.h:1418:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::map<_Key, _Tp, _Compare, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_map.h:63:0,
                 from /usr/include/c++/7/map:61,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/tuple:1423:5: note: candidate: template<class ... _TElements, class ... _UElements> constexpr bool std::operator!=(const std::tuple<_Tps ...>&, const std::tuple<_Args2 ...>&)
     operator!=(const tuple<_TElements...>& __t,
     ^~~~~~~~
/usr/include/c++/7/tuple:1423:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::tuple<_Tps ...>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/tuple:39:0,
                 from /usr/include/c++/7/bits/stl_map.h:63,
                 from /usr/include/c++/7/map:61,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/array:257:5: note: candidate: template<class _Tp, long unsigned int _Nm> bool std::operator!=(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)
     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
     ^~~~~~~~
/usr/include/c++/7/array:257:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::array<_Tp, _Nm>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/map:60:0,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_tree.h:1553:5: note: candidate: template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> bool std::operator!=(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)
     operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_tree.h:1553:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/map:60:0,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_tree.h:412:5: note: candidate: template<class _Val> bool std::operator!=(const std::_Rb_tree_iterator<_Tp>&, const std::_Rb_tree_const_iterator<_Val>&)
     operator!=(const _Rb_tree_iterator<_Val>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_tree.h:412:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::_Rb_tree_const_iterator<_Val>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/locale_facets.h:48:0,
                 from /usr/include/c++/7/bits/basic_ios.h:37,
                 from /usr/include/c++/7/ios:44,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/streambuf_iterator.h:210:5: note: candidate: template<class _CharT, class _Traits> bool std::operator!=(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)
     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
     ^~~~~~~~
/usr/include/c++/7/bits/streambuf_iterator.h:210:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::istreambuf_iterator<_CharT, _Traits>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/ios_base.h:46:0,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/system_error:331:3: note: candidate: bool std::operator!=(const std::error_condition&, const std::error_condition&)
   operator!=(const error_condition& __lhs,
   ^~~~~~~~
/usr/include/c++/7/system_error:331:3: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ to ‘const std::error_condition&’
/usr/include/c++/7/system_error:327:3: note: candidate: bool std::operator!=(const std::error_condition&, const std::error_code&)
   operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
   ^~~~~~~~
/usr/include/c++/7/system_error:327:3: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ to ‘const std::error_condition&’
/usr/include/c++/7/system_error:323:3: note: candidate: bool std::operator!=(const std::error_code&, const std::error_condition&)
   operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
   ^~~~~~~~
/usr/include/c++/7/system_error:323:3: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ to ‘const std::error_code&’
/usr/include/c++/7/system_error:319:3: note: candidate: bool std::operator!=(const std::error_code&, const std::error_code&)
   operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
   ^~~~~~~~
/usr/include/c++/7/system_error:319:3: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ to ‘const std::error_code&’
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/utils.cpp:101:34: error: invalid initialization of reference of type ‘const link_list& {aka const std::vector<boost::shared_ptr<urdf::Link> >&}’ from expression of type ‘const std::vector<std::shared_ptr<urdf::Link> >’
   const link_list &links = link->child_links;
                            ~~~~~~^~~~~~~~~~~
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/basic_string.h:6081:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:6081:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/basic_string.h:6069:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const _CharT* __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:6069:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   mismatched types ‘const _CharT*’ and ‘std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/basic_string.h:6056:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:6056:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/string:41:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/allocator.h:164:5: note: candidate: template<class _Tp> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_CharT>&)
     operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
     ^~~~~~~~
/usr/include/c++/7/bits/allocator.h:164:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::allocator<_CharT>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/string:41:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/allocator.h:158:5: note: candidate: template<class _T1, class _T2> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_T2>&)
     operator!=(const allocator<_T1>&, const allocator<_T2>&)
     ^~~~~~~~
/usr/include/c++/7/bits/allocator.h:158:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::allocator<_CharT>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_iterator.h:1139:5: note: candidate: template<class _Iterator> bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)
     operator!=(const move_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:1139:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::move_iterator<_IteratorL>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_iterator.h:1133:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)
     operator!=(const move_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:1133:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::move_iterator<_IteratorL>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_iterator.h:352:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
     operator!=(const reverse_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:352:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::reverse_iterator<_Iterator>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_iterator.h:314:5: note: candidate: template<class _Iterator> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
     operator!=(const reverse_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:314:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::reverse_iterator<_Iterator>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_pair.h:461:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
     ^~~~~~~~
/usr/include/c++/7/bits/stl_pair.h:461:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::pair<_T1, _T2>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/iosfwd:40:0,
                 from /usr/include/c++/7/ios:38,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/postypes.h:221:5: note: candidate: template<class _StateT> bool std::operator!=(const std::fpos<_StateT>&, const std::fpos<_StateT>&)
     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
     ^~~~~~~~
/usr/include/c++/7/bits/postypes.h:221:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::fpos<_StateT>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0,
                 from /usr/include/c++/7/bits/allocator.h:46,
                 from /usr/include/c++/7/string:41,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/ext/new_allocator.h:160:5: note: candidate: template<class _Tp> bool __gnu_cxx::operator!=(const __gnu_cxx::new_allocator<_Tp>&, const __gnu_cxx::new_allocator<_Tp>&)
     operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
     ^~~~~~~~
/usr/include/c++/7/ext/new_allocator.h:160:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const __gnu_cxx::new_allocator<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_iterator.h:883:5: note: candidate: template<class _Iterator, class _Container> bool __gnu_cxx::operator!=(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&)
     operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:883:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const __gnu_cxx::__normal_iterator<_Iterator, _Container>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_iterator.h:876:5: note: candidate: template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator!=(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&)
     operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:876:5: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const __gnu_cxx::__normal_iterator<_IteratorL, _Container>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/lexical_cast.hpp:30:0,
                 from /opt/ros/melodic/include/ros/transport_hints.h:34,
                 from /opt/ros/melodic/include/ros/subscribe_options.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:42,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/range/iterator_range_core.hpp:671:9: note: candidate: template<class IteratorT, class ForwardRange> typename boost::enable_if<boost::mpl::not_<boost::is_base_and_derived<boost::iterator_range_detail::iterator_range_tag, ForwardRange> >, bool>::type boost::operator!=(const boost::iterator_range<IteratorT>&, const ForwardRange&)
         operator!=( const iterator_range<IteratorT>& l, const ForwardRange& r )
         ^~~~~~~~
/usr/include/boost/range/iterator_range_core.hpp:671:9: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::iterator_range<IteratorT>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/lexical_cast.hpp:30:0,
                 from /opt/ros/melodic/include/ros/transport_hints.h:34,
                 from /opt/ros/melodic/include/ros/subscribe_options.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:42,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/range/iterator_range_core.hpp:661:9: note: candidate: template<class Iterator1T, class Iterator2T> bool boost::operator!=(const boost::iterator_range<IteratorT>&, const boost::iterator_range<Iterator2T>&)
         operator!=( const iterator_range<Iterator1T>& l, const iterator_range<Iterator2T>& r )
         ^~~~~~~~
/usr/include/boost/range/iterator_range_core.hpp:661:9: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::iterator_range<IteratorT>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/lexical_cast.hpp:30:0,
                 from /opt/ros/melodic/include/ros/transport_hints.h:34,
                 from /opt/ros/melodic/include/ros/subscribe_options.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:42,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/range/iterator_range_core.hpp:594:9: note: candidate: template<class IteratorT, class ForwardRange> typename boost::enable_if<boost::mpl::not_<boost::is_base_and_derived<boost::iterator_range_detail::iterator_range_tag, ForwardRange> >, bool>::type boost::operator!=(const ForwardRange&, const boost::iterator_range<IteratorT>&)
         operator!=( const ForwardRange& l, const iterator_range<IteratorT>& r )
         ^~~~~~~~
/usr/include/boost/range/iterator_range_core.hpp:594:9: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::iterator_range<IteratorT>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/array.hpp:332:10: note: candidate: template<class T, long unsigned int N> bool boost::operator!=(const boost::array<T, N>&, const boost::array<T, N>&)
     bool operator!= (const array<T,N>& x, const array<T,N>& y) {
          ^~~~~~~~
/usr/include/boost/array.hpp:332:10: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::array<T, N>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/shared_array.hpp:17:0,
                 from /opt/ros/melodic/include/ros/serialized_message.h:33,
                 from /opt/ros/melodic/include/ros/common.h:38,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/smart_ptr/shared_array.hpp:269:31: note: candidate: template<class T> bool boost::operator!=(boost::detail::sp_nullptr_t, const boost::shared_array<T>&)
 template<class T> inline bool operator!=( boost::detail::sp_nullptr_t, shared_array<T> const & p ) BOOST_SP_NOEXCEPT
                               ^~~~~~~~
/usr/include/boost/smart_ptr/shared_array.hpp:269:31: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::shared_array<T>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/shared_array.hpp:17:0,
                 from /opt/ros/melodic/include/ros/serialized_message.h:33,
                 from /opt/ros/melodic/include/ros/common.h:38,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/smart_ptr/shared_array.hpp:264:31: note: candidate: template<class T> bool boost::operator!=(const boost::shared_array<T>&, boost::detail::sp_nullptr_t)
 template<class T> inline bool operator!=( shared_array<T> const & p, boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT
                               ^~~~~~~~
/usr/include/boost/smart_ptr/shared_array.hpp:264:31: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::shared_array<T>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/shared_array.hpp:17:0,
                 from /opt/ros/melodic/include/ros/serialized_message.h:33,
                 from /opt/ros/melodic/include/ros/common.h:38,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/smart_ptr/shared_array.hpp:247:31: note: candidate: template<class T> bool boost::operator!=(const boost::shared_array<T>&, const boost::shared_array<T>&)
 template<class T> inline bool operator!=(shared_array<T> const & a, shared_array<T> const & b) BOOST_SP_NOEXCEPT
                               ^~~~~~~~
/usr/include/boost/smart_ptr/shared_array.hpp:247:31: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::shared_array<T>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:63:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:97,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9> void boost::operator!=(const boost::function10<R, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>&, const boost::function10<R, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function10<R, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:58:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:92,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> void boost::operator!=(const boost::function9<R, T0, T1, T2, T3, T4, T5, T6, T7, T8>&, const boost::function9<R, T0, T1, T2, T3, T4, T5, T6, T7, T8>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function9<R, T0, T1, T2, T3, T4, T5, T6, T7, T8>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:53:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:87,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> void boost::operator!=(const boost::function8<R, T0, T1, T2, T3, T4, T5, T6, T7>&, const boost::function8<R, T0, T1, T2, T3, T4, T5, T6, T7>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function8<R, T0, T1, T2, T3, T4, T5, T6, T7>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:48:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:82,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6> void boost::operator!=(const boost::function7<R, T0, T1, T2, T3, T4, T5, T6>&, const boost::function7<R, T0, T1, T2, T3, T4, T5, T6>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function7<R, T0, T1, T2, T3, T4, T5, T6>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:43:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:77,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3, class T4, class T5> void boost::operator!=(const boost::function6<R, T0, T1, T2, T3, T4, T5>&, const boost::function6<R, T0, T1, T2, T3, T4, T5>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function6<R, T0, T1, T2, T3, T4, T5>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:38:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:72,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3, class T4> void boost::operator!=(const boost::function5<R, T0, T1, T2, T3, T4>&, const boost::function5<R, T0, T1, T2, T3, T4>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function5<R, T0, T1, T2, T3, T4>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:33:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:67,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3> void boost::operator!=(const boost::function4<R, T0, T1, T2, T3>&, const boost::function4<R, T0, T1, T2, T3>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function4<R, T0, T1, T2, T3>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:28:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:62,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2> void boost::operator!=(const boost::function3<R, T0, T1, T2>&, const boost::function3<R, T0, T1, T2>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function3<R, T0, T1, T2>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:23:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:57,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1> void boost::operator!=(const boost::function2<R, T0, T1>&, const boost::function2<R, T0, T1>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function2<R, T0, T1>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:18:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:52,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0> void boost::operator!=(const boost::function1<R, T0>&, const boost::function1<R, T0>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function1<R, T0>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:13:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R> void boost::operator!=(const boost::function0<R>&, const boost::function0<R>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function0<R>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/prologue.hpp:17:0,
                 from /usr/include/boost/function.hpp:24,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_base.hpp:829:3: note: candidate: template<class Functor> typename boost::enable_if_c<(! boost::is_integral<T>::value), bool>::type boost::operator!=(boost::reference_wrapper<T>, const boost::function_base&)
   operator!=(reference_wrapper<Functor> g, const function_base& f)
   ^~~~~~~~
/usr/include/boost/function/function_base.hpp:829:3: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >’ is not derived from ‘boost::reference_wrapper<T>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/prologue.hpp:17:0,
                 from /usr/include/boost/function.hpp:24,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_base.hpp:820:3: note: candidate: template<class Functor> typename boost::enable_if_c<(! boost::is_integral<T>::value), bool>::type boost::operator!=(const boost::function_base&, boost::reference_wrapper<T>)
   operator!=(const function_base& f, reference_wrapper<Functor> g)
   ^~~~~~~~
/usr/include/boost/function/function_base.hpp:820:3: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >’ is not derived from ‘boost::reference_wrapper<T>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/prologue.hpp:17:0,
                 from /usr/include/boost/function.hpp:24,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_base.hpp:792:3: note: candidate: template<class Functor> typename boost::enable_if_c<(! boost::is_integral<T>::value), bool>::type boost::operator!=(Functor, const boost::function_base&)
   operator!=(Functor g, const function_base& f)
   ^~~~~~~~
/usr/include/boost/function/function_base.hpp:792:3: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:59: note:   cannot convert ‘model.urdf::Model::<anonymous>.urdf::ModelInterface::joints_.std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::end()’ (type ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’) to type ‘const boost::function_base&’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                          ~~~~~~~~~~~~~~~~~^~
In file included from /usr/include/boost/function/detail/prologue.hpp:17:0,
                 from /usr/include/boost/function.hpp:24,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_base.hpp:783:3: note: candidate: template<class Functor> typename boost::enable_if_c<(! boost::is_integral<T>::value), bool>::type boost::operator!=(const boost::function_base&, Functor)
   operator!=(const function_base& f, Functor g)
   ^~~~~~~~
/usr/include/boost/function/function_base.hpp:783:3: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   cannot convert ‘iter’ (type ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’) to type ‘const boost::function_base&’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/prologue.hpp:17:0,
                 from /usr/include/boost/function.hpp:24,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_base.hpp:721:13: note: candidate: bool boost::operator!=(boost::detail::function::useless_clear_type*, const boost::function_base&)
 inline bool operator!=(detail::function::useless_clear_type*,
             ^~~~~~~~
/usr/include/boost/function/function_base.hpp:721:13: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ to ‘boost::detail::function::useless_clear_type*’
/usr/include/boost/function/function_base.hpp:709:13: note: candidate: bool boost::operator!=(const boost::function_base&, boost::detail::function::useless_clear_type*)
 inline bool operator!=(const function_base& f,
             ^~~~~~~~
/usr/include/boost/function/function_base.hpp:709:13: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ to ‘const boost::function_base&’
In file included from /usr/include/boost/shared_ptr.hpp:17:0,
                 from /opt/ros/melodic/include/ros/forwards.h:37,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/smart_ptr/shared_ptr.hpp:861:31: note: candidate: template<class T> bool boost::operator!=(boost::detail::sp_nullptr_t, const boost::shared_ptr<X>&)
 template<class T> inline bool operator!=( boost::detail::sp_nullptr_t, shared_ptr<T> const & p ) BOOST_SP_NOEXCEPT
                               ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:861:31: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::shared_ptr<X>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/shared_ptr.hpp:17:0,
                 from /opt/ros/melodic/include/ros/forwards.h:37,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/smart_ptr/shared_ptr.hpp:856:31: note: candidate: template<class T> bool boost::operator!=(const boost::shared_ptr<X>&, boost::detail::sp_nullptr_t)
 template<class T> inline bool operator!=( shared_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT
                               ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:856:31: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::shared_ptr<X>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/shared_ptr.hpp:17:0,
                 from /opt/ros/melodic/include/ros/forwards.h:37,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/smart_ptr/shared_ptr.hpp:828:40: note: candidate: template<class T, class U> bool boost::operator!=(const boost::shared_ptr<X>&, const boost::shared_ptr<U>&)
 template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b) BOOST_SP_NOEXCEPT
                                        ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:828:40: note:   template argument deduction/substitution failed:
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::shared_ptr<X>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
/home/yanjun_yang/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:147:65: error: conversion from ‘urdf::JointLimitsSharedPtr {aka std::shared_ptr<urdf::JointLimits>}’ to non-scalar type ‘boost::shared_ptr<urdf::JointLimits>’ requested
     boost::shared_ptr<urdf::JointLimits> limits = iter->second->limits;
                                                   ~~~~~~~~~~~~~~^~~~~~
industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/build.make:62: recipe for target 'industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/src/utils.cpp.o' failed
make[2]: *** [industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/src/utils.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/build.make:86: recipe for target 'industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/src/param_utils.cpp.o' failed
make[2]: *** [industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/src/param_utils.cpp.o] Error 1
CMakeFiles/Makefile2:4375: recipe for target 'industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/all' failed
make[1]: *** [industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
/home/yanjun_yang/yumi_depends_ws/src/yumi/yumi_hw/src/yumi_hw.cpp: In member function ‘void YumiHW::registerJointLimits(const string&, const hardware_interface::JointHandle&, const hardware_interface::JointHandle&, const urdf::Model*, double*, double*)’:
/home/yanjun_yang/yumi_depends_ws/src/yumi/yumi_hw/src/yumi_hw.cpp:185:79: error: conversion from ‘urdf::JointConstSharedPtr {aka std::shared_ptr<const urdf::Joint>}’ to non-scalar type ‘const boost::shared_ptr<const urdf::Joint>’ requested
   const boost::shared_ptr<const urdf::Joint> urdf_joint = urdf_model->getJoint(joint_name);
                                                           ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/home/yanjun_yang/yumi_depends_ws/src/yumi/yumi_hw/src/yumi_hw.cpp:186:89: error: conversion from ‘urdf::JointConstSharedPtr {aka std::shared_ptr<const urdf::Joint>}’ to non-scalar type ‘const boost::shared_ptr<const urdf::Joint>’ requested
   const boost::shared_ptr<const urdf::Joint> urdf_joint_sitffness = urdf_model->getJoint(joint_name + std::string("_stiffness"));
                                                                     ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/yanjun_yang/yumi_depends_ws/src/yumi/yumi_hw/src/yumi_hw.cpp:190:65: error: no matching function for call to ‘getJointLimits(const boost::shared_ptr<const urdf::Joint>&, joint_limits_interface::JointLimits&)’
    if (joint_limits_interface::getJointLimits(urdf_joint, limits))
                                                                 ^
In file included from /home/yanjun_yang/yumi_depends_ws/src/yumi/yumi_hw/include/yumi_hw/yumi_hw.h:19:0,
                 from /home/yanjun_yang/yumi_depends_ws/src/yumi/yumi_hw/src/yumi_hw.cpp:1:
/opt/ros/melodic/include/joint_limits_interface/joint_limits_rosparam.h:75:13: note: candidate: bool joint_limits_interface::getJointLimits(const string&, const ros::NodeHandle&, joint_limits_interface::JointLimits&)
 inline bool getJointLimits(const std::string& joint_name, const ros::NodeHandle& nh, JointLimits& limits)
             ^~~~~~~~~~~~~~
/opt/ros/melodic/include/joint_limits_interface/joint_limits_rosparam.h:75:13: note:   candidate expects 3 arguments, 2 provided
In file included from /home/yanjun_yang/yumi_depends_ws/src/yumi/yumi_hw/include/yumi_hw/yumi_hw.h:20:0,
                 from /home/yanjun_yang/yumi_depends_ws/src/yumi/yumi_hw/src/yumi_hw.cpp:1:
/opt/ros/melodic/include/joint_limits_interface/joint_limits_urdf.h:48:13: note: candidate: bool joint_limits_interface::getJointLimits(urdf::JointConstSharedPtr, joint_limits_interface::JointLimits&)
 inline bool getJointLimits(urdf::JointConstSharedPtr urdf_joint, JointLimits& limits)
             ^~~~~~~~~~~~~~
/opt/ros/melodic/include/joint_limits_interface/joint_limits_urdf.h:48:13: note:   no known conversion for argument 1 from ‘const boost::shared_ptr<const urdf::Joint>’ to ‘urdf::JointConstSharedPtr {aka std::shared_ptr<const urdf::Joint>}’
/home/yanjun_yang/yumi_depends_ws/src/yumi/yumi_hw/src/yumi_hw.cpp:192:74: error: no matching function for call to ‘getSoftJointLimits(const boost::shared_ptr<const urdf::Joint>&, joint_limits_interface::SoftJointLimits&)’
    if (joint_limits_interface::getSoftJointLimits(urdf_joint, soft_limits))
                                                                          ^
In file included from /home/yanjun_yang/yumi_depends_ws/src/yumi/yumi_hw/include/yumi_hw/yumi_hw.h:19:0,
                 from /home/yanjun_yang/yumi_depends_ws/src/yumi/yumi_hw/src/yumi_hw.cpp:1:
/opt/ros/melodic/include/joint_limits_interface/joint_limits_rosparam.h:194:13: note: candidate: bool joint_limits_interface::getSoftJointLimits(const string&, const ros::NodeHandle&, joint_limits_interface::SoftJointLimits&)
 inline bool getSoftJointLimits(const std::string& joint_name, const ros::NodeHandle& nh, SoftJointLimits& soft_limits)
             ^~~~~~~~~~~~~~~~~~
/opt/ros/melodic/include/joint_limits_interface/joint_limits_rosparam.h:194:13: note:   candidate expects 3 arguments, 2 provided
In file included from /home/yanjun_yang/yumi_depends_ws/src/yumi/yumi_hw/include/yumi_hw/yumi_hw.h:20:0,
                 from /home/yanjun_yang/yumi_depends_ws/src/yumi/yumi_hw/src/yumi_hw.cpp:1:
/opt/ros/melodic/include/joint_limits_interface/joint_limits_urdf.h:84:13: note: candidate: bool joint_limits_interface::getSoftJointLimits(urdf::JointConstSharedPtr, joint_limits_interface::SoftJointLimits&)
 inline bool getSoftJointLimits(urdf::JointConstSharedPtr urdf_joint, SoftJointLimits& soft_limits)
             ^~~~~~~~~~~~~~~~~~
/opt/ros/melodic/include/joint_limits_interface/joint_limits_urdf.h:84:13: note:   no known conversion for argument 1 from ‘const boost::shared_ptr<const urdf::Joint>’ to ‘urdf::JointConstSharedPtr {aka std::shared_ptr<const urdf::Joint>}’
yumi/yumi_hw/CMakeFiles/yumi_hw.dir/build.make:62: recipe for target 'yumi/yumi_hw/CMakeFiles/yumi_hw.dir/src/yumi_hw.cpp.o' failed
make[2]: *** [yumi/yumi_hw/CMakeFiles/yumi_hw.dir/src/yumi_hw.cpp.o] Error 1
CMakeFiles/Makefile2:7959: recipe for target 'yumi/yumi_hw/CMakeFiles/yumi_hw.dir/all' failed
make[1]: *** [yumi/yumi_hw/CMakeFiles/yumi_hw.dir/all] Error 2
/home/yanjun_yang/yumi_depends_ws/src/yumi/gazebo_mimic/src/gazebo_mimic_plugin/mimic_plugin.cpp: In destructor ‘virtual gazebo::MimicPlugin::~MimicPlugin()’:
/home/yanjun_yang/yumi_depends_ws/src/yumi/gazebo_mimic/src/gazebo_mimic_plugin/mimic_plugin.cpp:48:18: error: ‘DisconnectWorldUpdateBegin’ is not a member of ‘gazebo::event::Events’
   event::Events::DisconnectWorldUpdateBegin(this->updateConnection);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~
/home/yanjun_yang/yumi_depends_ws/src/yumi/gazebo_mimic/src/gazebo_mimic_plugin/mimic_plugin.cpp: In member function ‘virtual void gazebo::MimicPlugin::UpdateChild()’:
/home/yanjun_yang/yumi_depends_ws/src/yumi/gazebo_mimic/src/gazebo_mimic_plugin/mimic_plugin.cpp:88:42: error: ‘class gazebo::physics::Joint’ has no member named ‘GetAngle’; did you mean ‘GetForce’?
     mimic_joint_->SetPosition(0, joint_->GetAngle(0).Radian()*multiplier_);
                                          ^~~~~~~~
                                          GetForce
yumi/gazebo_mimic/CMakeFiles/gazebo_mimic_plugin.dir/build.make:62: recipe for target 'yumi/gazebo_mimic/CMakeFiles/gazebo_mimic_plugin.dir/src/gazebo_mimic_plugin/mimic_plugin.cpp.o' failed
make[2]: *** [yumi/gazebo_mimic/CMakeFiles/gazebo_mimic_plugin.dir/src/gazebo_mimic_plugin/mimic_plugin.cpp.o] Error 1
CMakeFiles/Makefile2:4181: recipe for target 'yumi/gazebo_mimic/CMakeFiles/gazebo_mimic_plugin.dir/all' failed
make[1]: *** [yumi/gazebo_mimic/CMakeFiles/gazebo_mimic_plugin.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j12 -l12" failed

What should I do to fix this problem? Thanks a lot!

diogoalmeida commented 4 years ago

Hi,

Make sure to switch the package to the 'melodic' branch.

In the package directory run:

$ git checkout melodic
yanjunyang commented 4 years ago

Hi,

Make sure to switch the package to the 'melodic' branch.

In the package directory run:

$ git checkout melodic

Thanks for your reply! I didn't notice that. Besides, I couldn't find EGM/TRobEGM.mod, EGM/TRobMain.mod, EGM/TRobSynchronization.sys and EGM/TRobSG.sys in yumi_hw/rapid/

diogoalmeida commented 4 years ago

No problem!

The EGM files require you to purchase the EGM module from ABB, which we cannot provide in this repository. You might want to try the ABB or RWS driver options.

Best, Diogo

yanjunyang commented 4 years ago

No problem!

The EGM files require you to purchace the EGM module from ABB, which we cannot provide in this repository. You might want to try the ABB or RWS driver options.

Best, Diogo

Do you mean that these files are with the purchased EGM module together? Once we get the EGM, where should we get these files?

Cheers Yanjun Yang

diogoalmeida commented 4 years ago

I believe so. Those files should be provided by ABB, and they should provide with support to your institution. Unfortunately, I have not dealt with ABB directly myself, so I cannot be sure of what the process to acquire the files should be.

yanjunyang commented 4 years ago

I believe so. Those files should be provided by ABB, and they should provide with support to your institution. Unfortunately, I have not dealt with ABB directly myself, so I cannot be sure of what the process to acquire the files should be.

Thanks so much for your kindly help!

jontje commented 4 years ago

The EGM files require you to purchace the EGM module from ABB

Just as a clarification, those files are not included in the EGM license. The latest available version of them are included in the free RobotWare StateMachine Add-In.

Though I do not know if the KTH implementation is compatible with the latest files.

@yanjunyang, you can find more details how to install the Add-In in the user manual, if you are interested.

diogoalmeida commented 4 years ago

Thanks for chiming in @jontje!

yanjunyangmonash commented 4 years ago

Hi @diogoalmeida , I recently got a new laptop and tried to reinstall this, but I got the problem again. I noticed that using sudo apt-get install protobuf-compiler will install 3.0.0 version, but I have to use 3.11.4 for the protobuf. Therefore I omit this one command

Then I got the error like this

CMake Error at yumi/gazebo_mimic/CMakeLists.txt:8 (find_package):
  By not providing "Findgazebo.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "gazebo", but
  CMake did not find one.

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

    gazeboConfig.cmake
    gazebo-config.cmake

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

-- Configuring incomplete, errors occurred!
See also "/home/yanjun/yumi_depends_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/yanjun/yumi_depends_ws/build/CMakeFiles/CMakeError.log".

I just want to know do I have to use 3.0.0 version to make it?

diogoalmeida commented 4 years ago

Hi!

The error seems to be related to your system missing gazebo. That shouldn't be related to protobuf. If you followed the installation instructions and are still having issues, please try to run

sudo apt-get install ros-kinetic-gazebo-ros-pkgs

Best, Diogo


From: yanjunyangmonash notifications@github.com Sent: Wednesday, November 25, 2020 4:18:02 PM To: kth-ros-pkg/yumi yumi@noreply.github.com Cc: Diogo Almeida digalmeda@gmail.com; Mention mention@noreply.github.com Subject: Re: [kth-ros-pkg/yumi] Installation error (#48)

Hi @diogoalmeidahttps://github.com/diogoalmeida , I recently got a new laptop and tried to reinstall this, but I got the problem again. I noticed that using sudo apt-get install protobuf-compiler will install 3.0.0 version, but I have to use 3.11.4 for the protobuf. Therefore I omit this one command

Then I got the error like this

CMake Error at yumi/gazebo_mimic/CMakeLists.txt:8 (find_package): By not providing "Findgazebo.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "gazebo", but CMake did not find one.

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

gazeboConfig.cmake
gazebo-config.cmake

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

-- Configuring incomplete, errors occurred! See also "/home/yanjun/yumi_depends_ws/build/CMakeFiles/CMakeOutput.log". See also "/home/yanjun/yumi_depends_ws/build/CMakeFiles/CMakeError.log".

I just want to know do I have to use 3.0.0 version to make it?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/kth-ros-pkg/yumi/issues/48#issuecomment-733806359, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AALOBTOKOVOJKRUGEDG47Q3SRUU3VANCNFSM4JTOLF5A.

yanjunyangmonash commented 4 years ago

Hi! The error seems to be related to your system missing gazebo. That shouldn't be related to protobuf. If you followed the installation instructions and are still having issues, please try to run sudo apt-get install ros-kinetic-gazebo-ros-pkgs Best, Diogo ____ From: yanjunyangmonash notifications@github.com Sent: Wednesday, November 25, 2020 4:18:02 PM To: kth-ros-pkg/yumi yumi@noreply.github.com Cc: Diogo Almeida digalmeda@gmail.com; Mention mention@noreply.github.com Subject: Re: [kth-ros-pkg/yumi] Installation error (#48) Hi @diogoalmeidahttps://github.com/diogoalmeida , I recently got a new laptop and tried to reinstall this, but I got the problem again. I noticed that using sudo apt-get install protobuf-compiler will install 3.0.0 version, but I have to use 3.11.4 for the protobuf. Therefore I omit this one command Then I got the error like this CMake Error at yumi/gazebo_mimic/CMakeLists.txt:8 (find_package): By not providing "Findgazebo.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "gazebo", but CMake did not find one. Could not find a package configuration file provided by "gazebo" with any of the following names: gazeboConfig.cmake gazebo-config.cmake Add the installation prefix of "gazebo" to CMAKE_PREFIX_PATH or set "gazebo_DIR" to a directory containing one of the above files. If "gazebo" provides a separate development package or SDK, be sure it has been installed. -- Configuring incomplete, errors occurred! See also "/home/yanjun/yumi_depends_ws/build/CMakeFiles/CMakeOutput.log". See also "/home/yanjun/yumi_depends_ws/build/CMakeFiles/CMakeError.log". I just want to know do I have to use 3.0.0 version to make it? — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub<#48 (comment)>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AALOBTOKOVOJKRUGEDG47Q3SRUU3VANCNFSM4JTOLF5A.

Hi Diogo

Thanks for your quick reply, since I still use ROS melodic, I modified your command to sudo apt-get install ros-kinetic-gazebo-ros-pkgs. Besides, The gazebo package will automatically download protocbuf3.0.0, so I removed 3.11.4 version to avoid conflict. While I still fail to make it and the problem seems to come from industrial_core. Hope you have time to go through the log

Base path: /home/yanjun/yumi_depends_ws
Source space: /home/yanjun/yumi_depends_ws/src
Build space: /home/yanjun/yumi_depends_ws/build
Devel space: /home/yanjun/yumi_depends_ws/devel
Install space: /home/yanjun/yumi_depends_ws/install
####
#### Running command: "cmake /home/yanjun/yumi_depends_ws/src -DCMAKE_BUILD_TYPE=Release -DCATKIN_DEVEL_PREFIX=/home/yanjun/yumi_depends_ws/devel -DCMAKE_INSTALL_PREFIX=/home/yanjun/yumi_depends_ws/install -G Unix Makefiles" in "/home/yanjun/yumi_depends_ws/build"
####
-- Using CATKIN_DEVEL_PREFIX: /home/yanjun/yumi_depends_ws/devel
-- Using CMAKE_PREFIX_PATH: /home/yanjun/yumi_depends_ws/devel;/opt/ros/melodic
-- This workspace overlays: /home/yanjun/yumi_depends_ws/devel;/opt/ros/melodic
-- Found PythonInterp: /usr/bin/python2 (found suitable version "2.7.17", minimum required is "2") 
-- Using PYTHON_EXECUTABLE: /usr/bin/python2
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/yanjun/yumi_depends_ws/build/test_results
-- Found gtest sources under '/usr/src/googletest': gtests will be built
-- Found gmock sources under '/usr/src/googletest': gmock will be built
-- Found PythonInterp: /usr/bin/python2 (found version "2.7.17") 
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.7.29
-- BUILD_SHARED_LIBS is on
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~  traversing 25 packages in topological order:
-- ~~  - abb (metapackage)
-- ~~  - abb_irb2400_moveit_config
-- ~~  - abb_irb6640_moveit_config
-- ~~  - industrial_core (metapackage)
-- ~~  - industrial_deprecated
-- ~~  - industrial_msgs
-- ~~  - abb_irb2400_support
-- ~~  - abb_irb5400_support
-- ~~  - abb_irb6600_support
-- ~~  - abb_irb6640_support
-- ~~  - simple_message
-- ~~  - gazebo_mimic
-- ~~  - industrial_utils
-- ~~  - industrial_robot_client
-- ~~  - industrial_robot_simulator
-- ~~  - abb_irb2400_moveit_plugins
-- ~~  - industrial_trajectory_filters
-- ~~  - yumi_cameras
-- ~~  - yumi_control
-- ~~  - yumi_description
-- ~~  - yumi_hw
-- ~~  - yumi_moveit_config
-- ~~  - yumi_support
-- ~~  - yumi_launch
-- ~~  - yumi_test_controllers
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin metapackage: 'abb'
-- ==> add_subdirectory(abb/abb)
-- +++ processing catkin package: 'abb_irb2400_moveit_config'
-- ==> add_subdirectory(abb/abb_irb2400_moveit_config)
-- +++ processing catkin package: 'abb_irb6640_moveit_config'
-- ==> add_subdirectory(abb/abb_irb6640_moveit_config)
-- +++ processing catkin metapackage: 'industrial_core'
-- ==> add_subdirectory(industrial_core/industrial_core)
-- +++ processing catkin package: 'industrial_deprecated'
-- ==> add_subdirectory(industrial_core/industrial_deprecated)
-- +++ processing catkin package: 'industrial_msgs'
-- ==> add_subdirectory(industrial_core/industrial_msgs)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- industrial_msgs: 6 messages, 6 services
-- +++ processing catkin package: 'abb_irb2400_support'
-- ==> add_subdirectory(abb/abb_irb2400_support)
-- +++ processing catkin package: 'abb_irb5400_support'
-- ==> add_subdirectory(abb/abb_irb5400_support)
-- +++ processing catkin package: 'abb_irb6600_support'
-- ==> add_subdirectory(abb/abb_irb6600_support)
-- +++ processing catkin package: 'abb_irb6640_support'
-- ==> add_subdirectory(abb/abb_irb6640_support)
-- +++ processing catkin package: 'simple_message'
-- ==> add_subdirectory(industrial_core/simple_message)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- +++ processing catkin package: 'gazebo_mimic'
-- ==> add_subdirectory(yumi/gazebo_mimic)
CMake Warning (dev) at /opt/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
  The package name passed to `find_package_handle_standard_args` (PkgConfig)
  does not match the name of the calling package (gazebo).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  /opt/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindPkgConfig.cmake:59 (find_package_handle_standard_args)
  /usr/lib/x86_64-linux-gnu/cmake/gazebo/gazebo-config.cmake:30 (include)
  yumi/gazebo_mimic/CMakeLists.txt:8 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for module 'bullet>=2.82'
--   Found bullet, version 2.87
-- Found Simbody: /usr/include/simbody  
-- Found Boost: /usr/include (found suitable version "1.65.1", minimum required is "1.40.0") found components: thread signals system filesystem program_options regex iostreams date_time chrono atomic 
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.0.0") 
-- Found Boost: /usr/include (found version "1.65.1")  
-- Looking for OGRE...
-- OGRE_PREFIX_WATCH changed.
-- Checking for module 'OGRE'
--   Found OGRE, version 1.9.0
-- Found Ogre Ghadamon (1.9.0)
-- Found OGRE: optimized;/usr/lib/x86_64-linux-gnu/libOgreMain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreMain.so
CMake Warning (dev) at /opt/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindBoost.cmake:1315 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "chrono" will no longer be dereferenced when the
  policy is set to NEW.  Since the policy is not set the OLD behavior will be
  used.
Call Stack (most recent call first):
  /opt/cmake-3.18.4-Linux-x86_64/share/cmake-3.18/Modules/FindBoost.cmake:1919 (_Boost_MISSING_DEPENDENCIES)
  /usr/share/OGRE/cmake/modules/FindOGRE.cmake:318 (find_package)
  /usr/lib/x86_64-linux-gnu/cmake/gazebo/gazebo-config.cmake:175 (find_package)
  yumi/gazebo_mimic/CMakeLists.txt:8 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Looking for OGRE_Paging...
-- Found OGRE_Paging: optimized;/usr/lib/x86_64-linux-gnu/libOgrePaging.so;debug;/usr/lib/x86_64-linux-gnu/libOgrePaging.so
-- Looking for OGRE_Terrain...
-- Found OGRE_Terrain: optimized;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so
-- Looking for OGRE_Property...
-- Found OGRE_Property: optimized;/usr/lib/x86_64-linux-gnu/libOgreProperty.so;debug;/usr/lib/x86_64-linux-gnu/libOgreProperty.so
-- Looking for OGRE_RTShaderSystem...
-- Found OGRE_RTShaderSystem: optimized;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so;debug;/usr/lib/x86_64-linux-gnu/libOgreRTShaderSystem.so
-- Looking for OGRE_Volume...
-- Found OGRE_Volume: optimized;/usr/lib/x86_64-linux-gnu/libOgreVolume.so;debug;/usr/lib/x86_64-linux-gnu/libOgreVolume.so
-- Looking for OGRE_Overlay...
-- Found OGRE_Overlay: optimized;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so;debug;/usr/lib/x86_64-linux-gnu/libOgreOverlay.so
-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found suitable version "3.0.0", minimum required is "2.3.0") 
-- Checking for module 'uuid'
--   Found uuid, version 2.31.1
-- Found UUID: TRUE  
-- Checking for module 'tinyxml2'
--   Found tinyxml2, version 6.0.0
-- Looking for dlfcn.h - found
-- Looking for libdl - found
-- Found DL: TRUE  
-- FreeImage.pc not found, we will search for FreeImage_INCLUDE_DIRS and FreeImage_LIBRARIES
-- Found UUID: TRUE  
-- Checking for module 'gts'
--   Found gts, version 0.7.6
-- Found GTS: TRUE  
-- Checking for module 'libswscale'
--   Found libswscale, version 4.8.100
-- Found SWSCALE: TRUE  
-- Checking for module 'libavdevice >= 56.4.100'
--   Found libavdevice , version 57.10.100
-- Found AVDEVICE: TRUE (Required is at least version "56.4.100") 
-- Checking for module 'libavformat'
--   Found libavformat, version 57.83.100
-- Found AVFORMAT: TRUE  
-- Checking for module 'libavcodec'
--   Found libavcodec, version 57.107.100
-- Found AVCODEC: TRUE  
-- Checking for module 'libavutil'
--   Found libavutil, version 55.78.100
-- Found AVUTIL: TRUE  
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.58.0")  
-- Checking for module 'jsoncpp'
--   Found jsoncpp, version 1.7.4
-- Found JSONCPP: TRUE  
-- Checking for module 'yaml-0.1'
--   Found yaml-0.1, version 0.1.7
-- Found YAML: TRUE  
-- Checking for module 'libzip'
--   Found libzip, version 1.1.2
-- Found ZIP: TRUE  
-- +++ processing catkin package: 'industrial_utils'
-- ==> add_subdirectory(industrial_core/industrial_utils)
-- Found Boost: /usr/include (found version "1.65.1") found components: system 
-- +++ processing catkin package: 'industrial_robot_client'
-- ==> add_subdirectory(industrial_core/industrial_robot_client)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- simple_message: work around for #46
-- Found Boost: /usr/include (found version "1.65.1") found components: system thread chrono date_time atomic 
-- +++ processing catkin package: 'industrial_robot_simulator'
-- ==> add_subdirectory(industrial_core/industrial_robot_simulator)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- +++ processing catkin package: 'abb_irb2400_moveit_plugins'
-- ==> add_subdirectory(abb/abb_irb2400_moveit_plugins)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Looking for dgemm_
-- Looking for dgemm_ - found
-- Found BLAS: /usr/lib/x86_64-linux-gnu/libblas.so;/usr/lib/x86_64-linux-gnu/libf77blas.so;/usr/lib/x86_64-linux-gnu/libatlas.so  
-- Looking for cheev_
-- Looking for cheev_ - not found
-- Looking for cheev_
-- Looking for cheev_ - found
-- A library with LAPACK API found.
-- +++ processing catkin package: 'industrial_trajectory_filters'
-- ==> add_subdirectory(industrial_core/industrial_trajectory_filters)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- +++ processing catkin package: 'yumi_cameras'
-- ==> add_subdirectory(yumi/yumi_cameras)
--   ABB RWS library not found
--   This package is highly dependent on RWS, and its files cannot be built without it
-- +++ processing catkin package: 'yumi_control'
-- ==> add_subdirectory(yumi/yumi_control)
-- +++ processing catkin package: 'yumi_description'
-- ==> add_subdirectory(yumi/yumi_description)
-- +++ processing catkin package: 'yumi_hw'
-- ==> add_subdirectory(yumi/yumi_hw)
--   ABB RWS library not found
--   This package is highly dependent on abb RWS and EGM C++ libraries.
--   Only the hardware interface over industrial core sockets-RWS will be built.
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- simple_message: work around for #46
-- yumi_hw: 0 messages, 1 services
-- +++ processing catkin package: 'yumi_moveit_config'
-- ==> add_subdirectory(yumi/yumi_moveit_config)
-- +++ processing catkin package: 'yumi_support'
-- ==> add_subdirectory(yumi/yumi_support)
-- +++ processing catkin package: 'yumi_launch'
-- ==> add_subdirectory(yumi/yumi_launch)
-- +++ processing catkin package: 'yumi_test_controllers'
-- ==> add_subdirectory(yumi/yumi_test_controllers)
-- Using these message generators: gencpp;geneus;genlisp;gennodejs;genpy
-- Configuring done
CMake Warning (dev) at industrial_core/industrial_robot_client/CMakeLists.txt:136 (add_dependencies):
  Policy CMP0046 is not set: Error on non-existent dependency in
  add_dependencies.  Run "cmake --help-policy CMP0046" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  The dependency target "industrial_robot_client_gencpp" of target
  "joint_trajectory_action" does not exist.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Generating done
-- Build files have been written to: /home/yanjun/yumi_depends_ws/build
####
#### Running command: "make -j16 -l16" in "/home/yanjun/yumi_depends_ws/build"
####
Scanning dependencies of target _industrial_msgs_generate_messages_check_deps_TriState
Scanning dependencies of target _industrial_msgs_generate_messages_check_deps_SetRemoteLoggerLevel
Scanning dependencies of target _industrial_msgs_generate_messages_check_deps_StartMotion
Scanning dependencies of target _industrial_msgs_generate_messages_check_deps_StopMotion
Scanning dependencies of target _industrial_msgs_generate_messages_check_deps_GetRobotInfo
Scanning dependencies of target std_msgs_generate_messages_py
Scanning dependencies of target _industrial_msgs_generate_messages_check_deps_DeviceInfo
Scanning dependencies of target _industrial_msgs_generate_messages_check_deps_RobotStatus
Scanning dependencies of target _industrial_msgs_generate_messages_check_deps_SetDrivePower
Scanning dependencies of target _industrial_msgs_generate_messages_check_deps_ServiceReturnCode
Scanning dependencies of target _industrial_msgs_generate_messages_check_deps_DebugLevel
Scanning dependencies of target trajectory_msgs_generate_messages_py
Scanning dependencies of target _industrial_msgs_generate_messages_check_deps_CmdJointTrajectory
Scanning dependencies of target std_msgs_generate_messages_eus
Scanning dependencies of target _industrial_msgs_generate_messages_check_deps_RobotMode
Scanning dependencies of target trajectory_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_py
[  0%] Built target trajectory_msgs_generate_messages_py
[  0%] Built target trajectory_msgs_generate_messages_eus
[  0%] Built target std_msgs_generate_messages_eus
Scanning dependencies of target trajectory_msgs_generate_messages_cpp
Scanning dependencies of target std_msgs_generate_messages_lisp
Scanning dependencies of target std_msgs_generate_messages_cpp
[  0%] Built target std_msgs_generate_messages_lisp
Scanning dependencies of target trajectory_msgs_generate_messages_lisp
[  0%] Built target std_msgs_generate_messages_cpp
Scanning dependencies of target trajectory_msgs_generate_messages_nodejs
[  0%] Built target trajectory_msgs_generate_messages_cpp
[  0%] Built target trajectory_msgs_generate_messages_lisp
Scanning dependencies of target std_msgs_generate_messages_nodejs
Scanning dependencies of target geometry_msgs_generate_messages_nodejs
Scanning dependencies of target geometry_msgs_generate_messages_eus
[  0%] Built target trajectory_msgs_generate_messages_nodejs
[  0%] Built target _industrial_msgs_generate_messages_check_deps_StartMotion
[  0%] Built target std_msgs_generate_messages_nodejs
[  0%] Built target _industrial_msgs_generate_messages_check_deps_DebugLevel
[  0%] Built target geometry_msgs_generate_messages_nodejs
[  0%] Built target geometry_msgs_generate_messages_eus
Scanning dependencies of target geometry_msgs_generate_messages_cpp
[  0%] Built target _industrial_msgs_generate_messages_check_deps_DeviceInfo
Scanning dependencies of target geometry_msgs_generate_messages_py
Scanning dependencies of target geometry_msgs_generate_messages_lisp
[  0%] Built target _industrial_msgs_generate_messages_check_deps_SetRemoteLoggerLevel
[  0%] Built target _industrial_msgs_generate_messages_check_deps_RobotMode
[  0%] Built target _industrial_msgs_generate_messages_check_deps_GetRobotInfo
[  0%] Generating simple_message_dummy.cpp
[  0%] Built target _industrial_msgs_generate_messages_check_deps_StopMotion
[  0%] Built target _industrial_msgs_generate_messages_check_deps_ServiceReturnCode
Scanning dependencies of target gazebo_mimic_plugin
[  0%] Built target geometry_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] Generating industrial_robot_client_dummy.cpp
[  0%] Built target _industrial_msgs_generate_messages_check_deps_CmdJointTrajectory
Scanning dependencies of target industrial_utils
[  0%] Built target _industrial_msgs_generate_messages_check_deps_TriState
[  0%] Built target geometry_msgs_generate_messages_py
Scanning dependencies of target _yumi_hw_generate_messages_check_deps_YumiGrasp
Scanning dependencies of target simple_message_dummy
Scanning dependencies of target abb_irb2400_manipulator_moveit_ikfast_plugin
Scanning dependencies of target test_traj_vel_control
[  0%] Built target _industrial_msgs_generate_messages_check_deps_SetDrivePower
Scanning dependencies of target industrial_trajectory_filters
Scanning dependencies of target test_vel_control
Scanning dependencies of target industrial_robot_client_dummy
[  0%] Built target _industrial_msgs_generate_messages_check_deps_RobotStatus
[  0%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_dummy.dir/simple_message_dummy.cpp.o
Scanning dependencies of target industrial_msgs_generate_messages_eus
[  1%] Building CXX object industrial_core/industrial_robot_client/CMakeFiles/industrial_robot_client_dummy.dir/industrial_robot_client_dummy.cpp.o
[  2%] Building CXX object industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/src/utils.cpp.o
Scanning dependencies of target industrial_msgs_generate_messages_py
Scanning dependencies of target industrial_msgs_generate_messages_nodejs
Scanning dependencies of target industrial_msgs_generate_messages_lisp
Scanning dependencies of target industrial_msgs_generate_messages_cpp
[  2%] Building CXX object industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/src/param_utils.cpp.o
[  3%] Building CXX object yumi/yumi_test_controllers/CMakeFiles/test_traj_vel_control.dir/src/test_traj_vel_control.cpp.o
[  3%] Building CXX object abb/abb_irb2400_moveit_plugins/irb2400_kinematics/CMakeFiles/abb_irb2400_manipulator_moveit_ikfast_plugin.dir/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp.o
[  3%] Generating EusLisp code from industrial_msgs/DebugLevel.msg
[  4%] Generating Python from MSG industrial_msgs/DebugLevel
[  4%] Generating C++ code from industrial_msgs/DebugLevel.msg
[  4%] Building CXX object yumi/yumi_test_controllers/CMakeFiles/test_vel_control.dir/src/test_vel_control.cpp.o
[  5%] Generating EusLisp code from industrial_msgs/ServiceReturnCode.msg
[  6%] Generating Lisp code from industrial_msgs/DebugLevel.msg
[  7%] Generating Javascript code from industrial_msgs/DebugLevel.msg
[  9%] Linking CXX shared library /home/yanjun/yumi_depends_ws/devel/lib/libsimple_message_dummy.so
[  9%] Linking CXX shared library /home/yanjun/yumi_depends_ws/devel/lib/libindustrial_robot_client_dummy.so
[  9%] Built target _yumi_hw_generate_messages_check_deps_YumiGrasp
[  9%] Generating Javascript code from industrial_msgs/ServiceReturnCode.msg
[  9%] Built target simple_message_dummy
[ 10%] Generating Javascript code from industrial_msgs/RobotMode.msg
[ 11%] Building CXX object yumi/gazebo_mimic/CMakeFiles/gazebo_mimic_plugin.dir/src/gazebo_mimic_plugin/mimic_plugin.cpp.o
[ 11%] Built target industrial_robot_client_dummy
Scanning dependencies of target yumi_hw_generate_messages_py
[ 12%] Building CXX object industrial_core/industrial_trajectory_filters/CMakeFiles/industrial_trajectory_filters.dir/src/n_point_filter.cpp.o
[ 12%] Building CXX object industrial_core/industrial_trajectory_filters/CMakeFiles/industrial_trajectory_filters.dir/src/uniform_sample_filter.cpp.o
[ 12%] Generating Python code from SRV yumi_hw/YumiGrasp
[ 13%] Generating C++ code from industrial_msgs/ServiceReturnCode.msg
[ 13%] Generating C++ code from industrial_msgs/RobotMode.msg
[ 13%] Generating EusLisp code from industrial_msgs/RobotMode.msg
[ 13%] Generating Lisp code from industrial_msgs/ServiceReturnCode.msg
[ 13%] Generating Javascript code from industrial_msgs/TriState.msg
[ 13%] Generating Python from MSG industrial_msgs/ServiceReturnCode
[ 14%] Generating Lisp code from industrial_msgs/RobotMode.msg
[ 15%] Generating EusLisp code from industrial_msgs/TriState.msg
[ 15%] Generating Javascript code from industrial_msgs/RobotStatus.msg
[ 15%] Generating Lisp code from industrial_msgs/TriState.msg
[ 17%] Generating Python srv __init__.py for yumi_hw
[ 18%] Generating Javascript code from industrial_msgs/DeviceInfo.msg
[ 18%] Generating Lisp code from industrial_msgs/RobotStatus.msg
[ 18%] Generating C++ code from industrial_msgs/TriState.msg
[ 18%] Generating EusLisp code from industrial_msgs/RobotStatus.msg
[ 18%] Generating Javascript code from industrial_msgs/SetDrivePower.srv
[ 19%] Generating Python from MSG industrial_msgs/RobotMode
[ 20%] Generating C++ code from industrial_msgs/RobotStatus.msg
[ 20%] Generating C++ code from industrial_msgs/DeviceInfo.msg
[ 21%] Generating Lisp code from industrial_msgs/DeviceInfo.msg
[ 22%] Generating Javascript code from industrial_msgs/CmdJointTrajectory.srv
[ 22%] Built target yumi_hw_generate_messages_py
[ 22%] Generating EusLisp code from industrial_msgs/DeviceInfo.msg
Scanning dependencies of target yumi_hw_generate_messages_lisp
[ 22%] Generating Lisp code from yumi_hw/YumiGrasp.srv
[ 22%] Generating Lisp code from industrial_msgs/SetDrivePower.srv
[ 22%] Generating Javascript code from industrial_msgs/GetRobotInfo.srv
[ 22%] Built target yumi_hw_generate_messages_lisp
[ 23%] Generating Lisp code from industrial_msgs/CmdJointTrajectory.srv
[ 23%] Generating Python from MSG industrial_msgs/TriState
Scanning dependencies of target yumi_hw_generate_messages_nodejs
[ 25%] Generating Javascript code from yumi_hw/YumiGrasp.srv
[ 26%] Generating EusLisp code from industrial_msgs/SetDrivePower.srv
[ 27%] Generating Javascript code from industrial_msgs/StopMotion.srv
[ 27%] Generating Lisp code from industrial_msgs/GetRobotInfo.srv
[ 27%] Built target yumi_hw_generate_messages_nodejs
[ 27%] Generating EusLisp code from industrial_msgs/CmdJointTrajectory.srv
[ 28%] Generating EusLisp code from industrial_msgs/GetRobotInfo.srv
[ 28%] Generating Javascript code from industrial_msgs/StartMotion.srv
[ 29%] Generating Lisp code from industrial_msgs/StopMotion.srv
[ 30%] Generating C++ code from industrial_msgs/SetDrivePower.srv
[ 30%] Generating C++ code from industrial_msgs/CmdJointTrajectory.srv
[ 31%] Generating C++ code from industrial_msgs/GetRobotInfo.srv
[ 31%] Generating Python from MSG industrial_msgs/RobotStatus
[ 31%] Generating Javascript code from industrial_msgs/SetRemoteLoggerLevel.srv
[ 31%] Generating EusLisp code from industrial_msgs/StopMotion.srv
[ 31%] Generating Lisp code from industrial_msgs/StartMotion.srv
[ 31%] Generating EusLisp code from industrial_msgs/StartMotion.srv
[ 31%] Generating Lisp code from industrial_msgs/SetRemoteLoggerLevel.srv
[ 31%] Built target industrial_msgs_generate_messages_nodejs
Scanning dependencies of target yumi_hw_generate_messages_cpp
[ 32%] Generating EusLisp code from industrial_msgs/SetRemoteLoggerLevel.srv
[ 32%] Generating C++ code from yumi_hw/YumiGrasp.srv
Scanning dependencies of target yumi_hw_generate_messages_eus
[ 34%] Generating EusLisp code from yumi_hw/YumiGrasp.srv
[ 35%] Generating Python from MSG industrial_msgs/DeviceInfo
[ 35%] Built target industrial_msgs_generate_messages_lisp
[ 35%] Generating EusLisp manifest code for yumi_hw
[ 35%] Generating EusLisp manifest code for industrial_msgs
[ 35%] Generating Python code from SRV industrial_msgs/SetDrivePower
Scanning dependencies of target yumi_hw
[ 36%] Building CXX object yumi/yumi_hw/CMakeFiles/yumi_hw.dir/src/yumi_hw.cpp.o
[ 37%] Generating Python code from SRV industrial_msgs/CmdJointTrajectory
[ 37%] Building CXX object yumi/yumi_hw/CMakeFiles/yumi_hw.dir/src/yumi_hw_rws.cpp.o
[ 37%] Generating C++ code from industrial_msgs/StopMotion.srv
[ 38%] Building CXX object industrial_core/industrial_trajectory_filters/CMakeFiles/industrial_trajectory_filters.dir/src/add_smoothing_filter.cpp.o
[ 38%] Generating Python code from SRV industrial_msgs/GetRobotInfo
[ 38%] Built target yumi_hw_generate_messages_cpp
[ 39%] Generating Python code from SRV industrial_msgs/StopMotion
In file included from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_trajectory_filters/include/industrial_trajectory_filters/filter_base.h:40:0,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_trajectory_filters/include/industrial_trajectory_filters/n_point_filter.h:35,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_trajectory_filters/src/n_point_filter.cpp:34:
/opt/ros/melodic/include/class_loader/class_loader.h:36:2: warning: #warning Including header <class_loader/class_loader.h> is deprecated, include <class_loader/class_loader.hpp> instead. [-Wcpp]
 #warning Including header <class_loader/class_loader.h> is deprecated, \
  ^~~~~~~
In file included from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_trajectory_filters/include/industrial_trajectory_filters/filter_base.h:40:0,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_trajectory_filters/include/industrial_trajectory_filters/uniform_sample_filter.h:35,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_trajectory_filters/src/uniform_sample_filter.cpp:32:
/opt/ros/melodic/include/class_loader/class_loader.h:36:2: warning: #warning Including header <class_loader/class_loader.h> is deprecated, include <class_loader/class_loader.hpp> instead. [-Wcpp]
 #warning Including header <class_loader/class_loader.h> is deprecated, \
  ^~~~~~~
[ 39%] Generating C++ code from industrial_msgs/StartMotion.srv
[ 39%] Generating Python code from SRV industrial_msgs/StartMotion
[ 40%] Generating C++ code from industrial_msgs/SetRemoteLoggerLevel.srv
[ 40%] Generating Python code from SRV industrial_msgs/SetRemoteLoggerLevel
[ 40%] Building CXX object industrial_core/industrial_trajectory_filters/CMakeFiles/industrial_trajectory_filters.dir/src/smoothing_trajectory_filter.cpp.o
[ 40%] Built target industrial_msgs_generate_messages_eus
[ 40%] Built target industrial_msgs_generate_messages_cpp
[ 42%] Generating Python msg __init__.py for industrial_msgs
[ 42%] Generating Python srv __init__.py for industrial_msgs
[ 42%] Built target yumi_hw_generate_messages_eus
Scanning dependencies of target yumi_hw_generate_messages
[ 42%] Built target yumi_hw_generate_messages
[ 42%] Built target industrial_msgs_generate_messages_py
Scanning dependencies of target industrial_msgs_generate_messages
Scanning dependencies of target simple_message_float64
Scanning dependencies of target simple_message
Scanning dependencies of target simple_message_bswap
[ 42%] Built target industrial_msgs_generate_messages
[ 43%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/simple_message.cpp.o
[ 43%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/byte_array.cpp.o
[ 44%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/byte_array.cpp.o
[ 44%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/byte_array.cpp.o
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp: In function ‘bool industrial_utils::param::getJointNames(std::__cxx11::string, std::__cxx11::string, std::vector<std::__cxx11::basic_string<char> >&)’:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:114:44: error: invalid initialization of reference of type ‘const boost::shared_ptr<const urdf::Link>&’ from expression of type ‘urdf::LinkConstSharedPtr {aka std::shared_ptr<const urdf::Link>}’
        && findChainJointNames(model.getRoot(), true, joint_names) )
                               ~~~~~~~~~~~~~^~
In file included from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:0:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:78:6: note: in passing argument 1 of ‘bool industrial_utils::findChainJointNames(const boost::shared_ptr<const urdf::Link>&, bool, std::vector<std::__cxx11::basic_string<char> >&)’
 bool findChainJointNames(const boost::shared_ptr<const urdf::Link> &link, bool ignore_fixed,
      ^~~~~~~~~~~~~~~~~~~
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp: In function ‘bool industrial_utils::param::getJointVelocityLimits(std::__cxx11::string, std::map<std::__cxx11::basic_string<char>, double>&)’:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:33: error: no match for ‘operator=’ (operand types are ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ and ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’)
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                 ^
In file included from /usr/include/c++/7/map:60:0,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_tree.h:256:12: note: candidate: constexpr std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >& std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >::operator=(const std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >&)
     struct _Rb_tree_iterator
            ^~~~~~~~~~~~~~~~~
/usr/include/c++/7/bits/stl_tree.h:256:12: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ to ‘const std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >&’
/usr/include/c++/7/bits/stl_tree.h:256:12: note: candidate: constexpr std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >& std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >::operator=(std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >&&)
/usr/include/c++/7/bits/stl_tree.h:256:12: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ to ‘std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >&&’
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:40: error: no match for ‘operator!=’ (operand types are ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ and ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’)
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                    ~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/map:60:0,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_tree.h:319:7: note: candidate: bool std::_Rb_tree_iterator<_Tp>::operator!=(const _Self&) const [with _Tp = std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >; std::_Rb_tree_iterator<_Tp>::_Self = std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >]
       operator!=(const _Self& __x) const _GLIBCXX_NOEXCEPT
       ^~~~~~~~
/usr/include/c++/7/bits/stl_tree.h:319:7: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ to ‘const _Self& {aka const std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >&}’
In file included from /usr/include/c++/7/iterator:66:0,
                 from /usr/include/boost/detail/iterator.hpp:11,
                 from /usr/include/boost/array.hpp:50,
                 from /opt/ros/melodic/include/ros/message.h:38,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/stream_iterator.h:137:5: note: candidate: template<class _Tp, class _CharT, class _Traits, class _Dist> bool std::operator!=(const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>&, const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>&)
     operator!=(const istream_iterator<_Tp, _CharT, _Traits, _Dist>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stream_iterator.h:137:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::istream_iterator<_Tp, _CharT, _Traits, _Dist>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/functional:58:0,
                 from /usr/include/boost/smart_ptr/detail/shared_count.hpp:38,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:28,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /opt/ros/melodic/include/ros/forwards.h:37,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/std_function.h:788:5: note: candidate: template<class _Res, class ... _Args> bool std::operator!=(std::nullptr_t, const std::function<_Res(_ArgTypes ...)>&)
     operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/std_function.h:788:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::function<_Res(_ArgTypes ...)>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/functional:58:0,
                 from /usr/include/boost/smart_ptr/detail/shared_count.hpp:38,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:28,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /opt/ros/melodic/include/ros/forwards.h:37,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/std_function.h:782:5: note: candidate: template<class _Res, class ... _Args> bool std::operator!=(const std::function<_Res(_ArgTypes ...)>&, std::nullptr_t)
     operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/std_function.h:782:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::function<_Res(_ArgTypes ...)>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/list:63:0,
                 from /opt/ros/melodic/include/ros/forwards.h:35,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/stl_list.h:1925:5: note: candidate: template<class _Tp, class _Alloc> bool std::operator!=(const std::__cxx11::list<_Tp, _Alloc>&, const std::__cxx11::list<_Tp, _Alloc>&)
     operator!=(const list<_Tp, _Alloc>& __x, const list<_Tp, _Alloc>& __y)
     ^~~~~~~~
/usr/include/c++/7/bits/stl_list.h:1925:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::__cxx11::list<_Tp, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/list:63:0,
                 from /opt/ros/melodic/include/ros/forwards.h:35,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/stl_list.h:293:5: note: candidate: template<class _Val> bool std::operator!=(const std::_List_iterator<_Tp>&, const std::_List_const_iterator<_Tp>&)
     operator!=(const _List_iterator<_Val>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_list.h:293:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::_List_iterator<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/set:62:0,
                 from /opt/ros/melodic/include/ros/forwards.h:34,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/stl_multiset.h:920:5: note: candidate: template<class _Key, class _Compare, class _Alloc> bool std::operator!=(const std::multiset<_Key, _Compare, _Alloc>&, const std::multiset<_Key, _Compare, _Alloc>&)
     operator!=(const multiset<_Key, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_multiset.h:920:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::multiset<_Key, _Compare, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/set:61:0,
                 from /opt/ros/melodic/include/ros/forwards.h:34,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/stl_set.h:937:5: note: candidate: template<class _Key, class _Compare, class _Alloc> bool std::operator!=(const std::set<_Key, _Compare, _Alloc>&, const std::set<_Key, _Compare, _Alloc>&)
     operator!=(const set<_Key, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_set.h:937:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::set<_Key, _Compare, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/config/no_tr1/complex.hpp:21:0,
                 from /usr/include/boost/math/policies/error_handling.hpp:17,
                 from /usr/include/boost/math/special_functions/round.hpp:14,
                 from /opt/ros/melodic/include/ros/time.h:58,
                 from /opt/ros/melodic/include/ros/ros.h:38,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/complex:486:5: note: candidate: template<class _Tp> constexpr bool std::operator!=(const _Tp&, const std::complex<_Tp>&)
     operator!=(const _Tp& __x, const complex<_Tp>& __y)
     ^~~~~~~~
/usr/include/c++/7/complex:486:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::complex<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/config/no_tr1/complex.hpp:21:0,
                 from /usr/include/boost/math/policies/error_handling.hpp:17,
                 from /usr/include/boost/math/special_functions/round.hpp:14,
                 from /opt/ros/melodic/include/ros/time.h:58,
                 from /opt/ros/melodic/include/ros/ros.h:38,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/complex:481:5: note: candidate: template<class _Tp> constexpr bool std::operator!=(const std::complex<_Tp>&, const _Tp&)
     operator!=(const complex<_Tp>& __x, const _Tp& __y)
     ^~~~~~~~
/usr/include/c++/7/complex:481:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::complex<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/config/no_tr1/complex.hpp:21:0,
                 from /usr/include/boost/math/policies/error_handling.hpp:17,
                 from /usr/include/boost/math/special_functions/round.hpp:14,
                 from /opt/ros/melodic/include/ros/time.h:58,
                 from /opt/ros/melodic/include/ros/ros.h:38,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/complex:476:5: note: candidate: template<class _Tp> constexpr bool std::operator!=(const std::complex<_Tp>&, const std::complex<_Tp>&)
     operator!=(const complex<_Tp>& __x, const complex<_Tp>& __y)
     ^~~~~~~~
/usr/include/c++/7/complex:476:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::complex<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/shared_ptr.h:393:5: note: candidate: template<class _Tp> bool std::operator!=(std::nullptr_t, const std::shared_ptr<_Tp>&)
     operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:393:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::shared_ptr<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/shared_ptr.h:388:5: note: candidate: template<class _Tp> bool std::operator!=(const std::shared_ptr<_Tp>&, std::nullptr_t)
     operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:388:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::shared_ptr<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/memory:81:0,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/shared_ptr.h:383:5: note: candidate: template<class _Tp, class _Up> bool std::operator!=(const std::shared_ptr<_Tp>&, const std::shared_ptr<_Up>&)
     operator!=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:383:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::shared_ptr<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/7/memory:81,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/shared_ptr_base.h:1436:5: note: candidate: template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator!=(std::nullptr_t, const std::__shared_ptr<_Tp, _Lp>&)
     operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr_base.h:1436:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/7/memory:81,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/shared_ptr_base.h:1431:5: note: candidate: template<class _Tp, __gnu_cxx::_Lock_policy _Lp> bool std::operator!=(const std::__shared_ptr<_Tp, _Lp>&, std::nullptr_t)
     operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr_base.h:1431:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::__shared_ptr<_Tp, _Lp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/7/memory:81,
                 from /usr/include/urdf_model/types.h:40,
                 from /usr/include/urdf_model/joint.h:44,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/shared_ptr_base.h:1425:5: note: candidate: template<class _Tp1, class _Tp2, __gnu_cxx::_Lock_policy _Lp> bool std::operator!=(const std::__shared_ptr<_Tp1, _Lp>&, const std::__shared_ptr<_Tp2, _Lp>&)
     operator!=(const __shared_ptr<_Tp1, _Lp>& __a,
     ^~~~~~~~
/usr/include/c++/7/bits/shared_ptr_base.h:1425:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::__shared_ptr<_Tp1, _Lp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
                 from /usr/include/c++/7/locale:43,
                 from /usr/include/urdf_model/utils.h:40,
                 from /usr/include/urdf_model/pose.h:55,
                 from /usr/include/urdf_model/joint.h:43,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/unique_ptr.h:707:5: note: candidate: template<class _Tp, class _Dp> bool std::operator!=(std::nullptr_t, const std::unique_ptr<_Tp, _Dp>&)
     operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/unique_ptr.h:707:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
                 from /usr/include/c++/7/locale:43,
                 from /usr/include/urdf_model/utils.h:40,
                 from /usr/include/urdf_model/pose.h:55,
                 from /usr/include/urdf_model/joint.h:43,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/unique_ptr.h:702:5: note: candidate: template<class _Tp, class _Dp> bool std::operator!=(const std::unique_ptr<_Tp, _Dp>&, std::nullptr_t)
     operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
     ^~~~~~~~
/usr/include/c++/7/bits/unique_ptr.h:702:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/locale_conv.h:41:0,
                 from /usr/include/c++/7/locale:43,
                 from /usr/include/urdf_model/utils.h:40,
                 from /usr/include/urdf_model/pose.h:55,
                 from /usr/include/urdf_model/joint.h:43,
                 from /usr/include/urdf_model/link.h:44,
                 from /usr/include/urdf_model/model.h:42,
                 from /opt/ros/melodic/include/urdf/model.h:42,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/c++/7/bits/unique_ptr.h:696:5: note: candidate: template<class _Tp, class _Dp, class _Up, class _Ep> bool std::operator!=(const std::unique_ptr<_Tp, _Dp>&, const std::unique_ptr<_Up, _Ep>&)
     operator!=(const unique_ptr<_Tp, _Dp>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/unique_ptr.h:696:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::unique_ptr<_Tp, _Dp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/vector:64:0,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_vector.h:1625:5: note: candidate: template<class _Tp, class _Alloc> bool std::operator!=(const std::vector<_Tp, _Alloc>&, const std::vector<_Tp, _Alloc>&)
     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
     ^~~~~~~~
/usr/include/c++/7/bits/stl_vector.h:1625:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::vector<_Tp, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/map:62:0,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_multimap.h:1083:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::multimap<_Key, _Tp, _Compare, _Alloc>&, const std::multimap<_Key, _Tp, _Compare, _Alloc>&)
     operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_multimap.h:1083:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::multimap<_Key, _Tp, _Compare, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/map:61:0,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_map.h:1418:5: note: candidate: template<class _Key, class _Tp, class _Compare, class _Alloc> bool std::operator!=(const std::map<_Key, _Tp, _Compare, _Alloc>&, const std::map<_Key, _Tp, _Compare, _Alloc>&)
     operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_map.h:1418:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::map<_Key, _Tp, _Compare, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_map.h:63:0,
                 from /usr/include/c++/7/map:61,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/tuple:1423:5: note: candidate: template<class ... _TElements, class ... _UElements> constexpr bool std::operator!=(const std::tuple<_Tps ...>&, const std::tuple<_Args2 ...>&)
     operator!=(const tuple<_TElements...>& __t,
     ^~~~~~~~
/usr/include/c++/7/tuple:1423:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::tuple<_Tps ...>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/tuple:39:0,
                 from /usr/include/c++/7/bits/stl_map.h:63,
                 from /usr/include/c++/7/map:61,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/array:257:5: note: candidate: template<class _Tp, long unsigned int _Nm> bool std::operator!=(const std::array<_Tp, _Nm>&, const std::array<_Tp, _Nm>&)
     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
     ^~~~~~~~
/usr/include/c++/7/array:257:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::array<_Tp, _Nm>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/map:60:0,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_tree.h:1553:5: note: candidate: template<class _Key, class _Val, class _KeyOfValue, class _Compare, class _Alloc> bool std::operator!=(const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&, const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&)
     operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_tree.h:1553:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/map:60:0,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/param_utils.h:36,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:34:
/usr/include/c++/7/bits/stl_tree.h:412:5: note: candidate: template<class _Val> bool std::operator!=(const std::_Rb_tree_iterator<_Tp>&, const std::_Rb_tree_const_iterator<_Val>&)
     operator!=(const _Rb_tree_iterator<_Val>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_tree.h:412:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::_Rb_tree_const_iterator<_Val>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/locale_facets.h:48:0,
                 from /usr/include/c++/7/bits/basic_ios.h:37,
                 from /usr/include/c++/7/ios:44,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/streambuf_iterator.h:210:5: note: candidate: template<class _CharT, class _Traits> bool std::operator!=(const std::istreambuf_iterator<_CharT, _Traits>&, const std::istreambuf_iterator<_CharT, _Traits>&)
     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
     ^~~~~~~~
/usr/include/c++/7/bits/streambuf_iterator.h:210:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::istreambuf_iterator<_CharT, _Traits>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/ios_base.h:46:0,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/system_error:331:3: note: candidate: bool std::operator!=(const std::error_condition&, const std::error_condition&)
   operator!=(const error_condition& __lhs,
   ^~~~~~~~
/usr/include/c++/7/system_error:331:3: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ to ‘const std::error_condition&’
/usr/include/c++/7/system_error:327:3: note: candidate: bool std::operator!=(const std::error_condition&, const std::error_code&)
   operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
   ^~~~~~~~
/usr/include/c++/7/system_error:327:3: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ to ‘const std::error_condition&’
/usr/include/c++/7/system_error:323:3: note: candidate: bool std::operator!=(const std::error_code&, const std::error_condition&)
   operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
   ^~~~~~~~
/usr/include/c++/7/system_error:323:3: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ to ‘const std::error_code&’
/usr/include/c++/7/system_error:319:3: note: candidate: bool std::operator!=(const std::error_code&, const std::error_code&)
   operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
   ^~~~~~~~
/usr/include/c++/7/system_error:319:3: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ to ‘const std::error_code&’
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/basic_string.h:6081:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const _CharT*)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:6081:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/basic_string.h:6069:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const _CharT* __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:6069:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   mismatched types ‘const _CharT*’ and ‘std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/string:52:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/basic_string.h:6056:5: note: candidate: template<class _CharT, class _Traits, class _Alloc> bool std::operator!=(const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&, const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>&)
     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/basic_string.h:6056:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::__cxx11::basic_string<_CharT, _Traits, _Alloc>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/string:41:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/allocator.h:164:5: note: candidate: template<class _Tp> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_CharT>&)
     operator!=(const allocator<_Tp>&, const allocator<_Tp>&)
     ^~~~~~~~
/usr/include/c++/7/bits/allocator.h:164:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::allocator<_CharT>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/string:41:0,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/allocator.h:158:5: note: candidate: template<class _T1, class _T2> bool std::operator!=(const std::allocator<_CharT>&, const std::allocator<_T2>&)
     operator!=(const allocator<_T1>&, const allocator<_T2>&)
     ^~~~~~~~
/usr/include/c++/7/bits/allocator.h:158:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::allocator<_CharT>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_iterator.h:1139:5: note: candidate: template<class _Iterator> bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorL>&)
     operator!=(const move_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:1139:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::move_iterator<_IteratorL>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_iterator.h:1133:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::move_iterator<_IteratorL>&, const std::move_iterator<_IteratorR>&)
     operator!=(const move_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:1133:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::move_iterator<_IteratorL>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_iterator.h:352:5: note: candidate: template<class _IteratorL, class _IteratorR> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_IteratorR>&)
     operator!=(const reverse_iterator<_IteratorL>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:352:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::reverse_iterator<_Iterator>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_iterator.h:314:5: note: candidate: template<class _Iterator> bool std::operator!=(const std::reverse_iterator<_Iterator>&, const std::reverse_iterator<_Iterator>&)
     operator!=(const reverse_iterator<_Iterator>& __x,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:314:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::reverse_iterator<_Iterator>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_pair.h:461:5: note: candidate: template<class _T1, class _T2> constexpr bool std::operator!=(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)
     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
     ^~~~~~~~
/usr/include/c++/7/bits/stl_pair.h:461:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::pair<_T1, _T2>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/iosfwd:40:0,
                 from /usr/include/c++/7/ios:38,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/postypes.h:221:5: note: candidate: template<class _StateT> bool std::operator!=(const std::fpos<_StateT>&, const std::fpos<_StateT>&)
     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
     ^~~~~~~~
/usr/include/c++/7/bits/postypes.h:221:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const std::fpos<_StateT>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0,
                 from /usr/include/c++/7/bits/allocator.h:46,
                 from /usr/include/c++/7/string:41,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/ext/new_allocator.h:160:5: note: candidate: template<class _Tp> bool __gnu_cxx::operator!=(const __gnu_cxx::new_allocator<_Tp>&, const __gnu_cxx::new_allocator<_Tp>&)
     operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&)
     ^~~~~~~~
/usr/include/c++/7/ext/new_allocator.h:160:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const __gnu_cxx::new_allocator<_Tp>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_iterator.h:883:5: note: candidate: template<class _Iterator, class _Container> bool __gnu_cxx::operator!=(const __gnu_cxx::__normal_iterator<_Iterator, _Container>&, const __gnu_cxx::__normal_iterator<_Iterator, _Container>&)
     operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:883:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const __gnu_cxx::__normal_iterator<_Iterator, _Container>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/c++/7/bits/stl_algobase.h:67:0,
                 from /usr/include/c++/7/bits/char_traits.h:39,
                 from /usr/include/c++/7/ios:40,
                 from /usr/include/c++/7/istream:38,
                 from /usr/include/c++/7/sstream:38,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:32:
/usr/include/c++/7/bits/stl_iterator.h:876:5: note: candidate: template<class _IteratorL, class _IteratorR, class _Container> bool __gnu_cxx::operator!=(const __gnu_cxx::__normal_iterator<_IteratorL, _Container>&, const __gnu_cxx::__normal_iterator<_IteratorR, _Container>&)
     operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
     ^~~~~~~~
/usr/include/c++/7/bits/stl_iterator.h:876:5: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const __gnu_cxx::__normal_iterator<_IteratorL, _Container>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/lexical_cast.hpp:30:0,
                 from /opt/ros/melodic/include/ros/transport_hints.h:34,
                 from /opt/ros/melodic/include/ros/subscribe_options.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:42,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/range/iterator_range_core.hpp:671:9: note: candidate: template<class IteratorT, class ForwardRange> typename boost::enable_if<boost::mpl::not_<boost::is_base_and_derived<boost::iterator_range_detail::iterator_range_tag, ForwardRange> >, bool>::type boost::operator!=(const boost::iterator_range<IteratorT>&, const ForwardRange&)
         operator!=( const iterator_range<IteratorT>& l, const ForwardRange& r )
         ^~~~~~~~
/usr/include/boost/range/iterator_range_core.hpp:671:9: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::iterator_range<IteratorT>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/lexical_cast.hpp:30:0,
                 from /opt/ros/melodic/include/ros/transport_hints.h:34,
                 from /opt/ros/melodic/include/ros/subscribe_options.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:42,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/range/iterator_range_core.hpp:661:9: note: candidate: template<class Iterator1T, class Iterator2T> bool boost::operator!=(const boost::iterator_range<IteratorT>&, const boost::iterator_range<Iterator2T>&)
         operator!=( const iterator_range<Iterator1T>& l, const iterator_range<Iterator2T>& r )
         ^~~~~~~~
/usr/include/boost/range/iterator_range_core.hpp:661:9: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::iterator_range<IteratorT>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/lexical_cast.hpp:30:0,
                 from /opt/ros/melodic/include/ros/transport_hints.h:34,
                 from /opt/ros/melodic/include/ros/subscribe_options.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:42,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/range/iterator_range_core.hpp:594:9: note: candidate: template<class IteratorT, class ForwardRange> typename boost::enable_if<boost::mpl::not_<boost::is_base_and_derived<boost::iterator_range_detail::iterator_range_tag, ForwardRange> >, bool>::type boost::operator!=(const ForwardRange&, const boost::iterator_range<IteratorT>&)
         operator!=( const ForwardRange& l, const iterator_range<IteratorT>& r )
         ^~~~~~~~
/usr/include/boost/range/iterator_range_core.hpp:594:9: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::iterator_range<IteratorT>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /opt/ros/melodic/include/ros/message.h:38:0,
                 from /opt/ros/melodic/include/ros/publisher.h:33,
                 from /opt/ros/melodic/include/ros/node_handle.h:32,
                 from /opt/ros/melodic/include/ros/ros.h:45,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/array.hpp:332:10: note: candidate: template<class T, long unsigned int N> bool boost::operator!=(const boost::array<T, N>&, const boost::array<T, N>&)
     bool operator!= (const array<T,N>& x, const array<T,N>& y) {
          ^~~~~~~~
/usr/include/boost/array.hpp:332:10: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::array<T, N>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/shared_array.hpp:17:0,
                 from /opt/ros/melodic/include/ros/serialized_message.h:33,
                 from /opt/ros/melodic/include/ros/common.h:38,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/smart_ptr/shared_array.hpp:269:31: note: candidate: template<class T> bool boost::operator!=(boost::detail::sp_nullptr_t, const boost::shared_array<T>&)
 template<class T> inline bool operator!=( boost::detail::sp_nullptr_t, shared_array<T> const & p ) BOOST_SP_NOEXCEPT
                               ^~~~~~~~
/usr/include/boost/smart_ptr/shared_array.hpp:269:31: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::shared_array<T>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/shared_array.hpp:17:0,
                 from /opt/ros/melodic/include/ros/serialized_message.h:33,
                 from /opt/ros/melodic/include/ros/common.h:38,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/smart_ptr/shared_array.hpp:264:31: note: candidate: template<class T> bool boost::operator!=(const boost::shared_array<T>&, boost::detail::sp_nullptr_t)
 template<class T> inline bool operator!=( shared_array<T> const & p, boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT
                               ^~~~~~~~
/usr/include/boost/smart_ptr/shared_array.hpp:264:31: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::shared_array<T>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/shared_array.hpp:17:0,
                 from /opt/ros/melodic/include/ros/serialized_message.h:33,
                 from /opt/ros/melodic/include/ros/common.h:38,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/smart_ptr/shared_array.hpp:247:31: note: candidate: template<class T> bool boost::operator!=(const boost::shared_array<T>&, const boost::shared_array<T>&)
 template<class T> inline bool operator!=(shared_array<T> const & a, shared_array<T> const & b) BOOST_SP_NOEXCEPT
                               ^~~~~~~~
/usr/include/boost/smart_ptr/shared_array.hpp:247:31: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::shared_array<T>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:63:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:97,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9> void boost::operator!=(const boost::function10<R, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>&, const boost::function10<R, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/utils.cpp: In function ‘bool industrial_utils::findChainJointNames(const boost::shared_ptr<const urdf::Link>&, bool, std::vector<std::__cxx11::basic_string<char> >&)’:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/utils.cpp:80:36: error: invalid initialization of reference of type ‘const joint_list& {aka const std::vector<boost::shared_ptr<urdf::Joint> >&}’ from expression of type ‘const std::vector<std::shared_ptr<urdf::Joint> >’
   const joint_list &joints = link->child_joints;
                              ~~~~~~^~~~~~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function10<R, T0, T1, T2, T3, T4, T5, T6, T7, T8, T9>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:58:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:92,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8> void boost::operator!=(const boost::function9<R, T0, T1, T2, T3, T4, T5, T6, T7, T8>&, const boost::function9<R, T0, T1, T2, T3, T4, T5, T6, T7, T8>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function9<R, T0, T1, T2, T3, T4, T5, T6, T7, T8>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:53:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:87,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7> void boost::operator!=(const boost::function8<R, T0, T1, T2, T3, T4, T5, T6, T7>&, const boost::function8<R, T0, T1, T2, T3, T4, T5, T6, T7>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function8<R, T0, T1, T2, T3, T4, T5, T6, T7>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:48:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:82,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3, class T4, class T5, class T6> void boost::operator!=(const boost::function7<R, T0, T1, T2, T3, T4, T5, T6>&, const boost::function7<R, T0, T1, T2, T3, T4, T5, T6>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function7<R, T0, T1, T2, T3, T4, T5, T6>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:43:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:77,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3, class T4, class T5> void boost::operator!=(const boost::function6<R, T0, T1, T2, T3, T4, T5>&, const boost::function6<R, T0, T1, T2, T3, T4, T5>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function6<R, T0, T1, T2, T3, T4, T5>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:38:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:72,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3, class T4> void boost::operator!=(const boost::function5<R, T0, T1, T2, T3, T4>&, const boost::function5<R, T0, T1, T2, T3, T4>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function5<R, T0, T1, T2, T3, T4>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:33:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:67,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2, class T3> void boost::operator!=(const boost::function4<R, T0, T1, T2, T3>&, const boost::function4<R, T0, T1, T2, T3>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function4<R, T0, T1, T2, T3>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:28:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:62,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1, class T2> void boost::operator!=(const boost::function3<R, T0, T1, T2>&, const boost::function3<R, T0, T1, T2>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function3<R, T0, T1, T2>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:23:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:57,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0, class T1> void boost::operator!=(const boost::function2<R, T0, T1>&, const boost::function2<R, T0, T1>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function2<R, T0, T1>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:18:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:52,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R, class T0> void boost::operator!=(const boost::function1<R, T0>&, const boost::function1<R, T0>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function1<R, T0>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/maybe_include.hpp:13:0,
                 from /usr/include/boost/function/detail/function_iterate.hpp:14,
                 from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47,
                 from /usr/include/boost/function.hpp:64,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_template.hpp:1024:8: note: candidate: template<class R> void boost::operator!=(const boost::function0<R>&, const boost::function0<R>&)
   void operator!=(const BOOST_FUNCTION_FUNCTION<
        ^~~~~~~~
/usr/include/boost/function/function_template.hpp:1024:8: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::function0<R>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/prologue.hpp:17:0,
                 from /usr/include/boost/function.hpp:24,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_base.hpp:829:3: note: candidate: template<class Functor> typename boost::enable_if_c<(! boost::is_integral<T>::value), bool>::type boost::operator!=(boost::reference_wrapper<T>, const boost::function_base&)
   operator!=(reference_wrapper<Functor> g, const function_base& f)
   ^~~~~~~~
/usr/include/boost/function/function_base.hpp:829:3: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >’ is not derived from ‘boost::reference_wrapper<T>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/prologue.hpp:17:0,
                 from /usr/include/boost/function.hpp:24,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_base.hpp:820:3: note: candidate: template<class Functor> typename boost::enable_if_c<(! boost::is_integral<T>::value), bool>::type boost::operator!=(const boost::function_base&, boost::reference_wrapper<T>)
   operator!=(const function_base& f, reference_wrapper<Functor> g)
   ^~~~~~~~
/usr/include/boost/function/function_base.hpp:820:3: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >’ is not derived from ‘boost::reference_wrapper<T>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/prologue.hpp:17:0,
                 from /usr/include/boost/function.hpp:24,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_base.hpp:792:3: note: candidate: template<class Functor> typename boost::enable_if_c<(! boost::is_integral<T>::value), bool>::type boost::operator!=(Functor, const boost::function_base&)
   operator!=(Functor g, const function_base& f)
   ^~~~~~~~
/usr/include/boost/function/function_base.hpp:792:3: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:59: note:   cannot convert ‘model.urdf::Model::<anonymous>.urdf::ModelInterface::joints_.std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::end()’ (type ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’) to type ‘const boost::function_base&’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                          ~~~~~~~~~~~~~~~~~^~
In file included from /usr/include/boost/function/detail/prologue.hpp:17:0,
                 from /usr/include/boost/function.hpp:24,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_base.hpp:783:3: note: candidate: template<class Functor> typename boost::enable_if_c<(! boost::is_integral<T>::value), bool>::type boost::operator!=(const boost::function_base&, Functor)
   operator!=(const function_base& f, Functor g)
   ^~~~~~~~
/usr/include/boost/function/function_base.hpp:783:3: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   cannot convert ‘iter’ (type ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’) to type ‘const boost::function_base&’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/function/detail/prologue.hpp:17:0,
                 from /usr/include/boost/function.hpp:24,
                 from /opt/ros/melodic/include/ros/forwards.h:40,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/function/function_base.hpp:721:13: note: candidate: bool boost::operator!=(boost::detail::function::useless_clear_type*, const boost::function_base&)
 inline bool operator!=(detail::function::useless_clear_type*,
             ^~~~~~~~
/usr/include/boost/function/function_base.hpp:721:13: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ to ‘boost::detail::function::useless_clear_type*’
/usr/include/boost/function/function_base.hpp:709:13: note: candidate: bool boost::operator!=(const boost::function_base&, boost::detail::function::useless_clear_type*)
 inline bool operator!=(const function_base& f,
             ^~~~~~~~
/usr/include/boost/function/function_base.hpp:709:13: note:   no known conversion for argument 1 from ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ to ‘const boost::function_base&’
In file included from /usr/include/boost/shared_ptr.hpp:17:0,
                 from /opt/ros/melodic/include/ros/forwards.h:37,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/smart_ptr/shared_ptr.hpp:861:31: note: candidate: template<class T> bool boost::operator!=(boost::detail::sp_nullptr_t, const boost::shared_ptr<X>&)
 template<class T> inline bool operator!=( boost::detail::sp_nullptr_t, shared_ptr<T> const & p ) BOOST_SP_NOEXCEPT
                               ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:861:31: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, std::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::shared_ptr<X>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/shared_ptr.hpp:17:0,
                 from /opt/ros/melodic/include/ros/forwards.h:37,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/smart_ptr/shared_ptr.hpp:856:31: note: candidate: template<class T> bool boost::operator!=(const boost::shared_ptr<X>&, boost::detail::sp_nullptr_t)
 template<class T> inline bool operator!=( shared_ptr<T> const & p, boost::detail::sp_nullptr_t ) BOOST_SP_NOEXCEPT
                               ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:856:31: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::shared_ptr<X>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
In file included from /usr/include/boost/shared_ptr.hpp:17:0,
                 from /opt/ros/melodic/include/ros/forwards.h:37,
                 from /opt/ros/melodic/include/ros/common.h:37,
                 from /opt/ros/melodic/include/ros/ros.h:43,
                 from /opt/ros/melodic/include/urdf/model.h:50,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/include/industrial_utils/utils.h:37,
                 from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:35:
/usr/include/boost/smart_ptr/shared_ptr.hpp:828:40: note: candidate: template<class T, class U> bool boost::operator!=(const boost::shared_ptr<X>&, const boost::shared_ptr<U>&)
 template<class T, class U> inline bool operator!=(shared_ptr<T> const & a, shared_ptr<U> const & b) BOOST_SP_NOEXCEPT
                                        ^~~~~~~~
/usr/include/boost/smart_ptr/shared_ptr.hpp:828:40: note:   template argument deduction/substitution failed:
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:144:60: note:   ‘std::map<std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> >::iterator {aka std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<char>, boost::shared_ptr<urdf::Joint> > >}’ is not derived from ‘const boost::shared_ptr<X>’
   for (iter=model.joints_.begin(); iter!=model.joints_.end(); ++iter)
                                                            ^
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/param_utils.cpp:147:65: error: conversion from ‘urdf::JointLimitsSharedPtr {aka std::shared_ptr<urdf::JointLimits>}’ to non-scalar type ‘boost::shared_ptr<urdf::JointLimits>’ requested
     boost::shared_ptr<urdf::JointLimits> limits = iter->second->limits;
                                                   ~~~~~~~~~~~~~~^~~~~~
/home/yanjun/yumi_depends_ws/src/industrial_core/industrial_utils/src/utils.cpp:101:34: error: invalid initialization of reference of type ‘const link_list& {aka const std::vector<boost::shared_ptr<urdf::Link> >&}’ from expression of type ‘const std::vector<std::shared_ptr<urdf::Link> >’
   const link_list &links = link->child_links;
                            ~~~~~~^~~~~~~~~~~
/home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp: In member function ‘virtual bool ikfast_kinematics_plugin::IKFastKinematicsPlugin::initialize(const string&, const string&, const string&, const string&, double)’:
/home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:266:86: warning: ‘virtual void kinematics::KinematicsBase::setValues(const string&, const string&, const string&, const string&, double)’ is deprecated [-Wdeprecated-declarations]
   setValues(robot_description, group_name, base_name, tip_name, search_discretization);
                                                                                      ^
In file included from /home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:49:0:
/opt/ros/melodic/include/moveit/kinematics_base/kinematics_base.h:344:31: note: declared here
   [[deprecated]] virtual void setValues(const std::string& robot_description, const std::string& group_name,
                               ^~~~~~~~~
/home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp: In member function ‘virtual bool ikfast_kinematics_plugin::IKFastKinematicsPlugin::searchPositionIK(const Pose&, const std::vector<double>&, double, const std::vector<double>&, std::vector<double>&, const IKCallbackFn&, moveit_msgs::MoveItErrorCodes&, const kinematics::KinematicsQueryOptions&) const’:
/home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:772:63: warning: ‘kinematics::KinematicsBase::search_discretization_’ is deprecated [-Wdeprecated-declarations]
     num_positive_increments = (int)((max_limit-initial_guess)/search_discretization_);
                                                               ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:49:0:
/opt/ros/melodic/include/moveit/kinematics_base/kinematics_base.h:597:25: note: declared here
   [[deprecated]] double search_discretization_;
                         ^~~~~~~~~~~~~~~~~~~~~~
/home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:772:63: warning: ‘kinematics::KinematicsBase::search_discretization_’ is deprecated [-Wdeprecated-declarations]
     num_positive_increments = (int)((max_limit-initial_guess)/search_discretization_);
                                                               ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:49:0:
/opt/ros/melodic/include/moveit/kinematics_base/kinematics_base.h:597:25: note: declared here
   [[deprecated]] double search_discretization_;
                         ^~~~~~~~~~~~~~~~~~~~~~
/home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:773:63: warning: ‘kinematics::KinematicsBase::search_discretization_’ is deprecated [-Wdeprecated-declarations]
     num_negative_increments = (int)((initial_guess-min_limit)/search_discretization_);
                                                               ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:49:0:
/opt/ros/melodic/include/moveit/kinematics_base/kinematics_base.h:597:25: note: declared here
   [[deprecated]] double search_discretization_;
                         ^~~~~~~~~~~~~~~~~~~~~~
/home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:773:63: warning: ‘kinematics::KinematicsBase::search_discretization_’ is deprecated [-Wdeprecated-declarations]
     num_negative_increments = (int)((initial_guess-min_limit)/search_discretization_);
                                                               ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:49:0:
/opt/ros/melodic/include/moveit/kinematics_base/kinematics_base.h:597:25: note: declared here
   [[deprecated]] double search_discretization_;
                         ^~~~~~~~~~~~~~~~~~~~~~
/home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:777:82: warning: ‘kinematics::KinematicsBase::search_discretization_’ is deprecated [-Wdeprecated-declarations]
     num_positive_increments = (joint_max_vector_[free_params_[0]]-initial_guess)/search_discretization_;
                                                                                  ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:49:0:
/opt/ros/melodic/include/moveit/kinematics_base/kinematics_base.h:597:25: note: declared here
   [[deprecated]] double search_discretization_;
                         ^~~~~~~~~~~~~~~~~~~~~~
/home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:777:82: warning: ‘kinematics::KinematicsBase::search_discretization_’ is deprecated [-Wdeprecated-declarations]
     num_positive_increments = (joint_max_vector_[free_params_[0]]-initial_guess)/search_discretization_;
                                                                                  ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:49:0:
/opt/ros/melodic/include/moveit/kinematics_base/kinematics_base.h:597:25: note: declared here
   [[deprecated]] double search_discretization_;
                         ^~~~~~~~~~~~~~~~~~~~~~
/home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:778:82: warning: ‘kinematics::KinematicsBase::search_discretization_’ is deprecated [-Wdeprecated-declarations]
     num_negative_increments = (initial_guess-joint_min_vector_[free_params_[0]])/search_discretization_;
                                                                                  ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:49:0:
/opt/ros/melodic/include/moveit/kinematics_base/kinematics_base.h:597:25: note: declared here
   [[deprecated]] double search_discretization_;
                         ^~~~~~~~~~~~~~~~~~~~~~
/home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:778:82: warning: ‘kinematics::KinematicsBase::search_discretization_’ is deprecated [-Wdeprecated-declarations]
     num_negative_increments = (initial_guess-joint_min_vector_[free_params_[0]])/search_discretization_;
                                                                                  ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:49:0:
/opt/ros/melodic/include/moveit/kinematics_base/kinematics_base.h:597:25: note: declared here
   [[deprecated]] double search_discretization_;
                         ^~~~~~~~~~~~~~~~~~~~~~
/home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:840:30: warning: ‘kinematics::KinematicsBase::search_discretization_’ is deprecated [-Wdeprecated-declarations]
     vfree[0] = initial_guess+search_discretization_*counter;
                              ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:49:0:
/opt/ros/melodic/include/moveit/kinematics_base/kinematics_base.h:597:25: note: declared here
   [[deprecated]] double search_discretization_;
                         ^~~~~~~~~~~~~~~~~~~~~~
/home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:840:30: warning: ‘kinematics::KinematicsBase::search_discretization_’ is deprecated [-Wdeprecated-declarations]
     vfree[0] = initial_guess+search_discretization_*counter;
                              ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yanjun/yumi_depends_ws/src/abb/abb_irb2400_moveit_plugins/irb2400_kinematics/src/abb_irb2400_manipulator_ikfast_moveit_plugin.cpp:49:0:
/opt/ros/melodic/include/moveit/kinematics_base/kinematics_base.h:597:25: note: declared here
   [[deprecated]] double search_discretization_;
                         ^~~~~~~~~~~~~~~~~~~~~~
In file included from /home/yanjun/yumi_depends_ws/src/industrial_core/industrial_trajectory_filters/src/add_smoothing_filter.cpp:38:0:
/opt/ros/melodic/include/class_loader/class_loader.h:36:2: warning: #warning Including header <class_loader/class_loader.h> is deprecated, include <class_loader/class_loader.hpp> instead. [-Wcpp]
 #warning Including header <class_loader/class_loader.h> is deprecated, \
  ^~~~~~~
industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/build.make:81: recipe for target 'industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/src/utils.cpp.o' failed
make[2]: *** [industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/src/utils.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/build.make:94: recipe for target 'industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/src/param_utils.cpp.o' failed
make[2]: *** [industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/src/param_utils.cpp.o] Error 1
CMakeFiles/Makefile2:4200: recipe for target 'industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/all' failed
make[1]: *** [industrial_core/industrial_utils/CMakeFiles/industrial_utils.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 44%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/smpl_msg_connection.cpp.o
[ 45%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/simple_message.cpp.o
[ 46%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/socket/simple_socket.cpp.o
[ 46%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/smpl_msg_connection.cpp.o
[ 46%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/socket/udp_socket.cpp.o
[ 46%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/socket/udp_client.cpp.o
[ 47%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/socket/simple_socket.cpp.o
[ 47%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/simple_message.cpp.o
[ 48%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/socket/udp_server.cpp.o
[ 48%] Linking CXX shared library /home/yanjun/yumi_depends_ws/devel/lib/libabb_irb2400_manipulator_moveit_ikfast_plugin.so
[ 48%] Built target abb_irb2400_manipulator_moveit_ikfast_plugin
[ 48%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/socket/tcp_socket.cpp.o
[ 50%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/socket/tcp_client.cpp.o
[ 50%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/socket/udp_socket.cpp.o
[ 50%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/socket/udp_client.cpp.o
[ 51%] Linking CXX executable /home/yanjun/yumi_depends_ws/devel/lib/yumi_test_controllers/test_vel_control
[ 51%] Built target test_vel_control
[ 52%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/socket/udp_server.cpp.o
[ 52%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/socket/tcp_socket.cpp.o
[ 52%] Linking CXX executable /home/yanjun/yumi_depends_ws/devel/lib/yumi_test_controllers/test_traj_vel_control
[ 53%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/smpl_msg_connection.cpp.o
[ 53%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/socket/tcp_server.cpp.o
[ 53%] Built target test_traj_vel_control
[ 53%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/message_handler.cpp.o
[ 54%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/message_manager.cpp.o
[ 54%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/ping_handler.cpp.o
[ 55%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/ping_message.cpp.o
[ 55%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/joint_data.cpp.o
[ 56%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/joint_feedback.cpp.o
[ 56%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/joint_traj_pt.cpp.o
[ 57%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/socket/tcp_client.cpp.o
[ 57%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/socket/tcp_server.cpp.o
[ 57%] Linking CXX shared library /home/yanjun/yumi_depends_ws/devel/lib/libindustrial_trajectory_filters.so
[ 59%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/message_handler.cpp.o
[ 59%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/message_manager.cpp.o
[ 59%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/socket/simple_socket.cpp.o
[ 59%] Built target industrial_trajectory_filters
[ 59%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/socket/udp_socket.cpp.o
[ 59%] Linking CXX shared library /home/yanjun/yumi_depends_ws/devel/lib/libgazebo_mimic_plugin.so
[ 59%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/joint_traj_pt_full.cpp.o
[ 60%] Linking CXX shared library /home/yanjun/yumi_depends_ws/devel/lib/libyumi_hw.so
[ 60%] Built target gazebo_mimic_plugin
[ 61%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/joint_traj.cpp.o
[ 61%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/robot_status.cpp.o
[ 61%] Built target yumi_hw
[ 62%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/messages/joint_message.cpp.o
[ 62%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/messages/joint_feedback_message.cpp.o
[ 63%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/messages/joint_traj_pt_message.cpp.o
[ 63%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/messages/joint_traj_pt_full_message.cpp.o
[ 63%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/messages/robot_status_message.cpp.o
[ 64%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_float64.dir/src/simple_comms_fault_handler.cpp.o
[ 64%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/ping_handler.cpp.o
[ 65%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/ping_message.cpp.o
[ 65%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/joint_data.cpp.o
[ 67%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/joint_feedback.cpp.o
[ 67%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/joint_traj_pt.cpp.o
[ 68%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/socket/udp_client.cpp.o
[ 68%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/socket/udp_server.cpp.o
[ 69%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/socket/tcp_socket.cpp.o
[ 69%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/socket/tcp_client.cpp.o
[ 69%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/socket/tcp_server.cpp.o
[ 70%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/message_handler.cpp.o
[ 70%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/message_manager.cpp.o
[ 71%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/ping_handler.cpp.o
[ 71%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/ping_message.cpp.o
[ 72%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/joint_data.cpp.o
[ 72%] Linking CXX shared library /home/yanjun/yumi_depends_ws/devel/lib/libsimple_message_float64.so
[ 72%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/joint_traj_pt_full.cpp.o
[ 72%] Built target simple_message_float64
[ 73%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/joint_traj.cpp.o
[ 73%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/robot_status.cpp.o
[ 75%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/messages/joint_message.cpp.o
[ 75%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/messages/joint_feedback_message.cpp.o
[ 76%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/messages/joint_traj_pt_message.cpp.o
[ 76%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/joint_feedback.cpp.o
[ 76%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/joint_traj_pt.cpp.o
[ 77%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/joint_traj_pt_full.cpp.o
[ 77%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/joint_traj.cpp.o
[ 78%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/robot_status.cpp.o
[ 78%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/messages/joint_message.cpp.o
[ 78%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/messages/joint_traj_pt_full_message.cpp.o
[ 79%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/messages/joint_feedback_message.cpp.o
[ 79%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/messages/joint_traj_pt_message.cpp.o
[ 79%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/messages/joint_traj_pt_full_message.cpp.o
[ 79%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/messages/robot_status_message.cpp.o
[ 80%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/messages/robot_status_message.cpp.o
[ 81%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message.dir/src/simple_comms_fault_handler.cpp.o
[ 81%] Building CXX object industrial_core/simple_message/CMakeFiles/simple_message_bswap.dir/src/simple_comms_fault_handler.cpp.o
[ 81%] Linking CXX shared library /home/yanjun/yumi_depends_ws/devel/lib/libsimple_message.so
[ 81%] Built target simple_message
[ 82%] Linking CXX shared library /home/yanjun/yumi_depends_ws/devel/lib/libsimple_message_bswap.so
[ 82%] Built target simple_message_bswap
Makefile:159: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j16 -l16" failed
diogoalmeida commented 4 years ago

That's a compilation issue with the https://github.com/OrebroUniversity/industrial_core package. It looks very deprecated, so it might not work with melodic. You might want to see if the ros industrial version works (replace the industrial_core package from yumi_depends_ws/src and clone the new one.

If that doesn't solve it, I'm afraid I cannot help you.

yanjunyangmonash commented 4 years ago

Yes, I tried the whole day with different combinations, and finally worked with git clone -b kinetic https://github.com/ros-industrial/industrial_core.git, git clone https://github.com/NITTC-Robotics/yumi.git. I also tried to replace the simple_message folder as the author modified max message size for yumi, but that doesn't work.

I also have another question, do you still use it or there are better packages for yumi? Thanks for your time!