Gimbal B Table C Kinematics Class

Moderators: TomKerekes, dynomotion

Post Reply
BattyZ
Posts: 19
Joined: Fri Jul 02, 2021 7:29 pm

Gimbal B Table C Kinematics Class

Post by BattyZ » Sun Dec 12, 2021 11:41 pm

Hello,

This last summer I started upgrading my custom CNC router to 5 axis. I went the way of GimbleCB head. Related information here:

https://dynomotion.com/forum/viewtopic. ... ebe98d7c96
http://forums.thehomefoundry.org/index. ... 777/page-2

I was still getting too much bearing play through a weak design and the wiring situation gave me nightmares. Also took out a KFLOP board via a voltage spike! So I have decided to go to tilting B axis in the head and a C axis rotary table built into the table. This way I can have a continuous C axis and most to all of the cables can be statically placed. Will look like this.
Resized952021121295171839.jpg
Resized952021121295171811.jpg
My question is if there is a kinematics file out there already for something like this? Or could I modify the existing TableAGimbleB?.. As in change out the variable names/etc to make a new class for the C axis instead of A axis following these guidelines:

https://www.dynomotion.com/wiki/index.php/Kinematics

Is it this simple or am I missing some critical math? The involved .cpp and .h files seem to do the math for all 6 axis regardless. I could be missing a lot. Still learning. Thanks for the help in advance!
-Batty

User avatar
TomKerekes
Posts: 2540
Joined: Mon Dec 04, 2017 1:49 am

Re: Gimbal B Table C Kinematics Class

Post by TomKerekes » Mon Dec 13, 2021 4:36 pm

Hi Batty,

I think you are correct. It should be a relatively simple change to change the CKinematicsTableAGimbleB class to a CKinematicsTableCGimbleB class.

I believe change:

Code: Select all

		//Perform A rotation to obtain (Xa, Ya, Za)
		Rotate3(0, 0, 0, Xt, Yt, Zt, a, 0, 0, &Xa, &Ya, &Za);	
to

Code: Select all

		//Perform C rotation to obtain (Xc, Yc, Zc)
		Rotate3(0, 0, 0, Xt, Yt, Zt, 0, 0, c, &Xc, &Yc, &Zc);	
HTH
Regards,

Tom Kerekes
Dynomotion, Inc.

BattyZ
Posts: 19
Joined: Fri Jul 02, 2021 7:29 pm

Re: Gimbal B Table C Kinematics Class

Post by BattyZ » Mon Dec 13, 2021 7:57 pm

This is what a guy really likes to hear! I will get to this and replay back. My new board shows up this week.

Thanks for the quick response, Tom.

TSRH
(this should really help)

-Batty

BattyZ
Posts: 19
Joined: Fri Jul 02, 2021 7:29 pm

Re: Gimbal B Table C Kinematics Class

Post by BattyZ » Tue Dec 14, 2021 10:17 pm

Copied and renamed the TableAGimbleB .cpp and .h files in their root directory to TableCGimbleB. Did a replace all for changing the variable names over in the respective .cpp and .h files. Added the class in CoordinateMotion.ccp and STAfx.h. Made the changes in the code as Tom illustrated. Was able to successfully build the solution!
Screenshot 2021-12-14 161033.png
Screenshot 2021-12-14 161417.png
Screenshot 2021-12-14 161417.png (3.58 KiB) Viewed 1536 times
Now I just need to cast and machine the needed parts and we will be off to testing!

Does anybody know of a good Table C Gimbal B post-processor while I am at it?

Thanks for the help Tom,

-Batty

BattyZ
Posts: 19
Joined: Fri Jul 02, 2021 7:29 pm

Re: Gimbal B Table C Kinematics Class

Post by BattyZ » Tue Dec 14, 2021 10:20 pm

Just an FYI to others who may be reading this.
Screenshot 2021-12-14 161740.png
Code has been put in so that if there is a line in the Kinematics.txt about pivot-to-chuck length it will update the corresponding variable. This will be very handy in getting the system set up or whenever the spindle has to be remounted!

Correct me if I am wrong.

-Batty

User avatar
TomKerekes
Posts: 2540
Joined: Mon Dec 04, 2017 1:49 am

Re: Gimbal B Table C Kinematics Class

Post by TomKerekes » Tue Dec 14, 2021 11:11 pm

Hi Batty,
Does anybody know of a good Table C Gimbal B post-processor while I am at it?
I don't. But its not clear to me why you need one. The idea behind the kinematics is that the GCode only needs to specify how to move the tool tip through space, and what angles the tool should be at. How that is achieved should be transparent to the CAD and GCode. There might be some side effects I'm not aware of with regard to limits or efficiency or something.


Code has been put in so that if there is a line in the Kinematics.txt about pivot-to-chuck length it will update the corresponding variable. This will be very handy in getting the system set up or whenever the spindle has to be remounted!

Correct me if I am wrong.
I think you are correct.
Regards,

Tom Kerekes
Dynomotion, Inc.

BattyZ
Posts: 19
Joined: Fri Jul 02, 2021 7:29 pm

Re: Gimbal B Table C Kinematics Class

Post by BattyZ » Mon Feb 14, 2022 3:56 pm

Does anybody know of a good Table C Gimbal B post-processor while I am at it? I don't. But its not clear to me why you need one. The idea behind the kinematics is that the GCode only needs to specify how to move the tool tip through space, and what angles the tool should be at. How that is achieved should be transparent to the CAD and GCode. There might be some side effects I'm not aware of with regard to limits or efficiency or something.
You are totally right. I was way overthinking this. Can't believe I didn't catch this. The only caveat would be an "unwind the head" feature for limited rotation heads. A guy could always right an unwind C program I bet! So really just might need the orginal rs274 post or something real close and simple. That is reassuring.

The castings/parts are slowly coming along. Getting back in gear on this.

Thanks for the help!

Post Reply