2.7.15
28 Feb 2020 10:30 #158737
by andypugh
The HAL shown earlier had a signal connected to pid.N.command-deriv, but there was no driver for that signal.
While command-deriv was broken and ignored, that didn't matter, but I don't think it was correct.
It's curious that the command-vel output from motion (which I think is the correct signal to drive command-deriv) lives in the "debugging pins, might be removed" section.
They were not faulty when Pncconf built them originally.
The HAL shown earlier had a signal connected to pid.N.command-deriv, but there was no driver for that signal.
While command-deriv was broken and ignored, that didn't matter, but I don't think it was correct.
It's curious that the command-vel output from motion (which I think is the correct signal to drive command-deriv) lives in the "debugging pins, might be removed" section.
Please Log in or Create an account to join the conversation.
28 Feb 2020 16:53 #158764
by cmorley
Yes that was a bad choice for the PID component. but when pncconf originally was built that was fine - in fact there are lots of pins that pncconf adds signals to but not driving pins. It does so so that added HAL code files could be more consistent.
Breaking a system because you added a signal to a pin is not user friendly.
Breaking a system because you added a signal to a pin is not user friendly.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
28 Feb 2020 19:39 #158779
by PCW
The problem was that the PID component had a bug (it ignored the command-deriv pin)
The fix implemented simply made the PID component match its long standing manual page description, that is, make the PID component calculate the command derivative internally if the command-deriv pin was unconnected but use the command-deriv pin value if connected.
This matches the feedback-deriv pin behaviour, and any other fix (mode pins etc) would likely have much broader impact.
The fix implemented simply made the PID component match its long standing manual page description, that is, make the PID component calculate the command derivative internally if the command-deriv pin was unconnected but use the command-deriv pin value if connected.
This matches the feedback-deriv pin behaviour, and any other fix (mode pins etc) would likely have much broader impact.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
28 Feb 2020 20:33 #158782
by cmorley
yes but breaking peoples systems on a released version is not helpful.
Especially since it's very difficult to find the problem, if you don't know about the special behavior.
Adding the fix to master would have been ok (Though I still disagree with the black magic)
I realize nobody did this on purpose - but telling people that adding a signal to a pin that is not connected to another driving pin is incorrect - is wrong - other then for the PID component.
Chris
Especially since it's very difficult to find the problem, if you don't know about the special behavior.
Adding the fix to master would have been ok (Though I still disagree with the black magic)
I realize nobody did this on purpose - but telling people that adding a signal to a pin that is not connected to another driving pin is incorrect - is wrong - other then for the PID component.
Chris
Please Log in or Create an account to join the conversation.
04 Mar 2020 09:14 #159173
by jazial
Hello,
some time today to try to update the machine
I've added :
# --- added for 2.7.15
net x-vel-cmd <= axis.0.joint−vel−cmd
but halfile is not interpreted after this line (all signals after this one are ignored)
In Hal viewer, net x-vel-cmd is only connected to pid.x.command-deriv
some time today to try to update the machine
I've added :
# --- added for 2.7.15
net x-vel-cmd <= axis.0.joint−vel−cmd
but halfile is not interpreted after this line (all signals after this one are ignored)
In Hal viewer, net x-vel-cmd is only connected to pid.x.command-deriv
Please Log in or Create an account to join the conversation.
Time to create page: 0.100 seconds