Posts by MIKERHODES
-
-
It would have helped if you had mentioned this program was generated by RoboDK.
Anyway, these lines are where the program sets the active TCP and Base. In your RoboDK simulation, you must have a base/reference frame and a tool frame active, and RDK is simply transcribing those values into the program.
If you then hand-taught a TCP and/or Base on the real robot, you need a way to bring the real robot and RDK into alignment -- either you need to copy the real robot's TCP and Base XYZABC values into the RDK configuration, or you need to change the $TOOL= and $BASE= lines in the program to use the hand-taught Tool and Base. For example, if you hand-taught Tool 5 and Base 7, you would replace the RDK output with:
$TOOL=TOOL_DATA[5]
$BASE=BASE_DATA[7]
Because when you teach a Tool or Base on the pendant through the menu system, the XYZABC values are saved into the TOOL_DATA and BASE_DATA arrays.
This is absolutely the case! I was pointing the robot to the start point by connecting to the robot and copying these values. The job ran perfectly but the job was not following the correct base frame. So the workpiece was not completely level with the table, this then made the cut not perfectly flat. We hand finished it with a grinder. THANKY YOU! I am new to RoboDK and I have talked with Albert Nubiola MANY times, I just don't was to keep bugging the poor guy, he is not here to teach everyone, he is running a company. I LOVE ROBODK though. Best purchase of software we have made so far. Worth EVERY PENNY.
-
This is really great information for me. Thank you again for all of these tips, I know all of you have been at the point where the robot does one thing and it absolutely does something else! Great tips on this thread.
-
I will redo this this from scratch again using your advise. I really appreciate you guys chiming in on a beginners issues.
Back to the drawing board for me.
I will post again soon with an update. any other tips would be appreciated in the mean time.
-
Thank you so much!!!
-
This is just the first part of the program, it goes on for another 2000+ lines with a spindle and water stop.
-
Here is an example of a milling project where I had to recess back a panel in a large piece of granite. I did the 3 point method and the TCP ran perfectly parallel to the surface, but I am not sure how to incorporate my tool tcp and my base frame in the code. I am using a Professional version of RoboDK I purchased.
&ACCESS RVP
&REL 1
&PARAM TEMPLATE = C:\KRC\Roboter\Template\vorgabe
&PARAM EDITMASK = *
DEF RECESSED_PAN_1_T ( ); GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
; INTERRUPT ON 3;FOLD Initialise and set default speed
BAS (#INITMOV,0)
BAS (#VEL_PTP,100)
BAS (#ACC_PTP,20)
$VEL.CP=0.2
BAS (#TOOL,0)
BAS (#BASE,0)
;ENDFOLD;;FOLD STARTPOS
;$BWDSTART = FALSE
;PDAT_ACT = PDEFAULT
;BAS(#PTP_DAT)
;FDAT_ACT = {TOOL_NO 0,BASE_NO 0,IPO_FRAME #BASE}
;BAS(#FRAMES)
;;ENDFOLD$ADVANCE = 5
;FOLD ---- Quickly skip BCO ----
; PTP $AXIS_ACT
;ENDFOLD;FOLD ---- GO HOME ----
; PTP {A1 0.000, A2 -90.000, A3 90.000, A4 0.000, A5 0.000, A6 0.000, E1 0, E2 0, E3 0, E4 0, E5 0, E6 0}
;ENDFOLD; Program generated by RoboDK v5.5.3 for KUKA KR 120 R2700 HA on 05/07/2023 16:44:03
; Using nominal kinematics.
$APO.CPTP = 1.000
$APO.CDIS = 1.000
Wait for StrClear($LOOP_MSG[])
$LOOP_CONT = TRUEWait for StrClear($LOOP_MSG[])
$LOOP_CONT = TRUESPINDLE_FWD(4400)
$VEL.CP = 1.00000
; ---- Setting reference (Base) ----
; BASE_DATA[2] = {FRAME: X -1.905,Y 1918.810,Z 835.684,A -0.000,B -10.001,C -0.001}
$BASE = {FRAME: X -1.905,Y 1918.810,Z 835.684,A -0.000,B -10.001,C -0.001}
; $BASE = BASE_DATA[2]
; --------------------------
; ---- Setting tool (TCP) ----
$TOOL = {FRAME: X -24.372,Y 0.610,Z 511.476,A 180.000,B -30.000,C 0.000}
; --------------------------
; Show TOOL TCP
PTP {A1 -95.31830,A2 -95.12420,A3 105.88400,A4 14.69880,A5 50.60840,A6 -9.09005,E1 0.00000} C_PTP
LIN {X -3.108,Y -122.042,Z 15.000,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
$VEL.CP = 1.00000
LIN {X -3.108,Y -122.042,Z 5.000,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
$VEL.CP = 0.00556
LIN {X -2.979,Y -122.006,Z 3.974,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -2.603,Y -121.896,Z 3.016,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -2.005,Y -121.714,Z 2.192,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -1.229,Y -121.463,Z 1.555,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -0.329,Y -121.153,Z 1.149,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X 0.631,Y -120.797,Z 1.041,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
; Splitting circular movement in 133 (instruction 41:MoveC 31)
LIN {X 0.604,Y -120.727,Z 2.038,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X 0.568,Y -120.635,Z 3.033,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X 0.525,Y -120.522,Z 4.025,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X 0.474,Y -120.388,Z 5.014,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X 0.414,Y -120.233,Z 6.000,A 90.000,B 0.000,C 180.000,E1 0.00000} C_DIS
LIN {X 0.347,Y -120.057,Z 6.981,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X 0.271,Y -119.860,Z 7.958,A 90.000,B 0.000,C 180.000,E1 0.00000} C_DIS
LIN {X 0.187,Y -119.643,Z 8.930,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X 0.096,Y -119.404,Z 9.897,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -0.003,Y -119.146,Z 10.857,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -0.111,Y -118.866,Z 11.811,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -0.226,Y -118.567,Z 12.758,A 90.000,B 0.000,C 180.000,E1 0.00000} C_DIS
LIN {X -0.348,Y -118.247,Z 13.697,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -0.479,Y -117.908,Z 14.628,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -0.616,Y -117.549,Z 15.550,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -0.762,Y -117.170,Z 16.464,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -0.915,Y -116.771,Z 17.368,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -1.075,Y -116.354,Z 18.262,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -1.242,Y -115.918,Z 19.146,A 90.000,B 0.000,C 180.000,E1 0.00000} C_DIS
LIN {X -1.417,Y -115.463,Z 20.018,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -1.599,Y -114.989,Z 20.880,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS
LIN {X -1.788,Y -114.498,Z 21.729,A 90.000,B 0.000,C 180.000,E1 0.00000} C_DIS
LIN {X -1.983,Y -113.988,Z 22.567,A 90.000,B 0.000,C -180.000,E1 0.00000} C_DIS -
Okay, I have followed the instructions correctly then. When I have that baseframe selected, the tcp of the robot perfectly follows the path I require.
So when I start a milling program, I just have to make sure this base is selected? for some reason when I run my program the base frame changes to a ?
Maybe I need to write something into my program to tell the robot to load that baseframe. Is this correct?
Thank you for your response, I look forward to hearing from you!
-
And I have a BSc Software Engineering degree?
Much of robotic implementation is experience. I have worked with other professional engineers in this field and they have a confused disposition about them.
SkyeFire nailed it.
MR
-
Nope. ChatGBT is powerful, but do you think the administrators of this project would make themselves obsolete?
We are not at Skynet level yet. We will always need techs who can calibrate harmonic drives, write code and feed the guard dog at the factory.
Get Some,
Mike
-
Hi Everyone,
I am a newbie to robotics, but have 15 years experience in the stone sculpting trade. I have a Kuka KR120 2700 and I purchased a license of RoboDK. I would really appreciate tips on how to setup the start position of my milling project.
How do I set Robot start point? I ran a simple joint movement program today and my robot wanted to turn almost 180'
Mike Rhodes
Any help would be priceless for me!
MR
-
Hello Engineers,
Has anyone has issues with response from RoboDK's team? I have contacted them multiple time's for the past few weeks with zero support at all.
I am very disappointed with their help after purchasing their software. Even their secretary Danielle seems disgruntled with the lack of their engineers communication.
Mike Rhodes
-
Do you have a speed override somewhere in your program?
-
Excellent synopsis.
Thank you kindly for your response. I am going to try the demo out.
Thank You!!!
-
Don't expect it to be easy or quick. Robots are far less accurate, or rigid, than CNC machines. That's the price you pay for device that costs far less than a CNC machine with the same working envelope and degrees of freedom.
Alignment is everything. Whatever software you use to generate your CAM paths, you need to have it and the robot very well aligned to each other. An accurate TCP setup is also vital.
Avoid end effector orientation changes as much as possible. Those are the moves that wreck accuracy faster than anything else. Likewise, avoid reversing an axis mid-move if possible (lots of Linear moves reverse an axis mid-move). Robots have bad backlash effects, compared to CNCs.
This is an HA robot, which means it has Absolute Accuracy calibration. This attempts to make the robot more accurate by trying to compensate for the "sag" caused by the payload as the robot changes poses. This only works if you perform your payload calibration and Mastering correctly, and use accurate payload data. Not just weight, but also CoG.
Be prepared to make a number of "spring passes." Given the robot's lack of rigidity, even a mathematically perfect pass may need to be run 2-3 times to remove all the material. For the same reason, be prepared to program for lightweight cuts with low engagement forces.
Thank you so much SkyeFire! Amazing encouragement from you on this subject. I also program 5 axis stone center from GMM made in Italy. You are absolutely correct in terms of the CNC rigidity. The gantry for the CNC machine itself is made of cast iron and weighs about 10000 lbs and driven by HA servos.
Thank you again for the wise words. I will keep you posted on my progress.
Mike
-
Hi Everyone,
New here and thank you for having me!
Does anybody have and tips and tricks with this robot for milling?
I have a Yaskawa driver coupled with this robot and a VEM 20hp spindle and PLC control of water and compressed air.
Material is stone (sandstone/granite)
KRC4
I can post pictures of my rig later this week.
MR
-
Right now I am in the middle between RoboDK and Robotmaster for our Kuka KR-120 2700 KRC4 Extra HA for Milling stone. It is a very difficult choice. The RoboDK seem like a very passionate group of programmers that provide VERY in depth reading material and Videos from Jeremy. Robotmaster is almost completely locked down in terms of trial (though a reseller has offered us a 30 day monitored experience). Robotmaster is VERY expensive and has on-site training, but I like the fact I can go home and watch Jer's tutorials, which are amazing by the way. I get a VERY corporate feeling from the Robotmaster sales people. Not really a good one, but the features seem impressive.
Jeremy,
Change my mind. I need multi axis milling using a 7th axis table for milling sculptures and 3 axis for lettering. I have all of the tooling, just need the OLS program.
I am using Mastercam 2022 Mill with the Multi-Axis add on package. We are leasing it for now.
Mike Rhodes