Difference between revisions of "Work Space Limits/zh-hans"

From SoftMC-Wiki
Jump to: navigation, search
 
Line 1: Line 1:
{{Languages}}
+
{{Languages|Work_Space_Limits}}
 
==描述==
 
==描述==
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>
+
每个机器人工作环境都包含多个具有不同的定义和限制的坐标系。 '''工作空间限制'''命令的目的是定义每个坐标系的限制,并在所有约束条件下进行组合。<br>
  
 
==定义==
 
==定义==
The frames are defined as:  
+
这些坐标系定义为:  
* World - universal frame
+
* World - 通用坐标系
 
* Base - #{X,Y,Z,y,p,r}
 
* Base - #{X,Y,Z,y,p,r}
 
* Tool - #{X,Y,Z,y,p,r}
 
* Tool - #{X,Y,Z,y,p,r}
 
* MachineTable - #{X,Y,Z,y,p,r}
 
* MachineTable - #{X,Y,Z,y,p,r}
 
* WorkPiece - #{X,Y,Z,y,p,r}
 
* WorkPiece - #{X,Y,Z,y,p,r}
When '''#''' represents Cartesian point coordinate.<br>
+
'''#'''代表笛卡尔坐标点时。<br>
  
  
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 [[MC-Basic:robot.SETPOINT|robot.SetPoint]] command will show: '''SetPoint = P<sub>b</sub>''', where '''P<sub>b</sub>''' is the vector to the robot edge  relative to it's base ('''NOT''' the tool edge). <br>  
+
机器人'''SetPoint'''参数定义为机器人工具的边缘点。 当所有框架被设置为#{0,0,0,0,0,0}时,[[MC-Basic:robot.SETPOINT|robot.SetPoint]]命令将显示:'''SetPoint = P<sub>b</sub>''',其中'''P<sub>b</sub>'''是机器人边缘相对于其基坐标系的矢量('''不是'''工具 边缘)。 <br>  
  
In general, the [[MC-Basic:robot.SETPOINT|robot.SetPoint]] parameter is calculated as follows: <br>  
+
一般来说,机器人的[[MC-Basic:robot.SETPOINT|robot.SetPoint]]参数计算如下: <br>  
 
'''SetPoint = WorkPiece<sup>-1</sup>:MachineTable<sup>-1</sup>:Base:P<sub>b</sub>:Tool''' <br>
 
'''SetPoint = WorkPiece<sup>-1</sup>:MachineTable<sup>-1</sup>:Base:P<sub>b</sub>:Tool''' <br>
The relations between the frames and the P<sub>b</sub> vector are shown here: <br>  
+
这里显示了坐标系和P<sub>b</sub>向量之间的关系: <br>  
 
[[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:
 +
每个框架都有其自身的局限性。为了定义它们,应该使用'''<Frame>.''command''''',例如:
 
<pre>Base.Xmax = 150
 
<pre>Base.Xmax = 150
 
?MachineTable.Zmin
 
?MachineTable.Zmin
Line 27: Line 28:
  
  
{{Note|If these parameters are referred to without a frame, the parameters are set for the '''WORLD''' frame}}
+
{{Note|如果这些参数在没有坐标系的情况下被引用,则为'''WORLD'''坐标系设置参数}}
  
'''When a move command is issued, an examination is made to check if the point doesn’t exceed the defined limits.''' <br>  
+
'''当发出运动指令时,检查点是否未超过定义的限制。''' <br>  
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. <br>  
+
对于'''Moves''''''Circle''' 命令,检查检查整个路径没有超出定义的限制。 对于 '''Move'''命令,只检查最后一个点。 <br>  
 
+
例如: <br>  
For example: <br>  
 
  
  
Line 39: Line 39:
  
  
Another example: <br>  
+
另一个例子: <br>  
  
  
Line 45: Line 45:
  
 
==限制检查==
 
==限制检查==
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.
+
为了检查某个点是否在允许的工作区域内,[[MC-Basic:robot.SETPOINT|robot.SetPoint]]应该被转换成每个帧,然后应该检查转换点是否在坐标系的范围内。
  
The transformations for each frame are calculated as follows: <br>  
+
每个坐标系的转换计算如下: <br>  
  
 
{| border="1" cellpadding="2" cellspacing="0"
 
{| border="1" cellpadding="2" cellspacing="0"
  
!width = "100" bgcolor = A9A9A9| '''Frame'''
+
!width = "100" bgcolor = A9A9A9| '''坐标系'''
!width = "550" bgcolor = A9A9A9| '''Formula'''
+
!width = "550" bgcolor = A9A9A9| '''公式'''
  
 
|-
 
|-
Line 82: Line 82:
  
  
{{Note|For the Tool frame, the absolute limits are defined relative to P<sub>b</sub> at the time that the Tool frame limits were defined. This position is defined as P<sub>b,0</sub> .
+
{{Note|对于工具坐标系,绝对限制是在定义工具坐标系限制时相对于 P<sub>b</sub>定义的。 这个位置被定义为P<sub>b,0</sub>}}
}}
 
  
  
  
The check protocol starts with '''World frame <big><big>→</big></big> Base frame <big><big>→</big></big> MachineTable frame <big><big>→</big></big> WorkPiece frame <big><big>→</big></big> Tool frame''',<br>  Where the check order in each frame is '''Xmax <big><big>→</big></big> Xmin <big><big>→</big></big> Ymax <big><big>→</big></big> Ymin <big><big>→</big></big> Zmax <big><big>→</big></big> Zmin '''
+
检查拟定开始于 '''World frame <big><big>→</big></big> Base frame <big><big>→</big></big> MachineTable frame <big><big>→</big></big> WorkPiece frame <big><big>→</big></big> Tool frame''',<br>  在每个坐标系的检查顺序是 '''Xmax <big><big>→</big></big> Xmin <big><big>→</big></big> Ymax <big><big>→</big></big> Ymin <big><big>→</big></big> Zmax <big><big>→</big></big> Zmin '''
  
{{Note|In case that the movement command isn't valid in any parameter, the program will stop checking, and raise an '''Error Message'''}}
+
{{Note|如果移动命令在任何参数中都是无效的,程序将停止检查,并引发 '''错误信息 '''}}
  
 
==示例==
 
==示例==
  
==6 Degree Of Freedom (DOF) Robot==
+
==6自由度(DOF)机器人==
 
    
 
    
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center"
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center"
  
!width = "100" bgcolor = A9A9A9| '''Frame'''
+
!width = "100" bgcolor = A9A9A9| '''坐标系'''
!width = "250" bgcolor = A9A9A9| '''Value'''
+
!width = "250" bgcolor = A9A9A9| ''''''
 
!width = "100" bgcolor = A9A9A9| '''Xmin, Xmax'''
 
!width = "100" bgcolor = A9A9A9| '''Xmin, Xmax'''
 
!width = "100" bgcolor = A9A9A9| '''Ymin, Ymax'''
 
!width = "100" bgcolor = A9A9A9| '''Ymin, Ymax'''
Line 141: Line 140:
  
  
Assume that the desired SetPoint is:  #{100,100,0,0,0,0} and that P<sub>b,0</sub> is: #{100,100,900,-45,90,0} - '''Is it in the work area of the limits?'''
+
假设所需的SetPoint是:#{100,100,0,0,0,0},P<sub>b,0</sub>是:#{100,100,900,-45,90,0} - '''是否在限制的工作区域?'''
  
  
Line 147: Line 146:
 
{| border="1" cellpadding="2" cellspacing="0" style="text-align: center"
 
{| border="1" cellpadding="2" cellspacing="0" style="text-align: center"
  
!width = "100" bgcolor = A9A9A9| '''Frame'''
+
!width = "100" bgcolor = A9A9A9| '''坐标'''
!width = "750" bgcolor = A9A9A9| '''Formula'''
+
!width = "750" bgcolor = A9A9A9| '''公式'''
!width = "100" bgcolor = A9A9A9| '''In Limits?'''
+
!width = "100" bgcolor = A9A9A9| '''在限制内?'''
  
 
|-
 
|-
Line 184: Line 183:
  
  
==4 Degree Of Freedom (DOF) Robot==
+
==4自由度(DOF)机器人==
 
    
 
    
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center"
 
{| border="1" cellpadding="5" cellspacing="0" style="text-align: center"
  
!width = "100" bgcolor = A9A9A9| '''Frame'''
+
!width = "100" bgcolor = A9A9A9| '''坐标系'''
!width = "250" bgcolor = A9A9A9| '''Value'''
+
!width = "250" bgcolor = A9A9A9| ''''''
 
!width = "100" bgcolor = A9A9A9| '''Xmin, Xmax'''
 
!width = "100" bgcolor = A9A9A9| '''Xmin, Xmax'''
 
!width = "100" bgcolor = A9A9A9| '''Ymin, Ymax'''
 
!width = "100" bgcolor = A9A9A9| '''Ymin, Ymax'''
Line 231: Line 230:
 
|}
 
|}
  
 
+
假设所需的SetPoint是: #{380 , -150 , -310 , 25} ,P<sub>b,0</sub>是: #{780, -50, 0, 0} - '''是否在限制的工作区域?'''
Assume that the desired SetPoint is:  #{380 , -150 , -310 , 25} and that P<sub>b,0</sub> is: #{780, -50, 0, 0} - '''Is it in the work area of the limits?'''
 
  
  
Line 238: Line 236:
 
{| border="1" cellpadding="2" cellspacing="0" style="text-align: center"
 
{| border="1" cellpadding="2" cellspacing="0" style="text-align: center"
  
!width = "100" bgcolor = A9A9A9| '''Frame'''
+
!width = "100" bgcolor = A9A9A9| '''坐标系'''
!width = "750" bgcolor = A9A9A9| '''Formula'''
+
!width = "750" bgcolor = A9A9A9| '''公式'''
!width = "150" bgcolor = A9A9A9| '''In Limits?'''
+
!width = "150" bgcolor = A9A9A9| '''在限制内?'''
  
 
|-
 
|-
Line 274: Line 272:
 
|}
 
|}
  
==See Also==
+
==参考==
  
 
* [[Robot Working Frames|Robot Working Frames]]
 
* [[Robot Working Frames|Robot Working Frames]]

Latest revision as of 09:29, 5 November 2017

语言: English  • 中文(简体)‎

描述

每个机器人工作环境都包含多个具有不同的定义和限制的坐标系。 工作空间限制命令的目的是定义每个坐标系的限制,并在所有约束条件下进行组合。

定义

这些坐标系定义为:

  • World - 通用坐标系
  • 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}

#代表笛卡尔坐标点时。


机器人SetPoint参数定义为机器人工具的边缘点。 当所有框架被设置为#{0,0,0,0,0,0}时,robot.SetPoint命令将显示:SetPoint = Pb,其中Pb是机器人边缘相对于其基坐标系的矢量(不是工具 边缘)。

一般来说,机器人的robot.SetPoint参数计算如下:
SetPoint = WorkPiece-1:MachineTable-1:Base:Pb:Tool
这里显示了坐标系和Pb向量之间的关系:
ws 1.png ws 2.png

工作空间限制的定义

Each frame has its own limitations. In order to define them, one should use <Frame>.command, for example: 每个框架都有其自身的局限性。为了定义它们,应该使用<Frame>.command,例如:

Base.Xmax = 150
?MachineTable.Zmin
Tool.Zmax = 1230


NOTE-Info.svgNOTE
如果这些参数在没有坐标系的情况下被引用,则为WORLD坐标系设置参数

当发出运动指令时,检查点是否未超过定义的限制。
对于MovesCircle 命令,检查检查整个路径没有超出定义的限制。 对于 Move命令,只检查最后一个点。
例如:


ws 3.png


另一个例子:


ws 4.png

限制检查

为了检查某个点是否在允许的工作区域内,robot.SetPoint应该被转换成每个帧,然后应该检查转换点是否在坐标系的范围内。

每个坐标系的转换计算如下:

坐标系 公式
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-Info.svgNOTE
对于工具坐标系,绝对限制是在定义工具坐标系限制时相对于 Pb定义的。 这个位置被定义为Pb,0


检查拟定开始于 World frame Base frame MachineTable frame WorkPiece frame Tool frame,
在每个坐标系的检查顺序是 Xmax Xmin Ymax Ymin Zmax Zmin

NOTE-Info.svgNOTE
如果移动命令在任何参数中都是无效的,程序将停止检查,并引发 错误信息

示例

6自由度(DOF)机器人

坐标系 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


假设所需的SetPoint是:#{100,100,0,0,0,0},Pb,0是:#{100,100,900,-45,90,0} - 是否在限制的工作区域?


坐标 公式 在限制内?
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自由度(DOF)机器人

坐标系 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

假设所需的SetPoint是: #{380 , -150 , -310 , 25} ,Pb,0是: #{780, -50, 0, 0} - 是否在限制的工作区域?


坐标系 公式 在限制内?
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

参考