Difference between revisions of "Work Space Limits/zh-hans"
(Created page with "{{Languages}} ==Description== Each robot work's environment contains several frames, which has different definitions and limitations. The purpose of the '''Work Space Limits''...") |
|||
Line 1: | Line 1: | ||
{{Languages}} | {{Languages}} | ||
− | == | + | ==描述== |
Each robot work's environment contains several frames, which has different definitions and limitations. The purpose of the '''Work Space Limits''' commands is to define each frame limitations, and combine them under all of the constraints. <br> | Each robot work's environment contains several frames, which has different definitions and limitations. The purpose of the '''Work Space Limits''' commands is to define each frame limitations, and combine them under all of the constraints. <br> | ||
− | == | + | ==定义== |
The frames are defined as: | The frames are defined as: | ||
* World - universal frame | * World - universal frame | ||
Line 20: | Line 20: | ||
[[Image: ws_1.png | 250px]] [[Image: ws_2.png | 650px]] | [[Image: ws_1.png | 250px]] [[Image: ws_2.png | 650px]] | ||
− | == | + | ==工作空间限制的定义== |
Each frame has its own limitations. In order to define them, one should use '''<Frame>.''command''''', for example: | Each frame has its own limitations. In order to define them, one should use '''<Frame>.''command''''', for example: | ||
<pre>Base.Xmax = 150 | <pre>Base.Xmax = 150 | ||
Line 44: | Line 44: | ||
[[Image: ws_4.png| 750px]] | [[Image: ws_4.png| 750px]] | ||
− | == | + | ==限制检查== |
In order to examine if a certain point is inside the allowed working area, the [[MC-Basic:robot.SETPOINT|robot.SetPoint]] should be transformed into each frame, and then it should be checked that the transformed point is inside the limits of the frame. | In order to examine if a certain point is inside the allowed working area, the [[MC-Basic:robot.SETPOINT|robot.SetPoint]] should be transformed into each frame, and then it should be checked that the transformed point is inside the limits of the frame. | ||
Line 91: | Line 91: | ||
{{Note|In case that the movement command isn't valid in any parameter, the program will stop checking, and raise an '''Error Message'''}} | {{Note|In case that the movement command isn't valid in any parameter, the program will stop checking, and raise an '''Error Message'''}} | ||
− | == | + | ==示例== |
==6 Degree Of Freedom (DOF) Robot== | ==6 Degree Of Freedom (DOF) Robot== |
Revision as of 08:44, 5 November 2017
语言: | [[::Work Space Limits|English]] • [[::Work Space Limits/zh-hans|中文(简体)]] |
---|
Contents
描述
Each robot work's environment contains several frames, which has different definitions and limitations. The purpose of the Work Space Limits commands is to define each frame limitations, and combine them under all of the constraints.
定义
The frames are defined as:
- World - universal frame
- Base - #{X,Y,Z,y,p,r}
- Tool - #{X,Y,Z,y,p,r}
- MachineTable - #{X,Y,Z,y,p,r}
- WorkPiece - #{X,Y,Z,y,p,r}
When # represents Cartesian point coordinate.
The robot SetPoint parameter defined as the edge point of the robot's tool. When all frames are set to #{0,0,0,0,0,0}, the robot.SetPoint command will show: SetPoint = Pb, where Pb is the vector to the robot edge relative to it's base (NOT the tool edge).
In general, the robot.SetPoint parameter is calculated as follows:
SetPoint = WorkPiece-1:MachineTable-1:Base:Pb:Tool
The relations between the frames and the Pb vector are shown here:
工作空间限制的定义
Each frame has its own limitations. In order to define them, one should use <Frame>.command, for example:
Base.Xmax = 150 ?MachineTable.Zmin Tool.Zmax = 1230
NOTE | |
If these parameters are referred to without a frame, the parameters are set for the WORLD frame |
When a move command is issued, an examination is made to check if the point doesn’t exceed the defined limits.
For Moves and Circle commands, the examination checks that the entire path doesn’t exceed the defined limits. For a Move command, only the final point is examined.
For example:
Another example:
限制检查
In order to examine if a certain point is inside the allowed working area, the robot.SetPoint should be transformed into each frame, and then it should be checked that the transformed point is inside the limits of the frame.
The transformations for each frame are calculated as follows:
Frame | Formula |
---|---|
WorkPiece | CheckPoint = SetPoint = WorkPiece-1:MachineTable-1:Base:Pb:Tool
|
MachineTable | CheckPoint = WorkPiece:SetPoint = MachineTable-1:Base:Pb:Tool
|
World | CheckPoint = MachineTable:WorkPiece:SetPoint = Base:Pb:Tool
|
Base | CheckPoint = Base-1:MachineTable:WorkPiece:SetPoint = Pb:Tool
|
Tool | CheckPoint = Tool-1:Pb,0-1:Base-1:MachineTable:WorkPiece:SetPoint=Tool-1:Pb,0-1:Pb:Tool |
NOTE | |
For the Tool frame, the absolute limits are defined relative to Pb at the time that the Tool frame limits were defined. This position is defined as Pb,0 . |
The check protocol starts with World frame → Base frame → MachineTable frame → WorkPiece frame → Tool frame,
Where the check order in each frame is Xmax → Xmin → Ymax → Ymin → Zmax → Zmin
NOTE | |
In case that the movement command isn't valid in any parameter, the program will stop checking, and raise an Error Message |
示例
6 Degree Of Freedom (DOF) Robot
Frame | Value | Xmin, Xmax | Ymin, Ymax | Zmin, Zmax |
---|---|---|---|---|
WorkPiece | #{20,70,150,0,90,-90} | -200, 200 | -200, 200 | -200, 200 |
MachineTable | #{400,100,0,0,0,0} | 0, 400 | 0, 400 | 0, 800 |
Base | #{300,200,1000,0,180,180} | -1000, 1000 | -1000, 1000 | 0, 1000 |
Tool | #{50,0,0,90, 45, 0} | -200, 200 | -200, 200 | -200, 200 |
World | None | -1500, 1500 | -1500, 1500 | 0, 2000 |
Assume that the desired SetPoint is: #{100,100,0,0,0,0} and that Pb,0 is: #{100,100,900,-45,90,0} - Is it in the work area of the limits?
Frame | Formula | In Limits? |
---|---|---|
WorkPiece | CheckPoint = SetPoint = : #{100,100,0,0,0,0} | Yes
|
MachineTable | CheckPoint = WorkPiece:SetPoint = #{20,-30,50,0,90,-90} | No - Ymin |
Base | CheckPoint = Base-1:MachineTable:WorkPiece:SetPoint = #{120,130,950,0,90,90} | Yes
|
Tool | CheckPoint = Tool-1:Pb,0-1:Base-1:MachineTable:WorkPiece:SetPoint = #{30,100,20,0,0,0} | Yes
|
World | CheckPoint = MachineTable:WorkPiece:SetPoint = #{420,70,50,0,90,-90} | Yes |
4 Degree Of Freedom (DOF) Robot
Frame | Value | Xmin, Xmax | Ymin, Ymax | Zmin, Zmax |
---|---|---|---|---|
WorkPiece | #{100, 50, 0, 0} | -100, 250 | -300, 30 | -200, 200 |
MachineTable | #{320, 120, 350, 0} | 0, 700 | 0, 500 | 0, 500 |
Base | #{0, 0, 0, 0} | -1000, 1000 | -1000, 1000 | 0, 1000 |
Tool | #{0, 20, 40, 25} | -30, 20 | -30, 20 | -30, 20 |
World | None | -1500, 1500 | -1500, 1500 | 0, 2000 |
Assume that the desired SetPoint is: #{380 , -150 , -310 , 25} and that Pb,0 is: #{780, -50, 0, 0} - Is it in the work area of the limits?
Frame | Formula | In Limits? |
---|---|---|
WorkPiece | CheckPoint = SetPoint = : #{380 , -150 , -310 , 25} | No - Xmax and Zmin
|
MachineTable | CheckPoint = WorkPiece:SetPoint = #{480 , -100 , -310 , 25} | No - Ymin and Zmin |
Base | CheckPoint = Base-1:MachineTable:WorkPiece:SetPoint = #{800, 20, 40, 0} | Yes
|
Tool | CheckPoint = Tool-1:Pb,0-1:Base-1:MachineTable:WorkPiece:SetPoint = #{111.762 , 3.05356 , 0 , 0} | No - Xmax
|
World | CheckPoint = MachineTable:WorkPiece:SetPoint = #{800, 20, 40, 0} | Yes |
See Also
- Robot Working Frames
- robot.BASE
- robot.WorkPiece
- robot.MACHINETABLE
- robot.Tool
- robot.BASE.XMAX
- robot.BASE.XMIN
- robot.BASE.YMAX
- robot.BASE.YMIN
- robot.BASE.ZMAX
- robot.BASE.ZMIN
- robot.WORKPIECE.XMAX
- robot.WORKPIECE.XMIN
- robot.WORKPIECE.YMAX
- robot.WORKPIECE.YMIN
- robot.WORKPIECE.ZMAX
- robot.WORKPIECE.ZMIN
- robot.MACHINETABLE.XMAX
- robot.MACHINETABLE.XMIN
- robot.MACHINETABLE.YMAX
- robot.MACHINETABLE.YMIN
- robot.MACHINETABLE.ZMAX
- robot.MACHINETABLE.ZMIN
- robot.TOOL.XMAX
- robot.TOOL.XMIN
- robot.TOOL.YMAX
- robot.TOOL.YMIN
- robot.TOOL.ZMAX
- robot.TOOL.ZMIN