Miscellaneous questions after a first contact with yarp-gazebo #40
-
I have recently decided to look at a robot simulator that could be potentially connected to a NN simulator. For a variety of reasons, one is being at IIT, I have decided to use gazebo-yarp-plugin with simbody as robot simulator. After installing Simbody from sources , Gazebo using Ubuntu packages , YARP from sources, the Gazebo-Yarp-Plugin and the iCub gazebo models , I was able to simulate the double_pendulum model in gazebo and to control it with yarpmotorgui :-). Since this is basically my first contact with Yarp, Gazebo and even Ubuntu (I have been programming under Windows for years), I decided to learn how to use all that with iCub tutorial. I was also able to adapt icub arm tutorial to control the position of the double pendulum model with my program through yarp. I found a lot of useful information online but I was also left with some questions. Sorry for this rather long and mixed bag of questions but my colleagues at IIT suggested that I post them here as their responses could be profitable to other users.
P.S. (gavril0 = Gabriel Baud-Bovy) |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
Hi @gavril0 , thanks for taking the time to post on QA ! I will try to reply inline:
In general you should not need to run program using sudo, even if you installed it as superuser.
and
That is definitely strange.. Are you sure that Gazebo is actually loading that urdf file? What is the value of your
The different control modes are not selected at configuration time, but at runtime using the IControlMode2 interface. For more information on control modes, check this file : http://wiki.icub.org/images/c/cf/ICub_Control_Modes_1_1.pdf . For an example on how to switch control modes, check this tutorial. For more information on the parameters of the controlboardwrapper, please check http://wiki.icub.org/yarpdoc/classyarp_1_1dev_1_1ControlBoardWrapper.html . Documentation for gazebo devices is still a work in progress, that you can track in this issue: robotology/gazebo-yarp-plugins#95 (first items).
You can check the
You can find this information in the control mode documentation available in http://wiki.icub.org/wiki/File:Icub_control_modes_slides_1_1.pdf and http://wiki.icub.org/images/c/cf/ICub_Control_Modes_1_1.pdf . In a nutshell, in the position control the output of the low level joint position trajectory generator is given as input to a PID (with a feedback in position) that is controlling directly the motor input. In impedance control, the output of the low level joint position trajectory generator is given as input to a PD control law with a feedback in position (impedance). The output of this PD is then considered a desired torque value, that is then sent to a lower level PID (with a feedback in torque from force sensing) that has to track the desired torque.
If you are on Linux, the IDE that directly support CMake (KDevelop or QtCreator) can be the best choice for quickly opening CMake-based projects. To open the Yarp source code in KDevelop: Open KDevelop --> Click on "Project" Menu --> Click on "Open/Import Project" ---> Open the CMakeLists.txt in the top level directory of Yarp repository . The synchronization system of Gazebo is a bit tricky and not so clear even to me, so I will reply tomorrow on that. |
Beta Was this translation helpful? Give feedback.
-
@traversaro. Thanks for the info. Still interested by the question on synchronization as there will be a similar issue for the NN simulator. Planning to look at iSpike. I'll digest the pointers you gave me and come back here for further questions if needed (doing it a bit on my spare time at the moment). |
Beta Was this translation helpful? Give feedback.
-
@gavril0, closing, feel free to reopen it. |
Beta Was this translation helpful? Give feedback.
Hi @gavril0 , thanks for taking the time to post on QA !
I will try to reply inline:
In general you should not need to run program using sudo, even if you installed it as superuser.
To check that your permission are correctly set, can you post the output of the following commands:
and