Posts by sloopkogel

    I got it working! It's not difficult, I just skipped a few important steps. Here's how to do it step by step:


    1: Create a backup of your project


    2: In workvisual, add an external axis to your robot, follow these steps to add an external axis:

    - Click on file -> Catalogs -> Catalog handling, and add the ExternalKinematics catalog to your project

    - Right click on your controller, and click Add

    - Add any positioner (in my case I chose the KP1-H500-2), the positioner should now appear in the project tree

    - right click on the positioner, and click machine data configuration

    - set motion driver simulation to ON, and in my case, I set axis type to endless, and set $ET1_TPINFL X to 200, to make the calibration easier

    - Deploy project


    3: Calibrate the external axis, follow the KSS manual for this, search for 'Root point'.


    4: Calibrate the base, I used Base[17] for my external axis.


    5: If the previous steps went well, try to jog E1 using base[17], the TCP should follow. If not, something went wrong.


    6: You can now use all the ArcTech (and other motion) commands where the TCP stands still and E1 is rotating. You can send the position of E1 to your PLC or servodrive with a submit interpreter to rotate the physical tube

    can you cheat? Move the robot around 20deg around the pipe and move the pipe with the external axis 340deg at the same time. Adjust weave to match what you want. Would this be doable.

    That was my thought as well, but after proposing this to the customer this can become problematic because the weld puddle has to be at a certain point on the tube, otherwise gravity will affect the weld puddle in a different way at the end of the weld compared to the start of the weld (the tubes are welded horizontaly).


    What might work in theory is:


    move the robot around 1 degree while the pipe rotates 359 degrees, to accomplish this though the programmed welding speed has to be verry small, the minimum speed that you can enter is 0,05m/min (which is too fast), BUT afterwards you can edit it to a smaller number in the .dat file. This works, but then the weaving doesn't work anymore... (weaving is done too slow) Even if the weaving is set to 'frequency' instead of 'distance'. If I could get this to work then this could also be an acceptable solution

    Thanks for your reply, tried this too without success.


    I did find 2 more (unresolved) similar topics:


    I contacted Kuka and they're not sure if it's possible to rotate the pipe and have the robot stay still using ArcTech. I'm starting to doubt whether this is at all posible, I could of course write a program from scratch to read / set the IO of the welder, make the weaving pattern, do the seamtracking etc... but I was hoping I could use ArcTech for this. I would love to hear from someone who has actually done or even seen this before, just to confirm it can actually be done.


    I also found a video but no idea if they use ArcTech, maybe they also wrote their own program:

    External Content vimeo.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    Okay a small update: I have successfully created a virtual rotary axis (E1), and I can send the position of this axis to my PLC which will in turn use that to control the servo motor.


    Now how to do the actual welding with this external axis... I believe I have to create a kinematic model for this axis. I have done some research and I think I need to do the following (please correct me if I am wrong):


    - Configure an external axis using workvisual DONE (I did this by inserting a KP1-H500-2 from the ExternalKinematics catalog, and set the checkbox 'motion driver simulation' to ON)

    - Enter the $ET1_TPINFL data in machine.dat (this will tell the software where the calibration point is located on the external axis)

    - Calibrate the root point of the external kinematic system as described in the KSS programming manual

    - Change $EX_KIN={ET1 #EASYS....} to $EX_KIN={ET1 #ERSYS.....} (if I understand correctly, if I leave it as EASYS than the root point of the kinematic system will be relative to base 1, correct...?)

    - Done....? Or not...?


    If the above has been done correctly and the axis is now mathematicaly coupled to the robot, how do I create a program where the robot stands still, the external axis turns the tube / pole and the robot does the weaving pattern? Is it as simple as:


    - create new command "Arc on" with LIN move (move to start of welding pos)

    - jog E1 360 degrees

    - create new command "Arc off" with CIRC move

    I have a KR 8 R1100 arc HW robot with a KRC5 controller. This robot has to weld tubes / poles with a Lorch mig welder. The poles are going to be rotated by a custom made manipulator (a 3 jaw chuck with a servo motor). The manipulator servo motor is controlled by a PLC. The robot basically stays still (only doing a bit of weaving) and the tubes / poles will rotate.


    I want to weld the poles using arctech (so I can make use of the weaving patterns, and the seamtracking signal etc.) but I want the PLC to rotate the manipulator. This means I want the robot to weld while weaving and using the seamtracking signal, WITHOUT moving the TCP forward.


    One way I thought of doing this would be to create an external axis, configure it as a simulated axis, program the welding motion to use that external axis (with a CIRC motion), and then send the setspeed of that external axis to my PLC over ethercat, which will then use that to controll the servomotor. As described in this post: Virtual axe


    OR (even better & simpeler solution): Is there a way to use the ArcTech 'arcon' command without the robot actually moving? To let the robot stay in the same position, but still make the weaving pattern and use the seamtracking signal to correct it's position?


    Looking for some feedback as to whether this could be a possible option, or if anyone has any other ideas how to accomplish this task.

    Thanks guys! This helped a lot. Is the video you provided part of a Kuka training program of some sort? Is this video, and perhaps other videos, accessible in any other way in the future?


    If anyone reads this in the future when the link to the video is not available anymore: I got 2 things wrong:

    -You have to use a batch conveyor (I used a straight conveyor and the ConveyorTrackingBase does not snap to this type of conveyor for some reason)

    -You have to turn off RCS


    The rest should be pretty obvious: Snap Base_data[1] to the ConveyorTrackingBase sphere, and set it as the node, and connect the sensor output to the robot input to start the motion

    Thank you for your help, after further testing with Kukasim and evaluating your feedback we have decided to purchase the conveyortech package. However the robot will not arrive any time soon because of long delivery times, so I still want to try to simulate the motion using Kukasim.


    Could someone perhaps point me in the right direction for using the ConveyorTrackingBase component? I have created a simple model with a KR10-R1100-2 robot, a product feeder, conveyor belt, and the conveyor tracking base component. The feeder is producing simple square boxes (one every 5 seconds). But I have no clue yet how to make the robot follow the products that are on the conveyor.


    I suppose I have to use a python script but I cannot see where I can create or edit python scripts for my components. According to the help file this should be accesible in the components graph panel (in the modeling menu, after selecting a component) but I cannot find nor create the python feature for any of my components. My menu layout seems different from the help file examples. For instance I don't have the buttons 'features', 'tools' and 'behaviors' available in the toolbar in the modeling menu.

    We have ordered a Kuka KR10 R1100-2, and I am now in the proces of creating a simulation for it using KukaSim (the robot will not arrive for a few months but I want to start programming / testing in simultation). In KukaSim I am using RCS version Kuka 8.6, and controller firmware version 8.6.6. (these were the default settings). I am using KukaSim 4.0 and have purchased a floating license.


    One of the things I want to achieve is for the robot gripper to track a product and move in and out to perform an operation on this product. I have now acchieved this by making a for loop where I increment Base_data[1].X by 10, followed by a SLIN move command. The problem I have with this code is that the speed is not correct because the movement is composed of 100 small movements, and after each movement the robot decelrates and accelrates, blending does not seem to work here.


    Would the ConveyorTech package be a better way to achieve what I'm describing? Or is conveyorTech only necessary when the speed of the conveyor might vary and the robot needs to follow it perfectly (this is not the case for me, the speed is a constant), and is there an other way to acchieve what I want without the ConveyorTech package?


    Second question: If I do decide to get the ConveyorTech package, can this package also be used in KukaSim?