A tool changer a differnt way...
17 Feb 2020 03:39 #157558
by pbreed
A tool changer a differnt way... was created 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.
Just had to modify two of tormachs files in minor ways, in addition to writing the robot code.
Please Log in or Create an account to join the conversation.
- Mike_Eitel
- Offline
- Platinum Member
Less
More
- Posts: 1150
- Thank you received: 184
17 Feb 2020 07:13 #157564
by Mike_Eitel
Replied by Mike_Eitel on topic A tool changer a differnt way...
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
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.
17 Feb 2020 07:32 #157565
by rodw
Replied by rodw on topic A tool changer a differnt way...
That sure is a crazy tool changer!
Please Log in or Create an account to join the conversation.
- tommylight
- Away
- Moderator
Less
More
- Posts: 19025
- Thank you received: 6376
17 Feb 2020 11:08 #157579
by tommylight
Replied by tommylight on topic A tool changer a differnt way...
Why do something simple when you can complicate it !
Very nice, indeed !
Very nice, indeed !
The following user(s) said Thank You: rodw
Please Log in or Create an account to join the conversation.
17 Feb 2020 14:34 #157618
by pbreed
Replied by pbreed on topic A tool changer a differnt way...
$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.
$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.
17 Feb 2020 18:13 #157645
by J Green
Replied by J Green on topic A tool changer a differnt way...
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
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.
17 Feb 2020 18:32 #157647
by pbreed
Replied by pbreed on topic A tool changer a differnt way...
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.
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.
17 Feb 2020 18:38 #157648
by pbreed
Replied by pbreed on topic A tool changer a differnt way...
>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?
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.
17 Feb 2020 18:44 #157650
by pbreed
Replied by pbreed on topic A tool changer a differnt way...
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...
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.
17 Feb 2020 18:44 #157651
by pbreed
Replied by pbreed on topic A tool changer a differnt way...
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.123 seconds