# Posts by Darkbound

• ## Manual rotating around one Axis results in changes in all Axes?!

There are a few ways to achieve what you want.

1. Don't use offsets, just teach points for each motion you need.

2. Create a new tool frame that is rotated they way you need it to be in order to give you a tool axis to rotate around

3. Use matrix multiplication to calculate a new frame or position.

From the three options that you stated I think that the only option that will work is the third option, the rest will not work because I want use that offset as way for operators to do minor adjustments, because the parts that are being loaded into the machine are irregular so sometimes tiny modifications are needed , so I guess thats why creating a new frame will not work nor teaching points for each motion, because its just like fine-tuning of a point so my question here is:

Is there a way to do matrix multiplication on the robot itself or do I need to write a Karel script to do this?

And I am capable of doing that..

• ## Manual rotating around one Axis results in changes in all Axes?!

It is a common misconception that w, p, and r are axis rotations around x,y, and, z like experienced when jogging. They are in fact not. They are Euler angles and don't always play nicely with rotational frame offsets.

Tool offsets are a much better solution for rotational offsets.

I tried with Tool_Offset and it is behaving the exact same way. Plus, since my tool frame is already rotated, I dont have an axis around which to rotate it in the vertical (XZ) plane. Both Tool_Offset and Frame Offset when changing P are rotating around the Tool Y axis and not around the world(or current frame) Y axis.

As far as setting the frame and the shift+coord thing from your previous post, yes that is exactly what I am doing, I have an instruction that is setting the frame at the top of my program, I just screenshoted that to show my current frames.

I still cant figure out how to rotate around the world Y axis (as it behaves when jogging) by setting a single offset.

• ## Manual rotating around one Axis results in changes in all Axes?!

I have an issue where I want to be able to offset a point, but mainly the rotations around XYZ, so WPR.

L P[1] 500mm/sec FINE ACC30 Offset, PR[1]

P[1] coordinates are:

X: 796.821

Y: -2281.020

Z: 404.333

W: -175.031

P: 58.643

R: 94.256

This the point in question, the PR[1] offset, I am just changing the P component on it, so PR[1]:

X: 0

Y: 0

Z: 0

W: 0

P: 15

R: 0

However, when that is applied the robot actually turns 15 degrees around the TOOL X axis, and not around the WORLD Y axis.

XYZ changes work just fine and they are being applied according to the world frame.

I have attached a short video to show my issue.

I guess my question boils down to, how do I tell the robot "hey, take this point (P[1]) and apply P(Pitch) offset calculated around the WORLD frame"?

External Content youtu.be
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.

• ## Math with XYZWPR variables in Karel?

Hey guys, I am having some trouble doing math with XYZWPR variables.

I have two XYZWPR variables, say pos1 and pos2.

At first I tried to subtract them and get the result into a 3rd XYZWPR variable like so:

Code
``````VAR
pos1, pos2, pos3: XYZWPR

BEGIN
pos3 = pos2 - pos1
END``````

But I got an error saying:

Operator expected POSITION data type for left operand.

Any idea how to properly do math with that datatype?

• ## Open/"Decompile" .PC files into .KL? Is it possible?

Is it possible to somehow open and read/edit an already compiled karel file (.pc)? Back into .kl? Or once it is compiled into .PC file its done and the contents cant be read/modified? Im asking mostly because I want to know how "safe" my .pc files will be from pirating if I install them on robots that I do not own.

• ## Get robot serial number (or other unique ID) with Karel?

Is there a way to retrieve the robot and/or controller serial numbers with Karel? Or any other unique identifier of a robot?

I have a few Karel programs that I want to lock to a particular robot and prevent people spreading them on other robots, so I want to add a check for something unique, something that a user cant change through the controller?

I found two system variables 'FNO' and 'PRODUCT_ID' but the values of both of these variables can be changed.

• ## KAREL Get currently active alarms

Its not, I want to do it with KAREL

• ## KAREL Get currently active alarms

What if I have multiple active alarms at the same time?

How would I know which of them are active, I already managed to retrieve the full list of alarma, I dont know how to determine which are the active ones at the moment of retrieval

Yes

• ## KAREL Get currently active alarms

I was able to successfuly retrieve the full list of alarms from the history using ERR_DATA, but how do I get the currently active alarms? What function do I use for it, or do I use ERR_DATA in some special way?

EDIT: I found the file that keeps the currently active alarms, ERRACT.LS, I can write a KAREL program that Reads that file and prints the errors from there, but I'm pretty sure that's not the best way to go about this. There should be something more "elegant"?

• ## Do Kuka robots have webserver like Fanuc?

Hey guys, I am expecting to soon receive Kuka robots at my facility, but don't have any at the moment, so I still know nothing about them. I have a tool developed for my Fanuc robots that uses their webserver to communicate with them, so I was wondering if I will be able to also integrate the Kukas in it, if Kukas have anything like that? Is there a webserver, can you do http requests?

• ## RESET with Karel?

That works thanks! Now I need a way for the chain failure

• ## RESET with Karel?

Hey guys, for a project that I am working on, I need to be able to do a RESET with Karel, is that even possible?

Also not just a RESET, but also the RES_1CH, because sometimes we get error about abnormal fence status and it cant be resetted just by a RESET, but first we have to reset channel 1.

How can I do that with Karel? At least any pointers as to what I should be looking for?

• ## How to transfer files back to the robot with KFLOPPY?

Okay, now when we download the files from the Robot, they are saved in .PE extension, and when we try to load them back to the robot, the robot doesnt see them, how do we load the .pe files back to the robot? Do we first need to convert them to .TP somehow, if so, how?

• ## How to transfer files back to the robot with KFLOPPY?

Yes. As far as the robot controller is concerned, it is a PS100 floppy drive.

Meaning? I havent tried because i havent been around the robot, Menu->Files->Set device->Floppy and that will list the files in the kfloppy directory on the pc and then i just load them, is that how it works?

• ## How to transfer files back to the robot with KFLOPPY?

So I stumbled upon an old fanuc robot, i18 I believe is the model?! With the R2J controller, it has only RS232 port and nothing else, we managed to download programs from the robot with KFLOPPY, but how do we upload programs back to the robot?

• ## How to "uninitialize" a variable in Karel?

Thanks it worked. However Im curious why the %UNINITVARS directive didnt work, I also found a KCL command DELETE VARIABLE and it also didnt work, I even tried to delete the VA and VR files but they are protected, god knows why.

• ## How to "uninitialize" a variable in Karel?

Ah so you are using another uninitiqlized variable and set its "uninitialized value" to the variable that you wqnt to uninitialize

• ## How to "uninitialize" a variable in Karel?

So set_var with second parameter being uninit_Value will uninitialize it?