I attached an improved version of KUKA KRC1 DAT post processor for RoboDK.
The sample files provided by SkyeFire are very helpful. I believe there needs to be 2 spaces between EXT and BAS in the declaration section. I also removed additional data that I believe it was provoking errors (POINT2[] " ",TQ_STATE FALSE).
Also, as panic mode suggested, I made the default BASE_DATA index 1 instead of 0.
Test a program mixing joint and linear moves, also changing the TOOL and/or reference frames.
If you see any issues, please post the original program files (SRC and DAT files and error messages). It would also help if you can provide the modifications you had to do to make it load on the controller.
Please let me know if it works and we'll make it an official post processor in RoboDK with our next release.
I agree with SkyeFire that you should properly set up your tool frame. If you use the driver to move the robot from the PC, the selected reference frame should not be so important (RoboDK changes the reference to KUKA base/root coordinates for this specific purpose).
Just to be sure, I would recommend you to double check that you selected the right robot in RoboDK. This is important as there could be small variations within the same KUKA model (sometimes you see -2, -3 versions,...). To make sure you have the right robot, bring the robot to the home position and check if the values you see on the teach pendant match with the values in the robot panel (double click the robot and make sure you have selected the same reference and tool frames): https://robodk.com/doc/en/Interface.html#RobotPanel
Finally, as a quick test I would do the following: 1- Make sure that you have at least one tool (TCP) in the station (right click the robot and select Add Tool). 2- Set your desired reference frame and tool frame as "active". This means that they should be selected in the robot panel in RoboDK. Another way to see this is because they have a green dot in the tree icon. 3- Add a joint movement (PTP) to the home location: Select Program-Move Joint Instruction. You'll see that a "set reference frame" and "set tool frame" instructions are added automatically to set the reference and tool frames that you are currently using. 4- Add another joint movement (PTP) to a location with the Joint 5 far from 0 degrees (not in a singularity). 5- Add a linear movement to another location. Move the robot along one axis and select Program-Move Linear Instruction. 6- Right click the program and select Run on Robot. 7- Double click the program to run it. It should run on the real robot and also in RoboDK. This runs the program with the driver instead of the typical offline programming. The joint coordinates should match for the final point (for RoboDK and for the real robot). If it is not the case, take a picture of the final joint coordinates displayed on the robot teach pendant and send it to us.
With this new version, you can set up the default ini file yourself here: C:/RoboDK/Other/Slic3r/robodk_slicer_config.ini And RoboDK will use this file as default settings.
The Linux update should be available in 1 or 2 weeks.
With the previous version you can manually set up this robodk_slicer_config.ini file in the default temporary folder. As long as you do not select Tools-Options-CAM-"Set default 3D print options", RoboDK will use that file for the Slic3r settings.
Another option would be to manually import the G-code into RoboDK and combine it with any Slicer software for 3D printing.
I see that you are using an S4C post processor. This adds Extruder program calls between each movement and some post processors behave in specific ways (providing outputs such as ArcL).
I recommend you to do the following: 1- Update RoboDK: https://robodk.com/download 2- Use the ABB_RAPID_IRC5 post processor (already selected in the attached file) 3- Update your Print3D project (Ctrl+U) and Regenerate your program (F6)
This latest version has some fixes regarding the simulation (it allows you to simulate without any issues).
Also, you can ignore the generated Extruder calls by double clicking your Print3D settings, select Program Events, then remove the Extruder(%1) as extruder feed.
Let me know what errors you get on the robot if you still have issues. In that case, it will also help if you can provide a sample program that you know it works without issues.
There are 5 different ABB IRB340 robots. Did you select the right one? Also, I would recommend you to use a joint movement (provided a a joint target) for the first movement. This will impose the right turns for the 4th axis (if you have any). What post processor are you using?
If you can share your RDK file I may be able to give you better advice.
I'm unable to see the helix you mentioned using ncviewer and your code... If this is a 3D helix I believe that your arc centers are not properly set (the K component is ignored).
The latest version of RoboDK allows you to define some default parameters in the menu, such as using IJK arc centers as absolute by default. Tools-Options-CAM-Other
Then, check the option called: Use Absolute coordinates for IJK arc center by default (G90.1)
This might solve the issue with circular movements.
RoboDK documentation is now available online (directly linked from the software when you select F1). For example, the following guide shows how to make a simple program: https://robodk.com/doc/en/Getting-Started.html#Station
The interrupt movements are not built into RoboDK yet so if you want to generate the code provided by SkyeFire you can enter the code manually: 1- Program-Program Call Instruction 2- Select Insert code 3- Enter INTERRUPT ON 5 ; Repeat this procedure to set the interrupt off after the movement. You can customize your post processor to include the programs. More information here: https://robodk.com/help#PostProcessor
There are some details to take into account if you want to automatically generate a TP file directly from RoboDK.
With RoboDK you can easily generates LS (ASCII files). If you have a robot with the ASCII Upload option you should be able to load an LS file to your RJ3 controller. However, RoboDK requires Roboguide WinOLPC to automatically generate a TP file (binary) from the generated LS file. This conversion is attempted automatically if you installed WinOLPC in the default folder.
I would verify the following: [list type=decimal]
Verify you installed WinOLPC (at least, with the trial version of Roboguide)
Make sure you have created a work cell with a robot having the same number of axes you are using in RoboDK.
I believe the issue you have is due to a lack access rights in the default WinOLPC path: C:\Program Files (x86)\FANUC\WinOLPC\bin I would recommend you to manually select the robot by running setrobot.exe as an administrator: Go to the WinOLPC\bin folder, right click setrobot.exe and select Run as Administrator. After selecting your robot WorkCell you'll see a robot.ini file. You can then try to generate the program again from RoboDK.
[/list]
I've just tested this with the latest version and RJ3 post processor and it is working. Make sure you've selected that RJ3 post processor if you have a Fanuc RJ3 controller: Right click the robot, select "Select Post Processor" and select "Fanuc RJ3".
It is better if you generate a generic 5 axis milling toolpath without information about the positionner (just X,Y,Z and A,B,C or i,j,k for the tool axis). Then, in RoboDK you'll have to build your synchronized system: 1- Place the turntable with respect to the robot the same way you defined on your controller (I assume you measured the real setup) 2- Select Utilities-Synchronize external axes, then, select OK (the synchronized system will be automatically selected) 3- If you have a turntable you'll see a box in the robot machining section that allows you to keep the position or the tool orientation as constant as possible (image attached). If you have a 2 axis turntable you can set your 1st axis (first blue case), provide your preferred start point for the 2nd axis (second blue case) and this option will move the second axis automatically when you select Update/Simulate. You can also provide an offset with respect to the default value. The following video will give you an idea:
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.
Alternatively, you can use the RoboDK API to generate a program, this will allow you to provide XYZWPR and external axis position for each point. The following section might give you some hints if you are familiar with Python: https://robodk.com/doc/en/Pyth….html#move-through-points
Thank you for your feedback regarding RoboDK's forum. We receive a lot of spam through that forum and we only activate accounts that don't look like bots so if you have a company or university account you have more chances of getting your account properly activated. Let us know if this is not the case. For fastest help I recommend you to post on this forum and send us an email at info@robodk.com, I'll get back to you as soon as possible.
It is not possible to alter the DH robot parameters through the API (calibrated or default parameters). Calibrated parameters are only relevant after you calibrate your robot using RoboDK's calibration option or manually entering a new DH table.
I'm sorry for such a late reply on this, if you post on a forum let us know at: info@robodk.com and I'll make sure we get back to you as soon as possible.
You can do robot programming using Python or C# with RoboDK. For example, the same program in Python or C# can be used to: 1- Simulate in the RoboDK graphical environment 2- Generate a robot program using a post processor (offline programming) 3- Run the program on the real robot synchronized with the computer (using robot drivers)
KUKA controllers are based on Windows (KRC2 and KRC4). The teach pendant is a remote desktop of the controller PC. UR controllers are based on Linux. UR script programming looks like Python. I believe ABB controllers are Windows based (at least the teach pendant). Fanuc is proprietary OS I believe.
The free version of RoboDK allows you to import/export rotation angles in different formats according to different euler rotation order. You can then quickly visualize and modify a TCP, a reference frame or a target. It also includes Quaterion data for ABB robots. See the image file attached or the link attached. You can set your default rotation preference in "Tools->Options->General tab->Default Euler angles mode". The simulator also changes this preference depending on the robot brand that is being used.
You will find some RoboDK examples and tutorials in this page: https://www.robodk.com/examples.php You can follow object curves/surfaces for welding/painting, import CAM/NC files for robot machining, use robots for 3D printing, follow DXF or SVG paths with robots, simulate pick and place applications, program any robot brand using Python, create your own post processors... We can add new robots and help you set up your application in our simulator.
RoboDK is quite affordable ($2995 USD) and it is not a plugin of any other software. Which means that you don't need to purchase other software to run it. The free/trial version allows you to use some features without purchasing a license. Do not hesitate to contact us at info@robodk.com if you have any questions.
RoboDK simulation is 5x times faster than real time by default. You can change this settings in the menu: Tools->Options->Motion tab->Simulation time ratio. As an example, this means that a pause of 5 seconds in real time will take only 1 second in the simulator.
You can also set a fast simulation ratio (defaults to 100x). Fast/normal simulation can be easily switched using the spacebar key.
To set the speed and/or acceleration you can select the menu: "Program->Add speed change" A new instruction will be added to a selected/existing/new program and you can specify linear/angular speed and acceleration. The acceleration value may behave differently on different robot brands. For example, Fanuc and ABB robots are programmed with a percentage for the acceleration.
Sorry for my late reply. One RoboDK license is $2995 USD, the price includes one year support and updates. This license allows you to do simulation and offline programming for most applications (including Robot Machining, Pick and Place, convert DXF/SVG files to robot programs, 3D printing, use our API, fast curve/point following for welding... everything you see in our examples section http://www.robodk.com/examples.php and more). Robot calibration is sold separately. Support and updates after the first year can be purchased at $995 USD. We can provide Network licenses (they can be shared among different computers, an internet connection is required) and Standalone licenses (they are meant for one PC). We can also provide a USB Dongle license key (dongle is extra $200 USD).
Thanks for your comments n3opl4an. If you find any bugs, let us know by email or a forum. We have set up a forum in our website: https://www.robodk.com/forum/ Send us an email at info@robodk.com if you post in this forum. We will reply much faster.
rsarangi, I'm sorry you are having problems running RoboDK. I believe it is an issue with your graphic card. I recommend you to try this: 1-Run C:\RoboDK\bin\RoboDK-GL2.exe (it uses an older graphic card set of tools) 2-If it does not work, update your graphics card driver and try running RoboDK.exe and/or RoboDK-GL2.exe again. Please let us know about your progress.