Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
ESTIMATION OF PAYLOAD ATTACHED TO A ROBOT ARM
Document Type and Number:
WIPO Patent Application WO/2019/238940
Kind Code:
A1
Abstract:
Methods and robot, where payload information of a payload attached to a robot tool flange of a robot arm are obtained by arranging the robot tool flange in a plurality of different orientations in relation to gravity; obtaining the force and the torque provided to the robot tool flange by gravity acting on the payload using a force-torque sensor arranged at the robot tool flange; obtaining the mass of the payload based on the obtained forces obtained at at least two of the different orientations. The dependent claims describe possible embodiments of the robot and methods according to the present invention.

Inventors:
KNUDSEN ANDERS SKOVGAARD (DK)
FUGL ANDREAS RUNE (DK)
Application Number:
PCT/EP2019/065725
Publication Date:
December 19, 2019
Filing Date:
June 14, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UNIVERSAL ROBOTS AS (DK)
International Classes:
B25J9/16; B25J13/08
Domestic Patent References:
WO2014110682A12014-07-24
Foreign References:
DE112016002797T52018-03-22
JP2012040634A2012-03-01
DE102016000187B32017-01-26
EP1915963A12008-04-30
DE112016002797T52018-03-22
JP2012040634A2012-03-01
US4763531A1988-08-16
US20150204742A12015-07-23
Attorney, Agent or Firm:
FRUELUND, Morten (DK)
Download PDF:
Claims:
CLAIMS

1. A method of obtaining payload information of a payload attached to a robot tool flange of a robot arm, where said robot arm comprising a plurality of robot joints connecting a robot base and said robot tool flange, characterized in that said method comprise:

• a step arranging said robot tool flange in a plurality of different orientations comprising a step of changing the orientation of said robot tool flange in relation to gravity;

• a step of at each of said different orientations obtaining the force and the torque provided to said robot tool flange by gravity acting on said payload using a force-torque sensor arranged at said robot tool flange;

• obtaining said mass of said payload based on said obtained forces obtained at at least two of said different orientations, and

• obtaining said pose of said payload in relation to said robot tool flange based on said mass of said payload and said obtained torques at at least two of said different orientations; characterized in that said step of changing the orientation of said robot tool flange comprises a step of rotating said tool flange in relation to gravity such that the angle between said robot tool flange and gravity is different for each of said plurality of different orientations.

2. The method according to claim 1 characterized in that said step of obtaining the mass of said payload based on said obtained force at said at least two different orientations comprises the steps of:

• obtaining at least one obtained force difference, where said obtained force difference is obtained as a difference between two of said obtained forces obtained at two of said different orientations of said robot tool flange; and

• determining said mass of said payload based on said obtained force difference.

3. The method according to claim 2 characterized in that said step of obtaining the mass of said payload based on said obtained force at said at least two different positions comprises the steps of:

• providing an initial guess of said mass of said payload;

• for at least two of said different orientations of said robot tool flange providing an expected force provided to said robot tool flange by a payload having a mass corresponding to said initial guess of said mass;

• determining an expected force difference between at least two of said expected forces at at least two of different orientations of said tool flange;

• determining a force error indicating the difference between said obtained force difference and said expected force difference;

• providing said mass of said payload by minimizing said force error.

4. The method according to any one of claims 1-3 characterized in that said step of obtaining said pose of said payload in relation to said robot tool flange comprises the steps of:

• obtaining at least one obtained torque difference, where said obtained torque difference is obtained as a difference between two of said obtained torques obtained at two of said different orientations of said tool flange; and

• determining said pose of said payload in relation to said tool flange based on said obtained torque difference and said mass of said payload.

5. The method according to claim 4 characterized in that said step of obtaining the pose of said payload in relation to said robot tool flange comprises the steps of:

• providing an initial guess of said pose of said payload;

• for at least two of said different orientations of said robot tool flange providing an expected torque provided to said robot tool flange by a payload having a pose corresponding to said initial guess of said pose of said payload;

• determining an expected torque difference between at least two of said expected torques at at least two of different orientations of said robot tool flange; • determining a torque error indicating the difference between said obtained torque difference and said expected torque difference;

• providing said pose of said payload by minimizing said torque error.

6. The method according to any one of claims 1-5 characterized in that said step of arranging said robot tool flange at said plurality of different orientations in relation to gravity comprises a step of rotating said robot tool flange around an axis non-parallel and non-perpendicular with gravity.

7. The method according to any one of claims 1-6 characterized in that said step changing the orientation of said robot tool flange in relation to gravity comprises a step changing the orientation of said robot flange by at least 20 degrees in relation to a least one other orientation of said robot tool flange.

8. The method according to any one of claims 1-7 characterized in that said step changing the orientation of said robot tool flange in relation to gravity comprises a step changing the orientation of said robot flange between 110-130 degrees in relation to a least one other orientation of said robot tool flange.

9. The method according to any one of claims 1-8 characterized in that said step of arranging said robot tool flange in a plurality of different orientations comprise arranging said robot tool flange in four different orientations in relation to gravity.

10. A method of controlling a robot arm, said robot arm comprising a plurality of robot joints connecting a robot base and a robot tool flange, said method comprises the steps of controlling said robot joints based on a kinematic model of said robot and a payload information of a payload attached to said robot tool flange, where said payload information indicates the mass and pose of said payload in relation to said robot tool flange characterized in that said method comprises a step of obtaining said mass and pose of said payload comprising the method according to any one of claims 1-9.

11. A robot arm comprising a plurality of robot joints connecting a robot base and a robot tool flange, said robot arm comprises at least one controller configured to control said robot joints based on a kinematic model of said robot and payload information of a payload attached to said robot tool flange, where said payload information indicates the mass and pose of said payload in relation to said robot tool flange, said controller is configured to obtain said mass and pose of said payload in relation to said robot tool flange based on forces and torques provided to said robot tool flange with said payload attached to said robot tool flange, where said controller is configured to obtain said forces and torques from a force-torque sensor attached to said robot tool flange and at a plurality of different orientations of said robot tool flange in relation to gravity characterized in the the angle between said robot tool flange and gravity is different for each of said plurality of different orientations.

12. The robot arm according to claim 11 characterized in that said controller is configured to provide user instructions to a user, said user instructions instructing a user to change the orientation of said robot tool flange in relation to gravity.

13. The robot arm according to any one of claims 11-12 characterized in that said user instructions instructing a user to rotate said robot tool flange around an axis non-parallel with and non-perpendicular to gravity.

14. The robot arm according to any one of claims 11-13 characterized in that said robot arm comprises an interface device comprising a display device upon which a first representation of said robot tool flange is shown, said first representation indicates at least one of said different orientations of said robot tool flange.

15. The robot arm according to claim 13 characterized in that a second representation of said robot tool flange is shown, said second representation indicates the actual orientation of said robot tool flange in relation to said first representation of said robot tool flange.

16. The robot arm according to any one of claims 11-12 characterized in that that said robot arm comprises an interface device comprising a display device upon which a representation of said robot tool flange is shown, where said representation indicates the actual orientation of said robot tool flange and where an arrow is shown by said display device, where said arrow indicates the direction of rotation that the user should rotate the robot tool flange.

17. The robot arm according to any one of claims 11-16 characterized in that said controller is configured to obtain said mass and pose of said payload in relation to said robot tool flange by executing the method according to any one of claim 1-9.

Description:
ESTIMATION OF PAYLOAD ATTACHED TO A ROBOT ARM

FIELD OF THE INVENTION

[0001] The present invention relates to a method of estimating payload information of a payload attached to a robot tool flange of a robot arm, where the robot arm comprises a plurality of robot joints connecting a robot base and the robot tool flange.

BACKGROUND OF THE INVENTION

[0002] Robot arms comprising a plurality of robot joints and links where motors can rotate the joints in relation to each other are known in the field of robotics. Typically, the robot arms comprise a robot base which serves as mounting base for the robot arm and robot tool flange whereto various tools can be attached. Typically, a controller is configured to control the robot joints in order to move the robot tool flange in relation to the base. For instance, in order to instruct the robot to carry out a number of working instructions.

[0003] The robot controller is configured to control the robot joints based on a dynamic model of the robot arm as known in the prior art, where the dynamic model defines a relationship between the forces acting on the robot arm and the resulting accelerations of the robot arm. Typically, the dynamic model comprises a kinematic model of the robot arm, which defines a relationship between the different parts of the robot arm, such as joints of the robot at various joint angles and a knowledge about mass and inertia of the robot arm, etc. The kinematic model comprises information of the robot arm such as, length, size of the joints and links and can for instance be described by Denavit-Hartenberg parameters or like. The dynamic model makes it possible for the controller to calculate which torque the joint motors shall provide in order to move the robot joints and to overcome the gravitational effect on the robot arm.

[0004] On many robot arms it is possible to attach various end effectors to the robot tool flange, such as grippers, vacuum grippers, magnetic grippers, screwing machines, welding equipment, dispensing systems, visual systems etc.

When providing such end effector, it is necessary to provide estimation of the payload that such end effector provides to the robot arm. Typically, the user manually enters the payload information into the kinematic model whereafter the controller can take the payload into account when controlling the robot. Typically, the payload information comprises information in relation to the weight and pose of the payload, where pose of the payload relates to the position and orientation of the payload in relation to the robot tool flange. The pose can for instance be indicated at the position of the center of mass of the payload in relation to the robot tool flange.

[0005] Many users have difficulties setting the correct payload or ignore/forget to set it at all. Consequently, the controller may not be able to control the robot arm resulting in the robot arm drifting, deviation in safe stops, that safety functions of the robot arm are not functioning properly.

[0006] DE 11 2016 002 797 T5 discloses a calibration unit including : an approximate curve generation unit configured to generate an approximate curve based on position information and force information obtained when a tool part is rotated in accordance with an attitude command value; a bias value estimation unit configured to estimate the bias value of the force information based on the approximate curve, the position information, and the force information; a mass/center-of-gravity position estimation unit configured to remove the bias value from the force information, and to calculate a mass and a center-of-gravity position vector of the hand tip load based on the obtained force information; and an external force component calculation unit configured to subtract the bias value and the gravity action component of the hand tip load from the force information based on the bias value, and the mass and the center-of-gravity position vector. The mass/center-of-gravity position estimation unit is configured to to calculate a mass and a center-of-gravity position vector of the hand tip load based on the obtained force information, fore the force information have been obtained by aligning a sensor axis of a force sensor with gravity and rotating the force sensor around an axle perpendicular with gravity. It is difficult for a user to precisely align the sensor axis of the force sensor with gravity and ensure proper alignment while rotating the force sensor.

[0007] JP 2012 040634 discloses a calibration device and a method for a power-controlled robot which, even if the installation precision of the robot is low, enable the calibration of necessary parameters with an installation error taken into consideration, where tool is attached to the front end of a robot arm that acts three-dimensionally, via a power sensor. A robot controller makes the robot arm act in a plurality of postures and obtains a measurement value by the power sensor and posture data of the power sensor when obtaining the measurement value. A calculating device calculates a plurality of parameters including the weight of the tool, a gravity direction vector, and a tool gravity center position vector.

SUMMARY OF THE INVENTION

[0008] The object of the present invention is to address the above described limitations with the prior art or other problems of the prior art. This is achieved by the methods and robot according to the independent claims, where payload information of a payload attached to a robot tool flange of a robot arm are obtained by arranging the robot tool flange in a plurality of different orientations in relation to gravity; obtaining the force and the torque provided to the robot tool flange by gravity acting on the payload using a force-torque sensor arranged at the robot tool flange; obtaining the mass of the payload based on the obtained forces obtained at at least two of the different orientations, where the angle between the robot tool flange and gravity is different for each of the different orientations. The dependent claims describe possible embodiments of the robot and methods according to the present invention. The advantages and benefits of the present invention are described in the detailed description of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

Fig. 1 illustrates robot arm configured for of obtaining payload information of a payload attached to the robot tool flange of the robot arm; fig. 2 illustrates a flow diagram of an embodiment of obtaining payload information of a payload attached to a robot tool flange of the robot arm; fig. 3 illustrates a flow diagram of another embodiment of obtaining payload information of a payload attached to a robot tool flange of the robot arm; fig. 4 illustrates a flow diagram of an embodiment of a step of obtaining the mass of a payload attached to a robot tool flange of the robot arm; fig. 5 illustrates a flow diagram of an embodiment of a step of obtaining the pose of a payload attached to a robot tool flange of the robot arm; figs. 6a and 6b illustrate a display screen of an interface of a robot arm obtaining payload information; figs. 7a and 7b illustrate a different display screen of an interface of a robot arm obtaining payload information; and figs. 8a, 8b and 8c illustrate a different display screen of an interface of a robot arm obtaining payload information.

DETAILED DESCRIPTION OF THE INVENTION

[0009] The present invention is described in view of exemplary embodiments only intended to illustrate the principles of the present invention. The skilled person will be able to provide several embodiments within the scope of the claims. Throughout the description, the reference numbers of similar elements providing similar effects have the same last two digits. Further it is to be understood that in the case that an embodiment comprises a plurality of the same features then only some of the features may be labeled by a reference number.

Fig. 1 illustrates a robot arm 101 comprising a plurality of robot joints 103a, 103b, 103c, 103d, 103e connecting a robot base 105 and a robot tool flange 107, where a payload 109 (illustrated in dotted lines) is attached to the robot tool flange. A base joint 103a is configured to rotate the robot arm around a base axis 111a (illustrated in dashed dotted lines) as illustrated by rotation arrow 113a; a shoulder joint 103b is configured to rotate the robot arm around a shoulder axis 111b (illustrated in dashed dotted lines) as illustrated by rotation arrow 113b; an elbow joint 103c is configured to rotate the robot arm around a elbow axis 111c (illustrated in dashed dotted lines) as illustrated by rotation arrow 113c, a first wrist joint 103d is configured to rotate the robot arm around a first wrist axis 11 Id (illustrated in dashed dotted lines) as illustrated by rotation arrow 113d and a second wrist joint 103e is configured to rotate the robot arm around a second wrist axis 1 lie as illustrated by rotation arrow 113e. Robot joint 103f is a tool joint comprising the robot tool flange 107, which is rotatable around a tool axis 11 If (illustrated by a dashed dotted line) as illustrated by rotation arrow 113f. The illustrated robot arm is thus a six-axis robot arm with six degrees of freedom, however it is noticed the present invention can be provided in robot arms comprising less or more robot joints.

[0010] The robot arm is connected to and controlled by a controller 125 comprising in interface device 127 enabling a user to control and program the robot arm. The controller can be provided a computer with a control software installed there on and can be provided as an external device as illustrated in fig. 1 or as a device integrated into the robot arm. The interface device can for instance be provided a teach pendent as known from the field of industrial robotics which can communicate with the controller via wired or wireless communication protocols. The interface device can for instanced comprise a display 129 and a number of input devices 131 such as buttons, sliders, touchpads, joysticks, track balls, gesture recognition devices, keyboards etc. The display may be provided as a touch screen acting both as display and input device.

[0011] The controller is configured to control the robot joints based on a kinematic model of the robot arm as known in the prior art. Additionally the controller is configured to control the robot arm based on payload information of a payload 109 attached to the robot tool flange, where the payload information indicates the mass and pose of the payload in relation to the robot tool flange. Further the controller is configured to obtain the mass and pose of the payload in relation to the robot tool flange based on forces and torques provided to the robot tool flange when the payload attached to the robot tool flange, where the controller is configured to obtain the forces and torques from a force-torque sensor attached to the robot tool flange and at a plurality of different orientations of the robot tool flange in relation to gravity. The force- torque sensor can be provided as a force torque sensor disclosed by W02014/110682A1, US4763531, US2015204742. The controller can be configured to obtain the mass and pose of the payload utilizing the method described here below and illustrated in connection with figs. 2-5.

[0012] The following paragraphs [0013] to [0023] introduce a number of terms used to describe the principles of the present invention.

[0013] A robot tool flange coordinate system 115 having origin at the reference point and defining three coordinate axis xnange, ynange, znange. In the illustrated embodiment the origin of the robot tool flange coordinate system has been arranged on the tool flange axis 11 If with one axis (znange) parallel with the tool flange axis and at the outer surface of the robot tool. A position in the robot tool flange coordinate system can be defined as a position vector:

coordinates of the position in the robot tool coordinate system. It is to be understood that the robot tool flange coordinate system can be defined in relation to the robot base in any desired way.

[0014] A robot base reference coordinate system 119 has been defined in relation to the robot base and is defined by three coordinate axis Xbase, ybase, Z base . In the illustrated embodiment the origin of the base coordinate system has been arranged on the base axis 111a with one axis (z base ) parallel with the base axis and at the bottom part of the base. A position in the robot base reference coordinate system can be defined as a position vector:

[0015] where x base , y base and z base indicate the coordinates of the position in the base coordinate system. It is to be understood that the robot base coordinate system can be defined in relation to the robot base in any desired way. [0016] Based on a kinematic model of the robot it is possible to transform any position coordinate defined in the base reference coordinate system by using :

gq g p flange — g flange phase where T f b l / e is a transformation matrix bringing a vector in the robot base coordinate system to a vector in the robot tool flange coordinate system.

[0017] A vector in the robot base coordinate system can be rotated into the robot tool flange coordinate system using : eq. 4

where R f b 3e is a rotational matrix rotating a vector in the robot base coordinate system into a vector in the robot tool flange coordinate system. The rotational matrix R f b l e 3e can be found based on the kinematic model of the robot and will change with changing positions of the robot arm.

It is also possible to rotate a vector in the robot tool flange coordinate system into a vector in the robot base coordinate system by: eq. 5

[0018] The payload 109 has a mass mioa d and pose in relation to the robot tool flange Pioad . The pose of the payload in relation to the robot tool flange indicates the position and orientation of the payload in relation to the robot tool flange for instance in relation to a robot tool flange reference point. The robot tool flange reference point can be defined at the origin of the robot tool flange reference coordinate system 115. The pose of the payload can for instance be indicated as a positional vector P load indicating the position of payload's center of mass 117 in relation to the robot tool flange reference point for as: eq. 6

[0019] where z ioa d 3e indicate the coordinates of the center of mass of the payload in the robot tool flange coordinate system. The payload is illustrated as an arbitrary box however it is to be understood that the payload can have many different shapes and be provided as any components which can be attached to the tool flange of the robot for instance end effectors as grippers, vacuum grippers, magnetic grippers, screwing machines, welding equipment, dispensing systems, visual systems etc.

[0020] The direction of gravity 121 has also been illustrated a as gravity vector in the robot base coordinate system can be defined as:

where g base , g base , g base indicate the magnitude of the gravity along the axis of the robot base coordinate system. In the illustrated embodiment the robot arm is arranged in a position with the base axis is aligned with gravity, thus gravity only contributes with a component in the negative direction of the Z base axis, thus: eq. 8

9,82

where is the gravity vector acting on the robot arm illustrated in fig. 1. It is to be understood that the robot arm can be mounted in any orientation in relation to gravity resulting in a different gravity vector G base .

[0021] The gravity vector in the robot base coordinate system can be rotated into a gravity vector defined in tool flange base coordinate system using :

and the opposite rotation :

Qbase

eq. 10

[0022] The robot tool flange comprises a force-torque sensor (not shown) integrated into the robot tool flange. The force-torque sensor is configured to indicate the forces and torques applied to the robot tool flange in relation to a reference point which in this application is coincident with the origin of the robot tool flange coordinate system. However, the force-torque sensor can indicate the force-torque applied to the robot tool flange in relation to any point which can be linked to the robot tool flange coordinate system. In one embodiment the force-torque sensor is a six-axis force-torque sensor configured to indicate the forces along and the torques around three perpendicular axis. For instance the force-torque sensor can indicate a force vector in the robot tool flange coordinate system:

eq. 11

Where Ff s “^ r is the indicated force along the xnange axis, y ^“ 0 e r is the indicated force along the ynange axis and is the indicated force along the z ange axis. Also, the force-torque sensor can indicate a torque vector in the robot tool flange coordinate system: eq. 12

where the indicated torque around the xnange axis, Tf s a e ^ r is the indicated torque around the ynange axis and Tf s sor is the indicated torque around the z flange axis.

[0023] Gravity provides a gravity force F load on the payload in the direction of the gravity. The gravity force in the robot base coordinate system can be found by: eq. 13 , where mioa d is the mass of the payload and G base the gravity vector in the robot base coordinate system and in the robot tool flange coordinate system the gravity force can be found by

The gravity on the payload also results in a toque provided to the robot tool flange which in relation to the robot tool flange coordinate system and can be found by:

, where mioa d is the mass of the payload and Gf lan s e the gravity vector in the robot tool flange coordinate system.

[0024] The method according to the present invention can be implemented via the control software of the robot arm whereby the payload information of the payload attached to the robot tool flange can be determined in a fast, easy and precise way. Consequently, the robot arm will be functionating more accurately as the control software of the robot arm can take the payload into account when controlling the robot. The method according to the present invention also makes it possible to determine the payload information of payloads having complex forms.

[0025] Fig. 2 illustrates a flow diagram of the method of obtaining payload information of a payload attached to a robot tool flange of a robot arm according to the present invention. The robot arm comprises a plurality of robot joints connecting a robot base and the robot tool flange and corresponds to the robot arm disclosed in fig. 1. The method comprises a step 250 of arranging the robot tool flange in a plurality of different orientations, a step 260 of obtaining the mass of the payload, a step 270 of obtaining the pose of the payload comprises an optional step 280 of controlling the robot based on the obtained payload information.

[0026] In step 250 the robot tool flange is arranged in a plurality of different orientations where the number of different orientations, norientation, of the robot tool flange is at least two. At each of the orientations the force and torque provided to the robot tool flange due to gravity acting on the payload is obtained using a force-torque sensor arranged at the robot tool flange.

[0027] In the illustrated embodiment, step 250 comprises a step 251 of arranging the robot tool flange in a first orientation for instance by a user manipulating the joints of the robot to arrange the robot tool flange in the first orientation, a user controlling the orientation of the robot tool flange using an interface device 127, an automatic program executed by the controller of the robot or combinations thereof.

[0028] Once the robot tool flange has been arranged in an orientation, a step 252 of obtaining the orientation of the robot tool flange 107 (TF) in relation to gravity is performed. The orientation of the robot tool flange Ofiange, g ,n in relation to gravity at the n th orientation can be obtained as any parameter from which the orientation of the robot tool flange in relation to gravity can be obtained. The orientation of the robot tool flange Ofiange, g ,n can for instance be stored in a memory (not shown) of the robot arm. For instance, the orientation of the robot tool flange Ofiange, g ,n can be obtained by obtaining the angular position of each of the robot joints and then using the kinematic model of the robot, the orientation of gravity in the robot base coordinate system to obtaining the orientation the robot tool flange in relation to gravity. For instance, the orientation of the robot tool flange may be indicated as the origin of the robot tool flange coordinate system and the direction of one of the three coordinate axis x flange , y fiange , Z fiange of the robot tool flange coordinate system. In another embodiment the orientation of the robot tool flange can be obtained using a gravity sensor arranged at the robot joint comprising the robot tool flange. Such gravity sensor can indicate the direction of gravity in relation to the robot tool flange and thereby the orientation of the robot tool flange can be obtained based on such gravity sensor. Further in embodiments where the robot tool flange is automatically arranged in an orientation based on a program executed by the controller of the robot the orientation can be obtained based on the program instructions. The orientation of the robot tool flange Ofiange, g can also be indicated as the gravity vector Gf lan e e>n in the robot tool flange coordinate system at orientation n. The gravity vector Gf lan a e, n a t the n orientation can be obtained by a gravity sensor at the robot joint of the robot tool flange or by using eq . 9.

[0029] Once the robot tool flange has been arranged in an orientation, a step 253 of obtaining the force and torque provided to the robot tool flange due to gravity acting on the payload is obtained using a force-torque sensor arranged at the robot tool flange, where the obtained force at the n th orientation F sensor, n and torque at the n th orientation T Sensor,n can be stored in a memory of the robot arm. The force-torque can be integrated into the robot tool flange which ensures that the force-torque sensor is present and properly integrated into the robot arm by the robot arm provider. Alternatively, the force torque sensor can be provided as an external force torque sensor which can be attached to the robot tool flange. In such an embodiment the payload of the force torque sensor needs to be provided manually into the control software of the robot arm.

[0030] In one embodiment the force-torque sensor is provided as a six- axis force torque sensor which obtains the forces and torques provided to the force-torque sensor in relation to three basis coordinate axis. The force-torque may for instance be aligned with the robot tool flange coordinate system 115 and indicate the applied force along and the torques around the axis xnange, ynange, z flange. Thus, the forces obtained at orientation n can be indicated as:

eq. 16

is the indicated force along the xtiange axis at the n th orientation, indicated force along the ynange axis at the n th orientation and indicated force along the znange axis at the n th orientation; and the torques obtained at the n th orientation can be indicated as:

eq. 17

is the indicated torque around the xtiange axis at the n th orientation, indicated torque around the ynange axis at the n th orientation and indicated torque around the znange axis at the n th orientation.

[0031] Step 255 is a step of verifying that forces and torques provided to the robot tool flange by gravity have been obtained at at least two different orientations of the robot tool flange in relation to gravity. This can be achieved by incrementing a counter norientation by 1 when the orientation, force and torque have been obtained in step 252 and 253 and then testing if the counter norientation is equal to or larger than the desired number of orientations (in the illustrated embodiment 2). If the desired number of orientations has not been reached (indicated by a thumbs-down symbol) at step 254 of changing the orientation of the robot tool flange is initiated otherwise (indicated by a thumbs-up symbol) the method continues to the next step.

[0032] The step 254 of changing the orientation of the robot tool flange can be achieved by a user manipulating the joints of the robot to arrange the robot tool flange in a new orientation, a user controlling the orientation of the robot tool flange using an interface device 127, an automatic program executed by the controller of the robot or combinations thereof. The orientation of the robot tool flange is changed by rotating the tool flange in relation to gravity meaning that the angle between the robot tool flange and gravity is different for the plurality of different orientations. Once the orientation of the robot tool flange has been changed; the orientation of the robot tool flange and the forces provided to the robot tool flange of the robot is then obtained at the new orientation by repeating steps 252 and 253.

[0033] In one embodiment the step 254 of changing the orientation of the robot tool flange comprises a step of rotating the robot tool flange around an axis non-parallel with and non-perpendicular to gravity. This ensures that the angle of the robot tool flange in relation to gravity is changed .

[0034] An optional step 256 of verifying the orientations of the robot tool flange have been illustrated as part of step 250. In this embodiment step 256 is carried out as part of the loop comprising step 254. Step 256 verifies that the new orientation of the robot tool flange is OK. For instance, by checking that the angle between the robot tool flange and gravity of the new orientation differs from the angle of the robot tool flange of the previous orientations. Such verification makes it possible to ensure that the payload information can be obtained based on the obtained force and torque. It is noted that the verification of the orientations of the robot tool flange can be performed at other positions in the flow diagram. For instance, the step 256 can be provided as a verification carried out at the end of step 250, when the force and torque have been obtained at all orientations. The verification step can then comprise a verification of all the orientations and/or also the obtained forces and torques.

[0035] Step 250 results in an indication of a plurality of different orientations of the robot tool flange and for each of the different orientations an indication of the force and toques applied to the robot tool flange due to gravity acting on a payload attached to the robot tool flange.

[0036] The mass mioa d of the payload is then obtained in step 260 based on the orientations of the robot tool flange Ofiange, g ,n obtained in step 252 and corresponding to the forces F Sensor,n obtained in step 253. This can for instance be achieved by using eq. 13, the obtained forces at the n th orientation from eq. 16 and the orientation of gravity at the n th orientation, Gf lan s e n , where the rotational matrix R f b 3e can be obtained based on the kinematic model of the robot and obtained angles of the robot joint at orientation n. The obtained mass mioa d can then be stored in a memory of the robot arm.

[0037] The pose Pioad of the payload is then obtained in step 270 based on orientations of the robot tool flange Ofiange, g ,n obtained in step 252, the corresponding torques T Sensor,n obtained in step 253 and the mass mioa d of the payload obtained in step 260. The pose of the payload can for instance be obtained as the position of the center of mass of the payload in relation to the robot tool flange can ° r instance be achieved by using eq. 15, the obtained torques at the n th orientation from eq. 17 and the orientation of gravity at the n th orientation, Gf lan9e n , where the rotational matrix R f b 3e can be obtained based on the kinematic model of the robot and obtained angles of the robot joint at orientation n. The pose of the payload is determined based the at least two orientations the tool flange which ensures that the pose of the payload can be properly obtained, as none working orientations where one axis of the force-torque sensor is parallel to gravity resulting in the fact that the torque in relation to that axis is zero making it impossible to determine the position of the center of mass along that axis due to the missing toque.

[0038] Obtaining the pose of the payload based on force-torque measurements at least two orientations of the robot tool flange in relation to gravity, where the orientations differs in having different angels in relation to gravity ensures that the pose of the payload can be determined, as by changing the angle of the robot tool flange between two of the different orientations ensures that the toque around each of the axis xnange, ynange and znange can be obtained . Additionally, determining the mass and pose of the payload based on at least two orientations the robot tool flange makes it possible to determine the mass and pose of the payload using a less expensive force-torque sensor which typically measures the force and torque in-accurately especially under different working conditions, such as different temperature and humidity. This can be achieved as described in the forthcoming paragraphs. Additionally, by obtaining the force-torque at at least two different orientations of the robot tool flange in relation to gravity ensures that the momentum arm defined as a vector from the robot tool flange coordinate system to the center of mass of the payload in at least one orientation is non-parallel with gravity. As a result, it is ensured that the length of momentum arm can be obtained based on the force- torque measurements obtained at the orientation of the robot tool flange where the momentum arm is non-parallel with gravity.

[0039] Step 280 is an optional step of controlling the robot based on the obtained payload information. This can for instance be achieved by adjusting the kinematic model of the robot taking obtained payload information into consideration. Consequently, the controller can thereafter better control the robot arm preventing drifting of the robot arm and deviation in safety stops, where the robot arm is brought to a stop. The safety functions of the robot arm will also be functioning as intended .

[0040] Fig. 3 illustrates a flow diagram of the method of obtaining payload information of a payload attached to a robot tool flange of a robot arm according to the present invention. The method is like the method illustrated in fig . 2 and similar steps have been given the same reference numbers as in fig. 2 and will not be described in further detail .

[0041] In this embodiment step 260 of obtaining the mass of the payload comprises a step 361 of obtaining an obtained force difference where the obtained force difference is obtained as a difference between two of the obtained forces obtained at two of the different orientations of the robot tool flange:

where AF S ensor,i,j is the difference in obtained force between the obtained force F sensor at the n th orientation i and the obtained force Fsensorj at the n th orientation j. On vector form and using eq . 16:

where a re the obtained force along the Xfiange axis respectively at n th orientation i and j, are the obtained force along the yfiange axis respectively at n th orientation i and j and F z f s l ^ g ]; 1 and C ensor a re the obtained force along the Zfi ange axis respectively at n th orientation i and j.

[0042] In this embodiment step 260 of obtaining the mass mioad of the payload comprises a step 362 of determining the mass of the payload based on the obtained force difference force AFsensor and the orientations Ofiange, g ,i , Ofiange, g ,j of the robot tool flange based on which the obtained force difference is obtained . O flange, g ,i indicate the orientation of the robot tool flange at the n th orientation i and O flange, g ,i indicate the orientation of the robot tool flange at the n th orientation j-

[0043] The mass of the payload mioad can for instance be obtained by using eq . 14 to replace each of terms F s f e l 0 g r e 1 , F s f e l 0 g r e,J of the obtained forces respectively at the n th orientations i and j with the terms m ioad Gf lan s e,i f a nc j m i oad ' Gf lan3e J , where Gf lan e e 1 , Gf lan s e ’ i indicate the orientations of the gravity vector in the robot tool coordinate system at the n th orientations i and j.

[0044] Obtaining the mass of the payload based on the obtained force difference between two of the obtained forces obtained at two of the different orientations the robot tool flange makes it possible to obtain the mass of the payload using less expensive force-torque sensor where the absolute accuracy varies under different working conditions, such as different temperature and humidity. Assuming the force measurements made at the different orientations have been made under the same working conditions makes it possible to assume that the offset in relation to the absolute force is the same for the measurements made at the two different positions. This offset can be eliminated to determine the mass of the payload based on the difference in obtained forces instead or in addition to obtaining the mass based a force measurement at a single orientation.

[0045] In this embodiment step 270 of obtaining the pose of the payload comprises a step 371 of obtaining an obtained torque difference where the obtained torque difference is obtained as a difference between two of the obtained torques obtained at two of the different orientations the robot tool flange:

where ATsensor is the difference in obtained torque between the obtained torque Tsensor at the n th orientation i and the obtained torque Tsensorj at the n th orientation j. On vector form and using eq . 17 :

where and where T are the obtained torques around the xnange axis respectively at n th orientation i and j, are the obtained torque along the ytiange axis respectively at n th orientation i and j and T å , sensor and where T 'Hen or are the obtain torque along the znange axis respectively at n th orientation i and j.

[0046] In this embodiment step 270 of obtaining the pose Pioa d of the payload comprises a step 372 of determining the pose of the payload based on the obtained mass of the payload mioa d , the obtained torque difference ATsensor and the orientations O fiange,g,i , O fiange,g,j of the robot tool flange based on which the obtained torque difference is obtained.

[0047] The pose of the payload Pioad can for instance be obtained by using eq. 15 to replace each of terms T s f e l ^ r e 1 , T s f e l ^ r e,J of the obtained torques respectively at the n th orientations i and j with the terms

mioad , where Gf lan n e · 1 , Gf lan s e ’i indicate the

orientation of the robot tool flange in form the gravity vector in the robot tool coordinate system at the n th orientations i and j, and where P ^ 9e 1 , P/ad 36 1 indicate the pose of the payload as the position of the center of mass of the payload in relation to the robot tool flange. and P i d n5e J are identical as they refer to the center of mass of the same payload in relation to the robot tool flange coordinate system.

[0048] Obtaining the pose of the payload based on the obtained torque difference between two of the obtained torques obtained at two of the different orientations the robot tool flange makes it possible to obtain the pose of the payload using less expensive force-torque sensor where the absolute accuracy varies under different working conditions, such as different temperature and humidity. Assuming the torque measurements made at the different orientations have been made under the same working conditions makes it possible to assume that the offset in relation to the absolute torque is the same for the measurements made at the two different orientations. This offset can be eliminated to determine the pose of the payload based on the difference in obtained torques.

[0049] Fig. 4 illustrates a flow diagram of an embodiment of the step 260 of obtaining the mass of the payload. Step 260 is like the step 260 illustrated in fig. 2 and 3 and similar steps have been given the same reference numbers as in fig. 2 and 3. In this embodiment step 260 comprises:

• a step 463 of providing an initial guess of the mass of the payload m gU ess.

• a step 464 for at least two of the different orientations Ofiange, g ,i , Ofian g e, g ,j of the robot tool flange providing an expected force Fexpecu, Fexpectj provided to the robot tool flange by a payload having a mass corresponding to the initial guess of mass, m g uess.

• a step 465 of determining an expected force difference AFexpecuj between at least two of the expected forces Fexpecu, Fexpectj at at least two different orientations of the tool flange.

• a step 466 of determining a force error AFerro j indicating the difference between the obtained force difference AFsensouj and the expected force difference AFexpecuj,

• a step 467 of providing the mass mioa d of the payload by minimizing the force error AFerro j.

This makes it possible to provide an estimation of the mass of the payload in situations where an exact solution to the equation cannot be obtained for instance due to inaccuracy of the force-torque measurements. Further the method according to the present invention can easily be implemented into a controller of a robot arm using simple logic and numerical methods, which is easy to implement into standard controllers. Further estimating the mass of the payload based by minimizing the force error also makes it possible to estimated how good the obtained mass of the payload is in relation to the actual mass of the payload.

[0050] Step 463 of providing an initial guess of the mass the payload can be implemented by providing a random guess of the mass m gU ess of the payload, by providing a predetermined guess of the mass of the payload for instance a guess corresponding to half of the robots arm's allowed payload. Also the initial guess of the mass of the payload can be provided based on one of the force measurements which can serve as a realistic guess even when a in less accurate force-torque sensor is used.

[0051] The expected forces Fexpec , Fexpectj provided in step 464 can be provided by using eq. 14 using the initial guess of mass m gU ess instead of mioad, and and where gravity vector Gf lan s e is obtained based on the orientations Ofiange, g ,i , Ofiange, g ,j of the robot tool flange as previous described. Consequently at least two expected forces Fexpecu, Fexpectj are obtained. However, it is to be understood that an expected force can by obtained for each of the orientations of the robot tool flange where the force and torque provided to the robot tool flange have been obtained (step 250).

[0052] Step 465 of determining an expected force difference AFexpect j between at least two of the expected forces Fexpecu, Fexpectj at at least two different orientations of the tool flange can be implemented by: eq. 22 F eX p ec t i j F e xpect,i F expect, j

on vector form :

where and where Fffff.’i are the expected force along the xnange axis respectively at n th orientation i and j, F y f x r f ec e t' L and where Fffff are the expected force along the ynange axis respectively at n th orientation i and j and F z , expect the expected force along the Zfi ange axis respectively at n th orientation i and j.

[0053] Step 466 of determining the force error AFerro j between the obtained force difference AFsensor and the expected force difference AFexpect can be carried out by subtracting one of them form the other. For instance, by: eq. 24

[0054] Step 467 of providing the mass of the payload by minimizing the force error can be implemented varying the initial guess of the mass of the payload and repeat the step 464, 465, 466 using a new initial guess of the mass of the payload as indicated by loop 468. The result is that a new force error can be obtained and comparing the force error with the previously obtained force errors it is possible to determine which guess of mass that results in the smallest force error. This can be performed a number of times resulting in a set of initial guess of mass m gU ess,k with a corresponding force errors AF er ror,k where k is an integer indicating guess number. The mass mioa d of the payload can be set to be the guess of mass m gU ess,mm resulting in the smallest force error AFen-or,mm . Loop 468 can for instance be repeated a number of predetermined times where the guess of mass for instance is changed with a predetermined interval and within a predetermined range of mass. Ideally the force error is zero when the guess of mass rriguess matched correct mass mioad of the payload. However due to inaccurate force torque measurements this may be difficult to achieve loop 468 can then be repeated until an acceptable level of force error has been obtained.

[0055] In an embodiment where the forces in step 250 have been obtained for more than three different orientations of the robot tool flange the force error can be provided as a squared sum of the force errors between each of the different orientations:

AF _ yn-1 yn L U

eq. 25 error, total j = i j = i + \ L r error ,i,j

[0056] Fig. 5 illustrates a flow diagram of an embodiment of the step 270 of obtaining the pose of the payload. Step 270 is like the step 270 illustrated in fig. 2 and 3 and similar steps have been given the same reference numbers as in fig. 2 and 3. In this embodiment step 270 comprises:

• a step 573 of providing an initial guess of the pose the payload P gU ess .

• a step 574 for at least two of the different orientations Ofiange, g ,i , Ofian g e, g ,j of the robot tool flange providing an expected torque Texpecu, Texpectj provided to the robot tool flange by a payload having a pose corresponding to the initial guess of pose, Pguess .

• a step 575 of determining an expected torque difference ATexpecuj between at least two of the expected torques Texpecu, Texpectj at at least two different orientations of the tool flange.

• a step 576 of determining a torque error ATen-o indicating the difference between the obtained torque difference ATsenso j and the expected torque difference ATexpecu , • a step 577 of providing the pose Pioad of the payload by minimizing the torque error ATen-ou .

This makes it possible to provide an estimation of the pose of the payload in situations where an exact solution for the equation cannot be obtained for instance due to inaccuracy of the force-torque measurements. Further the method according to the present invention can easily be implemented into a controller of a robot arm using simple logic and numerical methods, which is easy to implement into standard controllers. Further estimating the pose of the payload based by minimizing the force error also makes it possible to estimated how good the obtained pose of the payload is in relation to the actual mass of the payload .

[0057] Step 573 of providing an initial guess of the pose the payload can be implemented by providing a random guess of the pose P gU ess of the payload, by providing a predetermined guess of the pose of the payload for instance a guess corresponding to position of the center of mass of the payload at a given position in front of the robot tool flange, a position along the znange axis. Also the initial guess of the pose of the payload can be provided based on one of the force and toque measurements which can serve as a realistic guess even when a less accurate force-torque sensor is used .

[0058] The expected torque Texpecu, Texpect provided in step 574 can be provided by using eq . 15 using the initial guess of pose P gU ess instead of Pf 0 a l d 9e and where gravity vector Gf lan e e is obtained based on the orientations Ofiange, g,i , O flange, g,j of the robot tool flange as previously described. The mass of the payload mioad obtained in step 260 can be used. Consequently at least two expected torques Texpecu, Texpect are obtained, however it is to be understood that an expected torque can be obtained for each of the orientations of the robot tool flange where the force and torque provided to the robot tool flange have been obtained (step 250).

[0059] Step 575 of determining an expected torque difference ATexpect between at least two of the expected torques Texpecu, Texpectj at at least two different orientations of the tool flange can be implemented by: eq. 26 ^Jexpect, i.j eX pect,i ^expect, j on vector form :

where are the expected torque around the Xfian ge axis respectively at n th orientation i and j, are the expected torque around the yfi ange axis respectively at n th orientation i and j and ^z , e x pect a ncl where z g p ^ J are the expected torque around the Zfi ange axis respectively at n th orientation i and j.

[0060] Step 576 of determining the torque error ATerror j between the obtained torque difference ATsensor j and the expected torque difference ATexpecuj can be carried out by subtracting one of them form the other. For instance, by:

2

eq. 28 AT, error, i, j

[0061] Step 577 of providing the pose of the payload by minimizing the torque error can be implemented varying the initial guess of the pose of the payload and repeat the step 574, 575, 576 using a new initial guess of the pose of the payload as indicated by loop 578. The result is that a new torque error can be obtained and comparing the torque error with the previously obtained torque errors it is possible to determine which guess of poses that results in the smallest torque error. This can be performed a number of times resulting in a set of initial guesses of pose P gU ess,k with a corresponding torque errors ATen-or.k where k is an integer indicating guess number. The pose Pioad of the payload can be set to be the guess of pose Pguess,min resulting in the smallest torque error ATerror,min . Loop 578 can for instance be repeated a number of predetermined times where the guesses of pose for instance is changed with a predetermined interval and within a predetermined range of positions. Ideally the torque error is zero when the guess of pose P gU ess matched correct pose Pioad of the payload. However due to inaccurate torque measurements this may be difficult to achieve and loop 578 can then be repeated until an acceptable level of torque error has been obtained.

[0062] In an embodiment where the torques in step 250 have been obtained for more than three different orientations of the robot tool flange the torque error can be provided as a squared sum of the torque errors between each of the different orientations: eq. 29

[0063] In one embodiment the step of changing the orientation of the robot tool flange in relation to gravity comprises a step changing the orientation of the robot flange by at least 20 degrees in relation to a least one other orientation of the robot tool flange. This ensures that the force along and torques around the sensing axis of the force-torque sensor has been changed over a range the differences in the obtained forces and torques due to changes in relation to gravity exceed the noise and/or measuring errors of the force-torque measurements obtained by of the force-torque sensor.

[0065] In one embodiment the step of arranging the robot tool flange in a plurality of different orientations comprise arranging the robot tool flange in four different orientations in relation to gravity. This ensures that at at least one of the different orientations none of the sensing axis of the force-torque sensor is parallel with gravity thereby avoiding zero torque around a sensing axis which is parallel with gravity.

[0066] In one embodiment the step changing the orientation of the robot tool flange in relation to gravity comprises a step changing the orientation of the robot flange between 100-140 degrees in relation to at least one other orientation of the robot flange. Hereby is achieved that the force along and torque around at least one of the sensing axis of the force-torque sensor has opposite signs resulting in a more robust determination the payload information as eventual offset in force-torque sensor along that axis can be eliminated, further this also ensures that the force along and torques around the sensing axis of the force-torque sensor has been changed over a range where the differences in the obtained forces and torques due to changes in relation to gravity exceed measuring errors of the force-torque sensor. [0067] In one embodiment the step of arranging the robot tool flange in a plurality of different orientations comprise arranging the robot tool flange in four different orientations in relation to gravity, where the angle between each of the four different orientations is between 100-140 degrees in relation to the three other orientations. This results in the effect that the obtained forces and torques along the sensing axis of the force-torque sensor is provided over a large range, where at least two of the sensed forces and torques in relation the sensing axis have opposite directions resulting in a robust method of obtaining the payload information. In a more specific embodiment the angle between each of the orientations of the robot tool flange is between 110-130 degrees, and even more specific between 115-125 degrees or 120 degrees.

[0068] Figs. 6a and 6b illustrate an interface device 127 of the robot arm illustrated in fig. 1 and illustrates examples of an embodiment, where the controller during estimation of the payload is configured to provide user instructions to a user. The user instructions serve to instruct the user to change the orientation of the robot tool flange in relation to gravity. In fig. 6a the user instruction is provided as a command prompt 690a instructing the user to : "Arrange robot flange in 1 st orientation!". Once the user has arranged the robot tool flange in the 1 st orientation the controller is configured to obtain the force- torques provided to the robot tool flange using the force-torque sensor as described previously. When the user has arranged the robot tool flange in the first orientation, the user can for instance push a confirmation icon 691 on the touch screen to instruct the controller to obtain the forces and torques provided to the robot tool flange.

[0069] Thereafter as illustrated in fig. 6b a new user instruction is provided as a command prompt 690b instructing the user to: "Change orientation of robot tool flange into a 2 nd orientation in relation to gravity". Once the user has arranged the robot tool flange in the 2 nd orientation, the controller is configured to obtain the force-torques provided to the robot tool flange using the force- torque sensor as described previously. Again, the user can push a confirmation icon 691 on the touch screen to instruct the controller to obtain the forces and torques provided to the robot tool flange. [0070] The steps described above can be repeated until the desired number of orientations have been obtained and the controller can obtain the mass and pose of the payload as described previously. It is noticed that in other embodiments the user instructions can be provided using different kinds of interface means, for instance as sound commands.

[0071] A first representation 692a of the robot tool flange is shown upon the display and indicates at least one of the different orientations of the robot tool flange. In fig. 6a, the first representation 692a indicates the desired orientation of the robot tool flange in the 1 st orientation and is provided as an image 693a illustrating a possible configuration of the robot arm with the robot tool flange arranged in the 1 st orientation. Further an orientation symbol 694a indicating the orientation of the robot tool flange is also shown. A gravity symbol indicating the orientation of gravity 695 can also be provided at the display. In fig. 6b the first representation 692b indicates the desired orientation of the robot tool flange in the 2 nd orientation and is provided as an image 693b illustrating a possible configuration of the robot arm with the robot tool flange arranged in the 2nd orientation and symbol 694b indicates the orientation of the robot tool flange in the 2 nd orientation.

[0072] The user instructions serve to assist the user when configuration the robot arm controller with payload information and makes it easier for the user to ensure correct determination of the payload information. It is noticed that graphical representations of more than one of the desired orientations of the robot tool flange can be shown together on the screen in order to provide an overview of the orientations where the forces and torques need to be obtained.

[0073] Figs. 7a and 7b illustrate an interface device 127 of the robot arm illustrated in fig. 1 and illustrates examples of an embodiment, where the controller during estimation of the payload is configured to provide user instructions to a user. The screens illustrated in fig. 7a and 7b corresponds to the screens illustrated in fig. 6a and 6b and only the differences will be described.

[0074] In this embodiment a second representation 796 the robot tool flange is shown upon the display and indicates at least one of the different orientations of the robot tool flange. In fig. 6a, the first representation 692a indicates the desired orientation of the robot tool flange in the 1 st orientation and is provided as an image 693a illustrating a possible configuration of the robot arm with the robot tool flange arranged in the 1 st orientation. Further an orientation symbol 694a indicating the orientation of the robot tool flange is also shown. A gravity symbol indicating the orientation of gravity 695 can also be provided at the display. In fig. 6b the first representation 692b indicates the desired orientation of the robot tool flange in the 2 nd orientation and is provided as an image 693b illustrating a possible configuration of the robot arm with the robot tool flange arranged in the 2nd orientation and symbol 694b indicates the orientation of the robot tool flange in the 2 nd orientation.

[0075] In this embodiment a second representation 796 indicates the actual orientation of the robot tool flange and is provided as an image 797 illustrating the actual configuration the robot arm. In the illustrated embodiment the image 797 is illustrated as a part of the robot arm, however it is noticed the image also can show the entire robot. The image of the robot in the actual configuration changes if the configuration of the robot is changed.

[0076] In this embodiment the first representation 792a, 792b the robot tool flange respectively in the first and second orientation are is provided in dotted lines in order to differentiate the first representation form the second representation.

[0077] This assisted the user when arranging the robot tool flange in the desired orientations, as the user can associate the second representation of the actual robot position with the presentation with of the desired orientation and there is thereby guided to which orientation the robot tool flange should be arranged.

[0078] Figs. 8a, 8b and 8c illustrate an interface device 127 of the robot arm illustrated in fig. 1 and illustrates examples of an embodiment, where the controller during estimation of the payload is configured to provide user instructions to a user. In figs. 8a and 8b the user instruction is provided as a command prompt 890a instructing the user to: "Rotate robot tool flange as indicated by arrow!". A second representation 796 indicates the actual orientation of the robot tool flange and is provided as an image 797 illustrating the actual configuration the robot arm. An arrow 898 indicates to direction of rotation that the user should rotate the robot tool flange in order to arrange the robot tool flange in one of the desired orientations. The direction of the arrow is determined based on the actual configuration of the robot arm and information relating to the desired orientation of the robot tool flange, such as an actual orientation of the robot arm, an orientation relative to the previous orientations where the force and torques have been obtained. For instance, as illustrated in fig. 8a and 8b the arrow 898a in fig. 8a has changed to arrow 898b in fig. 8b in response to a change to the actual orientation of the robot arm.

[0079] In fig. 8c the robot tool flange has been arranged in a desired orientation and a command prompt 890b instructing "Orientation of robot tool flange is ok" is displayed on the display. Hereby the user is informed that the robot tool flange is arranged in an orientation for obtaining the payload information of the payload. The user can then confirm the orientation where after the controller proceeds.

[0080] The illustrated screen of the interface device only serves to illustrate possible embodiments of the user instructions, first representation, second representation of the robot tool flange can be used to assist a user utilizing the robot and method according to the present invention for obtaining payload information of a payload attached to the robot tool flange. It is noted that the illustrate screens have been simplified and the skilled person will be able to provide further elements such as control icons, menus additional graphics to the screens.

BRIEF DESCRIPTION OF FIGUR REFEENCES

101 : robot arm

103a-103e: robot joint

105 : robot base

107 : robot tool flange

109 : payload

llla-lllf: axis of rotation 113 : rotation arrow

115: robot tool flange coordinate system

117 : center of mass of payload

119 : robot base coordinate system

121 : direction of gravity

125: controller

127: Interface device

129 : display

131 : input device

250: arranging robot tool flange in a plurality of orientations

251 : arranging the robot tool flange in a first orientation

252: obtaining the orientation of the robot tool flange

253 : obtaining the force and torque of provide to the robot tool flange

254: change orientation of robot tool flange

255: verifying that force-torque have been obtained at at least two different orientations

256: verifying orientation of the robot tool flange

260 : obtain mass of payload based

270 : obtain pose of payload

280: control robot based on obtained mass and pose of payload

361 : obtain force difference between for at two different orientations

362: obtain mass of payload based on obtained force difference

371 : obtain torque difference between two orientations

372 : obtain pose payload based on obtained torque difference

463: provide guess of the mass the payload 464: provide expected force at two orientations based on guess of mass

465: determine an expected force difference between two of the expected forces 466: determine force error based on obtained force difference and expected force difference

467 : provide mass of payload by minimizing force error

468: loop

573 : provide guess of the pose the payload

574: provide expected torque at two orientations based on guess of pose 575: determine an expected torque difference between two of the expected torques

576: determine torque error based on obtained torque difference and expected torque difference

577 : provide pose of payload by minimizing torque error

578: loop

690a: command prompt: "Arrange robot flange in 1 st orientation!".

690b: command prompt: "Change orientation of robot tool flange into a 2 nd orientation in relation to gravity"

691 : confirmation icon

692a-692b: first representation of the robot tool flange

693a: image illustrating a possible configuration of part of the robot arm with the robot tool flange arranged in the 1 st orientation

693b: image illustrating a possible configuration of part of the robot arm with the robot tool flange arranged in the 2 nd orientation

694a-694b: symbol indicating orientation of robot tool flange

695 : orientation of gravity

792a-792b: first representation of the robot tool flange

796: second representation of the robot tool flange

797 : image illustrating actual configuration of part of robot

890a: command prompt: "Rotate robot tool flange as indicated by arrow!".

890b: command prompt: "Orientation of robot tool flange is ok"

898a-898b: arrow indicating to direction of rotation