Kuka Plc

6 views
Skip to first unread message

Florence Rocle

unread,
Jul 25, 2024, 7:07:49 PM7/25/24
to elephantbird-dev

Located in Tempe, we aim to serve delicious meals with the best service possible. We pride ourselves on our work and want to share a memorable experience with you. In Japanese, kuka means a bite and izakaya means pub. Here, you will find a variety of Japanese dishes as well as a selection of cocktails and wines to go with your food. When you walk in, expect to be greeted warmly by our staff!

Love this spot! My boyfriend and I love the variety of skewers, sushi and all the food in general. Everything is tasty and also decently priced. The happy hour is great! Food and drink specials. One of our favorite date night spots!

KUKAprc enables you to program industrial robots directly out of the parametric modelling environment, including a full kinematic simulation of the robot. The generated files can be executed at the KUKA robot, without requiring any additional software.

The free evaluation version allows the full simulation and code generation without. Additional features such as support for SunriseOS, external axes, G-Code import etc. are only available to members of the Association for Robots in Architecture. See www.robotsinarchitecture.org/kukaprc for an overview of the available features.

KUKAprc is also increasingly being used in industry at high-end wood fabrication companies, market leaders in the aeronautical industry, and even in nuclear reactors. For these applications, a commercial license is required.

It provides the robotic building blocks to directly integrate a KUKA robot into a parametric environment. Instead of writing code, simple function-blocks are connected with each other and the results immediately visualized.

KUKAprc simulates even complex robot setups with up to four external axes. It can also solve the external axis position by itself, just enter the preferred distance between robot and target (for rail systems) or a 3D-vector (for rotary axes) and KUKAprc will set the values automatically.

So, I'm helping program for a kuka robot. It is running an older control cabinet and we have to split up programs into 3250 lines per subprogram. This is no problem in the post processor. However, at the beginning of every subprogram instead of just calling a new liner move for the robot it codes a joint move (ptp) as the first line. This is a major problem because ptp moves are generally unpredictable with robots. Meaning if you tell it to go from -185 at a joint to 180, it goes the quickest way whether that's the way you want it to go or not. So, I would like to change the first line of the subprogram to be a linear move as this has predictable results. I'm asking how because I can't really see where to change it...there is language in the post indicating you can but nothing on how to do it. I'm also asking because I have a lot of parts with giant gouges in them from the robot turning the "bad" way to reorient itself at the start of a new subprogram. And mind you this isn't a change between toolpaths, but one long finishing toolpath split up into say 25 subprograms. So, at any of those 25 times it goes to a new sub I can get unpredictable joint flips. Not a fun thing. Any help?

Thanks.

Works like a charm. I had tried taking out all of the JointMoves and this did indeed eliminate the erroneous PTPs but it also deleted the PTP at the beginning of the toolpath that was necessary to orient the robot to the first linear movement. Your solution leaves the very first one in place and eliminates the rest of the PTPs. Thank you!

I created the program by drawing the curves I need in Rhino and then drawing the jogs between the curves. My Grasshopper program uses the curves to add orientation curves. These curves are then broken down into 150 segments with a "Divide Equal" command", then merged and fed to my Kukaprc core. 24 commands in total.

When trying to program I found that if I did not have each curve broken into an equal number of segments (i.e. 150) the commands would not merge. I found that each LIN command on the kuka is completed in the same time interval. Unfortunately this means that some of my shorter jog curves can take longer to run than my cutting curves. And my velocities are not constant throughout the program because the curves are different lengths. I need the cutter when in the material to have a consistent cutter speed to optimize my machine time (as well to speed up the jogs).

There must be some way of controlling the feedrate other than just having more or less curve division points otherwise you would have to break each LIN command of 150 points down into say 3 points so your rapid moves might be a small number of large, spaced out 3 point moves and your slower cutting moves might be a large number of small, close together 3 point moves. Perhaps this is how it is doen with KUKA, but as I said for most CNC machines you specify a feedrate for each type of move.

On a KUKA robot, no matter if you are using KUKAprc or another tool, you can set the velocity of the robot in % for PTP movements (movement from A to B with the least amount of axis rotation) and m/sec for LIN movements, as you are using.

However, there is no guarantee that the robot will actually reach that speed as its maximum speed is set by the slowest axis. Furthermore, what seems to be the problem in your case, is that a high point density will always slow down the robot.

There are some things you can try out: If you want constant speed, manually set the speed to a rather low value (the robot will never go faster than the programmed speed). To get more speed out of the robot, use a less dense toolpath, be sure that an interpolation like C_DIS is enabled. In the KUKAprc settings set the Advance Run to e.g. 3 positions. You can also do that manually with the existing file by setting the variable $ADVANCE to 3.

Do you have access to the member version of KUKAprc? It makes a few of these things easier than before, with e.g. a component to reduce the complexity of toolpaths. Send me an eMail (johannes[at]robotsinarchitecture.org) and I can send you a temporary license for it.

As a follow up on here, I actually want to increase the number of LIN command points as I need very smooth curves. In tight corners I watch the tool working very choppy due to LIN. So my fix was to increase (which unfortunately changed the tool path as well since the curves were more closely followed) - and I had to scrap a few more parts.

I've replied to your eMail. And yes, if you are using T1 at 3%, definitely set a slower speed in m/sec - this will greatly improve the toolpath. Another way would be to use spline toolpaths, which you can use with all KRC4 and some KRC2 robots. Spline-movements have got their own challenges, most importantly you have to remember that the robot will basically connect a series of points with a spline (similar to Curve-through-Points), so you cannot just take any NURBS curve and have the robot follow it.

Boost is supposed to stay a general library and therefore parsing XML is not its most important feature. There is however, as suggested PropertyTree with a tutorial here in Boost which is for general tree structure data format (e.g. json or XML).

This being said, I do not recommend using boost for parsing XML structures in General. You can use as again suggested several small libraries specifically developed to parse XML strings efficiently and fast, again as suggested What XML parser should I use in C++?.

Do not try to re-invente the wheel. There are even libraries for parsing XML structure of RSI. ROS Industrial already has a very good RSI interface called kuka_experimental package available here and on ROS website. This not only satisfies your need for XML parsing but also for controlling the robot through UDP communication, kinematics model, etc. If you are not happy with it, you can develop your own after reading the code and learning how it works.

This package uses TinyXML, a lightweight XML library which in my opinion is quite fast and easy to use. The files about how parsing is done are available under kuka_rsi_hw_interface, here. If you are not satisfied with this, you can still use another XML library or even upgrade this package to work with TinyXML2 which is supposed to be even more efficient with memory usage and faster. If you use CMake build system, you can easily add TinyXML as a submodule to your package.

Robot drivers provide an alternative to Offline Programming (where a program is generated, then, transferred to the robot and executed). With robot drivers, it is possible to run a simulation directly on the robot (Online Programming). More information available in the Robot Drivers section.

You can establish a connection between RoboDK and your KUKA controller to move the robot automatically from your computer. This allows using the RoboDK Run on robot option for online programming and debugging. The connection can be established through a standard Ethernet connection (TCP/IP).

The C3 Bridge Server is now ready. You can leave this program running. This server allows you to exchange global variable values between the KUKA control system and the remote PC, download and upload KRL programs, control the execution of KRL programs, and more.

Further configuration of the control system can be done in two ways: automatically using the interactive mode of the kukabridge driver (KRC4 only) and manually by editing the robot control system files in KUKA HMI. Let's take a look at both approaches.

Newer versions of the C3 Bridge Server (1.7.1 and higher) support command line options. In particular, the server port can be changed by running the application with the -tcpPort parameter. For example:

Registration, seminar booking and shopping cart

Booking seminars via the KUKA College website necessitates registration. When registering, you will be requested to specify the following personal data in addition to the details of your company: Form of address, last name, first name, e-mail address, telephone number. These data are required for booking our products and for the associated communication.On completion of registration, you can book the appropriate services via the shopping cart of the KUKA College website in accordance with the applicable conditions of participation. The conditions of participation include specific data protection information relating to the utilization of KUKA College services.

If you book services of KUKA College by e-mail (not via the KUKA College web-site), your personal data will be processed in accordance with the above-mentioned conditions of participation.

The legal basis for the processing of these data is contained in Art. 6(1)(1)(b) GDPR (requirement for performance of a contract) in each case.

When you use the shopping cart, a cookie is created and saved on your end device. The products you have placed in the shopping cart are thus displayed in the shopping cart after the current session. This is intended to make your use of the shopping cart as convenient as possible. The legal basis for this is contained in Art. 6(1)(1)(f) GDPR (legitimate interest).

Initiating contact

If you contact us by e-mail, the data you provide will only be used to process your inquiry and will be treated confidentially at all times.

We erase the data used for the purpose of establishing contact once storage is no longer required or restrict processing if there are statutory retention obligations.

Links to third-party websites

The KUKA College website may contain links to external websites. At the time of setting the link, KUKA AG satisfied itself that the linked pages do not contain illegal content of any kind. However, KUKA AG cannot ensure continuous monitoring and has no influence whatsoever on the content of the linked websites. No liability will therefore be accepted for the content after the link has been set.

Reply all
Reply to author
Forward
0 new messages