Cinématique avec axes "redondants" (+présentation)
- andypugh
- Offline
- Moderator
- Posts: 23538
- Thank you received: 4854
But you don't appear to be doing anything with the offset component offset input pin.
motor-position-command goes to offset in
offset feedback out goes to motion.motor-pos-feedback
offset out goes to pid as the offset command
encoder position goes to pid and to offset feedback in
then the offset offset moves the tool without the system knowing about it.
Please Log in or Create an account to join the conversation.
- vincentECN
- Offline
- Junior Member
- Posts: 25
- Thank you received: 0
I have lost track of what you are trying to do.
Yes, it because i take some time between each posts... sorry for this...
motor-position-command goes to offset in
offset feedback out goes to motion.motor-pos-feedback
offset out goes to pid as the offset command
encoder position goes to pid and to offset feedback in
But, in core_sim.hal, i don't have :
- motion.motor-pos-feedback
- encoder position
(i try first with a xyz_sim configuration.)
And i don't understand "offset out goes to pid as the offset command".
All that i have is on the picture on figure. :/
Please Log in or Create an account to join the conversation.
- vincentECN
- Offline
- Junior Member
- Posts: 25
- Thank you received: 0
It's look like there is lot of more pins and signals...
Please Log in or Create an account to join the conversation.
- vincentECN
- Offline
- Junior Member
- Posts: 25
- Thank you received: 0
(because it seems that from the beginning i used a non servo sim config... so impossible to do what i want...)
But It doesn't work (no launch). And i don't why. I don't understand the debug file. There is a problem with EMCTASK ?
How can i fix this ?
Below, the message form terminal. And in attachment, debug files and servo_sim.ini.
kel@kel:~$ /home/kel/CPP-workspace/linuxcnc-kelmod251/scripts/linuxcnc
LINUXCNC - 2.5.1-Kelvin_FoFdation-2013.03.11
Machine configuration directory is '/home/kel/linuxcnc/configs/sim/tklinuxcnc'
Machine configuration file is 'servo_sim.ini'
Starting LinuxCNC...
io started
halcmd loadusr io started
task pid=8201
emcTrajSetJoints failing: joints=0
Error in startup script: can't find package Linuxcnc
while executing
"package require Linuxcnc"
(file "/home/kel/CPP-workspace/linuxcnc-kelmod251/tcl/tklinuxcnc.tcl" line 21)
Shutting down and cleaning up LinuxCNC...
emcTrajSetJoints failing: joints=0
/home/kel/CPP-workspace/linuxcnc-kelmod251/bin/milltask (pid 8201) died on signal 11, backtrace stored in /tmp/backtrace.8201
/home/kel/CPP-workspace/linuxcnc-kelmod251/bin/milltask exiting
/home/kel/CPP-workspace/linuxcnc-kelmod251/scripts/linuxcnc: line 396: 8201 Segmentation fault $EMCTASK -ini "$INIFILE"
Cleanup done
LinuxCNC terminated with an error. You can find more information in the log:
/home/kel/linuxcnc_debug.txt
and
/home/kel/linuxcnc_print.txt
as well as in the output of the shell command 'dmesg' and in the terminal
Thank you for your help.
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23538
- Thank you received: 4854
Error in startup script: can't find package Linuxcnc
Just sounds strange.
Please Log in or Create an account to join the conversation.
- vincentECN
- Offline
- Junior Member
- Posts: 25
- Thank you received: 0
Error in startup script: can't find package Linuxcnc
Just sounds strange.
Oui. C'est bizarre.
With other version of LinuxCNC, i don't have the same error.
kel@kel:~$ /home/kel/Desktop/Launchers/test-release-251.run
LINUXCNC - 2.5.1
Machine configuration directory is '/home/kel/linuxcnc/configs/sim/tklinuxcnc'
Machine configuration file is 'servo_sim.ini'
Starting LinuxCNC...
servo_sim.hal:62: Pin 'joint.0.motor-pos-fb' does not exist
Shutting down and cleaning up LinuxCNC...
Cleanup done
or also
kel@kel:~$ /home/kel/Desktop/Launchers/test.run
LINUXCNC - master-2012.07.18 ARAIS ROBOT TECHNOLOGY
Machine configuration directory is '/home/kel/linuxcnc/configs/sim/tklinuxcnc'
Machine configuration file is 'servo_sim.ini'
Starting LinuxCNC...
io started
halcmd loadusr io started
servo_sim.hal:277: Pin 'motion.probe-input' does not exist
Shutting down and cleaning up LinuxCNC...
Cleanup done
Do you have a config servo_sim who work correctly ?
(It seems that there is several version. Some with "axis.N.motor-pos-fb" instead of "joint.N.motor-pos-fb" for example.)
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23538
- Thank you received: 4854
You could just write one, without all the stuff required to make a simulator look like the real thing there isn't that much to a config.Do you have a config servo_sim who work correctly ?
But a servo-sim is strange and difficult because there is no real encoder feedback to satisfy the PID.
There is also the issue that the sim configs won't show anything with the suggestions I have made, LinuxCNC is completely unaware of the second axis and so won't show anything happening on screen.
If you had actual motors connected then you would see the offset move things, but there won't be anything to see in a simulator.
That is a further complication. It sounds like you have a number of different versions of LinuxCNC including some from the Joints_Axes branches which separate the concepts of joints (actuators) and Axes (XYZ directions)(It seems that there is several version. Some with "axis.N.motor-pos-fb" instead of "joint.N.motor-pos-fb" for example.)
I think you need to start at the beginning decide what you want to do, then do it.
Please Log in or Create an account to join the conversation.
- vincentECN
- Offline
- Junior Member
- Posts: 25
- Thank you received: 0
But a servo-sim is strange and difficult because there is no real encoder feedback to satisfy the PID.Do you have a config servo_sim who work correctly ?
There is also the issue that the sim configs won't show anything with the suggestions I have made, LinuxCNC is completely unaware of the second axis and so won't show anything happening on screen.
If you had actual motors connected then you would see the offset move things, but there won't be anything to see in a simulator.
Yes. But the problem is that i need to test first on a simulated machine. Because my real machine is a industrial size one. So it's too dangerous and test directly on this one. It's for this taht i'm looking for a 3 axis sim config near of my machine to do the modification of hal.
And, in real test, i will not an motor, but only one encoder on a cross table (taht i can moove manually).
That is a further complication. It sounds like you have a number of different versions of LinuxCNC including some from the Joints_Axes branches which separate the concepts of joints (actuators) and Axes (XYZ directions)
I think you need to start at the beginning decide what you want to do, then do it.
Yes, in fact, there was a project before me. An engineer did a lot of work and developement on Linuxcnc. So I picked up his final virtuel box with these Linuxcnc version. It will be difficult to start from the beginning.
Si, if i understand, i have to try to simplify the servo_sim config ? (i want to test to add the offset component like you said). But maybe i will not see anything ? (I just want to disturb the feedback of position, and see if the machine go to the same goal. For exmple, if the machine have to stay on X0, if i had a distrubance with a suplemntary encoder on axis X (of 1 mm for example), i want taht the machine come back on 0. I hope that is possible on simulation. The "normal encoder" will be at 0 at the beginning, but will compensate with the orther encoder on the same axe, so activate the motor and do a displacement of 1 (and have a sum of 0, on feedback... )
Please Log in or Create an account to join the conversation.
- andypugh
- Offline
- Moderator
- Posts: 23538
- Thank you received: 4854
For exmple, if the machine have to stay on X0, if i had a distrubance with a suplemntary encoder on axis X (of 1 mm for example), i want taht the machine come back on 0. I hope that is possible on simulation. The "normal encoder" will be at 0 at the beginning, but will compensate with the orther encoder on the same axe, so activate the motor and do a displacement of 1 (and have a sum of 0, on feedback... )
If that is what you want then you don't need the offset component.
All you need to do is to have two encoder counters, one as normal on the motor for axis control. The other goes on your hand-operated leadscrew and has the correct scale for the motion, but with a negative scale.
You then need to add the two encoder positions together before passing them to the PID.feedback pin _and_ the axis.0.motor-pos-fb pin.
It would be possible to set up a simulator to deomonstrate this, but the HAL that makes the simulation work would be at least as complicated as the machine-control HAL. Possibly more so as it is trying to simulate a machine.
Even if you did simulate it, all you would see in the simulation would be the pid output increasing then going to zero when you operate the second encoder.
Please Log in or Create an account to join the conversation.
- vincentECN
- Offline
- Junior Member
- Posts: 25
- Thank you received: 0
If that is what you want then you don't need the offset component.
All you need to do is to have two encoder counters, one as normal on the motor for axis control. The other goes on your hand-operated leadscrew and has the correct scale for the motion, but with a negative scale.
You then need to add the two encoder positions together before passing them to the PID.feedback pin _and_ the axis.0.motor-pos-fb pin.
Yes ! It's exactly what I want to do !
It would be possible to set up a simulator to deomonstrate this, but the HAL that makes the simulation work would be at least as complicated as the machine-control HAL. Possibly more so as it is trying to simulate a machine.
It's that i begin to understand now... but as i said, i'm affraid to do a wrong change and damage the machine (like one joint will diverge and go very fast on limits).
Maybe I can try to change the HAL file, and i will send on this forum, to know if there is a risk.
Even if you did simulate it, all you would see in the simulation would be the pid output increasing then going to zero when you operate the second encoder.[/quote
I don't understand this part.
I want to know if you think it's possible to see the case 3 on the pictures in attachment. (we can imagine the encoder counter, as normal on the motor, stay at 0, and a manual shift that i add to hal file (to simulate an other encounder) to simulate a +1 on X. I will see a light shift on screen (X go to one and come back to 0) ?
In any case, thx for all your responses.
Please Log in or Create an account to join the conversation.