-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Limitations of externalWrench plugin #417
Comments
I agree with all remarks. |
After a bit of thought, I realized the Also, it is a bit tricky to set the error message through rpc reply but this can be shown on the gazebo running terminal. These changes are fixed in https://github.com/Yeshasvitvs/gazebo-yarp-plugins/commit/fb4b0e26d2907f8c56d320386819bfff8ef7db6d |
I added the multiple wrench functionality https://github.com/Yeshasvitvs/gazebo-yarp-plugins/commit/36e2801fe97a7528845039250105327ba910c831 and tested with different models: The model launched through a world that has robot link names spawned as The model that is manually spawned in gazebo with the link names as Users can stick with the old way using either a full scoped link name in their command or simply the link name. As long as the link is discoverable in the model the wrench is applied as per the command. If the link is not discovered in the model, the following error is shown on gazebo running terminal: A big change now is that, the previous functinality is if a user gives two wrench commands consequtively and if the duration of the first one is not yet complete before the second command. The first one is dropped and the second wrench command is applied. @traversaro I am not certain if this kinda functionality should still remain. In that case we need to have an additional option to set the functionality of the externalWrench plugin to be set in a single wrench or multiple wrench mode. what do you think ? |
I added the option set the operation mode https://github.com/Yeshasvitvs/gazebo-yarp-plugins/commit/22c7f0cce2c91f519030e944af94fb4c46e67b37 to be either |
I updated the logic to clear all the wrenches when the operation mode is set. Also, updated the rpc message handling. Users will see the message on the rpc terminal in case if the requested link is not present in the model. f796908 |
A PR #418 is open addressing this issue. |
externalWrench plugin has a couple of shortcomings:
There is no error message if the link is not discovered. It only acknowledges if the command format is correctly used i.e
Response: "[ACK] Correct command format"
is shown. The expected command format is[link] [force] [torque] [duration]
. Any string used in place of[link]
will give the correct command response instead of giving an error that the link is not discovered.Secondly, the
[link]
string is expected to be a full scoped link name of the model spawned in gazebo e.eiCub::l_hand
. But if the model is spawned with a higher levels of scope likeiCub::iCub::l_hand
the external wrench plugin doesn't have any effect. This behaviour is checked on both @lrapetti machine and my machine. Some of the recent worlds in icub-gazebo-wholebody repo like icub_standup_world uses include tag for including the model in the world file. This is the reason for the addition scope ofiCub
resulting in the final link scope name asiCub::iCub::l_hand
. So, it is better to have the command format as[model] [link] [force] [torque] [duration]
and the user has to specify the first model name in the scope e.giCub
and the link namel_hand
. This kinda functionality is already present in the linkattacher plugin.Finally, the plugin can be used to genereate only one instance of the external wrench and currently it is not possible to use multiple external wrenches. Previously a PR Multiple External Wrenches in Gazebo #293 was opened to add the functionality of multiple external wrenches. We can update the externalWrench to have this additional feature.
@traversaro Please let me know your comments
The text was updated successfully, but these errors were encountered: