Fusion 360 Robot Post Processors

Fusion 360 Robot Post Processors

Richard.stubley
Autodesk Autodesk
24,375 Views
83 Replies
Message 1 of 84

Fusion 360 Robot Post Processors

Richard.stubley
Autodesk
Autodesk

Did you know Fusion 360 can now control Robots to perform subtractive toolpaths. 

Watch this live stream on how to set up your ABB or KUKA robot and get milling. @alexandre.pintoAGNAU did an amazing job getting all the content together. 

 

Please share any issues, and even pictures of you using F360 to drive you robot. 



Richard Stubley
Product Manager - Fusion Mechanical Design
24,376 Views
83 Replies
Replies (83)
Message 21 of 84

designingberlin
Advocate
Advocate

How is your progress here?

I'm just about to integrate my E1 (turntable) into a KRL post for fusion. Depending on your actual demand that might not be too hard.

Do you simulate your code before excecution?

 

Best,

Stefan

Message 22 of 84

judah.ex
Contributor
Contributor

Hi,

Thanks for the video.

We do have an ABB robot milling package and would be thankful if you could provide an example file for me to test.

J

Message 23 of 84

designingberlin
Advocate
Advocate
Hi J,

I use the postprocessor to directiy generate kuka specific KRL code.

No generic gcode that your control might understand. (because I don't
have a milling package and have to use KRL language instead of g code).


Best,

Stefan


Message 24 of 84

judah.ex
Contributor
Contributor

Thanks.

Does the F360 generate program modules? 

Where do you simulate those modules?

Can you generate some simple program using ABB post? I want to test if I can simulate that in Robotstudio software by ABB.

 

Message 25 of 84

stefanie.pender
Alumni
Alumni

Hi - 

Yes, Fusion 360 generates robot-native code for ABB robots. 

I created an instructional video and support materials here:  https://www.autodesk.com/autodesk-university/class/Learn-Rules-Then-Break-Them-Fusion-360-Industrial...

 

This class covers how to generate an ABB program from Fusion 360,  how to load this into ABB RobotStudio and simulate, and then how to load this on an actual robot.  Please let me know if you have any questions.  

Message 26 of 84

alexandre.pintoAGNAU
Alumni
Alumni

Hello @judah.ex 

I highly recommend you take a look at the AU Class Stephanie put together last year, I hope this explains what you are looking to know.

https://www.autodesk.com/autodesk-university/class/Learn-Rules-Then-Break-Them-Fusion-360-Industrial...

You can get the Fusion 360 ABB post here .

Be sure to download the pdf guide also as this contains detailed description of the Robot setup required to be compatible with the Fusion 360 output code.

alexandrepintoAGNAU_0-1628508703732.png

 

Hope this helps.




Alexandre Pinto
Process Specialist
Message 27 of 84

judah.ex
Contributor
Contributor

Thanks Stefanie and Alexandre for reply.

Sadly the video is not loading up but went through the presentation quickly.

Glad to know that most of my problems with robot milling are discussed in there.

I must run a test by programming with F360 and compare the time it took for me to use ABB MPP on an existing gcode.

A few questions -

1. while defining the wobj on the part/stock, I use 3 points method. One of these points can be the Zero position. I do so by using a 60 or 30 degrees endmill to touch on "pre engraved crosses (by a CNC mill)". This process is not quite accurate since I decide after a quick visual inspection. Question is, if you have a better method you thought of. 

This question concerns directly to your arc part (in the presentation - probably an aircraft part) locked on the machining jig. If you don't define the wobj and zero position correctly, part wouldn't be within acceptable tolerance limit.. 

 

2. How do you define the rapid speed of the robot? This is one of my major issue while using ABB MPP.

 

3. Not sure I understood the robot configuration idea. Do I need to bring the robot to first point, orient the joints, note the joint positions and then input in post processing window? Is there an autoconfiguration option? In Robotstudio (RS), I am used to set the first point of the module in correct orientation and then use autoconfiguration. (this is not the most easiest way to solve the configuration problem but it generally works)

 

4. How do you solve collision while reorientation of the joints in milling process? Do I need to do that in RS or I need to go back and forth between F360 and RS?

 

5. How can I split the modules into 2000 points for each? Our programs are really long. Do you have a procedure for loading and uploading modules? 

 

5. What tolerance do you use for short movement error?

 These should be enough for now :)).

 

Thanks a lot,

 

Message 28 of 84

stefanie.pender
Alumni
Alumni

Hi -

1.  On page 27 of this pdf I cover teaching workobject. I do use the three point method.  In the video, at 22:56 - I cover how to do this on the teach pendant.  

2.  On page 8 of the pdf - I show where to adjust speeds.  

3. Page 13 covers configuration.  There is not autoconfiguration in Fusion.  If you want the robot in a certain position - note the joint position of the six axes and then input that into Fusion - for the first position.  If I need to fine-tune robot configuration, I do this in RobotStudio.  

4.  I cover short movements on page 23.  Reducing the tolerance  will decrease the number of robot targets

in your robot code. This should eliminate the short movements error.  For my tolerance - I used .2 mm for the adaptive toolpath.  
5.  I do all my collision avoidance and configuration adjustments in RobotStudio.  It is the only verified ABB robot simulation and gives me the most flexibility as far as really fine-tuning robot positions.  
 
Alex is working on answering your other questions.  Please let me know if you need more clarification.  
Message 29 of 84

alexandre.pintoAGNAU
Alumni
Alumni

Hi @judah.ex 

I recommend you login to the AU class website, that might give you access to the video, the video is quite self explanatory. 

As Stefanie replied to your questions, I add my extra bit of info.

1 - I recommend you use a calibrated spike in order to do the part workplane definition.
Always easier and more precise that any milling tool, tools are used when accuracy is not important.
If you are milling a block of foam (like Stefanie was showing) as long as the position & orientation of the workplane
is matching Fusion 360, all will work out.
Obviously we must have enough stock material !


Below is an example of spike calibration just for your reference, this video might have some information that might help you.

https://youtu.be/YAbeRdC5yeI?t=1636


With parts and/or fixtures the spike method can be used also, but geometric entities must be available for you to base your measurements from. This is the cheapest and most effective method, but there are others.


5 - At the moment we do not have a way to limit toolpaths by number of points.
But this is being looked at.

I hope this helps.


Alex



Alexandre Pinto
Process Specialist
Message 30 of 84

judah.ex
Contributor
Contributor

Stefanie,

Thanks a lot for replying to my questions.

Some comments and followed questions:

1. I do exactly the same way to define the wobjs. I meant to ask if there are better ways to achieve high precision. Touching three corners (in your case) can still give an error up to 0.2-0.5mm. (This is not like using an edge finder with CNC - you touch two vertical surfaces and get the exact coordinate of corner).

For example, the part in arc shape - after stretch forming, one needs to fix it on the milling jig. Now if the zero position at one corner is not precise, milling would not be accurate (drilled holes might not be at correct spot or trimming would not be accurate, and so). 

 

2. By rapid speed, I didn't mean rapid programming language. Sorry for confusion. I meant rapid traverse speed. In a CNC, this speed is set by controller and is independent of gcode. In case of robot program with thousands of move instructions, I have had difficult times to separate feeds, plunge and rapid traverse speeds. So I wanted to ask if it is possible to define these three speeds separately.

 

3. Ok that is how I understood earlier, thanks.

 

4. Ok, I mostly need the robot to trim and drill holes on sheetmetals. So I need to do some tests. Until now I simply commented closer targets.

 

5. I understand.  

 

Message 31 of 84

judah.ex
Contributor
Contributor

Hi Alex,

Thanks.

I guess the precision of defining wobj is not so important if milling something out of a block.

But in my case it is quite important since I need to trim or drill holes on formed sheet parts fixed on a milling jig.

A small misalignment results in rejection of parts. These parts have tight tolerances. 

To measure the length of the endmill, I use a high gauge which is good enough. 

 

I didn't understand this:

"...but geometric entities must be available for you to base your measurements from. This is the cheapest and most effective method, but there are others."

 

I try to explain the issue no. 1 by one of the parts. On the milling jig base plate, I already have three '+' engraved markings. To define the wobj, I use these three points. Px1 is also the zero position of the entire trimming, drilling and slotting programs.

If tomorrow or next week, for some reasons, I redefine the wobj using the exact same procedure, I would still find those three points slightly different compared to last time I defined them. This is because I am doing so visually.

If Z of any of these points are not exactly on the plate, the resulted plane would be tilted. And if there is a slight mistake in X or Y of any of these points, I would see offset (vertical and horizontal components) in all the part features.

2.PNG

Message 32 of 84

alexandre.pintoAGNAU
Alumni
Alumni

Hi @judah.ex 

When running a job on a robot from offline you need to define the tool tip and part workplane with a high degree of precision.

The job you will run will be relative to the part workplane (workObject) so it needs to be accurately defined. 
Using an external process (external to the robot) to measure or calibrate the tool is not ideal. So be sure to calibrate the tool and or spike using the robot process, and use this calibrated spike to measure the part workplane. 

 

What I meant by other process is expensive probing system like the ones found on machine tools. My experience is a calibrated spike is more than enough for most jobs.

Geometric entities are planes, edges and corners.
I would use the edges of top surface of the jig to define my workobject (part workplane) as it is easier to align a sharp spike to an edge or corner than with a mark on the surface. At least  I have done this in the past with good results.

alexandrepintoAGNAU_0-1628589480224.png

 


You need to have a calibrated tool/spike (calibrated via robot process and not measured externally), if you are not sure what this process is ask your integrator or robot supplier.
To check how well a tool is calibrated align it with a static spike on the cell and rotate around the tool tip.
If the tool tip does NOT move away/into the spike then the tool is correctly calibrated, if it does move into/away then it is not calibrated correctly.
This is specially important if you are doing multi axis toolpaths as any tilt of the tool will the toolpath to be less precise, and looking at your part it does seem you have multi axis toolpaths. 

One thing I have seen in robots when running these type of jobs is they are sensitive to temperature oscillations. I have seen differences running the same job on a hot day vs a cold day!! So that could explain your differences.

Most of what you are asking is actually not software related , and mostly based on experience. But I don't see much of a difference to good practices from Robot offline use and machine tool use.
Main would be understanding how to calibrate a spike/tool using the robot process. This seems to be your hurdle at the moment.

I hope this helps.

Alex 



Alexandre Pinto
Process Specialist
Message 33 of 84

stefanie.pender
Alumni
Alumni

Judah.ex - on page 8 of the pdf I attached, I cover adjusting speeds.   You can adjust surface speed, cutting feedrate, lead-in and lead-out feedrate, ramp and plunge feedrate.  Adjust surface speed to adjust rapid traverse.  

stefaniepender_1-1628593510471.png

 

Message 34 of 84

judah.ex
Contributor
Contributor

Thank you very much

Message 35 of 84

judah.ex
Contributor
Contributor

Thanks.

We did calibrate the spindle wobj and tcp together with ABB engineer right after commissioning.

From your answer, I follow similar procedure for part wobj definition.

 

Message 36 of 84

judah.ex
Contributor
Contributor

Hi Alex,

How are you?

I ran a simulation based on rapid module generated by F360 and having issues with configuration and joint singularity.

I did copy the configuration of first target to post window like you and Stefanie explained.  

I solved the problem by rotating many targets around Z axis but still the process doesn't look smooth.

There are some other minor issues.

 

I would very much appreciate if you or Stefanie or some other expert could do a quick remote support.

Thanks.

 

Message 37 of 84

alexandre.pintoAGNAU
Alumni
Alumni

Hello @judah.ex 


Having no idea of what the toolpath looks like, multi axis or 3 axis, and no idea of the position of the fixture relative to the robot I cannot comment. Feel free to share more information and I am happy to look into it and provide feedback.

Robot configuration is to be maintained throughout the toolpath,  it should be a fixed throughout the program.
Please check this on your program output.
Also,  if you are able to check on the actual robot and/or via ABB RobotStudio that this configuration will work for the whole toolpath? 

Robot wrist singularity I would avoid by adding an angle of rotation around the tool. 
Have you tried this?

alexandrepintoAGNAU_0-1629299566221.png
This is the same as what you have done in ABB RobotStudio.

I hope this helps.

 

 



Alexandre Pinto
Process Specialist
Message 38 of 84

judah.ex
Contributor
Contributor

Thank you.

Tomorrow I will share with you the files. From F360 CAM, which format would you prefer? 

Would you want Pack&Go for robotstudio?

Yes I tried couple of different head angle in post to see if the joint locking was solved but that didn't.

Message 39 of 84

alexandre.pintoAGNAU
Alumni
Alumni

@judah.ex 

 

Happy with .F3D file for now.
Could you share a picture or a screen shot of the position of the fixture with respect to teh robot from ABB Robot Studio?
Also, what head angle and Robot configuration you think works.

Thanks
 



Alexandre Pinto
Process Specialist
Message 40 of 84

stefanie.pender
Alumni
Alumni

Hi @judah.ex,

 

If you can provide the RobotStudio Pack and Go file along with the .F3D - I can also assist with troubleshooting.  

 

Thanks!