-
Notifications
You must be signed in to change notification settings - Fork 90
Add prescribed screw motion of a dynamic sub-component #1200
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
base: develop
Are you sure you want to change the base?
Conversation
f52076f to
72bf7f0
Compare
Otherwise the font in the HTML figures look far too large. Using default font sizes makes the documentation figures at least look consistent.
schaubh
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice PR! Only some small things to look at. I pushed two commits that start with [squash] that address two RST formatting changes I'd like. Should all be very quick to apply.
|
|
||
| if (this->c_screw != 0.0) { | ||
| // Write the prescribed translation output message if screw motion is configured | ||
| PrescribedTranslationMsgPayload prescribedTranslationOut; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can write
PrescribedTranslationMsgPayload prescribedTranslationOut = {} to define this variable and have the structure zero'd in one step.
| if (this->c_screw != 0.0) { | ||
| // Write the prescribed translation output message if screw motion is configured | ||
| PrescribedTranslationMsgPayload prescribedTranslationOut; | ||
| prescribedTranslationOut = PrescribedTranslationMsgPayload(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can remove this line if you implement the above suggestion.
| -------- | ||
| This scenario demonstrates how to configure prescribed helical screw motion using the | ||
| prescribedRotation1DOF kinematic profiler module with the prescribedMotionStateEffector module. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the BSK module names can be hyperlinks to the corresponding HTML documentation. I pushed a commit that does this. You can merge this commit with this commit.
| plt.plot(prescribed_theta_1[1:], prescribed_rho_1_truth[1:], '--', label=r'$P_1$ Truth', color="teal") | ||
| plt.plot(prescribed_theta_2[1:], prescribed_rho_2[1:], label=r'$P_2$ Sim', color="darkviolet") | ||
| plt.plot(prescribed_theta_2[1:], prescribed_rho_2_truth[1:], '--', label=r'$P_2$ Truth', color="darkviolet") | ||
| plt.title(r'Prescribed Displacements VS Angles', fontsize=16) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I pushed a commit that removes all non-default font sizes. The text was too large, and the figures didn't look consistent with the rest of the documentation. I prefer for example scripts to use default fonts unless there is a strong need.
Description
This PR adds optional prescribed 1-DOF helical screw motion to the
prescribedRotation1DOFmodule, where translation and rotation are both profiled about a single axis.A
c_screwscaling term is added to the module along with arhoInittranslational displacement term, both of which must be set by the user to configure this option.The translational states are coupled with the rotational states through the
c_screwslope constant. The rotational profile is scaled by the slope constant to generate the translational states. If this option is enabled, the module outputs both thePrescribedRotationMsgPayloadmessage and an additionalPrescribedTranslationMsgPayloadmessage.Verification
An example
scenarioPrescribedScrewMotionscenario is added to theexamplesfolder. The originalprescribedRotation1DOFmodule unit test is not modified for this minor change.Documentation
The
prescribedRotation1DOFmodule documentation is updated to describe how to configure this option.Future work
N/A