-
Notifications
You must be signed in to change notification settings - Fork 51
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
Added simple test that ensures accelerations constraints are met. #44
Conversation
ae91880
to
98b8b89
Compare
b90fd7b
to
845756f
Compare
Looks like there is a conflict in one of the files; the last change in the file was in #47 - maybe things got messed up in working in two branches ? |
650c46a
to
528c25d
Compare
2acddd5
to
f962e80
Compare
You might now need to re-base this pull request to incorporate the planner test changes. |
Codecov Report
@@ Coverage Diff @@
## master #44 +/- ##
==========================================
+ Coverage 44.34% 45.20% +0.86%
==========================================
Files 38 38
Lines 4122 4174 +52
==========================================
+ Hits 1828 1887 +59
+ Misses 2294 2287 -7
Continue to review full report at Codecov.
|
688c7db
to
ad35afb
Compare
Has you suggested, let's add another test checking the behavior for different planning buffer capacities. |
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.
This looks very good!
Here a first round of comments.
With this change, the test with the square that is compared with single-segment lines vs. multi segment lint
Is now properly accelerating and starting to decelerate in the middle. However, wouldn't we expect the speed profile now be exactly the same ? From the visualization it looks like that the small-segment version accelerates and decelerates quicker, leaving a longer stretch of fast movement ("yellow") in the middle. It looks like the postscript output has the same color/speed legend, so what is different ? |
38560f5
to
8adde18
Compare
… avoid multiline warning
…ame defining axis
I made a small python utility to compare the speed/steps plots of two gcode strings, these are the results for the two ways of doing a straight line: They seem to nicely overlap. I guess gcode2ps doesn't really interpolate the colors based on the speed. It must be doing some linear interpolation if a single segment is provided (instead of using the sqrt function). This is not true for the simulation backend. |
Hi Leonardo,
I have been busy redesigning our larger motion control system and have not been able to actively follow your acceleration stuff.
Is this ready for testing on actual hardware or are you still working on the test code? I can give it a spin on my hardware when it’s ready and give you feedback on how it physically looks.
Regards,
Hartley
From: Leonardo Romor ***@***.***>
Sent: Saturday, April 2, 2022 4:28 AM
To: hzeller/beagleg ***@***.***>
Cc: Subscribed ***@***.***>
Subject: Re: [hzeller/beagleg] Added simple test that ensures accelerations constraints are met. (#44)
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
With this change, the test with the square that is compared with single-segment lines vs. multi segment lint
* One-segment lines square-moves-direct.gcode<https://github.com/hzeller/beagleg/blob/master/src/testdata/square-moves-direct.gcode>
* Multi segment lines square-moves-small-segments.gcode<https://github.com/hzeller/beagleg/blob/master/src/testdata/square-moves-small-segments.gcode>
Is now properly accelerating and starting to decelerate in the middle. However, wouldn't we expect the speed profile now be exactly the same ? From the visualization it looks like that the small-segment version accelerates and decelerates quicker, leaving a longer stretch of fast movement ("yellow") in the middle. It looks like the postscript output has the same color/speed legend, so what is different ?
[square-moves]<https://user-images.githubusercontent.com/140937/155919856-bd69dbe5-71b8-475f-8ce8-84e362b1cd50.gif>
I made a small python utility to compare the speed/steps plots of two gcode strings, these are the results for the two ways of doing a straight line:
[image]<https://user-images.githubusercontent.com/1597330/161380891-eb960636-6ab0-49bd-aefa-d5e4a46d8eb9.png>
They seem to nicely overlap. I'll try to dig deeper.
—
Reply to this email directly, view it on GitHub<#44 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AAMSUIN47QY2OTHHK7EPXMLVDAVM3ANCNFSM44BUV6QA>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.******@***.***>>
|
Yes, the improved acceleration/deceleration code should be ready now. Lines with many small segments (such as circles or arcs) that previously would result in an abrupt deceleration at the last segment, are now starting to decelerate early enough to meet deceleration constraints. I've run it on an actual machine and its moves and deceleration are smooth. Code is slightly slower than before because of more calculations, but that only really shows in direct performance comparisons without a physical machine attached and shouldn't impact real-world speed (though we have it on the TODO list to see what can be improved). The install document also has been updated to describe how to install BeagleG on a current Beaglebone Debian image. |
No description provided.