A tool changer a differnt way...

More
17 Feb 2020 03:39 #157558 by pbreed
Got this working from pathpilot
Just had to modify two of tormachs files in minor ways, in addition to writing the robot code.

The following user(s) said Thank You: tommylight, jay1st, MrJTJinx

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

More
17 Feb 2020 07:13 #157564 by Mike_Eitel
I call it a ceative approach.
Is the robot program part of the lcnc and its controlled hw. Or do you uses seperate hw/sw thst is interfaced to lcnc
Mike

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

More
17 Feb 2020 07:32 #157565 by rodw
That sure is a crazy tool changer!

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

More
17 Feb 2020 11:08 #157579 by tommylight
Why do something simple when you can complicate it ! :)
Very nice, indeed !
The following user(s) said Thank You: rodw

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

More
17 Feb 2020 14:34 #157618 by pbreed
$1500 robot.
$50 Raspi
$200 misc parts and it works for my ISO-20 spindle.

The Tormach Tool Changer is $5K
and does not work for the High speed ISO-20 spindle.
This one holds 15 tools and is expandable to 20+ tools.
The following user(s) said Thank You: billskeen63

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

More
17 Feb 2020 18:13 #157645 by J Green
pbreed
My vote is great job !
Much thanks for showing your tool changer. Guessing the cycle time for a tool change is similar to that of Tormacks tool changer. But yours sure gets the tool out of the messy machining area an solves the limited number of tools ,tool holder style , possible problems.
Would be interested in more detail about the tool holder gripping fingers ,an how you do the needed indexing .
Are you willing to post the software programs for the tool changer? Thinking is so others don't need to reinvent the whole wheel again.

Hope to see more discussion of your tool changer.
Bob

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

More
17 Feb 2020 18:32 #157647 by pbreed
The gripper is the Dorna.ai standard gripper with the ends replaced with 3d printed gripper ends...
I am 100% comfortable sharing all the code, robot, pathpilot , 3d parts everything.

I'm an experienced C/C++ programmer, this is the first thing I've ever done in python. At the end of the project I hate it less than I did at the start, given that I still miss my {} and ;

This is code thrown together for my personal , one application use, in a language where I'm a complete amateur.

Given that I'm 100% willing to share with anyone that asks...
That is a bit different than putting it out in a 100% public widely distributed way with my name on it as it is not up to the standards for code I release.

I will probably put together a detailed blog post on the full mill upgrade including the tool changer and all the code modifications some time in the next month or so. After I've used it some and fixed any gotchas I discover in actual use.
The following user(s) said Thank You: tommylight, billskeen63

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

More
17 Feb 2020 18:38 #157648 by pbreed
>an how you do the needed indexing
In the latest video you can see a blue ring on the mill table....
That is a 3d printed hollowed out version of the tool grabbing of the tool holder.

I put that in the grippers then I have a simple command line driven utility that lets my cycle through all the tool positions, adjusting the position and saving it all to disk in a big array...

The original version of this file was generated in excel and edited by hand from the cad files for the tool holder rack... (the rack is in an arc, so all three levels are nominally on the self similar arcs, so the only joint change for each of the 5 positions per level is the rotation)

Once I had something close I went through all the positions with the 3d printed sight tool making slight adjustments. All positons were within 0.2" of the CAD position.

Does that answer your indexing question?

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

More
17 Feb 2020 18:44 #157650 by pbreed
For example here is the code for pick and place....
Putting a tool in or picking up the tool from a specific slot..

#f_k joint to xyz i_k xyz to joint
def pick(n):
global theRobot
global poslist
if(poslist==None):
LoadList()
dn=poslist[n];
xyz=theRobot.f_k(dn)
xyzdn=theRobot.f_k(dn)
showp(dn,"dn")
xyz[2]=16
up=theRobot.i_k(xyz)
showp(up,"up")
theRobot.open()
mp(up)
theRobot.movx(xyzdn[0],xyzdn[1],xyzdn[2]+1)
mp(dn)
theRobot.close()
theRobot.movx(xyzdn[0],xyzdn[1],16)

def place(n):
global theRobot
global poslist
if(poslist==None):
LoadList()
dn=poslist[n];
xyz=theRobot.f_k(dn)
xyzdn=theRobot.f_k(dn)
showp(dn,"dn")
xyz[2]=16
up=theRobot.i_k(xyz)
showp(up,"up")
mp(up)
theRobot.movx(xyzdn[0],xyzdn[1],xyzdn[2]+1)
mp(dn)
theRobot.open()
theRobot.movx(xyzdn[0],xyzdn[1],16)

mp is move to point...in joint coordinates...

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

More
17 Feb 2020 18:44 #157651 by pbreed
Boy that format sure got butchered in posting...

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

Moderators: cncbasher
Time to create page: 0.096 seconds
Powered by Kunena Forum