GithubHelp home page GithubHelp logo

robotology-legacy / codyco-superbuild Goto Github PK

View Code? Open in Web Editor NEW
13.0 13.0 17.0 566 KB

Software repository for FP7 project CoDyCo - Whole-body Compliant Dynamical Contacts in Cognitive Humanoids - http://www.codyco.eu

Shell 1.69% CMake 89.64% Python 1.14% HTML 7.52%
codyco superbuild

codyco-superbuild's People

Contributors

bouh43 avatar claudia-lat avatar danielepucci avatar darwinlau avatar drdanz avatar francesco-romano avatar gabrielenava avatar jeljaik avatar nunoguedelha avatar pi-q avatar rlober avatar s-dafarra avatar superman32432432 avatar traversaro avatar

Stargazers

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

Watchers

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

codyco-superbuild's Issues

On Windows YARP does not find superbuild TinyXML

On Windows If you try to download&compile Yarp thought the codyco-superbuild, the compilation fails with this error message:


4>  Build FAILED.
4>  
4>  "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\ALL_BUILD.vcxproj" (default target) (1) ->
4>  "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpmanager\gybuilder\gyarpbuilder.vcxproj" (default target) (25) ->
4>  (Link target) -> 
4>LINK : fatal error LNK1104: cannot open file 'TinyXML::tinyxml-NOTFOUND.obj' [C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpmanager\gybuilder\gyarpbuilder.vcxproj]
4>  
4>  
4>  "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\ALL_BUILD.vcxproj" (default target) (1) ->
4>  "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpmanager\gymanager\gyarpmanager.vcxproj" (default target) (26) ->
4>LINK : fatal error LNK1104: cannot open file 'TinyXML::tinyxml-NOTFOUND.obj' [C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpmanager\gymanager\gyarpmanager.vcxproj]
4>  
4>  
4>  "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\ALL_BUILD.vcxproj" (default target) (1) ->
4>  "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpmanager\ymanager\yarpmanager.vcxproj" (default target) (33) ->
4>LINK : fatal error LNK1104: cannot open file 'TinyXML::tinyxml-NOTFOUND.obj' [C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpmanager\ymanager\yarpmanager.vcxproj]
4>  
4>  
4>  "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\ALL_BUILD.vcxproj" (default target) (1) ->
4>  "C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpscope\src\yarpscope.vcxproj" (default target) (36) ->
4>LINK : fatal error LNK1104: cannot open file 'TinyXML::tinyxml-NOTFOUND.obj' [C:\Users\traversaro\Documents\GitHub\codyco-superbuild\build\external\YARP\src\yarpscope\src\yarpscope.vcxproj]
4>  
4>      0 Warning(s)
4>      4 Error(s)

TinyXML not found in Ubuntu 12.04 LTS

Hi, I'm having a problem of not founding TinyXML during the installation:

CMake Error at /home/yue/codyco-superbuild/build/install/lib/cmake/iDynTree/iDynTreeConfig.cmake:18 (find_package):
  By not providing "FindTinyXML.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "TinyXML", but
  CMake did not find one.

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

    TinyXMLConfig.cmake
    tinyxml-config.cmake

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

Cmake version 2.8.12.2

When linking paramHelp "undefined symbols" in yarp::os

After updating yarp and iCub, when compiling the superbuild I get the following errors in linking the paramHelp library:

Linking CXX shared library lib/libparamhelp.dylib
Undefined symbols for architecture x86_64:
  "yarp::os::PortWriter::~PortWriter()", referenced from:
      yarp::os::PortWriterBuffer<yarp::os::Bottle>::create(yarp::os::PortWriterBufferManager&, void*) in paramHelperClient.cpp.o
      yarp::os::PortWriterBufferAdaptor<yarp::os::Bottle>::~PortWriterBufferAdaptor() in paramHelperClient.cpp.o
      yarp::os::PortWriterBufferAdaptor<yarp::os::Bottle>::~PortWriterBufferAdaptor() in paramHelperClient.cpp.o
      yarp::os::PortWriterBuffer<yarp::os::Bottle>::create(yarp::os::PortWriterBufferManager&, void*) in paramHelperServer.cpp.o
      yarp::os::PortWriterBufferAdaptor<yarp::os::Bottle>::~PortWriterBufferAdaptor() in paramHelperServer.cpp.o
      yarp::os::PortWriterBufferAdaptor<yarp::os::Bottle>::~PortWriterBufferAdaptor() in paramHelperServer.cpp.o
  "yarp::os::Contactable::~Contactable()", referenced from:
      yarp::os::BufferedPort<yarp::os::Bottle>::BufferedPort() in paramHelperClient.cpp.o
      yarp::os::BufferedPort<yarp::os::Bottle>::~BufferedPort() in paramHelperClient.cpp.o
      yarp::os::BufferedPort<yarp::os::Bottle>::BufferedPort() in paramHelperServer.cpp.o
      yarp::os::BufferedPort<yarp::os::Bottle>::~BufferedPort() in paramHelperServer.cpp.o
  "yarp::os::NetworkBase::exists(yarp::os::ConstString const&, bool)", referenced from:
      paramHelp::ParamHelperClient::init(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yarp::os::Bottle&) in paramHelperClient.cpp.o
  "yarp::os::NetworkBase::connect(yarp::os::ConstString const&, yarp::os::ConstString const&, yarp::os::ConstString const&, bool)", referenced from:
      paramHelp::ParamHelperClient::init(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, yarp::os::Bottle&) in paramHelperClient.cpp.o
...

If I compile the iCub repo as shared library, then I get the same kind of error, so it seems to have something to do with static/dynamic library.

cmake error: Could not find package "iDynTree"

When running cmake on the latest codyco-superbuild I get this weird error:

CMake Error at cmake/modules/CoDyCoFindDependencies.cmake:43 (find_package):
   By not providing "FindiDynTree.cmake" in CMAKE_MODULE_PATH this project has
   asked CMake to find a package configuration file provided by "iDynTree",
   but CMake did not find one.

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

     iDynTreeConfig.cmake
     idyntree-config.cmake

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

I am on Ubuntu 12.04, I have yarp and icub compiled from sources, I already updated yarp, iCub and kdl-codyco.

Visualization tools useful for balancing

We need some graphical visualization tools for balancing experiments.

For example:

  • visualizing ZMP, COP, COM, forces
  • visualizing torques in main limbs (at least have an idea if we are close to torques_max)
  • external forces

Should we integrate those tools in the iCub_GUI? Or make new tools?
Or use matlab?

yarpWholeBodyInterface.ini not existing

I installed from zero the codyco-superbuild.
When trying to run the wholeBodyDynamicsTree it seems that it does not find the yarpWholeBodyInterface.ini

A file search showed that this file does not exists anywhere within the codyco-superbuild folder/subfolders.

icub@tomlinson:~/Desktop$ wholeBodyDynamicsTree --headV2 --autoconnect
||| clearing context
||| adding context [wholeBodyDynamicsTree]
||| configuring
||| no policy found
||| default config file specified as wholeBodyDynamicsTree.ini
||| checking [/home/icub/Desktop/wholeBodyDynamicsTree.ini] (pwd)
||| checking [/home/icub/.config/yarp/robots/iCubDarmstadt01] (robot YARP_CONFIG_HOME)
||| checking [/home/icub/.local/share/yarp/robots/iCubDarmstadt01] (robot YARP_DATA_HOME)
||| checking [/etc/xdg/xdg-ubuntu/yarp/robots/iCubDarmstadt01] (robot YARP_CONFIG_DIRS)
||| checking [/usr/share/upstart/xdg/yarp/robots/iCubDarmstadt01] (robot YARP_CONFIG_DIRS)
||| checking [/etc/xdg/yarp/robots/iCubDarmstadt01] (robot YARP_CONFIG_DIRS)
||| checking [robots/iCubDarmstadt01] (robot YARP_DATA_DIRS)
||| checking [/home/icub/software/codyco-superbuild/build/install/share/codyco/robots/iCubDarmstadt01] (robot YARP_DATA_DIRS)
||| checking [config/path.d] (robot path.d YARP_DATA_DIRS)
||| checking [/home/icub/software/codyco-superbuild/build/install/share/codyco/config/path.d] (robot path.d YARP_DATA_DIRS)
||| checking [/home/icub/.config/yarp/contexts/wholeBodyDynamicsTree] (context YARP_CONFIG_HOME)
||| checking [/home/icub/.local/share/yarp/contexts/wholeBodyDynamicsTree] (context YARP_DATA_HOME)
||| checking [/etc/xdg/xdg-ubuntu/yarp/contexts/wholeBodyDynamicsTree] (context YARP_CONFIG_DIRS)
||| checking [/usr/share/upstart/xdg/yarp/contexts/wholeBodyDynamicsTree] (context YARP_CONFIG_DIRS)
||| checking [/etc/xdg/yarp/contexts/wholeBodyDynamicsTree] (context YARP_CONFIG_DIRS)
||| checking [contexts/wholeBodyDynamicsTree] (context YARP_DATA_DIRS)
||| checking [/home/icub/software/codyco-superbuild/build/install/share/codyco/contexts/wholeBodyDynamicsTree] (context YARP_DATA_DIRS)
||| found /home/icub/software/codyco-superbuild/build/install/share/codyco/contexts/wholeBodyDynamicsTree
||| checking [/home/icub/software/codyco-superbuild/build/install/share/codyco/contexts/wholeBodyDynamicsTree/wholeBodyDynamicsTree.ini] (context)
||| found /home/icub/software/codyco-superbuild/build/install/share/codyco/contexts/wholeBodyDynamicsTree/wholeBodyDynamicsTree.ini
yarp: Port /wholeBodyDynamicsTree/rpc:i active at tcp://10.0.0.51:10710
||| finding file [wbi_conf_file]
||| checking [/home/icub/Desktop/yarpWholeBodyInterface.ini] (pwd)
||| checking [/home/icub/software/codyco-superbuild/build/install/share/codyco/contexts/wholeBodyDynamicsTree/yarpWholeBodyInterface.ini] (context)
||| checking [/home/icub/.config/yarp/yarpWholeBodyInterface.ini] (YARP_CONFIG_HOME)
||| checking [/home/icub/.local/share/yarp/yarpWholeBodyInterface.ini] (YARP_DATA_HOME)
||| checking [/etc/xdg/xdg-ubuntu/yarp/yarpWholeBodyInterface.ini] (YARP_CONFIG_DIRS)
||| checking [/usr/share/upstart/xdg/yarp/yarpWholeBodyInterface.ini] (YARP_CONFIG_DIRS)
||| checking [/etc/xdg/yarp/yarpWholeBodyInterface.ini] (YARP_CONFIG_DIRS)
||| checking [yarpWholeBodyInterface.ini] (YARP_DATA_DIRS)
||| checking [/home/icub/software/codyco-superbuild/build/install/share/codyco/yarpWholeBodyInterface.ini] (YARP_DATA_DIRS)
||| did not find yarpWholeBodyInterface.ini
yarp: cannot read from
[ERR] loadIdListFromConfig error: requested list ROBOT_DYNAMIC_MODEL_JOINTS not found
[ERR] loadIdListFromConfig error: requested list ROBOT_DYNAMIC_MODEL_JOINTS not found
[ERR] wholeBodyDynamicsModule: impossible to load wbiId joint list with name ROBOT_DYNAMIC_MODEL_JOINTS
Module failed to open
icub@tomlinson:~/Desktop$

Merging new_wbi_ID in master

Hi everyone @robotology/codyco-admins @robotology/codyco-developers ,
finally we are ready to merge the version 0.2 of the codyco software (the one contained in the new_wbi_ID branches) in master.

We will proceed shortly and the users shouldn’t notice particular differences, at least from the simulink (WBI-Toolbox) level. However there are a few changes that could cause problems, so please pay attention at the first time you update the superbuild.

To get more information about what have changed in v0.2, please check the README of WBI-Toolbox for the new version v0.2 : https://github.com/robotology-playground/WBI-Toolbox/blob/dd77704262242963fd67835e63ac04c2425f1f23/README.md

If you where developing in C++ using the wholeBodyInterface, please check the migration guide for
moving from the wbi v0.1 to wbi v0.2 :

If for any reason you will need the legacy version of the codyco software, please note that the codyco-superbuild will have a special branch named v0.1 with everything necessary to build the legacy version of the codyco software.

Add info about built projects into README.md

I think we should add a section in the README.md file in which we describe which package we build (and the link to the corresponding repository).

At the same time we should add in each sub-repository the list of the dependencies in case someone does not want to use the superbuild build system.
Also we should enable travis for each sub-repository.

libparamhelp: undefined reference to `yarp::os::Port::includeNodeInName(bool)'

When compiling from a clean build I get this error message:

[100%] Building CXX object CMakeFiles/uTest.dir/src/test/uTest.cpp.o
Linking CXX executable bin/uTest
lib/libparamhelp.so.0.0.1: undefined reference to `yarp::os::Port::includeNodeInName(bool)'
lib/libparamhelp.so.0.0.1: undefined reference to `yarp::os::Port::setAdminReader(yarp::os::PortReader&)'
collect2: ld returned 1 exit status
make[5]: *** [bin/uTest] Error 1
make[4]: *** [CMakeFiles/uTest.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [libraries/paramHelp/CMakeFiles/YCMStamp/paramHelp-build] Error 2
make[1]: *** [CMakeFiles/paramHelp.dir/all] Error 2
make: *** [all] Error 2

Thread freezing during termination when using external clock

I'm using YARP with Gazebo's clock, for which I set the corresponding environmental variable YARP_CLOCK=/clock and start my gzserver with the clock plugin. Everything seems to be working fine, except for when I try to stop my thread after I use the method yarp::os::Network::fini(). The thread thus hangs on termination with the following message:

yarp: Removing input from /clock to /10.255.37.177:60693

Streamline installation of lua stuff

Documentation :

  • write installation documentation for Windows
  • write installation documentation for OS X

Installation :

  • Find a sane way of distributing rFSM . It is a pure Lua library, so it is easy to prepare a standard compliant debian package or a LuaRocks package.
  • In YARP compilation, automatically compile yarp-lua bindings and the portmonitor carrier if LUA51 dependency is found.

rpath and unusual setups : strange behaviour

While installing codyco-superbuild in iCubHeidelberg01 icubsrv (so with yarp and icub-main used from their build directories) I have an issue with codyco-modules binaries, namely the output of ldd for (for example) wholeBodyDynamicsTree is :

icub@icubsrv:~$ ldd /usr/local/src/robot//codyco-superbuild/build-x86_64/install/bin/wholeBodyDynamicsTree
    linux-vdso.so.1 =>  (0x00007ffff1dfe000)
    libYARP_OS.so.1 => not found
    libYARP_sig.so.1 => not found
    libYARP_math.so.1 => not found
    libYARP_init.so.1 => not found
    libidyntree.so.0.0.1 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/libidyntree.so.0.0.1 (0x00007f3cfa673000)
    libwhole-body-interface.so.0.2 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/libwhole-body-interface.so.0.2 (0x00007f3cfa468000)
    libyarpwholebodyinterface.so.0.2.0 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/libyarpwholebodyinterface.so.0.2.0 (0x00007f3cfa141000)
    libkdl-codyco.so.0.1 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/libkdl-codyco.so.0.1 (0x00007f3cf9ea4000)
    liborocos-kdl.so.1.2 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/liborocos-kdl.so.1.2 (0x00007f3cf9c20000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f3cf991c000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f3cf9705000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3cf933f000)
    libYARP_OS.so.1 => /usr/local/src/robot/yarp/build-x86_64/lib/libYARP_OS.so.1 (0x00007f3cf8f6f000)
    libYARP_sig.so.1 => /usr/local/src/robot/yarp/build-x86_64/lib/libYARP_sig.so.1 (0x00007f3cf8d3b000)
    libYARP_math.so.1 => /usr/local/src/robot/yarp/build-x86_64/lib/libYARP_math.so.1 (0x00007f3cf8b27000)
    libkdl-format-io.so.0.0 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/../lib/libkdl-format-io.so.0.0 (0x00007f3cf88f1000)
    liburdfdom_world.so.0.3 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/../lib/liburdfdom_world.so.0.3 (0x00007f3cf86c5000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f3cf83bf000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f3cfabae000)
    libYARP_dev.so.1 => not found
    libACE-6.0.3.so => /usr/lib/libACE-6.0.3.so (0x00007f3cf804b000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f3cf7e42000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f3cf7c24000)
    libgsl.so.0 => /usr/lib/libgsl.so.0 (0x00007f3cf77c4000)
    libgslcblas.so.0 => /usr/lib/libgslcblas.so.0 (0x00007f3cf7577000)
    libtinyxml.so.2.6.2 => /usr/lib/x86_64-linux-gnu/libtinyxml.so.2.6.2 (0x00007f3cf7362000)
    liburdfdom_model.so.0.3 => /usr/local/src/robot//codyco-superbuild/build-x86_64/install/lib/../lib/../lib/liburdfdom_model.so.0.3 (0x00007f3cf7129000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f3cf6f25000)

Please notice that libYARP_OS.so.1 is both found and not found, violating a lot of my personal assumptions on the logic governing this universe.

I guess it is something related to rpath, so it would be nice if @francesco-romano can check this issue when he's back.

superbuild and Qt Creator

I'm trying to use Qt Creator with the superbuild and I think I'm almost there, but not quite yet.

First I tried giving to Qt Creator the CMakeList.txt of codyco-modules, but that didn't work because it cannot find iDynTree (and also other things I guess).

Then I tried using the CMakeList.txt of codyco-superbuild, and that worked, meaning that I managed to compile everything with Qt Creator in a new build directory. The problem is that my Qt Creator project doesn't contain any cpp/h file, so it is quite useless.

Is anybody aware of a way to make this work?

Various maintenance tasks for all subprojects

There are several tasks that should be done for all subprojects of the superbuild, for which we need volunteers ( : ) ). This tasks are also a good way of getting in touch with all the codebase and all the build system) : @naveenoid @nunoguedelha @rbonghi .

  • Migrate all print of yarp related library/modules (mainly in yarp-wholebodyinterface, codyco-modules and WBI-Toolbox) to the new yDebug/yInfo yarp macros (similarly to what @randaz81 did in robotology/icub-main@c89def0 ). This would enable a much easier reading of output of complex setup using the new yarp-logger .
    Subprojects to update (feel free to add):
    • codyco-modules
    • yarp-wholebodyinterface
    • WBI-Toolbox
    • paramHelp
    • codyco-commons
    • gazebo-yarp-plugins (this is a specific case, discussed in robotology/gazebo-yarp-plugins#87, basically we need to move some outputs to yarp log macros and some to gazebo log macros)
  • Fix travis on all subprojects. Travis is a really useful continuous integration tool for validating that no commit break the build of a given project. The major problem for the subprojects is to deal with dependencies, but we can rely on the superbuild for that (see what I did in iDynTree for an example : https://github.com/robotology-playground/idyntree/pull/15m, on in codyco-modules in robotology-legacy/codyco-modules@6c1d5dc and the following commits )
    Subprojects to update (feel free to add):
    • codyco-modules
    • wholebodyinterface
    • yarp-wholebodyinterface
    • codyco-commons

Repositories are not being pulled from the branch specified in ProjectsTags.cmake

When you switch to the branch new_wbi_ID in codyco-supebuild for example, if you wanna get certain repositories from their new_wbi_ID branch, you're supposed to define a tag in ProjectsTags.cmake as set(wholeBodyInterface_TAG new_wbi_ID). What I expect is that after making these changes, doing make update-all will pull all these repos from their new_wbi_ID branch. However, this is not the case. They are all pulled from their master branch and then you're forced to switch branch in each repository independently.

Updating version of iDynTree

Hi everyone, we will now push an updated version of the iDynTree library, that removed the dependency on kdl_codyco/kdl_format_io (all this libraries are now merged in iDynTree, for better readability, mantenability and dissemination) and fix a few bugs.

Update should be smooth, just remember to:

git pull
cd build
make update-all 

The first time you update the software.

Please report any issue, thanks.

cc @robotology/codyco-admins @robotology/codyco-developers @rlober @robertocalandra @darwinlau @rueckert

iCubParis02 model

For experiments with iCubParis02 we need to model the URDF model of the robot.

The upper part (torso+arms+head) of the robot is a standard iCub v2, that in turns is quite similar to the upper part of the iCub v1 (see http://eris.liralab.it/wiki/ICubFowardKinematics_right) , so we can use the usual model generated from icub-model-generator that we use in iCubGenova01 at least for preliminary testing of balancing.

The legs are instead quite different both from the iCub v1 legs (iCubGenova03, and that can be generated using icub-model-generator) and iCub v2.5 legs (iCubGenova01, iCubDarmstad01, iCubHeidelberg01, that can be directly generated from CAD using the new simmechanics-to-urdf tool, procedure that has been done for iCubHeidelberg01 ).

We then need to extract somehow the model for iCub v2 legs (iCubParis02 has some different electronics and sensors with respect to the "standard" iCub v2 model, but this differences do not affect in a relevant way the kinematics and dynamics of the model).

Maverick (OS X 10.9) fail of codyco-superbuild if kdl_format_io is already installed

The error message is:

Performing configure step for 'codycoCommons'
Not searching for unused variables given on the command line.
-- Using iCub from install
Looking for KDL in: /Users/makaveli/Documents/IIT/programs/local
Looking for KDL in: /Users/makaveli/Documents/IIT/programs/local
-- Configuring done
CMake Error in CMakeLists.txt:
  Imported target "iDynTree::idyntree" includes non-existent path

    "/Users/makaveli/Documents/IIT/programs/local/include /usr/local/Cellar/tinyxml/2.6.2/include /Users/makaveli/Documents/IIT/programs/local/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.



CMake Error in CMakeLists.txt:
  Imported target "iDynTree::idyntree" includes non-existent path

    "/Users/makaveli/Documents/IIT/programs/local/include /usr/local/Cellar/tinyxml/2.6.2/include /Users/makaveli/Documents/IIT/programs/local/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.



CMake Error in CMakeLists.txt:
  Imported target "iDynTree::idyntree" includes non-existent path

    "/Users/makaveli/Documents/IIT/programs/local/include /usr/local/Cellar/tinyxml/2.6.2/include /Users/makaveli/Documents/IIT/programs/local/include"

  in its INTERFACE_INCLUDE_DIRECTORIES.  Possible reasons include:

  * The path was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and references files it does not
  provide.

Probably is something related to iDynTree INTERFACE_INCLUDE_DIRECTORIES that are not correctly passed.

codyco-isir repository added to the codyco-superbuild

@mingxing-liu @rlober @darwinlau
I have added the codyco-isir repository https://github.com/robotology-playground/codyco-isir to the codyco-superbuild.
It should be downloaded by default, and you can disable compilation of software that depend on Eigen 3.2.0 setting to off the CODYCO_USES_EIGEN_320 cmake variable, as explained in the installation guide. Let me know if you are able to get the superbuild working. You have write access to both the codyco-superbuild and (obviously) to the codyco-isir repository, feel free to fix any issue or bugs that you find.

Xcode generator

Now that ycm works perfectly on Xcode, what about codyco-superbuild?
(I mean: it does not work, so because I don't know yet the superbuild infrastructure I was wondering if we have to do something in order to update ourself to the last revision of ycm)

Unify options for compilation of Matlab-dependent packages

We are starting to have a lot of Matlab-dependent packages (WBI-Toolbox, mex-wholebodymodel, now qpOASES bindings). Given that the main two possible user configuration are "build everything except what requires Matlab" or "build everything, including what requires Matlab", we should simplify things. To streamline installation, I guess it would make sense to drop the project specific superbuild options (CODYCO_USES_WBI_TOOLBOX, CODYCO_USES_MEX_WHOLEBODYMODEL, etc.. ) and just have a single CODYCO_USES_MATLAB (suggestions for a better name are welcome) that enables download/compilation of everything that requires Matlab.

Eventually we can automatically check if Matlab is available and enable this option if Matlab is found.

cc @francesco-romano @naveenoid @jeljaik

qpOASES integrated in the superbuild

Issue to solve:

  • the matlab/simulink bindings build system is crazy and not based on cmake.
    • using the new FindMatlab.cmake that we backported from CMake 3.3 to CMake 2.8.11 should simplify a lot the mex compilation.
  • qpOASES does not export any library information
    • YCM has already full support for building or finding qpOASES .

Compilation error

I was trying to compile the codyco super-build and I receive the following compilation error:

In file included from /usr/local/src/robot/codyco-superbuild/libraries/kdl_format_io/src/converters/iKin_export.cpp:38:0:
/usr/local/src/robot/codyco-superbuild/libraries/kdl_format_io/include/kdl_format_io/iKin_export.hpp:46:31: fatal error: iCub/iKin/iKinFwd.h: No such file or directory
compilation terminated.
make[5]: *** [CMakeFiles/kdl-format-io.dir/src/converters/iKin_export.cpp.o] Error 1
make[4]: *** [CMakeFiles/kdl-format-io.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [libraries/kdl_format_io/CMakeFiles/YCMStamp/kdl_format_io-build] Error 2
make[1]: *** [CMakeFiles/kdl_format_io.dir/all] Error 2
make: *** [all] Error 2

include mex-wholebodymodel in the superbuild

The mex-wholebodymodel is now alive and kicking, I guess it is a good idea to properly integrate it in the codyco-superbuild. It should be quite easy, a stub is already present and the only thing left to do is to properly set up cmake options. It could also be cool to have an option CODYCO_USES_MATLAB for building all the software in the superbuild that depend on Matlab, namely WBI-Toolbox and mex-wholebodymodel.

@naveenoid you want to take care of it for getting some hand on experience of CMake?

cc @barrelback

Add flag for compiling codyco-superbuild using Eigen 3.0

Currently we enforce dependency on Eigen 3.2 in the superbuild.
Unfortunately some ISIR users (@darwinlau @mingxing-liu @rlober) are forced by the XDE dependency to just use Eigen 3.0.5.
I'll add a flag that disable the compilation of software that requires Eigen 3.1+ , to enable them to develop their software using yarp-wholebodyinterface and the codyco-superbuild, while continuining to use just Eigen 3.0.5 .

Error linking idyntree with YARP

When building I get this error (ubuntu 12.04, yarp, icub, kdl_codyco compiled from source):

Linking CXX shared library lib/libidyntree.so
/usr/bin/ld: cannot find -lYARP::YARP_OS
/usr/bin/ld: cannot find -lYARP::YARP_sig
/usr/bin/ld: cannot find -lYARP::YARP_math
/usr/bin/ld: cannot find -lYARP::YARP_dev
/usr/bin/ld: cannot find -lYARP::YARP_name
/usr/bin/ld: cannot find -lYARP::YARP_init
collect2: ld returned 1 exit status
make[5]: *** [lib/libidyntree.so.0.0.1] Error 1
make[4]: *** [CMakeFiles/idyntree.dir/all] Error 2
make[3]: *** [all] Error 2
make[2]: *** [libraries/iDynTree/CMakeFiles/YCMStamp/iDynTree-build] Error 2
make[1]: *** [CMakeFiles/iDynTree.dir/all] Error 2
make: *** [all] Error 2

[iCubHeidelberg01] List of iCubHeidelberg01 open issue for using codyco/koroibot related software

  • Model generation issues (original files used for generation in https://bitbucket.org/yue_hu/icubheidelberg01 ) :
    • The generated model has the additional weight mounted. We manually removed them from the generated model, but we should way of dealing with it in a robust way robotology-legacy/yarp-wholebodyinterface@14e354f
    • The generated model is missing the l_foot_dh_frame, r_foot_dh_frame, used for expressing contact information and for the iCubGui . We added them manually on the generated model in robotology-legacy/yarp-wholebodyinterface@d02a03b , but we should add them on the original CAD as SCSYS and import them from CAD.
    • The default contact for torso_subtree when the robot is standing is the chest link, but no convention is used for now on the frame to use for expressing chest contact information (this will be addressed in a issue that will be opened in icub-main).
    • The axis for some joints were wrong. This was manually fixed in robotology-legacy/yarp-wholebodyinterface@c3c97f4 , but should be properly fixed in the generated model, using the appropriate options of the simmechanics-to-urdf script (explicitly defining this as a workflow step at each model generation is also important).
  • torqueBalancing issues
    • the current formulation of torqueBalancing when used with just the legs (hence 12 dof) is probably numerically unstable. This should be verified in simulation and properly addressed. (Nice to have: automatic tests of torqueBalancing running on different simulated robots and with different configuration, i.e. just the legs, the legs and the torso, etc, etc).
    • torqueBalancing is still assuming the presence of hands in the model. Proper resolving this issue require parametrizing the cartesian tasks, in the meanwhile several workarounds where committed to https://github.com/robotology/codyco-modules/tree/heidelberg and https://github.com/robotology/codyco-modules/tree/noHands , but we should bring this fix to master as soon as possible.
    • the torqueBalancing procedure is quite complex for a new user and requires several steps (getting meaningful positions for the robot, calibrating wholeBodyDynamics, eventually running the script for removing internal forces etc etc) we should write a basic howto.
  • world/inertial reference frame issues
    • most of the module rely on an hardcoded assumption on the orientation of the l_sole frame. Unfortunately this is a problem because the l_sole position on the model generated used the old generation procedure it broken. iCubHeidelberg0 uses the right orientation for l_sole, and the software should use an appropriate frame for representing the world
    • see robotology-legacy/codyco-modules#58 for the subtasks related to this.
  • wholeBodyDynamicsTree
    • on iCubHeidelberg01 wholeBodyDynaicsTree needs two different configuration files, depending wheter it is mounted on the pole or if it is attached to the crane/walking . The main difference is the default contact link for the external force acting on the torso_subtree. We have to remember to commit this files also on the master branch.

A lot of fixed and workaround have been committed to the https://github.com/robotology/codyco-modules/tree/heidelberg , we should streamline the fixed as soon as possible so @hu-yue can switch back to master.

iCub model generation

(Actually a meta issue, but opening here because it affects mostly people in our team).

For generating URDF models of the iCub, we rely now on two different systems:

For now the only robot that can use the new generation system is iCubHeidelberg01, because for all the other robots we still don't have full simmechanisms model.

Related to this, we need to document all the modification we do to the URDF models so that we can replicate this modifications:

  • Currently for the old generation system we are getting limits from paris URDF, and apparently they are rubbish. @jeljaik do you have somewhere some good limits ?
  • Which kind of surface friction values we need for having a working gazebo simulation?

Downloading YCMEPHelper.cmake - ERROR 1: "unsupported protocol"

Both today while try to install codyco-superbuild on a Wheezy machine and this evening when tryng to install it on a Ubuntu 14.04 virtual machine, I got the same error when boostraping YCM:

osboxes@osboxes:~/src/codyco-superbuild/build$ cmake ..
-- The C compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- YCM not found. Bootstrapping it.
-- Downloading YCMEPHelper.cmake
CMake Error at cmake/IncludeUrl.cmake:245 (message):
  Downloading YCMEPHelper.cmake - ERROR 1: "unsupported protocol"
Call Stack (most recent call first):
  cmake/YCMBootstrap.cmake:105 (include_url)
  CMakeLists.txt:40 (include)

Then, I try to manually install YCM, and on both machines I got the same Eigen related error:

[ 76%] Downloading file COPYING.BSD from Eigen mercurial repository (ref e9712d1)
CMake Error at /home/osboxes/src/ycm/build/3rdparty/CMakeFiles/3rdparty-eigen.dir/ycm_download_COPYING_BSD.cmake:13 (message):
  Cannot download file
  https://bitbucket.org/eigen/eigen/raw/e9712d1/COPYING.BSD

  Network problem.

Both machines are correctly connected to the network, and the superbuild works fine after installing ycm with the offline tarballs.

cc @drdanz

CMake 3.0 warnings

CMake Warning (dev) at cmake/Buildorocos_kdl.cmake:12 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "orocos_kdl".
Call Stack (most recent call first):
  build/install/share/YCM/modules/FindOrBuildPackage.cmake:169 (include)
  cmake/Buildkdl_format_io.cmake:5 (find_or_build_package)
  build/install/share/YCM/modules/FindOrBuildPackage.cmake:169 (include)
  CMakeLists.txt:41 (find_or_build_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Buildorocos_kdl.cmake:21 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "orocos_kdl".
Call Stack (most recent call first):
  build/install/share/YCM/modules/FindOrBuildPackage.cmake:169 (include)
  cmake/Buildkdl_format_io.cmake:5 (find_or_build_package)
  build/install/share/YCM/modules/FindOrBuildPackage.cmake:169 (include)
  CMakeLists.txt:41 (find_or_build_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

CMake Warning (dev) at cmake/Buildorocos_kdl.cmake:22 (get_target_property):
  Policy CMP0045 is not set: Error on non-existent target in
  get_target_property.  Run "cmake --help-policy CMP0045" for policy details.
  Use the cmake_policy command to set the policy and suppress this warning.

  get_target_property() called with non-existent target "orocos_kdl".
Call Stack (most recent call first):
  build/install/share/YCM/modules/FindOrBuildPackage.cmake:169 (include)
  cmake/Buildkdl_format_io.cmake:5 (find_or_build_package)
  build/install/share/YCM/modules/FindOrBuildPackage.cmake:169 (include)
  CMakeLists.txt:41 (find_or_build_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

Errors compiling branch new_wbi_ID

I switched the codyco-superbuild to the new_wbi_ID branch and get errors while compiling.
The error occurs on motorFrictionIdentification and torqueBalancing. Did I miss something that I should have taken care of after switching branch?

[ 54%] Building CXX object src/modules/motorFrictionIdentification/CMakeFiles/motorFrictionIdentification.dir/src/motorFrictionIdentificationModule.cpp.o
[ 57%] Building CXX object src/modules/motorFrictionExcitation/CMakeFiles/motorFrictionExcitation.dir/src/motorFrictionExcitationModule.cpp.o
/home/yue/iCubSW/codyco-superbuild/main/codyco-modules/src/modules/motorFrictionIdentification/src/motorFrictionIdentificationModule.cpp: In member function ‘virtual bool motorFrictionIdentification::MotorFrictionIdentificationModule::configure(yarp::os::ResourceFinder&)’:
/home/yue/iCubSW/codyco-superbuild/main/codyco-modules/src/modules/motorFrictionIdentification/src/motorFrictionIdentificationModule.cpp:105:54: error: ‘PARAM_ID_JOINT_NAMES_LIST’ was not declared in this scope
     jointNamesList.resize(paramHelper->getParamProxy(PARAM_ID_JOINT_NAMES_LIST)->size);
                                                      ^
[ 60%] Building CXX object src/modules/torqueBalancing/CMakeFiles/torqueBalancing.dir/src/ReferenceGeneratorInputReaderImpl.cpp.o
make[5]: *** [src/modules/motorFrictionIdentification/CMakeFiles/motorFrictionIdentification.dir/src/motorFrictionIdentificationModule.cpp.o] Error 1
make[5]: *** Waiting for unfinished jobs....
[ 63%] Building CXX object src/modules/torqueBalancing/CMakeFiles/torqueBalancing.dir/src/MinimumJerkTrajectoryGenerator.cpp.o
[ 66%] Building CXX object src/modules/torqueBalancing/CMakeFiles/torqueBalancing.dir/src/config.cpp.o
make[4]: *** [src/modules/motorFrictionIdentification/CMakeFiles/motorFrictionIdentification.dir/all] Error 2
make[4]: *** Waiting for unfinished jobs....
[ 69%] [ 72%] Building CXX object src/modules/torqueBalancing/CMakeFiles/torqueBalancing.dir/src/Reference.cpp.o
Building CXX object src/modules/motorFrictionExcitation/CMakeFiles/motorFrictionExcitation.dir/src/motorFrictionExcitationThread.cpp.o
[ 75%] Building CXX object src/modules/torqueBalancing/CMakeFiles/torqueBalancing.dir/src/main.cpp.o
Linking CXX executable ../../../bin/torqueBalancing
[ 75%] Built target torqueBalancing
Linking CXX executable ../../../bin/motorFrictionExcitation
[ 75%] Built target motorFrictionExcitation
make[3]: *** [all] Error 2
make[2]: *** [main/codyco-modules/CMakeFiles/YCMStamp/codyco-modules-build] Error 2
make[1]: *** [CMakeFiles/codyco-modules.dir/all] Error 2
make: *** [all] Error 2

Recommend Projects

  • React photo React

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

  • Vue.js photo Vue.js

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

  • Typescript photo Typescript

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

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

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

Recommend Topics

  • javascript

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

  • web

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

  • server

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

  • Machine learning

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

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

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

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.