Hinges put themselves over +90 degree while self-correcting for a singular limit
Glossary
- singular limit: when Hing's both Lower and Upper Limits are set to the same value, e.g. 0 degree
- self-correcting: when Hing's current angle is over its specified limits, that Hinge will rotate automatically to be within that - it needs to get power and be Toggled on.
Reproduce steps
- Have a Hinge with Braking torque set to the same value as its Torque - thus when turn off, it will keep its angle, but it still can move when needed and powered.
- Put it in any angle greater than -85 degree, and set any non-zero Velocity, then Toggle it off.
- Set a singular limit at an angle which is smaller than: current - 5 deg, e.g. -90 degree.
- Power on that Hinge and observe how it tries to "turn itself right side out".
Here are two examples of this bug. Background Hinge shows the desired position defined by the singular-limit of visible Hinge, and then observed results after foreground is Toggled on. There are two cases with positive and negative Velocity to show that it is not dependent on its value.
Notes
- This broken behavior always happens when the singular limit is in the negative direction of movement from the current angle of Hinge.
- When the singular limit is in the positive direction, a Hinge self-corrects rightly regardless of its sign of Velocity - e.g. angle is -90 degree and limits at -45 degree; or angle is 6 degree and limits at 90 degree.
- In case of setting the singular limit within less than 5 degree from the current angle of Hinge (regardless of direction or Velocity), that Hinge will automatically "snap" itself into expected position (even thought it still Toggled off).
I've also prepared a test world to check that behavior, and blueprint of example grid:
- https://steamcommunity.com/sharedfiles/filedetails/?id=2784710429
- https://steamcommunity.com/sharedfiles/filedetails/?id=2784705925
One can wonder why I need to set that singular-limit on my Hinges. Well, I'm designing a self-collapsing mining arm, which should wind up itself into its sleeve. Thus, I've come up with the idea that I can use Timer blocks to narrow the limits of my Hinges to 0 degree, which should make my arm to straighten up and allow Pistons to easily retract it. But now, to execute that trick, I need to use additional Sensors to put Hinges at negative angle, so it will not break itself with this bug.
I would not need any of that, if those mechanical blocks could be set to specific position values from Timer blocks, i.e. features implemented from topics:
- https://support.keenswh.com/spaceengineers/pc/topic/allowing-timer-blocks-to-set-accurate-values-on-functional-blocks
- https://support.keenswh.com/spaceengineers/pc/topic/origin-point-for-rotors-and-hinges
- https://support.keenswh.com/spaceengineers/pc/topic/adding-commands-for-mechanical-blocks
- https://support.keenswh.com/spaceengineers/pc/topic/make-hinges-optionally-angle-driven
Hello, Dominik,
thanks for letting us know and for the world where this can be tested and the issue observed.
I did put it into our internal system.
Kind Regards
Keen Software House: QA Department
Hello, Dominik,
thanks for letting us know and for the world where this can be tested and the issue observed.
I did put it into our internal system.
Kind Regards
Keen Software House: QA Department
Replies have been locked on this page!