Thread Rating:
  • 1 Vote(s) - 4 Average
  • 1
  • 2
  • 3
  • 4
  • 5

Variable toolframe offset's rotation around axes in machining projects

#1
Dear RoboDK team,

Here's a request that I've been wanting to post for quite a while now. As you may know, I am working on 3D printing projects with a Fanuc M-20iB/25 at Polytechnique Montreal's LM2 laboratory and we are really enjoying working with RoboDK as it offers us a lot of freedom in terms of research and experimentation.

When it comes down to 3D printing, there are a lot of parameters that needs to be considered and one of them is quite critical when using a 6-axis robot : the printhead's rotation around its axis, i.e. the toolframe's rotation around Z.

I have been exploring the machining project parameters and I know that the toolframe offset's rotation around Z can be set to several algorithms. For example: the Minimum tool orientation change, which I currently use for 3D printing. However, I don't find that the other algorithms are useful to 3D printing applications.

What I would like to propose is a variable tool orientation that could be set at different key time during the program. There could be a selectable algorithm called "custom orientation" which allows the user to run the simulation, pause at the desired TCP location, rotate it around Z using alt+drag on the reference frame and then click on a button to creates a "keyframe" which will trigger an offset of the toolframe for all the next positions coordinates, until a new keyframe is created with a new toolframe offset and so on. The toolframe offset would then be set to different values along the program, according to values set by the user at different location of the toolpath.

I am pretty sure there is a way to come up with this using a Python script. I am just pretty busy right now to attack this :P and I figured it could be a nice addition to your already full-fledge simulation software.

I hope this is interesting :)

JFCh
#2
Hi JFCh,

I've been juggling with that idea for some time now.
Could being able to split the Gcode into parts would work? I'm not in charge of the development, but I'm trying to see if we could have an easier solution to implement on our end.

Like if you could run the path until a certain location, "split the gcode" and create a new Robot Machining project with the rest of the program, keeping the same settings and all, but allowing you o use a different Z rotation.

We had another client doing robot milling that had the same request as it was physically impossible to run the process in one blow without collisions.

(No promises here, just discussing the potential approaches to solve that kind of situation.)

Jeremy
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


#3
Yes, I guess that's one way to do it! I'm not sure what approach I would use, but I'm pretty sure it's feasible. Like one of my programming teacher used to tell me : anything can be done, you just need to find how.

About my Python script idea : do you think it would be feasible to implement something like this using the RoboDK API :
1) Pause the print during the simulation at desired location
2) Run the python script
2.1) The robot's current location's target is retrieve
2.2) The toolframe offset of this target and all those after are offset by a user input (using tkinter for instance)

Thanks for your input, Jérémy!
JF
#4
Hi JF, 

I'll forward that thread to Albert to see what he thinks about it. 

For now, you could do that manually by opening the generated program (Right-click the program -> "Show instructions"), selecting a bunch of targets and:

   

That's a very manual way of doing it and it has the huge drawback of not being a one way process. 
If you regenerate the path using your 3D printing project, you will have to redo the modifications. 

Jeremy
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


#5
Interesting! I didn't know we could do that.

Is there an easy way to change the relative tool shift using the API? My programs sometimes contain hundreds of thousands of instructions haha

Thanks,

JF
#6
... Yeah... The method feels a little silly now that I remember you are doing 3D printing...

I'll ask Albert as I did not explore this part of the API.

Jeremy
Find useful information about RoboDK and its features by visiting our Online Documentation and by watching tutorials on our Youtube Channel


#7
Thanks Jérémy !
  




Users browsing this thread:
1 Guest(s)