Community Tip - Need to share some code when posting a question or reply? Make sure to use the "Insert code sample" menu option. Learn more! X
Hi Everyone,
I am looking for a way to essentially generate a graph of force balance (i.e. input and output force) of a linkage, for it's entire range of motion (360 degrees). For example, see the attached snap.
I can do a Force Balance analysis to achieve the result I want at discrete linkage positions, but to generate that even at 10 degree intervals is somewhat tedious. I do this by setting the input force to 1, and the load cell is at the output on the linkage.
If I do a dynamic analysis, every body must have mass and inertia, which skews the result. If I could disable inertia like gravity can be disabled, than this would not be an issue.
Is there an easy way to do this? I feel like this is an overly simple problem. I could do this with pencil and paper, but also don't want to generate tables that way with each design iteration.
This is something that has stumped me for some time with creo mechanism, so thanks in advance for your help!
Solved! Go to Solution.
Ok, so I am going to assume you need the force balance in varying positions for some more complex linkage system, like a 4 bar mechanism for example. The snap that you show will have the same force ratio from output to input regardless of the angle.
*****
The trick is to use the multi-objective Design study feature of CREO to vary the angle of the mechanism and record the force balance value as a function of the angle. You will need the behavioral modeling extension to use that feature.
First create a datum at an angle and use it for the rotation reference of your center pin joint.
Set the check box to regenerate so it always regenerates to a zero position relative to the rotation reference.
Then in mechanism create a force balance analysis as you have already done.
Also create a measure of "loadcell reaction" type - that will publish the value back out of mechanism because the force balance dialog box does not publish.
Now backing out of mechanism go to the analysis tab.
Create a "motion analysis" where the definition is your force balance analysis and your parameter is your loadcell reaction measure. Be sure to highlight the parameters needed. Hit [RUN] to populate results, then [Add feature] to put it in your model tree.
Now define a Multi-Objective Design study.
Here are the steps in the multi-Objective Design Study dialog
[File] [New]
Setup master table (menu or icon to left of !)
Under design variables choose the dimension picker and pick on your model until you have the dimension of the angle you will vary. Change the range Min and Max to what you desire such as 0 to 360 degrees.
Under Design goals [select goals] if you have defined your "motion analysis" correctly it will show a max_xxxxx:xxxx for your loadcell reaction measure (max/min will not matter for this)
choose the max_xxxxx:xxxx (the x's replace whatever called it)
I like the sampling method as Automatic which is a random type of analysis.
[OK]
Then [ ! ] to run the study, you will be asked how many records to generate, for example use 64.
Then when it is finished or even if you stop the process, the results are generated and you can graph, export to excel from the graph, etc.
Be sure to hit the save on your study (probably called DS1) so you can retrieve it later to re-run after making changes to the links.
This is very powerful once you unlock the ability to do this. You can also vary a linkage arm dimension, not just the angle as part of the study, pretty much anything parameterized by CREO. I use it to rotate an entire assembly using a spherical coordinate system to study the effect of gravity in all possible directions.
It is important of course to be sure your mechanism setup, vectors etc. are correct for any variation you try.
Enjoy!
Insanity: doing the same thing over and over again and expecting different results.
Albert Einstein
Ok, so I am going to assume you need the force balance in varying positions for some more complex linkage system, like a 4 bar mechanism for example. The snap that you show will have the same force ratio from output to input regardless of the angle.
*****
The trick is to use the multi-objective Design study feature of CREO to vary the angle of the mechanism and record the force balance value as a function of the angle. You will need the behavioral modeling extension to use that feature.
First create a datum at an angle and use it for the rotation reference of your center pin joint.
Set the check box to regenerate so it always regenerates to a zero position relative to the rotation reference.
Then in mechanism create a force balance analysis as you have already done.
Also create a measure of "loadcell reaction" type - that will publish the value back out of mechanism because the force balance dialog box does not publish.
Now backing out of mechanism go to the analysis tab.
Create a "motion analysis" where the definition is your force balance analysis and your parameter is your loadcell reaction measure. Be sure to highlight the parameters needed. Hit [RUN] to populate results, then [Add feature] to put it in your model tree.
Now define a Multi-Objective Design study.
Here are the steps in the multi-Objective Design Study dialog
[File] [New]
Setup master table (menu or icon to left of !)
Under design variables choose the dimension picker and pick on your model until you have the dimension of the angle you will vary. Change the range Min and Max to what you desire such as 0 to 360 degrees.
Under Design goals [select goals] if you have defined your "motion analysis" correctly it will show a max_xxxxx:xxxx for your loadcell reaction measure (max/min will not matter for this)
choose the max_xxxxx:xxxx (the x's replace whatever called it)
I like the sampling method as Automatic which is a random type of analysis.
[OK]
Then [ ! ] to run the study, you will be asked how many records to generate, for example use 64.
Then when it is finished or even if you stop the process, the results are generated and you can graph, export to excel from the graph, etc.
Be sure to hit the save on your study (probably called DS1) so you can retrieve it later to re-run after making changes to the links.
This is very powerful once you unlock the ability to do this. You can also vary a linkage arm dimension, not just the angle as part of the study, pretty much anything parameterized by CREO. I use it to rotate an entire assembly using a spherical coordinate system to study the effect of gravity in all possible directions.
It is important of course to be sure your mechanism setup, vectors etc. are correct for any variation you try.
Enjoy!
Insanity: doing the same thing over and over again and expecting different results.
Albert Einstein
Thank you so much for the very detailed solution! This is exactly what I have been looking for.
I do wish the setup was a little more straight forward from within the Mechanism application itself, but I am glad it is possible in some form, and I am very interested in the additional optimization abilities. I have previously used excel or Matlab functions to optimize linkage parameters, but the tedium of creating force balance and position equations usually slows me down/drives errors.
Thank you again,
-Ken
I just want to add one comment on an issue I ran into.
In running the multi-objective study, I could not find the load cell reaction force under design goals (max_xxxxx).
What I discovered is that within the motion analysis, result params can be set to create on, or create off. I'm not sure why, but the load cell was defaulting to create no. To set to yes, edit definition of the analysis, double click on Result params, and select 'YES' for the parameter that needs to be created. The parameter will then be recordable in the multi-objective study. I attached a snapshot of the window where the parameters are turned on/off.
Hope this helps someone in the future,
Good catch, They default to create - YES only if you select the loadcell parameter and hit run the first time when you create the Analysis feature. If you redefine the analysis feature because the parameters are missing (did not know you had to highlight/select them), hit next and highlight/select the parameter and run, the parameters show up but are create - NO for some really strange reason!
I added the highlight step to my previous post.
One more question, and again thank you for being so helpful.
I have started working with the optimization study function. I can do simple studies such as vary link length to achieve desired output force for a given linkage angle. What I would like to do, is optimize the output force over the range of motion, i.e. from 0 to 60 degrees the change in force is minimized.
Is there any way to optimize for measurements taken as part of a multi-objective design study? It seams I can only optimize an analysis feature. If I had everything defined dynamically, I would be able to do what I am describing I believe, by creating an analysis feature of the dynamics. I could then create a measure of max-min force and minimize that value.
Any thoughts?
Thank you,
Ken
Yes I agree you would need a dynamic study to get the max/min throughout the range and then optimize on that. You should be able to slow down the analysis, adjust the mass/inertia to be negligible, and maybe add a tiny bit of damping to one or more of the joints such that your results are quasi-static. Study varying the mass, speed, and damping to assure yourself that a little variation is not affecting results significantly. Also study varying the mechanism relative tolerance from default 0.001 to 1E-4 and 1E-5 etc to ensure no significant changes there. A tighter tolerance may also help a more complex mechanism run successfully. A looser tolerance usually runs faster.
[file][prepare][model properties][mechanism]
-James
Thanks again for previous help here. It's been awhile, but I'm now attempting to do the same multi-objective study/optimization for the dynamic model.
What I have is essentially an actuator on a four bar linkage. I was able to create a proper dynamic analysis that generates some outputs, for example the applied force at the end of the actuator, the velocity/acceleration of the end point.
I am then able to create a motion analysis that plots those values, and also shows min and max for each value.
When I go to the optimization or multi-objective study though, all I get for the values is 'INVALID'. Any idea on what could be wrong?
I have run into this and my initial thought is that a graph (multiple values) will not go through. It has to be a constant, but you already state min/max.
I remember having to dig a bit when I do this to get it to work.
here is one method. I am not sure if this will help you. create a design study - motion analysis and save it as a feature. then redefine and make sure CREATE yes is on the results you want. I believe I have seen this somehow change from yes to No in certain circumstances causing INVALID. Anyway, that is all I can think of at the moment.
This dialog is the key area to turn on the parameters from mechanism. - redefine the analysis feature to see it
Oh I should have looked back because I think you knew all these steps. I will look into this a little.
maybe..... Check if when you right click on the motion analysis feature and choose Parameters, that the measures you are looking for are shown. I think there might be a bug because when I first did this it did not create the parameters but after trying a few times, now it seems to always make them....
...after some tries... I think I found a bug that happens when the motion analysis is first created and No parameters highlighted in the dialog. (see highlighted below) Try re-creating the motion analysis and be sure to select some parameters. Then afterward check in model tree the right-click - parameters to see them.
Invalid also occurs if the joint or reference the measure used is missing in mechanism, or not valid for the type of analysis. When I hit run for this dialog charts pop up live for the measures selected.
Thanks again for the help.
I'm fairly confident I've got everything set up correctly. When I run the motion analysis, results for min and max values as well as a plot of values vs time generates. It is only when I go to an optimization or objective design study where I have an issue.
This is the screen shot of the 'invalid' error I am getting. I've tried rebuilding by model to simplify the outputs to no avail. I think I may just be pushing the software past its design.