This only works if simple file sharing is disabled, otherwise vxworks is not able to access the hard drive.
just check the post #59
This only works if simple file sharing is disabled, otherwise vxworks is not able to access the hard drive.
just check the post #59
When vxworks get stuck a simple reason could be that vxworks can not get the information from the hard drive
For me the most important question would be:
KSS Version
The problem with the password made me a bit nervous.
as I rember there are three ways to get an inline form:
- UserTech
- ExpertTech
- TP with inline form programmed in a dll
Therefore a KrcDiag (if possible) or the exact way on how to reproduce the problem would be helpful.
Another important question:
what is the exact KSS version (KSS 8.3 just tell the family and not the person like KSS 8.3.39)
I do not understand the problem (this was the third entry for all robots of 150/210/240 type and the 2nd entry for 210/240 robot types).
I agree it is a bit confusing (for the first entry they could have said 150 (only)
Difference between 2nd and 3rd entry is the article number (different manufacturer) , the amount of oil is the same
KUKA is doing their home work to help you to to the best PM for your system.
Is there a later version of this documentation available and maybe corrected?
I would not agree with the following statement:
yes and yes it works fine you may need more ram though
You did not tell:
- main board type of the krc2
- software delivered with krc2
If you've got kss v4.1.x
- this is license violaten
-- operating system (WinXPe instead of Win95)
-- kss version (some tp have to be bought)
With the information you presented I would say "NO" => more informaton neede
Part 5
In my last part I promised you 24 combinations, here they are
As technician I always start with the worst case scenario.
Taking the gray ones out will end up with 12 combinations!
(they are just the inverse of the blue or orange ones)
So, take the blue or orange ones and just put the calculated angles in reverse order (instead of a1,a2 and a3 just bring them up as a3, a2 and a1)
After I checked all the conversions there will another reduction - more in the next part
By the way: if you find any errors - keep them - I have plenty of them
Part 4
Elementary rotations
In the past we created a rotation matrix by comparing the target coordinate system with the reference coordinate system.
This time we will use another way to create this matrices
X- Rotation:
The x rotation is not changing the position of the x-axis (shown as red numbers).
According to the tool kit:
x: out (positive rotation direction CCW); y: right ;z: up
2nd column: projection of y'-axis to y-axis (cos(angle) and z-axis (sin(angle))
3rd column: projection of z'-axis to z-axis (-sin(angle) and z-axis (cos(angle))
Y- Rotation:
The y rotation is not changing the position of the y-axis (shown as red numbers).
According to the tool kit:
y: in (positive rotation direction CW); x: right ;z: up
1st column: projection of x'-axis to x-axis (cos(angle) and z-axis (-sin(angle))
3rd column: projection of z'-axis to x-axis (sin(angle) and z-axis (cos(angle))
Z- Rotation:
The z rotation is not changing the position of the z-axis (shown as red numbers).
According to the tool kit:
z: out (positive rotation direction CCW); x: right ;y: up
1st column: projection of x'-axis to x-axis (cos(angle) and y-axis (sin(angle))
2nd column: projection of y'-axis to x-axis (-sin(angle) and y-axis (cos(angle))
Now the bad news:
For combined rotations you have to use matrix multiplications and this has to be done in a certain sequence
Good news:
There are only 24 combinations
Part 3
There are different ways to draw a coordinate system. Here is the example on how I do it
Adding up the squares in a row or column the result must be 1
Coordinate System follow which rule ? Right Hand Rule (RHR) or Left Hand Rule (LHR)
By comparing the coordinate systems K0-K1 and KO-K2 the rotation matrices are created and then checked for RHR or LHR.
In order t create a LHR out of RHR you need to inverse either one or all axes
The matrix shown in post #21 is actually a transformation matrix (includes the blue, yellow and red fields). The matrix consists of 4 rows and 4 columns [mat4x4 or SE(3)]
The rotation matrix is only the blue part [mat, mat3x3 or SO(3)]. For scaling you would use a mat3x3 like [[sx, 0, 0], [0, sy, 0],[ 0,0,sz]]
The 4th row must always be 0,0,0,1! Otherwise there will be a different result.
Left hand rule:
Instead of using the right hand use the left hand (x:thumb, y: index finger; z: middle finger)
Result:
2 axes match, 3rd axis in opposite direction
pictures in one of the next parts
Part 2
To do frame arithmetic, frames do not really help! We need the transformation matrice.
What do do?
- let's call the reference coordinate system from previous post C0
- the Target Frame (or target coordinate sytem from previous post) coordinate system C1
Checking the contents of Notepad we can (will) see:
- translation (shift along the reference coordinate system - yellow part)
- axes of the target coordinate system are divided into pieces of the reference coordinate system (blue part)
By now we have a matrice with four columns and only three rows!
For matrice multiplication we need a matrice 4x4
The red marked row fullfill this requirement without changing the result of the matrice
For this thread we are only have a look for the values in the blue field and there are some more restrictions:
- coordinate system must follow the right hand rule (x:thumb, y: index finger; z: middle finger). There is also an easier way: draw x-axis horizonal, y-axis vertical (as learned at school) put a box with lower left corner to the origin of your xy-coordinate system and the upper left corner will show the z-direction (in my area z-axis would go up). You can check that by calculating the determint of the rotation matrice with a result of +1
- the sum of x*x+y*y+z*z must be one; in word 1.0 - reason:radius of the sphere equals 1.0
next part will be a closer look to the rotation matrice
so long
Part 1
Because of all the feed back I've got probably a revision course (repetitorium) would be helpful
So, let's start with the basics as mentioned in post #1 of this thread
In robotics we talk a lot about frames, positions or poses.
This picture shows how a frame could be interpreted:
The yellow arrow starts at the origin of the reference coordinate system (the tiny one) and ends at the origin of the Target frame. The shift in x, y and z is marked yellow (300,0,400) in the Notepad.
(this is common to most robots)
The blue marked stuff in Notepad (whole bunch of numbers) is not (very) clear to most of us. These numbers in the blue rectangle are called rotation matrice and defines the rotation between reference coordinate system and coordinate system of the Target Frame (or vice versa - who knows)
So, most of the robot manufacurer start their movements with:
x 300.0, Y 0.0, Z 400.0 (just to follow the example)
By know you should understand three out of six numbers: we already made 50% of the definition of a frame
will be cont'd
Example
For the angle calculation the same contents of the rotation matrice is used
(calculated from one angle set using the corresponding rotation matrice)
post #14 shows how to calculate the euler angles Z0,Y, Z1
KUEWEG.SRC (check MAT_TO_RPY) shows how to calculate the T-B angles A,B,C
(for Fanuc and Motoman in reversed order)
This way of doing the angle calculation also handels the gimbal lock
With 4 routines:
2 calculations of the rotation matrice
2 calculations of the angle values
ABB, KUKA, Nachi, Fanuc, Motoman, Adept, Comau and Kawasaki are covered
Updated version of rotation matrices
robot-forum.com/attachment/32885/
Z->Y'->X''
is the rotation sequence rot.z(A)*rot.y'(B)*rot.x(C)
X->Y->Z
you have to transpose the X->Y'->Z'' rotation matrice with the angles negated
r = (rot.x(-A)*rot.y(-B)*rot.z(-C)).T
or take the Z->Y'->X'' rotation matrice and do the same angle calculation
(reversed order)
Z->Y'->Z''
is the rotation sequence rot.z(Z0)*rot.y'(Y)*rot.z''(Z1)
what is exact your problem?
In most of the documentation you will find a "square root" being involved. This means that you have to calculate two sets of angles.
The way introduced here will give you only one set of angles. Starting with the first rotation the other two angles will be computed by taking the first angle into account.
The lines with blue and red characters are just to double check that the correct data used
I was using RoboDK to get all the angles given by a comau robot (Z->Y'->Z'') and transformed for other robot types.
In a first step create a routine which creates a rotation matrice for the specific angle rotation sequence.
There is a difference ZYX (intrinsic) and XYZ (extrinsic)
If you start with fanuc angles you just need to transpose the matrice and you have the matrice you need to calculate the angles for the other robots
@SkyFire
answer to your post #7
In accordance to this video Fanuc (and ABB) using the rotation as shown in this table
Euler sequence make a difference with Quats, see example
gives the result
q1 = 0.80670746 q2 = 0.53898536 q3 = -0.19617472 q4 = 0.14224392 (first command)
q1 = 0.80670746 q2 = 0.14224392 q3 = -0.19617472 q4 = 0.53898536 (second command)
(the blue line is the correct one)
This is an example of the calculation
Step 1:
create the rotation matrice
Step 2:
check symbolic rotation matrice for the robot you want to calculate the angles
Step 3:
do the calculations
(hint: in KUEWEG.SRC check MAT_TO_RPY)
Next will be ABB and other robots (more information needed)
I hope this helped so far