Hi,
Can you please tell me in kawasaki how to calculate Cartesian from joint?
eg.
Applejoint=(45.5,23.3,98,89.9,45.1,110.3)
Apple=(x,y,z,o,a,t)?
how to calculate apple with reference to tool and a frame?
Thank you
Hi,
Can you please tell me in kawasaki how to calculate Cartesian from joint?
eg.
Applejoint=(45.5,23.3,98,89.9,45.1,110.3)
Apple=(x,y,z,o,a,t)?
how to calculate apple with reference to tool and a frame?
Thank you
The precision point is with # in front, for example: #applejoint. Once you have this position, in the terminal you can save the transformation point from the precision point:
POINT applejoint = #applejoint
Thank you.
As far us I understood
for joint toCartesian
point Pcartesion=#PJointvar
For Cartesian to joint
point #PJointvar=PCartesian
1. am I correct?
2. While converting from joint to cartesian. Does it gives the value with world frame and null tool OR ..?
3. While converting from joint to cartesian. How to convert to cartesian with specific to certain tool and frame?
4. In Kawasaki is there forward and inverse transformation function?
Thanks in advance
Kawasaki only stores the raw values when they were defined:
- Joint angles
- XYZOAT
Have a look deeper for the following in the AS Language Manual:
BASE
TOOL
POINT
TRANS
SHIFT
FRAME
ABOVE/BELOW/DWRIST/UWRIST/LEFTY/RIGHTY
Compound Transformations
Transformation Operators
1. Basically yes.
- They are the commands used for forward and inverse transformations.
- A cartesian can be represented as different joint angles (configuration).
- Therefore ensure correct configuration is used ABOVE/BELOW/DWRIST/UWRIST/LEFTY/RIGHTY.
- You could also just use a # reference position too.
2. The cartesian value is reference to it's current Base coordinate setting.
3. See Compound transformations and transformation operators.
4. See 1.
Let's Say
Frame testframe (200,100,500,45,56,90)
tool alpha (50,50,100, 10,0,0)
point apple = Trans(100,0,0,0,0,0)
point Orange = Trans(0,0,100,0,0,0)
teashops (456,234,598,34,23,78);;;Teached pos
chocolate(45,34,45,60,67,110);joint pos reached
frame addframe(100,0,100,0,0,0)
tool alpha
MoveL testframe+teashops;; Move to teashops with respect to testframe. with the alpha TCP
here testframe+fruits ; records the current position with respect to testframe and with alpha TCP
MoveL fruits+orange;; from current position it goes to z100+ in base co-ordinate
DrawT fruits+orange;; from current position it goes to z100+ in tool co-ordinate
MoveL fruits+orange+apple;;;; from current position it goes to z100+ and x100+ in base co-ordinate
DrawT fruits+orange+apple;;;; from current position it goes to z100+ and x100+ in tool co-ordinate
point chocolate=#chocolate,teashops;;Converts the chocolate joints to cartesian with teashops configuration.
frame newframe=testframe+addframe ;; adding x100 and z100 to the testframe.
MoveL newframe+chocolate; moves the TCP to chocolate with respect to newframe.
1. Is the comments wrote behind the command are correct ? If not please correct me.
2. How to find the difference between two position? is it aa=chocolate-teashops??
3. how to make a inverse of a position? inverse of chocolate? is it aa= -chocolate or ..?
Thank you.
I am really struggling to respond here - AS Language Manual.
There's one thing posting and then there's another in actually writing something that doesn't take a greengrocer and a barista to decode for you.
Display MoreLet's Say
Frame testframe (200,100,500,45,56,90) = Not Valid AS Command
tool alpha (50,50,100, 10,0,0) = Valid AS Command
point apple = Trans(100,0,0,0,0,0) = Valid AS Command
point Orange = Trans(0,0,100,0,0,0) = Valid AS Command
teashops (456,234,598,34,23,78);;;Teached pos = Not Valid AS Command
chocolate(45,34,45,60,67,110);joint pos reached = Not Valid AS Command
frame addframe(100,0,100,0,0,0) = Not Valid AS Command
Without defining testframe, teashops, chocolate or addframe correctly.
The following drivel you wrote will never work especially as it's not AS syntax.
POINT test = TRANS(0,0,0,0,0,0); defines a transformation.
POINT #test = #PPOINT(0,0,0,0,0,0); defines a precision point.
POINT testframe = FRAME(o1,x1,y1,o1); defines a frame location with vectors inline with xy ordering.
POINT #test = test, #ref; defines precision point using transformation using config of #ref.
POINT #test = test; defines precision point using TCP location.
POINT test = test1+test2 defines test with sum of test1 and test2
POINT test = #PPOINT(0,0,0,0,0,0) defines TCP location from joint angles
LMOVE is a linear move
TDRAW (0,0,0,0,0,0) moves linearly using TCP coordinate (XYZRXRYRZ).
DRAW (0,0,0,0,0,0) moves linearly using TCP coordinate (XYZRXRYRZ).
LMOVE TRANS(0,0,0,0,0,0) moves linearly using TCP coordinate (XYZOAT).
HERE #a defines current posture as precision point.
HERE a defines current location as transformation.
HERE a+#b cannot be done, you cannot mix apples and oranges to form another fruit.
HERE a+b defines b with reference to a.
HERE a-b defines b with inverse value of x to a.
Note when using compound calculations:
- You cannot include # values/references.
- right most element is defined.
I am sure reading the AS manual will also be of benefit, if you can be bothered of course.
Hi Kawasaki,
My point of interest is not in syntax. My point of interest is in transformations. That's why for understanding I wrote frames and point without syntax.
MoveL fruits+orange;; from current position it goes to z100+ in base co-ordinate
DrawT fruits+orange;; from current position it goes to z100+ in tool co-ordinate
MoveL fruits+orange+apple;;;; from current position it goes to z100+ and x100+ in base co-ordinate
DrawT fruits+orange+apple;;;; from current position it goes to z100+ and x100+ in tool co-ordinate
Can you please tell the dynamics of
1. POINT test = test1+test2 ;;;(visually its adding of two pos) what is the dynamics?
2. how to make a inverse of a position? inverse of chocolate? is it aa= -chocolate or ..?
3. aa=-chocolate+teashops. will give the difference between the pos. correct or ?
1. You can find about the compound transformation values at section 3.5.3 or 8.5 from as language manual, do you have it?
2. If you have this point:
POINT aa = (10,20,30,40,50,60)
DECOMPOSE a[1] = aa
POINT aa = TRANS(-a[1], -a[2], -a[3], -a[4], -a[5], -a[6])
This is what are you looking for?
3. If the teashops is the reference point (taught point) and chocolate is the point is where the robot is, the difference might be: PO diff = chocolate - teashops
Usually i have a reference point and based from that position i calculate the points. If you want an offset in tool coordinates:
PO offset = refpoint + TRANS(x_offset, y_offset, z_offset)
or in base coordinates:
PO offset = TRANS(x_offset, y_offset, z_offset) + refpoint
You are not reading anything I wrote earlier (I made an intentional mistake which you did not see).
Which shows that you are not interested in reading the manual, understanding the Kawasaki syntax and how to apply it.
So I'll not be wasting anymore of my spare time here now.
With respect, good luck in resolving your dynamical fruit baskets.
Hey Kawasaki
Once again am telling that am not focusing on the syntax. am focussing the transformations only.
you have written all the transformation commands.
My main point is
1. Dynamics behind adding two points?
2 Difference between two co-ordinates? Just subtracting two pos will not give you difference. That's 3d dynamics.
3. transforming frames.
POINT apple = #applejoint