Need help Homing sequence in H-bot( CoreXY) system

More
7 years 4 months ago #138254 by nbremond
Hello,
Thanks a lot andypugh for your proposal. I really appreciate it a lot.

Concerning modifying homing.c, I understand your concerns about fully validating any modification in this part of the code. After looking at homing.c, the idea was to keep the state machine as is, and to process the joints commands through InverseKinetics or not, depending on a new option to be added to the INI file, in the homing section. This would require to modify home_start_move and home_do_moving_checks functions, and probably a little more...
Anyway, what you proposed is much easier to manage (no linuxcnc code to compile)... I like the 2nd option C.
I'll think about it and try to make a test as soon as possible in the next few days. I'll keep you posted.

Thanks for your help.
Best regards,
Bernard

Please Log in or Create an account to join the conversation.

More
7 years 4 months ago - 7 years 4 months ago #138292 by nbremond
Hello,

2 Quick questions:

- Is there any drawback (issue), for a CoreYX machine, using the trivial kinematics in the INI file settings (instead of corexykins) and performing the forward and inverse required transformations (X, Y <--> joint.0, joint.1) directly in the custom.HAL file ? I this case, I'll not need the 'is-homing' signal as the required transformation will be enabled all the time.

- I have not found the "is-homing" pin or signal in the HAL documentation (linuxcnc v2.9). Does it exists or do I have to build it ? Using what existing HAL pins ?

Thanks in advance for your help.
Best regard, Bernard.
Last edit: 7 years 4 months ago by nbremond.

Please Log in or Create an account to join the conversation.

More
7 years 4 months ago #138293 by andypugh

nbremond wrote: Is there any drawback (issue), for a CoreYX machine, using the trivial kinematics in the INI file settings (instead of corexykins) and performing the forward and inverse required transformations (X, Y <--> joint.0, joint.1) directly in the custom.HAL file

The main drawback is that following-error tracking is problematic, as the motor positions are not the same as the system is expecting.
But then this is also the case with my suggested HAL component. In fact I think that there is a good argument that your suggestion is a simpler and better solution than my HAL-layer suggestion.


I have not found the "is-homing" pin or signal in the HAL documentation (linuxcnc v2.9). Does it exists or do I have to build it ? Using what existing HAL pins ?

joint.N.homing - linuxcnc.org/docs/2.8/html/man/man9/motion.9.html (I misremembered the pin name)

Please Log in or Create an account to join the conversation.

More
7 years 4 months ago - 7 years 4 months ago #138301 by nbremond
OK. thanks,

I'll give it a try (maybee tonight) using the following HAL function (using comp) I wrote:
Code:
component corexy; pin out float joint0_; pin out float joint1_; pin out float x_; pin out float y_; pin in float X; pin in float Y; pin in float JOINT0; pin in float JOINT1; function _; description """ Perform the required coreXY forward and inverse transformations in the HAL, instead of using the KINEMATICS option of the INI file. Please set KINEMATICS = trivkins coordinates=XYZ in the INI file. """; license "GPL"; // indique la GPL v2 ou suivantes ;; FUNCTION(_) { joint0_ = X + Y; joint1_ = X - Y; x_ = 0.5*(JOINT0 + JOINT1); y_ = 0.5*(JOINT0 - JOINT1); }

And connect it between the path calculations, and the PID that has been defined for each joint (steppers) driven by my mesa 7i96 board.
This HAL function perform the same calculation as in the corexykins (forward and inverse)

I hope this will be OK !
Last edit: 7 years 4 months ago by nbremond.

Please Log in or Create an account to join the conversation.

More
7 years 4 months ago #138323 by pl7i92
the Hexapot kinetics can perform a Angel move
as 0,5(joint0 "" joint1) is a angeluar movement discription
most at 45 deg calculation
so the standard g-code woudt do a great performence on a setup with hexapod kinetik

Please Log in or Create an account to join the conversation.

More
7 years 4 months ago #138333 by nbremond
Hello,
@andypugh
I did some test tonight, and the HAL module I wrote with your help is working fine... at least at reasonable speed.
The homing is working also, along X and then along Y. This is a good news

I have attached to custom.hal and the corexy.comp files.

At higher speed (> 7000mm/mn), I get tracking errors on joint 0 and 1.
Do you any advise on how to investigate and fix tracking errors ? May this be due to the PID tuning ?

Thanks in advance.

Please Log in or Create an account to join the conversation.

Time to create page: 0.079 seconds
Powered by Kunena Forum