mrsp / serow

SERoW Framework for N Legged Robot Walking Estimation
Other
74 stars 16 forks source link

Issue about installation #2

Closed ddliu365 closed 4 years ago

ddliu365 commented 4 years ago

I try to estimate CoM, CoP, linear momentum and its derivative, angular momentum and its derivative online. Would your software be possible to do that?

Another issue I try to install your software. I installed pinocchio library, but the error appears like following while installing serow?

CMake Warning at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:76 (find_package):
  Could not find a package configuration file provided by "pinocchio" with
  any of the following names:

    pinocchioConfig.cmake
    pinocchio-config.cmake

  Add the installation prefix of "pinocchio" to CMAKE_PREFIX_PATH or set
  "pinocchio_DIR" to a directory containing one of the above files.  If
  "pinocchio" provides a separate development package or SDK, be sure it has
  been installed.
Call Stack (most recent call first):
  serow/CMakeLists.txt:8 (find_package)

-- Could not find the required component 'pinocchio'. The following CMake error indicates that you either need to install the package with the same name or change your environment so that it can be found.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Could not find a package configuration file provided by "pinocchio" with
  any of the following names:

    pinocchioConfig.cmake
    pinocchio-config.cmake

  Add the installation prefix of "pinocchio" to CMAKE_PREFIX_PATH or set
  "pinocchio_DIR" to a directory containing one of the above files.  If
  "pinocchio" provides a separate development package or SDK, be sure it has
  been installed.
Call Stack (most recent call first):
  serow/CMakeLists.txt:8 (find_package)

-- Configuring incomplete, errors occurred!
See also "/home/jack/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/jack/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

Can you help me solve it?

mrsp commented 4 years ago

Hello

SERoW estimates the 3D CoM position, velocity (Linear momentum) in the world frame, the 3D Base Position, Velocity, Orientation plus its acceleration/angular velocity in the world frame (you can derive the base angular momentum yourself from that), and the 3D COP position in the world frame.

The error you get is related to pinnochio installation since SEROW can't find a valid pinnochio cmake version in the ros opt directory. Did you install pinnochio by: sudo apt-get install ros-kinetic-pinocchio ?

ddliu365 commented 4 years ago

yes, I did.

I also installed pinocchio from source, would that matter?

ros opt directory? Can you indicate the detail about this directory?

Do you need to build pinocchio from source for serow?

Should I put serow under catkin_ws/src folder?

Which version of pinocchio should I use for serow?

I think the errors are caused by the specific version of pinocchio you are using

I revise cmakelist following: https://github.com/ipab-slmc/exotica/pull/675/files https://github.com/stack-of-tasks/pinocchio/issues/972

However the error changes:

In file included from /opt/ros/kinetic/include/pinocchio/fwd.hpp:16:0,
                 from /opt/ros/kinetic/include/pinocchio/spatial/fwd.hpp:9,
                 from /opt/ros/kinetic/include/pinocchio/multibody/model.hpp:9,
                 from /opt/ros/kinetic/include/pinocchio/parsers/urdf.hpp:9,
                 from /home/jack/catkin_ws/src/serow/include/serow/robotDyn.h:33,
                 from /home/jack/catkin_ws/src/serow/include/serow/humanoid_ekf.h:65,
                 from /home/jack/catkin_ws/src/serow/src/humanoid_ekf.cpp:34:
/opt/ros/kinetic/include/pinocchio/container/boost-container-limits.hpp:29:7: error: #error "BOOST_MPL_LIMIT_LIST_SIZE value is lower than the value of PINOCCHIO_BOOST_MPL_LIMIT_CONTAINER_SIZE"
     # error "BOOST_MPL_LIMIT_LIST_SIZE value is lower than the value of PINOCCHIO_BOOST_MPL_LIMIT_CONTAINER_SIZE"
       ^
In file included from /opt/ros/kinetic/include/pinocchio/fwd.hpp:16:0,
                 from /opt/ros/kinetic/include/pinocchio/spatial/fwd.hpp:9,
                 from /opt/ros/kinetic/include/pinocchio/multibody/model.hpp:9,
                 from /opt/ros/kinetic/include/pinocchio/parsers/urdf.hpp:9,
                 from /home/jack/catkin_ws/src/serow/include/serow/robotDyn.h:33,
                 from /home/jack/catkin_ws/src/serow/include/serow/quadruped_ekf.h:63,
                 from /home/jack/catkin_ws/src/serow/src/quadruped_ekf.cpp:34:
/opt/ros/kinetic/include/pinocchio/container/boost-container-limits.hpp:29:7: error: #error "BOOST_MPL_LIMIT_LIST_SIZE value is lower than the value of PINOCCHIO_BOOST_MPL_LIMIT_CONTAINER_SIZE"
     # error "BOOST_MPL_LIMIT_LIST_SIZE value is lower than the value of PINOCCHIO_BOOST_MPL_LIMIT_CONTAINER_SIZE"
       ^
In file included from /opt/ros/kinetic/include/pinocchio/fwd.hpp:16:0,
                 from /opt/ros/kinetic/include/pinocchio/spatial/fwd.hpp:9,
                 from /opt/ros/kinetic/include/pinocchio/multibody/model.hpp:9,
                 from /opt/ros/kinetic/include/pinocchio/parsers/urdf.hpp:9,
                 from /home/jack/catkin_ws/src/serow/include/serow/robotDyn.h:33,
                 from /home/jack/catkin_ws/src/serow/include/serow/humanoid_ekf.h:65,
                 from /home/jack/catkin_ws/src/serow/src/serow_driver.cpp:34:
/opt/ros/kinetic/include/pinocchio/container/boost-container-limits.hpp:29:7: error: #error "BOOST_MPL_LIMIT_LIST_SIZE value is lower than the value of PINOCCHIO_BOOST_MPL_LIMIT_CONTAINER_SIZE"
     # error "BOOST_MPL_LIMIT_LIST_SIZE value is lower than the value of PINOCCHIO_BOOST_MPL_LIMIT_CONTAINER_SIZE"
mrsp commented 4 years ago

Hello again

No you don't need to install pinocchio from source for serow to function. The ros pinocchio package suffices.

A good idea would be to remove your pinocchio source install from your machine to avoid possible conflicts.

SERoW with the default ros kinetic pinocchio version has been confirmed to properly function in multiple machines and in real-time on-board to robots.

I'll assume you have ubuntu 16.04 x64 and ros-kinetic. Have you manually installed a different version of Boost?

Again this seems as a pinocchio-boost compatibility issue.

ddliu365 commented 4 years ago

I will install it in a clean ubuntu environment. If there is any issue, I will let you know.

mrsp commented 4 years ago

Yes please try that and kindly let me know if anything is wrong so we can fix any possible compatibility issue.

Thanks

ddliu365 commented 4 years ago

I tried to install your software in a clean new ubuntu environment. Same error happens.

It doesn't work. Can you help me out?

ddliu365 commented 4 years ago

Actually your CMakeLists cannot work out either.

I need to change it following the above link https://github.com/ipab-slmc/exotica/pull/675/files

My environment is ubuntu 16.04 and kinetic version.

Same boost problem happened.

Can you try it in a clean ubuntu environment and find out the problem?

[ 20%] Building CXX object serow/CMakeFiles/serow.dir/src/humanoid_ekf.cpp.o
[ 20%] Building CXX object serow/CMakeFiles/serow.dir/src/quadruped_ekf.cpp.o
[ 33%] Building CXX object serow/CMakeFiles/serow.dir/src/serow_driver.cpp.o
[ 33%] Building CXX object serow/CMakeFiles/serow.dir/src/IMUEKF.cpp.o
In file included from /opt/ros/kinetic/include/pinocchio/fwd.hpp:16:0,
                 from /opt/ros/kinetic/include/pinocchio/spatial/fwd.hpp:9,
                 from /opt/ros/kinetic/include/pinocchio/multibody/model.hpp:9,
                 from /opt/ros/kinetic/include/pinocchio/parsers/urdf.hpp:9,
                 from /home/server/catkin_ws/src/serow/include/serow/robotDyn.h:33,
                 from /home/server/catkin_ws/src/serow/include/serow/humanoid_ekf.h:65,
                 from /home/server/catkin_ws/src/serow/src/serow_driver.cpp:34:
/opt/ros/kinetic/include/pinocchio/container/boost-container-limits.hpp:29:7: error: #error "BOOST_MPL_LIMIT_LIST_SIZE value is lower than the value of PINOCCHIO_BOOST_MPL_LIMIT_CONTAINER_SIZE"
     # error "BOOST_MPL_LIMIT_LIST_SIZE value is lower than the value of PINOCCH
       ^
In file included from /opt/ros/kinetic/include/pinocchio/fwd.hpp:16:0,
                 from /opt/ros/kinetic/include/pinocchio/spatial/fwd.hpp:9,
                 from /opt/ros/kinetic/include/pinocchio/multibody/model.hpp:9,
                 from /opt/ros/kinetic/include/pinocchio/parsers/urdf.hpp:9,
                 from /home/server/catkin_ws/src/serow/include/serow/robotDyn.h:33,
                 from /home/server/catkin_ws/src/serow/include/serow/humanoid_ekf.h:65,
                 from /home/server/catkin_ws/src/serow/src/humanoid_ekf.cpp:34:
/opt/ros/kinetic/include/pinocchio/container/boost-container-limits.hpp:29:7: error: #error "BOOST_MPL_LIMIT_LIST_SIZE value is lower than the value of PINOCCHIO_BOOST_MPL_LIMIT_CONTAINER_SIZE"
     # error "BOOST_MPL_LIMIT_LIST_SIZE value is lower than the value of PINOCCHIO_BOOST_MPL_LIMIT_CONTAINER_SIZE"
       ^
In file included from /opt/ros/kinetic/include/pinocchio/fwd.hpp:16:0,
                 from /opt/ros/kinetic/include/pinocchio/spatial/fwd.hpp:9,
                 from /opt/ros/kinetic/include/pinocchio/multibody/model.hpp:9,
                 from /opt/ros/kinetic/include/pinocchio/parsers/urdf.hpp:9,
                 from /home/server/catkin_ws/src/serow/include/serow/robotDyn.h:33,
                 from /home/server/catkin_ws/src/serow/include/serow/quadruped_ekf.h:63,
                 from /home/server/catkin_ws/src/serow/src/quadruped_ekf.cpp:34:
/opt/ros/kinetic/include/pinocchio/container/boost-container-limits.hpp:29:7: error: #error "BOOST_MPL_LIMIT_LIST_SIZE value is lower than the value of PINOCCHIO_BOOST_MPL_LIMIT_CONTAINER_SIZE"
     # error "BOOST_MPL_LIMIT_LIST_SIZE value is lower than the value of PINOCCHIO_BOOST_MPL_LIMIT_CONTAINER_SIZE"
       ^
In file included from /opt/ros/kinetic/include/pinocchio/multibody/joint/joint-generic.hpp:8:0,
                 from /opt/ros/kinetic/include/pinocchio/multibody/model.hpp:17,
                 from /opt/ros/kinetic/include/pinocchio/parsers/urdf.hpp:9,
                 from /home/server/catkin_ws/src/serow/include/serow/robotDyn.h:33,
                 from /home/server/catkin_ws/src/serow/include/serow/quadruped_ekf.h:63,
                 from /home/server/catkin_ws/src/serow/src/quadruped_ekf.cpp:34:
/opt/ros/kinetic/include/pinocchio/multibody/joint/joint-collection.hpp:82:5: error: wrong number of template arguments (21, should be at least 0)
     > JointModelVariant;
     ^
In file included from /opt/ros/kinetic/include/pinocchio/multibody/joint/joint-generic.hpp:8:0,
                 from /opt/ros/kinetic/include/pinocchio/multibody/model.hpp:17,
                 from /opt/ros/kinetic/include/pinocchio/parsers/urdf.hpp:9,
                 from /home/server/catkin_ws/src/serow/include/serow/robotDyn.h:33,
                 from /home/server/catkin_ws/src/serow/include/serow/humanoid_ekf.h:65,
                 from /home/server/catkin_ws/src/serow/src/humanoid_ekf.cpp:34:
/opt/ros/kinetic/include/pinocchio/multibody/joint/joint-collection.hpp:82:5: error: wrong number of template arguments (21, should be at least 0)
     > JointModelVariant;
     ^
In file included from /opt/ros/kinetic/include/pinocchio/multibody/joint/joint-generic.hpp:8:0,
                 from /opt/ros/kinetic/include/pinocchio/multibody/model.hpp:17,
                 from /opt/ros/kinetic/include/pinocchio/parsers/urdf.hpp:9,
                 from /home/server/catkin_ws/src/serow/include/serow/robotDyn.h:33,
                 from /home/server/catkin_ws/src/serow/include/serow/humanoid_ekf.h:65,
                 from /home/server/catkin_ws/src/serow/src/serow_driver.cpp:34:
/opt/ros/kinetic/include/pinocchio/multibody/joint/joint-collection.hpp:82:5: error: wrong number of template arguments (21, should be at least 0)
     > JointModelVariant;
     ^
In file included from /usr/include/boost/variant/variant.hpp:26:0,
                 from /usr/include/boost/variant.hpp:17,
                 from /opt/ros/kinetic/include/pinocchio/multibody/joint/joint-collection.hpp:11,
                 from /opt/ros/kinetic/include/pinocchio/multibody/joint/joint-generic.hpp:8,
                 from /opt/ros/kinetic/include/pinocchio/multibody/model.hpp:17,
                 from /opt/ros/kinetic/include/pinocchio/parsers/urdf.hpp:9,
                 from /home/server/catkin_ws/src/serow/include/serow/robotDyn.h:33,
                 from /home/server/catkin_ws/src/serow/include/serow/quadruped_ekf.h:63,
                 from /home/server/catkin_ws/src/serow/src/quadruped_ekf.cpp:34:
/usr/include/boost/variant/variant_fwd.hpp:293:53: note: provided for ‘template<class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19> class boost::variant’
 template < BOOST_VARIANT_AUX_DECLARE_PARAMS > class variant;
                                                     ^
In file included from /usr/include/boost/variant/variant.hpp:26:0,
                 from /usr/include/boost/variant.hpp:17,
                 from /opt/ros/kinetic/include/pinocchio/multibody/joint/joint-collection.hpp:11,
                 from /opt/ros/kinetic/include/pinocchio/multibody/joint/joint-generic.hpp:8,
                 from /opt/ros/kinetic/include/pinocchio/multibody/model.hpp:17,
                 from /opt/ros/kinetic/include/pinocchio/parsers/urdf.hpp:9,
                 from /home/server/catkin_ws/src/serow/include/serow/robotDyn.h:33,
                 from /home/server/catkin_ws/src/serow/include/serow/humanoid_ekf.h:65,
                 from /home/server/catkin_ws/src/serow/src/humanoid_ekf.cpp:34:
/usr/include/boost/variant/variant_fwd.hpp:293:53: note: provided for ‘template<class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15, class T16, class T17, class T18, class T19> class boost::variant’
 template < BOOST_VARIANT_AUX_DECLARE_PARAMS > class variant;
ddliu365 commented 4 years ago

If that's caused by boost version, can you tell me which version should I use?

I used the default version. No new boost version is installed.

ddliu365 commented 4 years ago

Can you help check the procedure I am using: After installing kinetic in a clean ubuntu environment, I do:

sudo apt-get install ros-kinetic-pinocchio

cd ~/catkin_ws/src

git clone https://github.com/mrsp/serow.git

cd ..

catkin_make -DCMAKE_BUILD_TYPE=Release

Did I make any mistake or ignore some steps?

mrsp commented 4 years ago

Hello

you are right it must be and error in pinochio ros package and the default ros kinetic boost version.

I've raised an issue in the pinocchio repository for you:

https://github.com/stack-of-tasks/pinocchio/issues/1056

If they don't respond in time I ll provide means to compile serow with pinocchio by source. Just give it a couple of days

ddliu365 commented 4 years ago

Thanks.

The problems seem caused by ros-kinectic-pinocchio.

Is it possible to install the old version of ros-kinectic-pinocchio?

mrsp commented 4 years ago

Hello there is a "dirty fix" around it check the

https://github.com/stack-of-tasks/pinocchio/issues/1056

i will properly update the repository (probably tomorrow) to be functional again and will come inform you.

ddliu365 commented 4 years ago

Thanks. Look forward to your fix.

mrsp commented 4 years ago

Its fixed just pull the master branch!

Let me know if you need any more help