-
Notifications
You must be signed in to change notification settings - Fork 132
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
Extending mimic tag for non-linear relationships #132
Comments
Does this really work in the Gazebo simulation? It works with the mimic tag on Rviz but it doesn't on Gazebo for me. Ryan |
Yes it would be awesome to have mimic joins that support non-linear relationship, in most of the applications, it is nonlinear. |
https://github.com/roboticsgroup/roboticsgroup_gazebo_plugins This repo has a gazebo plugin that you can use for mimic joints in gazebo. I had commented on this issue to see if I can get it merged into gazebo_ros_pkgs; no response. |
May I ask if URDF has realized this function? |
If you really need it, I had done something to add parsing non linear functions with where you can add non linear relationship like: <mimic joint="motor_thumb" nlFunPos="0.3378*x^4 + -1.179*x^3 + 1.103*x^2 + 0.7363*x + 0.01468"/> |
Thank you very much. This has been very useful for my work. Also, I would like to ask if using your modified JointStatePublisher can adapt to MoveIt Setup Assistant.Or it can only be used in the GUI demo. |
Sorry but I do not know if moveit setup assistant use the joint state publisher and how, by the way the addition I made is just a simple parsing and probably can be added anywhere (torydebra/joint_state_publisher@9767eab) Just come in my mind that I also had forked the roboticsgroup_gazebo_plugins linked above to accept these non linear relationship as well: |
I believe it might work, because MoveIt uses the topic |
Well, if it can be used in gazebo, moveit should also be adapted. Thank you very much for your solution. |
Updating the robot state is certainly possible, and this is already implemented in the repository of @torydebra . |
There are more limitations in that area. May be it's not possible if you have closed linkages.On the other hand, It is certainly possible to set passive joints in the MoveIt configuration. Try it out. Moreover, the MoveIt specific thing has nothing to do with the changes in this repository. In case it doesn't work, open an issue in MoveIt repository. Good luck |
Thank you for your reply. I will give it a try. Also I'll do some more investigation into other tech routes, maybe moveit isn't the best fit for me. 🤣 |
The mimic tag can be used to model robots with closed kinematic loops / parallel linkages, but is currently limited by only allowing a single joint, multiplier, and offset.
I think that its capabilities could be expanded to support arbitrary combinations or equations using muparser in a similar way to ros_canopen's position / velocity / effort conversions.
I imagine the syntax as:
Where the
mimic_relationship
would contain a muparser expression with variablesj_i
as declared in the<joints_to_mimic>
tag. Ordering of joints could be an issue so this could also be implemented such that the joints are referred to by their joint name in the muparser expression.One issue with this proposal would be gazebo simulation of transmission as touched upon here. While simulation would be a large issue, the issue is currently present without a solid solution and the current linear mimic joint is limiting the ability to represent more complex kinematic configurations.
The text was updated successfully, but these errors were encountered: