MoveC Error - 50063 circle uncertain
Hello,
I am trying to program abb irb140 robot to move along a closed curve (see attached image). Using IRC5 controller with robotware 6.06
My program is as follows:
However, when I run this, I am getting error message (50063): Circle uncertain
"Description
Task: T_ROB1
The points are misplaced, reason1:
1 End point too close to start point.
2 Circle point too close to start point.
3 Circle point too close to end point.
4 Uncertain reorientation.
5 Circle too large > 240 degrees.
Actions
Check the points of the circle and the end point of the move instruction before. The points of the circle can be verified by stepping trough the circle in manual mode."
I am guessing this error is because the end point of MoveC and the start point of consecutive MoveL are the same. How can I solve this problem?
I am trying to program abb irb140 robot to move along a closed curve (see attached image). Using IRC5 controller with robotware 6.06
My program is as follows:
PROC moveCir_MVFT()
! Define TriggIO
! Map 0 to 120 mm/s of robot speed to 0 to 10 V; Hence 0.08333
TriggSpeed tcp_sync,0\Start,0.05,AO_1,0.08333;
! Move to approach point
MoveL [[75.000,100.000,2.000],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v130,z1,tool0,\Wobj:=wobj0;
Set DO1_1;
TriggL [[75.000,100.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,tcp_sync,z1,tool0,\Wobj:=wobj0;
MoveL [[75.000,100.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z1,tool0,\Wobj:=wobj0;
TriggL [[175.000,100.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,tcp_sync,z1,tool0,\Wobj:=wobj0;
MoveL [[175.000,100.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z1,tool0,\Wobj:=wobj0;
TriggC [[195.000,120.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[175.000,140.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,tcp_sync,z1,tool0,\Wobj:=wobj0;
MoveC [[195.000,120.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[175.000,140.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z1,tool0,\Wobj:=wobj0;
TriggL [[75.000,140.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,tcp_sync,z1,tool0,\Wobj:=wobj0;
MoveL [[75.000,140.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z1,tool0,\Wobj:=wobj0;
TriggC [[75.000,140.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[55.000,120.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,tcp_sync,z1,tool0,\Wobj:=wobj0;
MoveC [[75.000,140.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[55.000,120.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z1,tool0,\Wobj:=wobj0;
TriggC [[195.000,120.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[175.000,140.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,tcp_sync,z1,tool0,\Wobj:=wobj0;
MoveC [[195.000,120.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[175.000,140.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z1,tool0,\Wobj:=wobj0;
TriggL [[75.000,100.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,tcp_sync,z1,tool0,\Wobj:=wobj0;
MoveL [[75.000,100.000,0.400],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z1,tool0,\Wobj:=wobj0;
ENDPROC
However, when I run this, I am getting error message (50063): Circle uncertain
"Description
Task: T_ROB1
The points are misplaced, reason1:
1 End point too close to start point.
2 Circle point too close to start point.
3 Circle point too close to end point.
4 Uncertain reorientation.
5 Circle too large > 240 degrees.
Actions
Check the points of the circle and the end point of the move instruction before. The points of the circle can be verified by stepping trough the circle in manual mode."
I am guessing this error is because the end point of MoveC and the start point of consecutive MoveL are the same. How can I solve this problem?
Tagged:
0
Comments
-
MoveL takes you to the Start of the circle. The first point in the MoveC is the middle position and the next is the End position. From there you maybe have consecutive MoveC's, where the start position is the End position of the last circle, then Middle and End again.Lee Justice0
-
lemster68 said:MoveL takes you to the Start of the circle. The first point in the MoveC is the middle position and the next is the End position. From there you maybe have consecutive MoveC's, where the start position is the End position of the last circle, then Middle and End again.
MoveL p1
MoveL p2
MoveC p3,p4
MoveC p4,p5
MoveC p6,p1
If yes, I am still getting error at first MoveC "End point too close to start point"0 -
Is there a particular order or syntax to be followed for a MoveL command after MoveC?0
-
Not quite, MoveL p2, MoveC p3,p4, MoveC p5, p6.Lee Justice0
-
lemster68 said:Not quite, MoveL p2, MoveC p3,p4, MoveC p5, p6.
I can see robot successfully completing p1 -> p2 -> p3 -> p4 (almost). It stops at p4 and gives me the error
0 -
lemster68 said:Not quite, MoveL p2, MoveC p3,p4, MoveC p5, p6.
0 -
I tried following an example from rapid manual (see attached image).
p1 = (125,170)
p2 = (175, 120)
p3 = (125, 70)
p4 = (75, 120)
My Program is as follows:PROC moveCir_MVFT()! Define TriggIOTriggSpeed tcp_sync,0\Start,0.05,AO_1,0.08333;! Move to approach pointMoveL [[125.000,170.000,2.000],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v130,z1,R3DP_Extruder_Tool,\WObj:=BedOrigin;Set DO1_1;TriggL [[125.000,170.000,0.400*i],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,tcp_sync,z1,R3DP_Extruder_Tool,\WObj:=BedOrigin;MoveL [[125.000,170.000,0.400*i],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z1,R3DP_Extruder_Tool,\WObj:=BedOrigin;TriggC [[175.000,120.000,0.400*i],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[125.000,70.000,0.400*i],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,tcp_sync,z1,R3DP_Extruder_Tool,\WObj:=BedOrigin;MoveC [[175.000,120.000,0.400*i],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[125.000,70.000,0.400*i],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z1,R3DP_Extruder_Tool,\WObj:=BedOrigin;TriggC [[75.000,120.000,0.400*i],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[125.000,170.000,0.400*i],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,tcp_sync,fine,R3DP_Extruder_Tool,\WObj:=BedOrigin;MoveC [[75.000,120.000,0.400*i],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[125.000,170.000,0.400*i],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,fine,R3DP_Extruder_Tool,\WObj:=BedOrigin;ENDPROC
However, I am still getting the same error in MoveC p2,p3
Am I missing anything here? This example is supposed to be a verified one. Are there any system parameters that needs to be changed?0 -
Lemster is much more advanced with this kind of programming than I, so I hope he can chime in.
You may wish to consider writing a procedure with parameters that contains moves and RelTool displacements.
0 -
It looks like:
MoveC [[175.000,120.000,0.400*i],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],[[125.000,70.000,0.400*i],[0.00000000,0.00000000,1.00000000,0.00000000],[0,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]],v30,z1,R3DP_Extruder_Tool,\WObj:=BedOrigin;
Is the problem because you are going back to the 175,120,0.4 position too soon. Another intermediate point will be needed so that the circle angle is not too great.Lee Justice0 -
Narrowed down the problem to zone size in MoveC instructions. Looks like MoveC needs a larger zone size to work properly, increased from z1 to z10 and everything started working as expected0
-
Also, it looks like the TriggC is negatively interacting with MoveC to cause the error. With TriggC line commented out and zone size of 10 everything works fine. But, when TriggC line is un-commented (same zone size of 10 used in TriggC as well), I get the original error.
I am using TriggC to output an analog value proportional to TCP speed. This is used to run an external equipment.
Any suggestions on how to fix this?0 -
Set up the system output for TCP velocity. Read up on it in the System parameters manual.Lee Justice0
Categories
- All Categories
- 5.5K RobotStudio
- 394 UpFeed
- 18 Tutorials
- 13 RobotApps
- 297 PowerPacs
- 405 RobotStudio S4
- 1.8K Developer Tools
- 249 ScreenMaker
- 2.7K Robot Controller
- 309 IRC5
- 59 OmniCore
- 7 RCS (Realistic Controller Simulation)
- 785 RAPID Programming
- AppStudio
- 3 RobotStudio AR Viewer
- 18 Wizard Easy Programming
- 105 Collaborative Robots
- 4 Job listings