Robotics StackExchange | Archived questions

Facing problem in making parallel Joint

Hi everyone! I am working on a URDF and trying to create a parallel joint. Don't have enough karma to post the picture but I will try my best to explain the situation. The joint should be some way like this; Two parents have the same child, each joint should work individually fine as it is working now. What I need is the effect of both joint on each other. For example, I have the first revolute joint it is rotated by an angle (theta) and the second revolute joint is also trying to move the same link as the first one with another angle (eta). Now, these two joints should have a combined effect on another angle which should be (phi) which is the combined effect of both these rotation either simultaneously or one after another. So here comes the list of problems I faced while trying to build this model.

This picture can explain the situation more clearly: image description ,

As you can see, I have two actuators one at (x-axis) and the other is (z-axis). How can I find the value of (phi) from the tf on the actuation of these two joints?

  1. At first, I tried to make it in URDF but as I read that URDF doesn't support any parallel joint and I tested it by myself too. Found this (https://bitbucket.org/osrf/gazebo_models/src/68989fe22ddc430909763eace37d45a4a4936e25/pr2_gripper/model.sdf?at=default) which showed me that it can only possible in SDF, that you can have two parents of the same child. Since it's just an SDF file of the gripper, so I don't know, if anyone has already run it or it worked successfully?
  2. I moved to the SDF and converted my file into SDF in order to check whether it has the ability to give me the solution I want. If someone has seen any example of it? how does the parallel joint thing work in SDF?
  3. Now the problem is that how can I import my model in Rviz, since I am unable to use the robot state publisher with the SDF, I found this (https://answers.ros.org/question/204803/robot_state_publisher-with-sdf-files/) but it's kind of bit confusing for me. How can I use two formats (URDF and SDF) at the same time in my launch to see my model and get the TF tree. Can anyone explain me this also? If anyone knows any better approach, kindly drop your comments and suggestions, Thank you all.

Asked by owais2k12 on 2017-11-08 02:21:39 UTC

Comments

I've just given you enough karma to attach images.

Asked by gvdhoorn on 2017-11-08 03:45:17 UTC

re: parallel joint in urdf: you're correct that it's not supported, but depending on the exact mechanism that you're trying to model, you could see whether mimic joints would be enough.

Asked by gvdhoorn on 2017-11-08 03:45:53 UTC

thanks @gvdhoorn for the karma. Do you think that mimic can solve this problem? I mean after looking at the picture, now you can tell me most suitable approach.

Asked by owais2k12 on 2017-11-08 03:56:59 UTC

@gvdhoorn I have tried the mimic joints method, actually, it meets the requirement of parallel joint up to some extent but that's not what I require. Each angle should effect the resultant angle differently but by using mimic it effects with same proportion. So this method doesn't satisfy my need.

Asked by owais2k12 on 2017-11-08 06:57:09 UTC

I can't make much of your diagram, but I'm not surprised that mimic joints are not enough. It was just a suggestion.

Asked by gvdhoorn on 2017-11-08 07:06:21 UTC

Maybe it is possible to add a constraint from child-less link and a child with another parent in gazebo with a gazebo service call after a urdf has been loaded the normal gazebo-ros way? That would avoid maintaining urdf and sdf and manually getting gazebo link states back into ros joint_states.

Asked by lucasw on 2017-11-08 11:52:36 UTC

@lucasw can you explain it, I am unable to understand it completely

Asked by owais2k12 on 2017-11-09 21:00:34 UTC

Answers