How do I establish a custom zero for a rotational constraint?

How do I establish a custom zero for a rotational constraint?

Anonymous
Not applicable
2,146 Views
15 Replies
Message 1 of 16

How do I establish a custom zero for a rotational constraint?

Anonymous
Not applicable

I want to move the zero degree orientation in a rotational constraint to that of my choosing, rather than accept the default.

 

Can it be done?

 

If so, how?

 

Thanks! 

0 Likes
Accepted solutions (2)
2,147 Views
15 Replies
Replies (15)
Message 2 of 16

johnsonshiue
Community Manager
Community Manager

Hi! I am sorry I am a bit confused with this request. Is this about Constraint or Joint? Can you share an image or the files describing the request?

Many thanks!



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
0 Likes
Message 3 of 16

Anonymous
Not applicable

I'm sorry for my use of the wrong term.  I am working with Rotational Joints (not constraints).

 

My specific application is a model of a Fanuc robot we are designing a work cell for.  Please see that attached screen shot.

 

When in the position shown, Fanuc defines the joints to be at zero degrees.  I would like my model to also indicate zero degrees.

 

As you can see from the screen shot, my model is at 156 degrees, instead of zero.

 

Thanks for your interest in this question!

 

- Ron

0 Likes
Message 4 of 16

johnsonshiue
Community Manager
Community Manager

Hi! Couldn't you change the start value to something like -90 and then change the current value to 0?

Many thanks!



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
0 Likes
Message 5 of 16

Curtis_Waguespack
Consultant
Consultant

Hi Cadeavis,

 

I have to deal with this often when automating things where the angle in the CAD files are based on geometry and do not match the inputs that the user of the automation expects to see.


What I do is create work axes and planes to set up a datum that match the user expected zero, and then I constrain the models to those work features. Then I change the parameter that drives the plane, rather than the joint/constraint.

 

I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com

EESignature

0 Likes
Message 6 of 16

TheCADWhisperer
Consultant
Consultant

In DS Environment right click and Set Offset.  Smiley Wink

0 Likes
Message 7 of 16

Anonymous
Not applicable

I don't think that works, since the default angle is still based on some internal geometry.   Changing the min and max does not affect the current angle, it just limits what the current angle can be.

0 Likes
Message 8 of 16

Anonymous
Not applicable

Hummm...  Hadn't thought of this.   I do need to manipulate the angles with iLogic, though.  Can that be done with your suggestion?

0 Likes
Message 9 of 16

JDMather
Consultant
Consultant

@Anonymous wrote:

...manipulate the angles with iLogic, though. 


Input Grapher.

 

Although it might be interesting to tie together iLogic with Input Grapher.

I do not recall ever reading of anyone even making an attempt to do this - so I have no idea if it is possible.

Interesting!

 

The midterm exam for my class is for the students to manipulate a robot arm through the Input Grapher to pick and place a block.


-----------------------------------------------------------------------------------------
Autodesk Inventor 2019 Certified Professional
Autodesk AutoCAD 2013 Certified Professional
Certified SolidWorks Professional


0 Likes
Message 10 of 16

Curtis_Waguespack
Consultant
Consultant

Hi Cadeavis,

 

Here's a quick example of what I was talking about.

 

I can't use an angle constraint directly on the red part and the grey part because the angle's zero would be oriented to the red part, which is in this case askew.

 

So by creating a work plane and driving the workplane angle I can have it's zero set to be oriented with the assembly, so that when the user works the ilogic control its zero is the "home" position, which in this case is straight up.

 

I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com

 

 

EESignature

0 Likes
Message 11 of 16

Anonymous
Not applicable

Curtis,

 

Your suggestion to use work planes seems to work best, so far.

 

Unlike your example, though, I have to orient the various parts relative to one another, not a plane in the assembly.  That's because the robot has 6 axis that all most work independently of one another.

 

Maybe that's whey I am getting some funny results sometimes when I need to use a negative angle.

 

I set up an iLogic form with sliders for each of the 6 axis on the robot, like yours.   Sometimes, but not all the time, when I slide down to zero and then to a negative number, the part will run in the negative angle and them jump back to positive, even though the variable, as defined by the slider, continues toward a lower number.   It's as though the slider defined variable is an absolute number.

 

Any thoughts about that?

 

Thanks!

 

- Ron

0 Likes
Message 12 of 16

Curtis_Waguespack
Consultant
Consultant
Accepted solution

@Anonymous wrote:

  Sometimes, but not all the time, when I slide down to zero and then to a negative number, the part will run in the negative angle and them jump back to positive, even though the variable, as defined by the slider, continues toward a lower number.   It's as though the slider defined variable is an absolute number.

 


Hi Cadeavis,

 

I've had this happen as well, there are at least 3 reasons that come to mind

  1. a parameter driving an angle constraint based on another angle constraint ("stacked angles"
  2. a parameter driving an angle constraint that does not use the explicit reference option
  3. a parameter driving a sketch line that goes to zero, and then flips the wrong direction when it is set to something other than zero

 

For issue 3:

Work planes have a positive and negative direction and so if I have to drive a parameter that is based on a sketch for instance I first create an offset work plane, then project it as a sketch line, then I can drive the work plane offset parameter to drive the sketch, without worrying about the parameter solving in the wrong direction when it is set back to zero, and then set to something else.

 

For issue 2, simply always use the explicit reference option 

 

For issue 1, I use work planes to define the angle and drive that parameter, and then use mates or flushes to constraints to those parts, rather than adding an angle constraint between the part and the work plane, that way I'm not "stacking" angles to be solved on each other.

 

However, I have had a couple of models involving lofted surfaces that I could not get work planes/axes/points to solve predictably when driving the parameters around 360 degrees, as it would flip on me at 0 and 180. I don't recall the exact solution now, but I think I had to create a sketched line in the part model and extrude it as a planar surface, and use that as a "work plane"  ... or something along those lines.

 

Anyway, I might be getting off into the weeds with all of that, but my point is that I think work planes are the best way to create your "custom zeros". If those planes have to be based off of other parts, no worries that works fine also. In the images below I created the work plane based off of the red part. In the first image I wanted zero to be vertical so I used the end face of the red part, in the 2nd image I wanted zero to be horizontal so I used the top face of the red part to create the work plane.

 

The other "messier" approach I've encountered to creating a "custom zero" is to create a user parameter to use in the form, and have a rule do the math to account for the odd start angle. Meaning that if I had a joint that had a "home" value of 45 degrees, I'd create a custom parameter to drive the user form, and have a rule add or subtract 45 degrees from the custom parameter and then set that value to the joint parameter.

 

If you can post your model I'll take a look and see if I can determine something specific.

 

I hope this helps.
Best of luck to you in all of your Inventor pursuits,
Curtis
http://inventortrenches.blogspot.com

 

 Ang2.PNGAng1.PNG

EESignature

0 Likes
Message 13 of 16

Anonymous
Not applicable
Accepted solution

Curtis,

 

I have attached a Pack-N-Go of this model of a Fanuc 2000iA robot.   The position shown, here, is what Fanuc considers to be the home position, with axis' zeroed.

 

I did as you suggested and created user planes for each motion, with one plane on each of the two mated parts.  The sliders in the Form allow you to adjust all 6 axis'.  You can also ground each component or you can suppress each of the angle constraints, which allows you to drag the robot arms with your mouse.

 

Although this basically does what I need, but it still gets confused about positive and negative angles.

 

Please try it and let me know if you can think of a better way.

 

Thanks!

 

 - Ron

 

 

Robot.jpg

0 Likes
Message 14 of 16

WHolzwarth
Mentor
Mentor

Hmm. Isn't that not only a matter of selecting proper faces?

´Fanuc Robot.jpg

Walter Holzwarth

EESignature

0 Likes
Message 15 of 16

Anonymous
Not applicable

Walter,

 

I tried simply selecting faces, but got unpredictable results when I set up all six axis.  Setting up use planes for each axis was more reliable.

 

REMAINING PROBLEM: Since I'm trying to match the position reference system Fanuc uses to communicate with their robots, I need to use both positive and negative angles.  That means Inventor still gets confused at times.   (e.g. It thinks  -20 degrees is +20 degrees.)

 

It would probably be better to set up the model to only use positive angles, and convert any use input (both positive and negative) to the appropriate positive angle the model uses.   I'm not sure how that would work with sliders as a user input.

 

Thanks for your participation!

 

- Ron

Message 16 of 16

WHolzwarth
Mentor
Mentor

Ron, this iLogic Form is interesting. I don't completely understand, how you did it.

But I noticed, that you've been using angle constraints with explicite reference vector. That's the best angle constraint definition, but shouldn't the reference vector point orthogonal relative to both others?

I suppose, that's causing the angle direction changing problems.

Walter Holzwarth

EESignature

0 Likes