Closed ddliu365 closed 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 ?
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"
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.
I will install it in a clean ubuntu environment. If there is any issue, I will let you know.
Yes please try that and kindly let me know if anything is wrong so we can fix any possible compatibility issue.
Thanks
I tried to install your software in a clean new ubuntu environment. Same error happens.
It doesn't work. Can you help me out?
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;
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.
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?
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
Thanks.
The problems seem caused by ros-kinectic-pinocchio.
Is it possible to install the old version of ros-kinectic-pinocchio?
Hello there is a "dirty fix" around it check the
i will properly update the repository (probably tomorrow) to be functional again and will come inform you.
Thanks. Look forward to your fix.
Its fixed just pull the master branch!
Let me know if you need any more help
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?
Can you help me solve it?