ABB机器人之LOADDATA
ABB機器人之LOADDATA
??????? loaddata是用來描述連接到機器人機械接口的負載(機器人的安裝法蘭)。loaddata數據通常定義有效載荷或負荷(通過指令gripload設置機器人抓手負載 或mechunitload指令設置變位機負載。loaddata通常也作為tooldata的一部分,用來描述描工具負載。(loaddata一般用于搬運機器人,用來優化伺服驅動器的PID參數,帶焊槍的焊接機器人由于焊槍質量偏小,一般不需要設定此參數)
?????? 指定的荷載被用來建立一個機器人的動力學模型,使機器人以最好的方式控制運動。loaddata是確定機器人實際負載大小的重要工具(例如一個搬運機器人抓手上的夾緊部分)。不正確的負載數據可以導致機器人的機械結構超載。當指定不正確的數據時,往往會導致以下結果:
??????????機器人不會使用它的最大容量。
??????????受影響的路徑精度包括過沖的風險(當伺服電機的慣量匹配不恰當時,所引起的伺服電機PID閉環超調震蕩)。
????????? 機械單元過載的風險。
?????? Load Identify這是ABB機器人工具和載重的重量和重心數據的識別功能。你只需要執行一下這個程序,你就可以輕松設定TOOLDATA和LOADDATA了。為機器人設定正確的TOOLDATA和LOADDATA是非常重要的,這是因為有了正確的數據設定以后,機器人在進行運動運算時,能更好地進行各軸扭矩的控制。有防地防止了輸出功率的過大或過小,而造成機器人電機和機構的異常損壞。
ABB機器人的loaddata數據結構定義如下:
loaddata
mass
數據類型: num
負載的公斤數,單位是KG。
cog
重心
數據類型: pos
以毫米表示的有效載荷重心在工具坐標系的表達,如果機器人夾持工具來表示。
如果使用了固定工具然后重心由夾持器保持的有效載荷被表達的工作對象坐標系統由機器人移動的對象的幀中。
aom
軸力矩? ? ? ? ? axes of moment
The orientation of the axes of moment. These are the principal axes of the payload
moment of inertia with origin in cog. If the robot is holding the tool, the axes of
moment are expressed in the tool coordinate system.
The figure shows the center of gravity and inertial axes of the payload.
| ManLoadIdProc - Load identification of IRBP manipulators | <- | -> |
| - |
| Usage | ManLoadIdProc (Manipulator Load Identification Procedure) is used for load identification of payload for external manipulators by executing a user defined RAPID program. This instruction can only be used in the main task T_ROB1 or, if in a MultiMove system, in Motion tasks. | |||||||||||||||
| ? |
| |||||||||||||||
| Basic examples | Basic examples of the instruction ManLoadIdProc are illustrated below. PERS loaddata myload := [6,[0,0,0],[1,0,0,0],0,0,0]; VAR bool defined; ActUnit STN1; ManLoadIdProc \ParIdType := IRBP_L \MechUnit := STN1 \PayLoad := myload \ConfigAngle := 60 \AlreadyActive \DefinedFlag := defined; DeactUnit STN1; Load identification of payload myload mounted on the mechanical unit STN1. The external manipulator is of type IRBP-L. The configuration angle is set to 60 degrees. The manipulator is activated before the load identification and deactivated after. After the identification myload has been updated and defined it is set to TRUE. | |||||||||||||||
| Arguments | ManLoadIdProc [\ParIdType] [\MechUnit] | [\MechUnitName] [\AxisNumber] [\PayLoad] [\ConfigAngle] [\DeactAll] | [\AlreadyActive] [DefinedFlag] [DoExit] [ \ ParIdType ]Data type: paridnum Type of parameter identification. Predefined constants are found under the datatype paridnum. [ \ MechUnit ]Data type: mecunit Mechanical unit used for the load identification. Can not be used together with argument \MechUnitName. [ \ MechUnitName ]Data type: string Mechanical unit used for the load identification given as a string. Can not be used together with argument \MechUnit. [ \ AxisNumber ]Data type: num Axis number within the mechanical unit, which holds the load to be identified. [ \ PayLoad ]Data type: loaddata Variable for the payload to be identified. The component mass must be specified. This variable will be updated after the identification is done. [ \ ConfigAngle ]Data type: num Specification of a specific configuration angle ± degrees to be used for the parameter identification. Min. + or - 30 degrees. Optimum + or - 90 degrees. [ \ DeactAll ]Data type: switch If this switch is used all mechanical units in the system will be deactivated before identification is done. The mechanical unit to identify will then be activated. It cannot be used together with argument \AlreadyActive. [ \ AlreadyActive ]Data type: switch This switch is used if the mechanical unit to identify is active. It cannot be used together with argument \DeactAll. [ \ DefinedFlag ]Data type: bool This argument will be set to TRUE if the identification has been made, FALSE otherwise. [ \ DoExit]Data type: bool If set to TRUE the load identification will end up with an EXIT command to force the user to set PP to main before continuing the execution. If not present or set to FALSE no EXIT will be done. Note that ManLoadIdProc always clears the current path. | |||||||||||||||
| Program execution | All arguments are optional. If an argument is not given the user will be asked for the value from the FlexPendant (except for \DoExit). The user will always be asked to give the mass and if the manipulator is of type IRBP R, z in mm. The mechanical unit will carry out a large number of relative small transport and measurement movements. After all measurements, movements, and load calculations the load data is returned in argument Payload if used. The following load data is calculated.
The calculated data will be displayed on the FlexPendant. | |||||||||||||||
| Limitations | Usually load identification of load for the external manipulator is done with the service routine ManLoadIdentify. It is also possible to do this identification with this RAPID instruction ManLoadIdProc. Any path in progress will be cleared before the load identification. The program pointer will be lost after the load identification if argument \DoExit:=TRUE is used. It is not possible to restart the load identification movements after any type of stop, such as program stop, emergency stop, or power failure. The load identification movements must be again restarted from the beginning. | |||||||||||||||
| Error handling | At any error during execution of the RAPID NOSTEPIN routine ManLoadIdProc the system variable ERRNO is set to ERR_PID_MOVESTOP, ERR_PID_RAISE_PP, or ERR_LOADID_FATAL and the program pointer is raised to the user call of ManLoadIdProc. | |||||||||||||||
| Syntax | ManLoadIdProc [ '\'ParIdType ':=' <expression (IN) of paridnum>] [ '\'MechUnit ':=' <variable (VAR) of mecunit> ] | ['\' MechUnitName ':=' <expression (IN) of string>] [ '\' AxisNumber ':=' <expression (IN) of num> ] [ '\' PayLoad ':=' <var or pers (INOUT) of loaddata> [ '\' ConfigAngle ':=' <expression (IN) of num>] [ '\' DeactAll] | [ '\' AlreadyActive] [ '\' DefinedFlag ':=' <variable (VAR) of bool> ] [ '\' DoExit ':=' <expression (IN) of bool> ] ';' |
總結
以上是生活随笔為你收集整理的ABB机器人之LOADDATA的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux uvc协议_linux uv
- 下一篇: Adb connection Error