Hi everyone,
my name is Taniq I would like to ask for a help. I am new to ABB robotics, but since COVID19 there is possibility to download their software and learn. So I use this opportunity and so far would say I really really enjoy it. The problem I am right now stuck is rotation around /any/ X axes in particular. My programs for test are very simple geometry - a square or triangular roof, both of them I created with quaternions and xyx coordinates.
I simply tried everything from the book menu, but it doesn't work: Config of the robot, config of target, commands for AxisLock or /Wrist and etc, change position of workobject and etc.
Here is the first example:
A square, where the head should rotate under different angles. It always stops on the last corner. I don't have in my programs any notification about singularity.
MODULE Module1
LOCAL PERS tooldata Tool1 := [TRUE,[[126.616,0.079,183.273],[0.707106195,-0.001493302,0.707105791,0]],[2,[28.725,-34.208,130.111],[1,0,0,0],0,0,0]];
TASK PERS wobjdata Workobject_1 := [FALSE, TRUE, "", [[1200.000000,0.000000,0.000000], [1, 0, 0, 0]], [[0, 0, 0], [1, 0, 0, 0]]];
PROC main()
MoveL [[-100.000000,100.000000,100.000000],[0.382683,-0.000000,0.923880,0.000000],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20, Z0,Tool1\WObj:=Workobject_1;
MoveL [[-100.000000,-100.000000,100.000000],[0.382683,-0.000000,0.923880,0.000000],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20, Z0,Tool1\WObj:=Workobject_1;
MoveL [[-100.000000,-100.000000,100.000000],[0.382683,-0.923880,0.000000,0.000000],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20, Z0,Tool1\WObj:=Workobject_1;
MoveL [[100.000000,-100.000000,100.000000],[0.382683,-0.923880,0.000000,0.000000],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20, Z0,Tool1\WObj:=Workobject_1;
MoveL [[100.000000,-100.000000,100.000000],[0.382683,-0.000000,-0.923880,0.000000],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20, Z0,Tool1\WObj:=Workobject_1;
MoveL [[100.000000,100.000000,100.000000],[0.382683,-0.000000,-0.923880,0.000000],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20, Z0,Tool1\WObj:=Workobject_1;
MoveL [[100.000000,100.000000,100.000000],[0.382683,0.923880,0.000000,0.000000],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20, Z0,Tool1\WObj:=Workobject_1;
MoveL [[-100.000000,100.000000,100.000000],[0.382683,0.923880,0.000000,0.000000],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20, Z0,Tool1\WObj:=Workobject_1;
ENDPROC
ENDMODULE
Here is the second example:
MODULE Module1
LOCAL PERS tooldata Tool1:=[TRUE,[[126.616,0.079,183.273],[0.707106195,-0.001493302,0.707105791,0]],[2,[28.725,-34.208,130.111],[1,0,0,0],0,0,0]];
TASK PERS wobjdata Workobject_1:=[FALSE,TRUE,"",[[1200,-50,900],[1,0,0,0]],[[0,0,0],[1,0,0,0]]];
PROC main()
MoveL [[-100,-100,100],[0.360597,0,0.932722,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20,Z0,Tool1\WObj:=Workobject_1;
MoveL [[-50,-100,150],[0.360597,0,0.932722,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20,Z0,Tool1\WObj:=Workobject_1;
MoveL [[-50,-100,150],[0.382683,-0.92388,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20,Z0,Tool1\WObj:=Workobject_1;
MoveL [[50,-100,150],[0.382683,-0.92388,0,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20,Z0,Tool1\WObj:=Workobject_1;
MoveL [[50,-100,150],[0.382683,0,-0.92388,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20,Z0,Tool1\WObj:=Workobject_1;
MoveL [[100,-100,100],[0.382683,0,-0.92388,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20,Z0,Tool1\WObj:=Workobject_1;
MoveL [[100,100,100],[0.382683,0,-0.92388,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20,Z0,Tool1\WObj:=Workobject_1;
MoveL [[0,100,200],[0.382683,0,-0.92388,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20,Z0,Tool1\WObj:=Workobject_1;
MoveL [[0,100,200],[0.382683,0,0.92388,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20,Z0,Tool1\WObj:=Workobject_1;
MoveL [[-100,100,100],[0.382683,0,0.92388,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20,Z0,Tool1\WObj:=Workobject_1;
MoveL [[-100,-100,100],[0.382683,0,0.92388,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v20,Z0,Tool1\WObj:=Workobject_1;
ENDPROC
ENDMODULE
I would like the robot to work only MOVEL command. The robot that I've chosen is IRB2400 12.5 kg.
Please if there is some solution for that I would appreciate to show me how to make these programs work? I can see with naked eye that the robot is absolutely able to complete my move, but for some reason it did not happens. I started simuteniosly to guess and try click and change anything and that's not the way to make it. I am simply missing knowledge. :((
Thanks in advance,
Taniq