Hi, I am considering using an R series 10 KG robot for 3D printing. ABB and KUKA seem to have the most backing in the additive space, but I was wondering if anyone has heard of a Kawasaki implementation for this purpose? Are there any major hurdles to using Kawasaki vs the other two? I plan to install a pellet extruder as the tool. Thanks in advance!
Kawasaki R series for 3D printing?
- Kingphisher
- Thread is Unresolved
-
-
Hi! I have an experience with 3D-printing on Kawasaki robot. AFAIK, Kawasaki doesn't have any special support for additive technology. I did everything by myself. I just wrote a gcode to AS language translator on Python and used a BOSCH servo drive for plastic feeders.
-
Very interesting and I am finding the same thing about not having specific additive support. Which model robot and controller are you using and how are you controlling extruder output as it relates to robot motion and speed? I have spoken with several people and some are using analog out signal and others said Ethernet is an option. I have a lot of 3D printing experience but robots are completely new to me and this stands to be a steep learning curve! I would like to control the extruder through the robot controller if possible and it is looking like I will have an E01 controller if I go with the Kawasaki. Robodk has the robots I am looking at in their library an can be used for the code conversion.
-
Like most of the major brands, Kawasaki supports an output signal that is proportionate to the velocity of the TCP in real time. This was originally created to support paint/dispense/adhesive type operations, to "throttle" the material extrusion rate to match the robot's actual speed.
I haven't used it in 20+ years, so I'm not sure how much it has advanced since the old days. But I did recently use the equivalent output signal on a Fanuc to build an ad-hoc 3D printer, and it worked surprisingly well.
Due to material inertia and various lag times, you'll want to look at whether the Kawasaki supports predictive control, where the path planner knows that it's going to have to slow down for a corner, and starts reducing the flow rate in advance (by a tunable offset). That'll be important to getting the best possible control.
You'll also need to check if your Kawasaki supports that option -- I think all Kawasaki controllers supported at least the most basic version of it, back in the day, but there may be some option packages that are needed to get the more advanced levels of control.
-
Very interesting and I am finding the same thing about not having specific additive support. Which model robot and controller are you using and how are you controlling extruder output as it relates to robot motion and speed? I have spoken with several people and some are using analog out signal and others said Ethernet is an option. I have a lot of 3D printing experience but robots are completely new to me and this stands to be a steep learning curve! I would like to control the extruder through the robot controller if possible and it is looking like I will have an E01 controller if I go with the Kawasaki. Robodk has the robots I am looking at in their library an can be used for the code conversion.
So, I used RS007L robot on F-Controller and BOSCH PLC for controlling feeder drives and printing head. I connect robot and PLC by Ethernet/IP protocol. (And, also, I tried BX on E-controller ) About controlling the extruder: I had a PC program in which I calculate the distance that robot passed for a very short cycle time and send this distance to the feeder drive (with calibration coefficient). Of course, there is a small delay, but experiences shown that it's not a problem. Calibration is simple. I execute an DRAW 100 instruction and measure, how much plastic was extruded and then I get a fraction which is a required coefficient.
Here's a short part of my code I was talking about.
WHILE SIG(i_head_on) DO
; Calculation of passed time from the last iteration
TWAIT 0.004
HERE .robot_pos
.passed_time = TIMER (1)
TIMER (1) = 0
; Calculation of feeders relative values
.delta = DISTANCE (.robot_pos, .last_robot_pos)
.feed_a_shift = feed_a_k * .delta
.feed_b_shift = feed_b_k * .delta
; Sending data to PLC
BITS o16_feed_a, 16 = .feed_a_shift
BITS o16_feed_b, 16 = .feed_b_shift
BITS o16_timestamp, 16 = .passed_time
; Update the last position
POINT .last_robot_pos = .robot_pos
END
(Sorry, I can't send a whole project, because it contains confidential information, but you can take a look at some more photos here https://drive.google.com/drive…piOevZOq4zMg1?usp=sharing)
-
Like most of the major brands, Kawasaki supports an output signal that is proportionate to the velocity of the TCP in real time. This was originally created to support paint/dispense/adhesive type operations, to "throttle" the material extrusion rate to match the robot's actual speed.
I haven't used it in 20+ years, so I'm not sure how much it has advanced since the old days. But I did recently use the equivalent output signal on a Fanuc to build an ad-hoc 3D printer, and it worked surprisingly well.
Due to material inertia and various lag times, you'll want to look at whether the Kawasaki supports predictive control, where the path planner knows that it's going to have to slow down for a corner, and starts reducing the flow rate in advance (by a tunable offset). That'll be important to getting the best possible control.
You'll also need to check if your Kawasaki supports that option -- I think all Kawasaki controllers supported at least the most basic version of it, back in the day, but there may be some option packages that are needed to get the more advanced levels of control.
This is very helpful information! I will reach out to them today to find out if predictive control is inherent in the controller itself and if not is there a module that can be added.
-
So, I used RS007L robot on F-Controller and BOSCH PLC for controlling feeder drives and printing head. I connect robot and PLC by Ethernet/IP protocol. (And, also, I tried BX on E-controller ) About controlling the extruder: I had a PC program in which I calculate the distance that robot passed for a very short cycle time and send this distance to the feeder drive (with calibration coefficient). Of course, there is a small delay, but experiences shown that it's not a problem. Calibration is simple. I execute an DRAW 100 instruction and measure, how much plastic was extruded and then I get a fraction which is a required coefficient.
Here's a short part of my code I was talking about.
WHILE SIG(i_head_on) DO
; Calculation of passed time from the last iteration
TWAIT 0.004
HERE .robot_pos
.passed_time = TIMER (1)
TIMER (1) = 0
; Calculation of feeders relative values
.delta = DISTANCE (.robot_pos, .last_robot_pos)
.feed_a_shift = feed_a_k * .delta
.feed_b_shift = feed_b_k * .delta
; Sending data to PLC
BITS o16_feed_a, 16 = .feed_a_shift
BITS o16_feed_b, 16 = .feed_b_shift
BITS o16_timestamp, 16 = .passed_time
; Update the last position
POINT .last_robot_pos = .robot_pos
END
(Sorry, I can't send a whole project, because it contains confidential information, but you can take a look at some more photos here https://drive.google.com/drive…piOevZOq4zMg1?usp=sharing)
Wow, this is pretty amazing! Thank you for sharing and I completely understand about not being able to share everything. It looks like you have already achieved non-planar printing which is the whole reason I am trying to use a robot arm instead of a traditional gantry style printer! I am in the prosthetics industry and want to get to non planar printing to produce stronger end-use parts for patients. I need to do some more research on PLC controllers. It seems that the turn-key solutions are using them as the controllers for the system just as you are doing. If I can start by being able to control the extrusion rate through the robot controller itself I think I may have to do that initially. I can control the temperature through simple PID controllers to start if needed, though that would not be my preferred end solution. I learn something new about this every day from here and I appreciate all the tidbits of information!
-
Wow, this is pretty amazing! Thank you for sharing and I completely understand about not being able to share everything. It looks like you have already achieved non-planar printing which is the whole reason I am trying to use a robot arm instead of a traditional gantry style printer! I am in the prosthetics industry and want to get to non planar printing to produce stronger end-use parts for patients. I need to do some more research on PLC controllers. It seems that the turn-key solutions are using them as the controllers for the system just as you are doing. If I can start by being able to control the extrusion rate through the robot controller itself I think I may have to do that initially. I can control the temperature through simple PID controllers to start if needed, though that would not be my preferred end solution. I learn something new about this every day from here and I appreciate all the tidbits of information!
If you don't want to use external PLC, you can use robot for controlling the printing head and feeders. You can consider using the Kawasaki External Motor option for controlling the feeders and generate code already with the feeders value. Robot with some options has enough possibilities for that task. I used PLC because I had it at the time of developing And about non-planar printing. I tried to print only mathematically described objects (I didn't use any CAM system) and it works fine.
P.S. Wow, prosthetics industry is very perspective and useful! Wish you a great luck in your researches!
-
If you don't want to use external PLC, you can use robot for controlling the printing head and feeders. You can consider using the Kawasaki External Motor option for controlling the feeders and generate code already with the feeders value. Robot with some options has enough possibilities for that task. I used PLC because I had it at the time of developing And about non-planar printing. I tried to print only mathematically described objects (I didn't use any CAM system) and it works fine.
P.S. Wow, prosthetics industry is very perspective and useful! Wish you a great luck in your researches!
Are you pleased with your overall results using the Kawasaki RS007L for 3D printing? I am looking into the RS010L and the RS013 as potential solutions. The extruder I want to use is 7.5 KG. Did you do anything special to account for sag to increase accuracy? I know that this is going to be a difficult project because robots are entirely new to me, but I think I am up for the task if I can gain enough information. Thanks!
-
Are you pleased with your overall results using the Kawasaki RS007L for 3D printing? I am looking into the RS010L and the RS013 as potential solutions. The extruder I want to use is 7.5 KG. Did you do anything special to account for sag to increase accuracy? I know that this is going to be a difficult project because robots are entirely new to me, but I think I am up for the task if I can gain enough information. Thanks!
For my purposes accuracy of robot was enough. To increase it, you should set the tool coordinates and inertia parameters very precise. And, of course, you need to make some robot speed fine tuning.
-
You'll probably want to be looking at a full blown sealing application robot or a standard handling application robot with the basic sealing application options enabled.
Kawasaki will supply either if specified during ordering.
-
Like most of the major brands, Kawasaki supports an output signal that is proportionate to the velocity of the TCP in real time. This was originally created to support paint/dispense/adhesive type operations, to "throttle" the material extrusion rate to match the robot's actual speed.
I haven't used it in 20+ years, so I'm not sure how much it has advanced since the old days. But I did recently use the equivalent output signal on a Fanuc to build an ad-hoc 3D printer, and it worked surprisingly well.
Due to material inertia and various lag times, you'll want to look at whether the Kawasaki supports predictive control, where the path planner knows that it's going to have to slow down for a corner, and starts reducing the flow rate in advance (by a tunable offset). That'll be important to getting the best possible control.
You'll also need to check if your Kawasaki supports that option -- I think all Kawasaki controllers supported at least the most basic version of it, back in the day, but there may be some option packages that are needed to get the more advanced levels of control.
Kawasaki confirmed that predictive control is a standard feature in all of their controllers🙂.
-
You'll probably want to be looking at a full blown sealing application robot or a standard handling application robot with the basic sealing application options enabled.
Kawasaki will supply either if specified during ordering.
My quote was for a standard robot. Kawasaki no longer does integration themselves in the US per discussion I had with them last week. You buy the robot and either self integrate or partner with a robot integrator (they have an internal list they can provide). So it appears that they have these features in the controller already (I asked about predictive control that skyfire suggested yesterday). If I am going to take on this project, I will need to learn the robot and self integrate for the most part due to budget. For this reason I also have not ruled out getting a used robot to start with. The question I have is is it possible the gain enough knowledge and help through online resources to realistically integrate a Kawasaki robot (new or used) for 3D printing having had no previous experience with robots? I am pretty sure I could do it if I had enough guidance.
-
My quote was for a standard robot. Kawasaki no longer does integration themselves in the US per discussion I had with them last week.
Nothing to do with integration..........you are ordering a robot with a specific application in mind.
When ordering a car, you don't specify what colour it is after it's been ordered.
When ordering a robot, if you want a full blown sealing application robot, you would stipulate this at the point of ordering (from either Kawasaki direct, or the integrator) so that it is 'delivered' to you with sealing application ready out of the box.
When ordering a standard robot, if you want specific options like basic sealing options or collision detection, you would stipulate this at the point of ordering (from either Kawasaki direct, or the integrator) so that it is 'delivered' to you with the options ready out of the box.
Integrators either:
- Order the robot from Kawasaki with the client application and options enabled.
- Use an existing stock robot and set it up for the client requirements.
Second user robots may not have the hardware/options you require and may contain options that can inherently cause you problems and may even require new firmware from the OEM.
If you can establish a good relationship with an integrator, then they can assist you with setting it up as per your requirements and ensuring it is fit for purpose.
Just getting a second user robot and cutting and shutting it may yield some frustrations down the line.
Options and firmware are not freely available (as they could be chargeable by the OEM) and finding them/someone to assist with online that could take some time.
Enabling paid for option discussions on this forum are not permitted on the boards, but someone may be willing to assist using various back channels.
The question I have is is it possible the gain enough knowledge and help through online resources to realistically integrate a Kawasaki robot (new or used) for 3D printing having had no previous experience with robots? I am pretty sure I could do it if I had enough guidance.
Personally, if you are new to robotics, I would advise to go on an OEM introductory course, so that the important fundamentals like safety and robot configuration, basic operational elements can be covered, irrespective of program code, application, intentions.......these things are not toys.
-
Personally, if you are new to robotics, I would advise to go on an OEM introductory course, so that the important fundamentals like safety and robot configuration, basic operational elements can be covered, irrespective of program code, application, intentions.......these things are not toys.
Understood and I had already factored basic training into the equation if I do decide to go this route new or used. The last thing I would want is to damage anything (including myself or a very expensive robot or end tool).
"Enabling paid for option discussions on this forum are not permitted on the boards, but someone may be willing to assist using various back channels"
Also understood. Discussing standard options (I confirmed yesterday that predictive control is a standard option an all Kawasaki robots) can be discussed though correct? It seems that the standard robot has all the features I need already enabled and what I need help with is connecting and controlling the tool with the robot controller (E or F series). I have had multiple conversations with Kawasaki directly about this project and they knew what my application was before quoting the robot. There are no specific dispensing options quoted as a paid line item on my quote. The main question was whether to control the extruder through analog output or ethernet. Believe me...I am doing my due diligence on this project before proceeding. That is why I joined the forum to ask questions. Thanks.
-
Discussing standard options (I confirmed yesterday that predictive control is a standard option an all Kawasaki robots) can be discussed though correct?
Absolutely..............
Believe me...I am doing my due diligence on this project before proceeding. That is why I joined the forum to ask questions.
This is clear and kudos for doing so, I wish others would follow your direction.....
There are no specific dispensing options quoted as a paid line item on my quote. The main question was whether to control the extruder through analog output or ethernet.
With analog output, you will require the hardware to support it (analogue output card or IO card with analogue outputs).
If you have a standard IO (32 in and 32 out), then you could use that to send io speed signals to the extruder - but that's a lot of wiring and very old school.
So ethernet/ip would be my flavour and specifically software ethernet/ip (as no additional hardware is required).
However, enabling it maybe a paid option, not too sure if it's supplied as standard or not, something to ask about.
With sealing basic options made available on a standard handling robot, you can programmatically use the FLOWRATE and OUTSPEED options to tie the TCP speed directly to drive your software ethernet/ip signals, using basic sealing commands.
This will make it so much easier IMHO.
-
Yeah, one of the biggest things you need to nail down before ordering a robot is what you're going to use for communications. Different brands handle this differently, but often specific FieldBus options require specific hardware and/or software added to the controller. And it's a lot cheaper to buy it with the controller than to buy an "upgrade package" after the fact.
For example, you want to control a 3D printing extruder. You might need a specific type of signals for that -- you could get a simple 16-bit discrete I/O board and "bit-bang" your controls. Or you might invest in Ethernet/IP. Or get the analog I/O option. You probably won't want to rely on RS232 serial, as that tends to not be good for realtime control.
Another item to seriously examine will be safety. Trying to integrate a robot yourself with no experience is dangerous. And robots can be purchased with multiple safety options. One option no one provides, however, is a robot without safety. So whatever safety option you decide on needs to work with the safety equipment you'll be adding to the robot. And if you're not going to add safety fencing, gates, etc... well, it's your funeral.
-
Absolutely..............
This is clear and kudos for doing so, I wish others would follow your direction.....
With analog output, you will require the hardware to support it (analogue output card or IO card with analogue outputs).
If you have a standard IO (32 in and 32 out), then you could use that to send io speed signals to the extruder - but that's a lot of wiring and very old school.
So ethernet/ip would be my flavour and specifically software ethernet/ip (as no additional hardware is required).
However, enabling it maybe a paid option, not too sure if it's supplied as standard or not, something to ask about.
With sealing basic options made available on a standard handling robot, you can programmatically use the FLOWRATE and OUTSPEED options to tie the TCP speed directly to drive your software ethernet/ip signals, using basic sealing commands.
This will make it so much easier IMHO.
I just went back and looked at the quote and my notes from conversations. 1TW board with 32 I/O is included. Ethernet I/P appears to be a separate line item but that can be added later if needed. Also, Analog out was an upgrade board that could be added later. The said these could be installed easily if opted for later.
"With sealing basic options made available on a standard handling robot, you can programmatically use the FLOWRATE and OUTSPEED options to tie the TCP speed directly to drive your software ethernet/ip signals, using basic sealing commands."
This sounds like a good option. Are Flow Rate and Outspeed also used for the standard 32 IO?
-
For example, you want to control a 3D printing extruder. You might need a specific type of signals for that -- you could get a simple 16-bit discrete I/O board and "bit-bang" your controls. Or you might invest in Ethernet/IP. Or get the analog I/O option. You probably won't want to rely on RS232 serial, as that tends to not be good for realtime control.
Another item to seriously examine will be safety. Trying to integrate a robot yourself with no experience is dangerous. And robots can be purchased with multiple safety options. One option no one provides, however, is a robot without safety. So whatever safety option you decide on needs to work with the safety equipment you'll be adding to the robot. And if you're not going to add safety fencing, gates, etc... well, it's your funeral.
1TW Board (discrete I/0 board 32 ln/32 Out) is listed as standard under the main robot. Software Ethernet is a paid option. Not sure if that is a separate board too or just a software unlock. Either way it was included.
As for safety...self preservation ranks high on my list! The cubic s safety option is something I would consider non-optional even though it is listed as a paid option. The robot would reside in a corner so I would need to set motion restrictions, but fencing is not really an option for this setting or application so sensors were discussed as a possibility but not quoted at this time. I need to do more research on the exact safety features of cubic s and how it is implemented to see what else I would need to implement in addition to it.
-
1TW board with 32 I/O is included.
You can purchase another variant of this board, which includes a couple of analogue output channels.
- Worth asking about, as I think the cost difference maybe negligible against a standard IO and separate analogue offering.
Ethernet/ip has 2 flavours, both require the relevant option enabling:
- Software ethernet/ip that uses a built in port on E/F controllers and no additional hardware required.
- Hardware which requires a fieldbus interface (1TJ board) and additional HMS Anybus board.
Hardware version has more scanner/adapter options and probably more expensive.
Software version has reduced external peripheral connectivity and something to consider, as from what I am reading of your intended application, would probably be best suited.
Any additional boards can be added at a later for sure.
Are Flow Rate and Outspeed also used for the standard 32 IO?
Yes, they just address the signalling number allocated internally, so whether you are addressing standard IO or fieldbus IO, they are treated as the same.
So if you are limited to standard IO, this could be made to work in the same way as if you were using a fieldbus option.
Create an account or sign in to comment
You need to be a member in order to leave a comment