robotology / icub-tutorials

Tutorials on iCub code
19 stars 9 forks source link

Bug in iKinCartesianSolver / motorControlAdvanced #5

Closed serena-ivaldi closed 8 years ago

serena-ivaldi commented 8 years ago

Hello, we just made a fresh install of YARP, icub-main and icub-tutorials and we tested the tutorial motorControlAdvanced. To launch it, we follow the instructions to set the simulator first. So we launch

iCub_SIM simCartesianControl iKinCartesianSolver --context simCartesianControl --part left_arm

The problem is that this command does not seem to work for iKinCartesianSolver on iCubSim. It looks for the file cartesianSolver.ini but not in the proper context. It does not seem to look for simCartesianControl. It does:

icub@precision:~$ iKinCartesianSolver --context simCartesianControl --part left_arm ||| clearing context ||| adding context [cartesianSolver] ||| configuring ||| added context simCartesianControl ||| default config file specified as cartesianSolver.ini ||| checking /home/icub/cartesianSolver.ini ||| checking [/home/icub/.config/yarp/robots/iCubNancy01](robot YARP_CONFIG_HOME) ...

And at the end it finds: found /home/icub/software/share/iCub/robots/iCubNancy01/cartesianSolver.ini

This file is configured for icub, so it does not work for icubSim.

By the way, it gives an unusual error also about an extended Torso state:

[ERROR]Problem connecting to /icub/torso/state:o from /cartesianSolver/left_arm/torso/state:i, is the remote device available? [ERROR]* Extended port /icub/torso/stateExt:o was not found on the controlBoardWrapper I'm connecting to. Falling back to compatibility behaviour [WARNING]Updating to newer yarp and the usage of controlBoardWrapper2 is suggested* yarpdev: _ERROR_ driver was found but could not open

How can we fix this? Thanks in advance

pattacini commented 8 years ago

Hi @serena-ivaldi

Regarding the context search, it's very likely that YARP_DATA_DIRS does not point to all the required paths. Could you check this out?

A simple way to test if a specific file is found throughout the contexts is to launch:

> yarp resource --context simCartesianControl --find cartesianSolver.ini

For the second problem I'd suggest you to open up a ticket on dedicated tracking systems: e.g. icub-support or yarp.

Some random thoughts:

serena-ivaldi commented 8 years ago

Hi Ugo,

thanks for quick reply. If I launch yarp resource, then it does not find that context:

icub@precision:~$ yarp resource --context simCartesianControl --find cartesianSolver.ini ||| configuring ||| added context simCartesianControl ||| default config file specified as cartesianSolver.ini ||| checking /home/icub/cartesianSolver.ini ||| checking [/home/icub/.config/yarp/robots/iCubNancy01](robot YARP_CONFIG_HOME) ||| checking [/home/icub/.local/share/yarp/robots/iCubNancy01](robot YARP_DATA_HOME) ||| checking [/etc/xdg/xdg-ubuntu/yarp/robots/iCubNancy01](robot YARP_CONFIG_DIRS) ||| checking [/usr/share/upstart/xdg/yarp/robots/iCubNancy01](robot YARP_CONFIG_DIRS) ||| checking [/etc/xdg/yarp/robots/iCubNancy01](robot YARP_CONFIG_DIRS) ||| checking [robots/iCubNancy01](robot YARP_DATA_DIRS) ||| checking [/home/icub/software/share/yarp/robots/iCubNancy01](robot YARP_DATA_DIRS) ||| checking [/home/icub/software/share/iCub/robots/iCubNancy01](robot YARP_DATA_DIRS) ||| found /home/icub/software/share/iCub/robots/iCubNancy01 ||| checking [config/path.d](robot path.d YARP_DATA_DIRS) ||| checking [/home/icub/software/share/yarp/config/path.d](robot path.d YARP_DATA_DIRS) ||| checking [/home/icub/software/share/iCub/config/path.d](robot path.d YARP_DATA_DIRS) ||| checking /home/icub/software/share/iCub/robots/iCubNancy01/cartesianSolver.ini ||| found /home/icub/software/share/iCub/robots/iCubNancy01/cartesianSolver.ini ||| finding file [from] "/home/icub/software/share/iCub/robots/iCubNancy01/cartesianSolver.ini"

The context is in /home/icub/software/share/iCub/contexts/simCartesianControl which is included in YARP_DATA_DIRS: export YARP_DATA_DIRS=$YARP_DATA_DIRS:/home/icub/software/share/yarp:/home/icub/software/share/iCub

It just seem to ignore the context. I made it work by manually setting icubSim into the file /home/icub/software/share/iCub/robots/iCubNancy01/cartesianSolver.ini By this trick, the other error about the extended torso port disappears.

About the other things, we are installing a new machine, so it's a brand new installation from zero (started around 4PM this afternoon)

pattacini commented 8 years ago

So, it's a general problem of yarp installation. Moving this issue then.

pattacini commented 8 years ago

Issue moved to robotology/yarp #795 via ZenHub.io