cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Why can't this mechanism be assembled?

SOLVED
Level 12

Why can't this mechanism be assembled?

I thought I knew about mechanism connections, but this example that I cooked up to train my colleagues has me stumped.

For some reason, I can't make a 6-DOF hexapod in Creo 2.0 M120:

6DOF+platform+problem.png

What Creo magic am I missing here?

I notice that when I disable the "Allow regeneration values" on the slider joints, then I can assemble the green ee-platform to five out of the six blue links. The last one will look like it is assembled, but any dragging will automatically disable it. What gives? Because if this is indeed working as intended, then Solidworks is head and shoulders above it when it comes to assembly and movement of components.

Please try the model and help me. Is there some "assembly joint-satisfaction tolerance" setting that I should be relaxing?

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted

Re: Why can't this mechanism be assembled?

Well, after playing with it, I got it to work. See attached. One minor problem is that the regen values that were initally set for the sliders might have been incompatible....they were all set for the same value but the hexagon platforms were not symmetrical so I just unchecked the regen value for the sliders.

The other problem I think has something to do with defining mechanism connections on both ends of the "links". Unfortunately, I don't know what the problem is or why it keeps disabling the last connection. I tried changing all of the ball connections to gimbal connections (hence the csys' that I added) to see if that would help but it still gave the same error and disabled the last connection. I also tried a mix of the two to no avail. You can switch them back to ball if you want.

Finally I tried changing all of the connections on the EE platform to simple coincident constraints and this did the trick. Again, no idea why your "ball connection" method and the gimball connection method I tried don't work and this "coincident" method does...essentially all three methods have the same degrees of freedom.

If anyone knows why changing the last connections to coincident constraints allows it to work, I'd love to hear it...

13 REPLIES 13
Highlighted

Re: Why can't this mechanism be assembled?

Well, after playing with it, I got it to work. See attached. One minor problem is that the regen values that were initally set for the sliders might have been incompatible....they were all set for the same value but the hexagon platforms were not symmetrical so I just unchecked the regen value for the sliders.

The other problem I think has something to do with defining mechanism connections on both ends of the "links". Unfortunately, I don't know what the problem is or why it keeps disabling the last connection. I tried changing all of the ball connections to gimbal connections (hence the csys' that I added) to see if that would help but it still gave the same error and disabled the last connection. I also tried a mix of the two to no avail. You can switch them back to ball if you want.

Finally I tried changing all of the connections on the EE platform to simple coincident constraints and this did the trick. Again, no idea why your "ball connection" method and the gimball connection method I tried don't work and this "coincident" method does...essentially all three methods have the same degrees of freedom.

If anyone knows why changing the last connections to coincident constraints allows it to work, I'd love to hear it...

Re: Why can't this mechanism be assembled?

I played around with the orignal ball-joint model and got it to work by relaxing the "relative assembly tolerance" under Model Properties. But that was not so good of a solution as the alignment was off considerably.

So thanks Eric for checking into this and teaching me a new trick. It's strange that simply changing the ball connections between the blue links and the green ee-platform to "coincident" type will fix the issue. You can then even go back and re-enable the regeneration values on the cylnder slider joints for all six legs and the model seems stable.

I think there is still the outstanding problem in that Creo will probably not achieve a good assembly if the cylinder lengths are prescribed. I am aware that the forward kinematics is a tricky math problem to find the hexapod ee_platform location and orientation from the six leg lengths (something like up to 40 "feasible" solutions, if I recall correctly). I think in Solidworks, you can get a "preview" of a possible ee-platform pose and the user is given the option to try to find another one. This way one can cycle through them and choose the desired one.

Re: Why can't this mechanism be assembled?

More than once have I had trouble with the regen value checked.

Use snapshots instead to return to a known state. Regen after you reset the snapshot.

Re: Why can't this mechanism be assembled?

But how do you get to the "known state" in order to take the snapshot?

And for me, those snapshots seem to frequently go out of date.

Re: Why can't this mechanism be assembled?

Yes, snapshots too are a handful.

As for known states, you can use the old fashioned trick of using "jigs"; meaning you constrain the model with known elements and throw that away once your done with them. One thing I appreciate is that you can position a component and if nothing forces it to move, you can delete constraints or mates and it will stay there.

In your case, you might make a skeleton of sorts and drop it in there to provide that stable location.

You can also make your motion features out of triangles with variable sides (stable base). That way, you can alter each triangle to achieve motion while the struts simply share the edge or vertices of the triangle. This concept comes from assembling any number of triangles that eventually lock themselves into place.

edit; It seems you made the part more complex by making the motion trapezoidal. You have to provide leading and trailing constraints. What actually stabilizes this widget?

Re: Why can't this mechanism be assembled?

What stabilizes this mechanism is a very good question. When I started this exercise, I thought that providing the 6 cylinder lengths will "fix" the pose (location and orientation) of the ee_plaform. Essentially, I thought that Creo could solve the forward kinematics problem. However, this is what I see:

- So far as the trailing constraints are concerned: if you fix the pose of the ee-platform and ask Creo to generate the valid lengths of the six cylinders (inverse kinematics), it does just fine.

- However, considering the forward kinematic problem: Creo will allow for 4 out of 6 prescribed leg-lengths to be specified and it will come up with a valid ee-platform pose. In other situations, you'll get a cryptic error message and maybe you'll have time to spend wondering why your mechanism is not working or try ball-joints vs coincident point-point connections with varying degrees of success.

So in conclusion, I just have to state that given a ~$1,500 / year of maintenance fee one should expect more - I think the software should tell you why it can't find a solution, show you the alternatives, etc... Furthermore, I just have the impression is that Dassault Systemes/Solidworks has done its work much better than PTC/Creo...

Re: Why can't this mechanism be assembled?

Those are called "expectations" and have nothing to do with Creo

Creo is so literal that the method itself becomes exotic. And since those solution are not being worked out in software, you actually pay the $1500 annual maintenance fee so a much higher level process, the human customer support representative could help you understand how to make it work.

Yes, in fact, you can ask PTC why this isn't working as you expect, and you -should- get a reply as to why not and how it should function. It might take a while, and it might take some effort on your part, but in the end, there will be -one- answer.

one thing to remember is that Creo makes no assumptions. This is both good and bad. Only now, with Creo, there are some "hints" as to what you want in some features such as round terminations. You will have to give PTC some time to complete the ribbon protocol and actually start addressing usability.

I say much of this in jest, of course, but I have never known Pro|E to provide a guiding hand. All too often I find myself mimicking the action I want by doing the calculations for the machine.

For a simple (cough) exercise; build and constrain a scissor jack. It's doable... but if you can do it on the 1st go, you're an expert!

Re: Why can't this mechanism be assembled?

For a given platform position and orientation the cylinder lengths are only dependent on the distances between the points they are tied to; more like a measurement than inverse kinematics. I made a constrained platform that used feature flexibility to do a similar task - setting the length, slope, and turn for a swivel foot to support a platform.

I'm not sure there are alternate solutions for a system with an unconstrained degree of freedom except to produce some locus of an approximation of the infinite number of solutions, which seems much more difficult.

I do see where a given set of conditions can produce multiple solutions - for a set of leg lengths the platform can be above or below the base plate - so 2 solutions. And there are other permutations that offer other orientations, which is probably where the rest of the 40 come from. These should be removeable by limiting rod end rotations, though the coincident constraint doesn't allow for that refinement. All that is really necessary is to examine the solutions for one that is closest to the current position.

Re: Why can't this mechanism be assembled?

Hey,

i got the solution of your mechanism...;

in that 1st you have to give 6 dof to ee (green) plate,

than cylinder to ball or gimble constraint...

here i attach the solution....