robotology / gazebo-yarp-plugins

Plugins to interface Gazebo with YARP.
33 stars 48 forks source link

iCub & DoublePendulum ignore RPC:i commands #160

Closed Arikae closed 9 years ago

Arikae commented 9 years ago

Hi, I've got a problem with the iCub and the provided double pendulum example from the tutorial folder. I can insert both the iCub and the pendulum into gazebo but I can't make them change their joints with yarp and the rpc:i ports. The reply is always [ok] but they didn't do nothing. I can disable and enable the axis which is working and DoublePendulumTest and robotMotorGui are also working but they are not accessing the rpc:i ports to move the robots as far as I can tell.

I have Gazebo 4.0.2 and all projects from git like gazebo-yarp-plugins, icub-main etc. are up-to-date.

traversaro commented 9 years ago

The standard position control mode in yarp controlboards is using a trajectory generator for generating the desired trajectory. [1] In gazebo_yarp_controlboard at the moment the generated trajectory is a linear one, the inclination of which is specified by the reference speed value. The default value for the reference speed is 0.0 , so before sending the first desired position you have to set the reference speed using the set refs rpc command.

The robotMotorGui is working because it is setting a default reference speed of 10.

You are not the first person confused by this, so it could make sense to permit to load the default reference speed value from the configuration files.

[1] : http://wiki.icub.org/wiki/File:ICub_Control_Modes_1_1.pdf

Arikae commented 9 years ago

Ah alright, that makes sense. Thanks for the fast answer and explanation! With this the robot is finally moving as he should : )

traversaro commented 9 years ago

cc @jeljaik