This seems difficult
I think RSI is the only option. I have to connect the Force/Torque sensor to a PC (in which RSI code is running) with Ethernet cable.
This seems difficult
I think RSI is the only option. I have to connect the Force/Torque sensor to a PC (in which RSI code is running) with Ethernet cable.
Spl, do you mean ATI/FT NetBox<->CAN<->EtherCAT<->KUKA Controller ?
Can you please also confirm that it is real time communication?
-
Thanks
Ravi
wes_mcgee, I noticed that NetBox has CAN bus interface as well. (Please see here for more info http://www.ati-ia.com/products/ft/ft_NetFT.aspx)
Does KUKA KR5 Arc (KRC2) support CAN bus? Any idea please?
SkyeFire,
Thanks a lot for the explanation. I really appreciate it.
Actually, for controlling the position, the relative mode works pretty well. Now, I am controlling the robot orientation using RSI, in which relative mode creates a lot of problems. Since I need to store the previous orientation, then I need to subtract it from new calculated orientation. This way, it gives me the change the orientation, which I should sent to RSI.
While working in absolute mode, there is no such problem. But it is too fast to work.
Quoteif you ramp the input from 1 to 100 over the course of a second or two, the speed of the input ramp will control the speed of the robot's motion.
It seems interesting. But how to do it? Do you have any such program in C/C++/C#/Java ?
Skyfire,
Apologize for the delayed response.
The Force/Torque sensor is mounted on the flange of the robot. However the sensor is not connected to KUKA. The company has provided the Force/Torque sensor with Net Box setup, which has Ethernet interface for communication. Please see the attached sample image to see the Net Box. Note that the image is taken from internet, hence the sensor is not matching with actual sensor, we have.
Anyway, the Force/Torque sensor is not connected to KUKA and I want to use this Force/Torque sensor to safely make contact with some objects (by taking the force feedback and controlling robot position appropriately). I have written my code in KRL but I am not able to access the Force/Torque sensor from KRL. As a workaround, I am thinking to use RSI but this option doesn't look elegant .
Hi,
We have a ATI F/T gamma sensor (http://www.ati-ia.com/products/ft/ft_models.aspx?id=Gamma).
I want to use this sensor with KUKA KR5 Arc Robot (controller version :KRC2). Presently, as a workaround, I am thinking to use a PC, which is connected to KUKA and F/T sensor using Ethernet cable, to control KUKA using RSI interface.
But, all of my codes are written in KRL which work perfectly. Now it is a big headache to write them from scratch in C# language.
Is there any way, so that I can get the F/T values directly into KUKA so that I can still use my KRL programs ?
so to select external tool you would need to use:
$BASE = base_data[12] ;notice that this is base and used frame is stored as base_data
Appreciate the quick response. I do not have such base defined in my robot. Infact we mostly use World base.
Can you please tell me, how to define external tool base? May I assign any frame to $BASE?
FRAME myFrame;
myFrame.X=0
myFrame.Y=0
myFrame.Z=800
myFrame.A=0
myFrame.B=0
myFrame.C=0
$BASE=myFrame ; Is this correct?
Thanks a lot.
Hi,
I wanted to move the end-effector with respect to tool. Below is my KRL code-
PTP{A1 90,A2 -90,A3 90,A4 0,A5 90,A6 0}
$BASE = $WORLD ;Setting the base as World Coordinate System
$TOOL = TOOL_DATA[10] ; Setting required tool
$IPO_MOPE = #TCP ;Move wrt TCP
PTP_REL{Z 100}
Display More
Since the Z axis of Tool is directing towards grounds, the last PTP_REL command should move the end-effector towards the ground. But the end-effector is moving upwards. It seems that the end-effector is not moving wrt Tool Coordinate Frame.
Please note that the robot is KUKA KR5 Arc with KRC2 controller.
SkyeFire,
Thakn you for answering this question.
Yes, I can use ST_ON(#TOOL) which will much simpler and easy way to do. But since I wanted to learn the KUKA transformations in a better way, So I prefer ST_ON1(#BASE,1). Please note that Base is NullFrame.
I am confused about this equation P'=HTM.P (where HTM is homogeneous transformation matrix)
How I can control the orientation of tool using this equation? In other words, suppose A1 and A4 is rotated by 90degree. Now, I want to change the angle B of tool in tool frame. How I can do this? Since the robot is rotated, so angle B of WORLD Frame may not be equal to angle B of tool frame.
Please help.
Hi,
I am controlling KUKA KR5 Robot (KRC2) using RSI in WORLD Coordinate system. Please note that I am using default WORLD Coordinate system comes with KUKA KR5 in the following way in RSI-
I am able to control the KUKA in WORLD coordinate system by providing the ΔX, ΔY, ΔZ and ΔA, ΔB, ΔC. However, in this way all the calculations are done in WORLD coordinate system and the code is not robust.
I found out herehttps://www.robot-forum.com/robotforum/kuk…local-to-world/ that using the Homogeneous Transformation Matrix, the tool frame can be converted into WORLD coordinate system in the following manner-
|R11 R12 R13 X|
P' = |R21 R22 R23 Y| .P
|R31 R32 R33 Z|
| 0 0 0 1|
Where -
R = Rotation Matrix formed by ZYX order using Euler Angles Φ θ Ψ Or A B C
P = Point in tool coordinate
P' = Point in world coordinate
Below is my question-
Is it possible to control the orientation of tool using this equation? If yes, how? Since the vector P is 3x1 consisting of position of a point w.r.t. tool frame.
SkyeFire,
Thank you so much for this wonderful explanation. I am new to rotation matrix and Euler Angles. I have the knowledge about them, but I am not aware of their implementation in KUKA robot. Can you please provide some material (or some brief explanation), showing the implementation in KUKA. If possible, please provide some KRL code, so that It can be verified by running in robot.
-
Thanks
Hi,
I have noticed that sometimes KUKA shows multiple set of {A,B,C} for same orientation and position. Below is an example-
I kept KUKA in A=0, B=90, C=90 orientation and just created a point P1 from teach pendent. This point is the first PTP run (BCO Run). I noticed that even without any change in position and orientation (no motion in end-effector), KUKA tool A,B,C values keep on changing by releasing and pressing the motor drive button in the teach pendent.
I am attaching all these values in a screenshot of KUKA teach pendent. Please have a look.
Also somebody please explain the reason behind this variations and how to handle these situations, since I am trying to control KUKA from RSI in this orientation.
SkyeFire,
Thanks a lot for your suggestion. From the geometry, I have derived the equation for an special case. Using rotation matrix and Euler angles, I think It can be done for generalized case.
Can you please provide me some reference about the implementation of these angles specially on KUKA?
Thank you.
Everybody,
I am quoting my post again-
QuoteThe robot is kept in home position and controlled in World Frame using RSI. To implement this motion using RSI, there can be following two ways-
[list type=decimal]
- Change angle B OR C to 30 degree (for example) once. Now keep incrementing angle A by 1 degree.
- Change angle B AND C both simultaneously. DO NOT change angle A.
[/list]The first method is not suitable, as it has certain limitation in my application. For second method, there must be some relation to change angle B AND C both simultaneously.
I do not want to rotate the tool. I want to do it by changing B AND C both simultaneously (as suggested by SkyeFire).
Thanks
SkyeFire,
Thanks a lot for the sample code. As I said earlier I can't go with this method. I do not want tool to rotate. In my laboratory setup, I am able to do in this way also. By changing B & C BOTH simultaneously. For this purpose, I had to formulate equations, from the figure geometrically. This becomes very hard since it is difficult to visualize all these angles in 3D.
I was thinking, if there exist any easier way in KUKA KR5 robot. Can you please help a bit more?
-
Thanks
Ravi
I am controlling the KUKA KR5 from RSI in C# programming environment. The robot is suppose to move in Conical trajectory while it is not changing the position. In this way there is ONLY change in orientation and the change in position is zero.
Please see the attached sample image for more understanding of it.
The robot is kept in home position and controlled in World Frame using RSI. To implement this motion using RSI, there can be following two ways-
[list type=decimal]
The first method is not suitable, as it has certain limitation in my application. For second method, there must be some relation to change angle B AND C both simultaneously.
Can somebody help me to understand it? Also please tell me, if there exist any easier way in KUKA KR5 robot.
Thank you PM.
I am using Windows 7 64 bit OS in Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz 3.40 GHz CPU which has 8GB RAM. Do you think that fast RSI Mode will have any problem here?
By the way, what else is required to enable fast cycle mode in RSI-
Please note that, I can't bear the loss of even a single $POS_ACT value. Is there anything else I should enable in RSI?
I wanted to record $POS_ACT repeatedly in KRL (KRC2) while KUKA moves in a random path. There seems following two options to me-
[list type=decimal]
The first option looks simple and straightforward to me. However I have no idea about it's implementation. The second option is time expensive and each cycle take 12ms to send data again. This way there is a chance of missing some $POS_ACT values.
Any suggestions please.