# Patent

## Title
Method and system for calculating weight and center of gravity of object lifted by robot

## Abstract

A method for calculating weight and center of gravity of an object lifted by a robot includes lifting an object, measuring a change in angle of each joint through an angle sensor provided for each joint of the gripper in the event of the lifting, and calculating angular velocity and acceleration of each joint, calculating, via a controller, acceleration of the object, measuring an upper pressing force and a lower pressing force using force sensors installed on the joints, and calculating, via the controller, the weight of the object using a vertical component of the acceleration of the object, gravitational acceleration, and the upper and lower pressing forces.

## Background
CROSS REFERENCE TO RELATED APPLICATION
The present application claims priority to and the benefit of Korean Patent Application No. 10-2014-0070965, filed on Jun. 11, 2014, the entire contents of which is incorporated herein for all purposes by this reference.
BACKGROUND
1. Technical Field
The present disclosure relates, in general, to a system for calculating weight and center of gravity of an object lifted by a robot and a method of controlling the same, capable of accurately calculating the weight and the center of gravity of an arbitrary object held and carried by the robot.
2. Description of the Related Art
With respect to industrial robots used to conduct preset operations, it is not necessary to know the weights of objects held by grippers of the industrial robots. However, in the case of intelligent robots or wearable robots, it is necessary to know the weights and the centers of gravity of objects to be manipulated so as to prevent the intelligent robots or wearable robots from losing their balance due to the objects.
In existing technologies, the weight and center of gravity of an object are adapted to be measured by a separate measuring device and to be input for control of a robot. However, to improve this process, in the present disclosure, a robot grasps a desired object, and slightly lifts the object to detect the weight and center of gravity of the object, and information relating to the weight and the center of gravity of the object are applied to the operation of the robot.
The foregoing is intended merely to aid the understanding of the background of the present disclosure, and is not intended to mean that the present disclosure falls within the purview of the related art that is already known to those skilled in the art.
SUMMARY
Accordingly, the present disclosure has been made keeping in mind the above problems occurring in the related art, and the present disclosure is intended to propose a system for calculating the weight and center of gravity of an object for a robot and a method of controlling the same, capable of accurately calculating the weight and center of gravity of an arbitrary object held and carried by the robot.
In order to achieve the above object, according to an aspect of the present disclosure, there is provided a method of controlling a system for calculating weight and center of gravity of an object to be lifted by a robot, which includes: pressing respective upper and lower surfaces of the object by upper and lower parts of a gripper of the robot to grip the object; lifting the object held in the gripper; measuring a change in the angle of each joint during lifting of the object via an angle sensor provided in each joint of the gripper, and calculating angular velocity and angular acceleration of each joint; calculating, via a controller, acceleration of the object using the angular velocity, the angular acceleration, and a Jacobian matrix of the gripper; measuring an upper pressing force with which the upper part of the gripper presses the upper surface of the object and a lower pressing force with which the lower part of the gripper presses the lower surface of the object using force sensors installed on the joints; and calculating, via the controller, the weight of the object using a vertical component of the acceleration of the object, gravitational acceleration, and the upper and lower pressing forces.
The controller may calculate the acceleration of the object via the following equation:

{umlaut over (x)}=J{dot over (θ)}+J{umlaut over (θ)}

where {umlaut over (x)}=the acceleration of the object, J=the Jacobian matrix of the gripper, and θ=the angle of each joint of the gripper.

Further, the controller may calculate the weight of the object via the following equation:




  m
  =
  
    
      
        R
        B
      
      -
      
        R
        A
      
    
    
      
        a
        y
      
      +
      g
    
  




where m=the weight of the object, RA=the upper pressing force, RB=the lower pressing force, ay=the vertical component of the acceleration of the object, and g=the gravitational acceleration.
Furthermore, when ay<k1×g, where ay is the vertical component of the acceleration of the object, k1 is a setting coefficient, and g is the gravitational acceleration, the controller may calculate the weight of the object via the following equation:




  m
  =
  
    
      
        R
        B
      
      -
      
        R
        A
      
    
    g
  




where m=the weight of the object, RA=the upper pressing force, RB=the lower pressing force, and g=the gravitational acceleration.
Meanwhile, the method may further include: calculating, via the controller, an angular acceleration at which the object rotates around the center of gravity from positional changes of points at which the upper and lower parts of the gripper come into contact with the respective upper and lower surfaces of the object; and calculating, via the controller, the center of gravity of the object from the calculated weight of the object, the calculated angular acceleration, the calculated upper and lower pressing forces, and positions of the points at which the upper and lower parts of the gripper come into contact with the respective upper and lower surfaces of the object.
The controller may calculate the center of gravity of the object via the following equation:




  
    
      
        -
        
          1
          12
        
      
      ⁢
      
        mar
        G
        2
      
    
    +
    
      
        (
        
          
            R
            A
          
          -
          
            R
            B
          
        
        )
      
      ⁢
      
        r
        G
      
    
    +
    
      (
      
        
          
            -
            
              R
              A
            
          
          ⁢
          
            r
            A
          
        
        +
        
          
            R
            B
          
          ⁢
          
            r
            B
          
        
      
      )
    
  
  =
  0




where m=the weight of the object, α=the angular acceleration of the object, rG=the center of gravity of the object, RA=the upper pressing force, RB=the lower pressing force, rA=the position at which the upper part of the gripper comes into contact with the upper surface of the object, and rB=the position at which the lower part of the gripper comes into contact with the lower surface of the object.
Further, when α<k2, where α is the angular acceleration of the object, and k2 is a setting coefficient, the controller calculates the center of gravity of the object via the following equation:




  
    r
    G
  
  =
  
    
      (
      
        
          
            R
            A
          
          ⁢
          
            r
            A
          
        
        -
        
          
            R
            B
          
          ⁢
          
            r
            B
          
        
      
      )
    
    
      (
      
        
          R
          A
        
        -
        
          R
          B
        
      
      )
    
  




where rG=the center of gravity of the object, RA=the upper pressing force, RB=the lower pressing force, rA=the position at which the upper part of the gripper comes into contact with the upper surface of the object, and rB=the position at which the lower part of the gripper comes into contact with the lower surface of the object.
According to another aspect of the present disclosure, there is provided a system for calculating the weight and center of gravity of an object lifted by a robot, which includes: an upper and a lower part of a robot gripper made up of joints and links; drivers and angular sensors provided for the joints of the gripper; force sensors that are provided for the joints of the gripper and measure an upper pressing force with which the upper part presses an upper surface of the object and a lower pressing force with which the lower part presses a lower surface of the object; and a controller that i) controls the drivers such that the upper and lower parts of the gripper press the respective upper and lower surfaces of the object to grip and lift the object, ii) calculates angular velocity and angular acceleration of each joint using a change in angle of each joint, iii) calculates acceleration of the object using the angular velocity, the angular acceleration, and a Jacobian matrix of the gripper, and iv) calculates the weight of the object using a vertical component of the acceleration of the object, gravitational acceleration, and the upper and lower pressing forces.
The controller may calculate the weight of the object via the following equation:




  m
  =
  
    
      
        R
        B
      
      -
      
        R
        A
      
    
    
      
        a
        y
      
      +
      g
    
  




where m=the weight of the object, RA=the upper pressing force, RB=the lower pressing force, ay=the vertical component of the acceleration of the object, and g=the gravitational acceleration.
Further, when ay<k1×g, where ay is the vertical component of the acceleration of the object, k1 is a setting coefficient, and g is the gravitational acceleration, the controller may calculate the weight of the object via the following equation:




  m
  =
  
    
      
        R
        B
      
      -
      
        R
        A
      
    
    g
  




where m=the weight of the object, RA=the upper pressing force, RB=the lower pressing force, and g=the gravitational acceleration.
Furthermore, the controller may calculate an angular acceleration at which the object rotates around the center of gravity from positional changes of points at which the upper and lower parts of the gripper come into contact with the respective upper and lower surfaces of the object, and calculate the center of gravity of the object from the calculated weight of the object, the calculated angular acceleration, the calculated upper and lower pressing forces, and positions of the points at which the upper and lower parts of the gripper come into contact with the respective upper and lower surfaces of the object.
Also, the controller may calculate the center of gravity of the object via the following equation:




  
    
      
        -
        
          1
          12
        
      
      ⁢
      
        mar
        G
        2
      
    
    +
    
      
        (
        
          
            R
            A
          
          -
          
            R
            B
          
        
        )
      
      ⁢
      
        r
        G
      
    
    +
    
      (
      
        
          
            -
            
              R
              A
            
          
          ⁢
          
            r
            A
          
        
        +
        
          
            R
            B
          
          ⁢
          
            r
            B
          
        
      
      )
    
  
  =
  0




where m=the weight of the object, α=the angular acceleration of the object, rG=the center of gravity of the object, RA=the upper pressing force, RB=the lower pressing force, rA=the position at which the upper part of the gripper comes into contact with the upper surface of the object, and rB=the position at which the lower part of the gripper comes into contact with the lower surface of the object.
In addition, when α<k2, where α is the angular acceleration of the object, and k2 is a setting coefficient, the controller may calculate the center of gravity of the object via the following equation:




  
    r
    G
  
  =
  
    
      (
      
        
          
            R
            A
          
          ⁢
          
            r
            A
          
        
        -
        
          
            R
            B
          
          ⁢
          
            r
            B
          
        
      
      )
    
    
      (
      
        
          R
          A
        
        -
        
          R
          B
        
      
      )
    
  




where rG=the center of gravity of the object, RA=the upper pressing force, RB=the lower pressing force, rA=the position at which the upper part of the gripper comes into contact with the upper surface of the object, and rB=the position at which the lower part of the gripper comes into contact with the lower surface of the object.
According to the system for calculating weight and center of gravity of an object for a robot, which has the aforementioned structure, and the method of controlling the same, it is possible to accurately calculate the weight and the center of gravity of an arbitrary object held and carried by the robot. Further, by calculating the weight and the center of gravity of the object, the robot can carry out stable and precise operations involving the object.



BRIEF DESCRIPTION OF THE DRAWINGS
The above and other objects, features and other advantages of the present disclosure will be more clearly understood from the following detailed description when taken in conjunction with the accompanying drawings, in which:
FIGS. 1 and 2 illustrate a configuration of a system for calculating the weight and the center of gravity of an object lifted by a robot according to an embodiment of the present disclosure; and
FIG. 3 is a flow chart for a method of controlling the system for calculating the weight and the center of gravity of an object lifted by a robot according to an embodiment of the present disclosure.



DETAILED DESCRIPTION OF THE EMBODIMENTS
Hereinbelow, preferred embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
Additionally, it is understood that the below methods may be executed by at least one controller. The term “controller” refers to a hardware device that includes a memory and a processor. The memory is configured to store program instructions, and the processor is configured to execute the program instructions to perform one or more processes which are described further below.
FIGS. 1 and 2 illustrate a configuration of a system for calculating the weight and the center of gravity of an object lifted by a robot according to an embodiment of the present disclosure, and FIG. 3 is a flow chart for a method of controlling the system for calculating the weight and the center of gravity of an object lifted by a robot according to an embodiment of the present disclosure.
A method of controlling a system for calculating the weight and the center of gravity of an object lifted by a robot according to an embodiment of the present disclosure includes: a process S110 of pressing respective upper and lower surfaces of an object via upper and lower parts of a gripper of the robot to grip the object; a process S120 of lifting the object with the gripper; a process S210 of measuring, during the lifting of an object, a change in the angle of each joint through an angle sensor provided in each joint of the gripper, and calculating angular velocity and acceleration of each joint; a process S220 calculating via a controller acceleration of the object using the angular velocity, the angular acceleration, and a Jacobian matrix of the gripper; a process S230 of measuring an upper pressing force with which the upper part of the gripper presses the upper surface of the object and a lower pressing force with which the lower part of the gripper presses the lower surface of the object using force sensors installed on the joints; and a process S240 calculating via the controller the weight of the object using a vertical component of the acceleration of the object, gravitational acceleration, and the upper and lower pressing forces.
Referring to FIGS. 1 and 2, in the configuration of a system for calculating the weight and the center of gravity of an object lifted by a robot according to an embodiment of the present disclosure, the robot has a gripper made up of numerous links 100, each of which is coupled by a joint 200. The joint is provided with an encoder type angular sensor for detecting a rotational angle, along with a driver motor. In the case of the illustrated embodiment, the gripper is provided with a base link 101, and the object 300 is gripped such that an end thereof comes into contact with the base link 101. A point of the contact is set to a starting point O.
Meanwhile, the base link 101 is provided with upper and lower parts 102 and 103 that act as links and are connected by joints 202 and 203. Angular sensors are provided for the joints of the base link 101, the upper part 102, and the lower part 103, and detect rotational angles so as to be able to kinematically detect a position of each component of the gripper.
The force sensors 202′ and 203′ are provided for the joints of the upper and lower parts 102 and 103 so as to be able to measure the pressing forces when the upper and lower parts 102 and 103 come into contact with the object 300 and are applied to the object 300. If each force sensor is a 2-axis sensor, each pressing force can be divided into a vertical component and a horizontal component.
To be specific, referring to FIG. 3, in a method of controlling the system for calculating the weight and the center of gravity of an object to be lifted by a robot according to an embodiment of the present disclosure, the upper and lower parts of the gripper of the robot press the respective upper and lower surfaces of the object to grip the object (S110), and the gripper lifts the object (S120).
As illustrated in FIG. 1, the upper and lower parts 102 and 103 of the gripper are manipulated to grip the object 300 such that the end of the object comes into contact with the base link. The contact point is set to the starting point O. The upper part 102 comes into contact with and presses the upper surface of the object 300, and the lower part 103 comes into contact with and presses the lower surface of the object 300. Points at which the upper and lower parts 102 and 103 come into contact with the object 300 may be changed according to a thickness of the object 300.
When the object is lifted, a change in angle of each of the joints 201, 202 and 203 of the gripper is measured by the angular sensor provided for each joint, and the controller 500 calculates the angular velocity and angular acceleration of each joint (S210). Sufficient data can be obtained if the object is briefly fluctuated during lifting.
In other words, knowing the angle of each joint makes it possible to know the angular velocity and acceleration of each joint. Finally, the points A and B at which ends of the upper and lower parts are located can be kinematically calculated with accuracy from the angle formed by each angle in a stopped state.
Meanwhile, the controller calculates acceleration of the object using the angular velocity, the angular acceleration, and the Jacobian matrix of the gripper (S220). In detail, the controller can calculate the acceleration of the object from the following equation.

{umlaut over (x)}=J{dot over (θ)}+F{umlaut over (θ)}  Equation 1

Where {umlaut over (x)}=the acceleration of the object, J=the Jacobian matrix of the gripper, and θ=the angle of each joint of the gripper.
The acceleration of the object can be found through the Jacobian relation, and a relation between the position of the end of the gripper and the angle of each joint can be expressed by the following equation.

{dot over (x)}=J{dot over (θ)}  Equation 2

As above, a matrix composed of angular vectors of the robot joints can be derived as a matrix for the position of the end of the gripper using the Jacobian matrix previously identified with the gripper. When differential is performed using such a relation, the acceleration of the end of the gripper can be found as in Equation 1, and corresponds to the acceleration of the object moving together with the end of the gripper.
Thereafter, the upper pressing force with which the upper part of the gripper presses the upper surface of the object and the lower pressing force with which the lower part of the gripper presses the lower surface of the object are measured by the force sensors provided for the respective joints (S230).
Then, the controller calculates the weight of the object using the vertical component of the acceleration of the object, the gravitational acceleration, and the upper and lower pressing forces (S240).
To be specific, in process S240, the controller can calculate the weight of the object from the following equation.




  
    
      
        m
        =
        
          
            
              R
              B
            
            -
            
              R
              A
            
          
          
            
              a
              y
            
            +
            g
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        3
      
    
  




where m=the weight of the object, RA=the upper pressing force, RB=the lower pressing force, ay=the vertical component of the acceleration of the object, and g=the gravitational acceleration.
Referring to FIG. 2, the following balance equation of force can be obtained.

ΣFy=RB−RA−mg=may  Equation 4

Arrangement of the above equation makes it possible to find the weight of the object as in Equation 3. Meanwhile, when ay<k1×g (where ay indicates the vertical component of the acceleration of the object, k1 indicates the setting coefficient, and g indicates the gravitational acceleration) in the process of calculating the weight of the object, the controller can calculate the weight of the object from the following equation.




  
    
      
        m
        =
        
          
            
              R
              B
            
            -
            
              R
              A
            
          
          g
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        5
      
    
  




where m=the weight of the object, RA=the upper pressing force, RB=the lower pressing force, and g=the gravitational acceleration.
In other words, if the vertical component of the acceleration of the object has a value close to zero (0), it is ignored, and the weight of the object can be derived as in Equation 5. In this case, only the pressing forces of the upper and lower parts of the gripper are measured to find the weight of the object.
Meanwhile, in finding the center of gravity of the object, the controller calculates an angular acceleration at which the object rotates around the center of gravity from the positional changes of the points at which the upper and lower parts of the gripper come into contact with the respective upper and lower surfaces of the object (S310).
In other words, in tracking the positions of the ends of the upper and lower parts of the gripper as in FIG. 2, a degree to which the object itself is inclined can be calculated, and thus an angle at which the object itself rotates can be found. The angle is differentiated with respect to time, deriving the angular acceleration at which the object rotates.
Then, the controller calculates the center of gravity of the object from the calculated weight of the object, the calculated angular acceleration, the calculated upper and lower pressing force, and the positions of the points at which the upper and lower parts of the gripper come into contact with the respective upper and lower surfaces of the object (S320).
In detail, the controller calculates the center of gravity of the object from the following equation in the process of calculating the center of gravity of the object.




  
    
      
        
          
            
              -
              
                1
                12
              
            
            ⁢
            
              mar
              G
              2
            
          
          +
          
            
              (
              
                
                  R
                  A
                
                -
                
                  R
                  B
                
              
              )
            
            ⁢
            
              r
              G
            
          
          +
          
            (
            
              
                
                  -
                  
                    R
                    A
                  
                
                ⁢
                
                  r
                  A
                
              
              +
              
                
                  R
                  B
                
                ⁢
                
                  r
                  B
                
              
            
            )
          
        
        =
        0
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        6
      
    
  




where m=the weight of the object, α=the angular acceleration of the object, rG=the center of gravity of the object, RA=the upper pressing force, RB=the lower pressing force, rA=the position at which the upper part of the gripper comes into contact with the upper surface of the object, and rB=the position at which the lower part of the gripper comes into contact with the lower surface of the object.
In FIG. 2, a balance relation between moments can be arranged by the following equation.

ΣMG: {right arrow over (GA)}×RA−{right arrow over (GB)}×RB=JGα

(rB−rA)RA−(rG−rB)RB=JGα  Equation 7

In other words, the sum of moments based on a rotational angle at a virtual center of gravity and the moment of inertia of the object is balanced with moments of the upper and lower parts caused by an external force. Assuming that the object has a rectangular cross section in this process, the moment of inertia of the object is as follows.




  
    
      
        
          J
          G
        
        =
        
          
            1
            12
          
          ⁢
          
            mr
            G
            2
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        8
      
    
  




Thus, in combining Equations 7 and 8, the quadratic equation of Equation 6 is derived, and solutions of the quadratic equation are just a position of the center of gravity of the object. Here, of the two solutions of the quadratic equation, the one that is greater than zero and is suitable in view of a length of the object can be selected as the position of the center of gravity.
Meanwhile, in the process of calculating the center of gravity of the object, when α<k2 (where α=the angular acceleration of the object, and k2=the setting coefficient), the controller can calculate the center of gravity of the object from the following equation.




  
    
      
        
          r
          G
        
        =
        
          
            (
            
              
                
                  R
                  A
                
                ⁢
                
                  r
                  A
                
              
              -
              
                
                  R
                  B
                
                ⁢
                
                  r
                  B
                
              
            
            )
          
          
            (
            
              
                R
                A
              
              -
              
                R
                B
              
            
            )
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        9
      
    
  




where rG=the center of gravity of the object, RA=the upper pressing force, RB=the lower pressing force, rA=the position at which the upper part of the gripper comes into contact with the upper surface of the object, and rB=the position at which the lower part of the gripper comes into contact with the lower surface of the object.
In other words, when the angular acceleration of the object is close to zero (0), it can be neglected to form a conclusion as in Equation 9.
Further, a system for calculating the weight and center of gravity of an object lifted by a robot according to the present disclosure includes: upper and lower parts 102 and 103 of a robot gripper made up of joints 200 and links 100; drivers and angular sensors provided for the joints 202 and 203 of the gripper; force sensors 202′ and 203′ that are provided for the joints of the gripper and measure an upper pressing force with which the upper part 102 presses an upper surface of the object 300 and a lower pressing force with which the lower part 103 presses a lower surface of the object 300; and a controller 500 that i) controls the drivers such that the upper and lower parts 102 and 103 of the gripper press the respective upper and lower surfaces of the object 300 to grip and lift the object 300, ii) calculates angular velocity and acceleration of each joint using a change in angle of each joint, iii) calculates acceleration of the object 300 using the angular velocity, the angular acceleration, and a Jacobian matrix of the gripper, and iv) calculates the weight of the object 300 using a vertical component of the acceleration of the object 300, gravitational acceleration, and the upper and lower pressing forces.
The controller 500 can calculate the weight of the object 300 from Equation 3 below.




  
    
      
        m
        =
        
          
            
              R
              B
            
            -
            
              R
              A
            
          
          
            
              a
              y
            
            +
            g
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        3
      
    
  




where m=the weight of the object, RA=the upper pressing force, RB=the lower pressing force, ay=the vertical component of the acceleration of the object, and g=the gravitational acceleration.
Further, when ay<k1×g (where ay is the vertical component of the acceleration of the object, k1 is the setting coefficient, and g is the gravitational acceleration), the controller 500 can calculate the weight of the object 300 from Equation 5 below.




  
    
      
        m
        =
        
          
            
              R
              B
            
            -
            
              R
              A
            
          
          g
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        5
      
    
  




where m=the weight of the object, RA=the upper pressing force, RB=the lower pressing force, and g=the gravitational acceleration.
Meanwhile, the controller 500 may calculate an angular acceleration at which the object 300 rotates around the center of gravity G from positional changes of points A and B at which the upper and lower parts 102 and 103 of the gripper come into contact with the respective upper and lower surfaces of the object 300, and calculate the center of gravity G of the object from the calculated weight of the object, the calculated angular acceleration, the calculated upper and lower pressing forces, and positions of the points A and B at which the upper and lower parts 102 and 103 of the gripper come into contact with the respective upper and lower surfaces of the object 300.
In detail, the controller 500 can calculate the center of gravity G of the object 300 from Equation 6 below.




  
    
      
        
          
            
              -
              
                1
                12
              
            
            ⁢
            
              mar
              G
              2
            
          
          +
          
            
              (
              
                
                  R
                  A
                
                -
                
                  R
                  B
                
              
              )
            
            ⁢
            
              r
              G
            
          
          +
          
            (
            
              
                
                  -
                  
                    R
                    A
                  
                
                ⁢
                
                  r
                  A
                
              
              +
              
                
                  R
                  B
                
                ⁢
                
                  r
                  B
                
              
            
            )
          
        
        =
        0
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        6
      
    
  




where m=the weight of the object, α=the angular acceleration of the object, rG=the center of gravity of the object, RA=the upper pressing force, RB=the lower pressing force, rA=the position at which the upper part of the gripper comes into contact with the upper surface of the object, and rB=the position at which the lower part of the gripper comes into contact with the lower surface of the object.
When α<k2 (where α is the angular acceleration of the object, and k2 is the setting coefficient), the controller 500 can calculate the center of gravity G of the object 300 from Equation 9 below.




  
    
      
        
          r
          G
        
        =
        
          
            (
            
              
                
                  R
                  A
                
                ⁢
                
                  r
                  A
                
              
              -
              
                
                  R
                  B
                
                ⁢
                
                  r
                  B
                
              
            
            )
          
          
            (
            
              
                R
                A
              
              -
              
                R
                B
              
            
            )
          
        
      
    
    
      
        Equation
        ⁢
        
          
        
        ⁢
        9
      
    
  




where rG=the center of gravity of the object, RA=the upper pressing force, RB=the lower pressing force, rA=the position at which the upper part of the gripper comes into contact with the upper surface of the object, and rB=the position at which the lower part of the gripper comes into contact with the lower surface of the object.
According to the system for calculating weight and center of gravity of an object for a robot, which has the aforementioned structure, and the method of controlling the same, it is possible to accurately calculate the weight and the center of gravity of an arbitrary object held and carried by the robot. Further, by calculating the weight and the center of gravity of the object, the robot can carry out stable and precise operations when manipulating the object.
Although certain embodiments of the present disclosure have been described for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the disclosure as disclosed in the accompanying claims.

## Claims

1. A method of controlling a system for calculating weight and/or center of gravity of an object for a robot, the method comprising:
pressing respective upper and lower surfaces of the object via upper and lower parts of a robotic gripper to grip the object;
lifting the object with the gripper;
measuring, during lifting of the object, a change in angle of each joint of the gripper through an angle sensor provided for each joint of the gripper and calculating angular velocity and angular acceleration of each joint;
calculating, via a controller, acceleration of the object using the angular velocity, the angular acceleration and a Jacobian matrix of the gripper;
measuring an upper pressing force with which the upper part of the gripper presses the upper surface of the object and a lower pressing force with which the lower part of the gripper presses the lower surface of the object using force sensors installed on the joints;
calculating, via the controller, the weight of the object using a vertical component of the acceleration of the object, a gravitational acceleration and the upper and lower pressing forces;
calculating, via the controller, an angular acceleration at which the object rotates around the center of gravity from positional changes of points at which the upper and lower parts of the gripper come into contact with the respective upper and lower surfaces of the object; and
calculating, via the controller, the center of gravity of the object from the calculated weight of the object, the calculated angular acceleration, the calculated upper and lower pressing forces, and positions of the points at which the upper and lower parts of the gripper come into contact with the respective upper and lower surfaces of the object.

2. The method according to claim 1, wherein the controller calculates the acceleration of the object via the following equation:


{umlaut over (x)}=J{dot over (θ)}+J{umlaut over (θ)}

where {umlaut over (x)}=the acceleration of the object, J=the Jacobian matrix of the gripper, and θ=the angle of each joint of the gripper.

3. The method according to claim 1, wherein the controller calculates the weight of the object via the following equation:




  m
  =
  
    
      
        R
        B
      
      -
      
        R
        A
      
    
    
      
        a
        y
      
      +
      g
    
  



where m=the weight of the object, RA=the upper pressing force, RB=the lower pressing force, ay=the vertical component of the acceleration of the object, and g=the gravitational acceleration.

4. The method according to claim 1, wherein, when ay<k1×g, where ay is the vertical component of the acceleration of the object, k1 is a setting coefficient, and g is the gravitational acceleration, the controller calculates the weight of the object via the following equation:




  m
  =
  
    
      
        R
        B
      
      -
      
        R
        A
      
    
    g
  



where m=the weight of the object, RA=the upper pressing force, RB=the lower pressing force, and g=the gravitational acceleration.

5. The method according to claim 1, wherein the controller calculates the center of gravity of the object via the following equation:




  
    
      
        -
        
          1
          12
        
      
      ⁢
      
        mar
        G
        2
      
    
    +
    
      
        (
        
          
            R
            A
          
          -
          
            R
            B
          
        
        )
      
      ⁢
      
        r
        G
      
    
    +
    
      (
      
        
          
            -
            
              R
              A
            
          
          ⁢
          
            r
            A
          
        
        +
        
          
            R
            B
          
          ⁢
          
            r
            B
          
        
      
      )
    
  
  =
  0



where m=the weight of the object, α=the angular acceleration of the object, rG=the center of gravity of the object, RA=the upper pressing force, RB=the lower pressing force, rA=the position at which the upper part of the gripper comes into contact with the upper surface of the object, and rB=the position at which the lower part of the gripper comes into contact with the lower surface of the object.

6. The method according to claim 1, wherein, when α<k2, where α is the angular acceleration of the object, and k2 is a setting coefficient, the controller calculates the center of gravity of the object in the process of calculating the center of gravity of the object via the following equation:




  
    r
    G
  
  =
  
    
      (
      
        
          
            R
            A
          
          ⁢
          
            r
            A
          
        
        -
        
          
            R
            B
          
          ⁢
          
            r
            B
          
        
      
      )
    
    
      (
      
        
          R
          A
        
        -
        
          R
          B
        
      
      )
    
  



where rG=the center of gravity of the object, RA=the upper pressing force, RB=the lower pressing force, rA=the position at which the upper part of the gripper comes into contact with the upper surface of the object, and rB=the position at which the lower part of the gripper comes into contact with the lower surface of the object.

7. A system for calculating weight and/or center of gravity of an object for a robot, the system comprising:
an upper part and a lower part of a robot gripper made up of joints and links;
drivers and angular sensors provided for the joints of the gripper;
force sensors that are provided for the joints of the gripper and measure an upper pressing force with which the upper part presses an upper surface of the object and a lower pressing force with which the lower part presses a lower surface of the object; and
a controller that i) controls the drivers such that the upper and lower parts of the gripper press the respective upper and lower surfaces of the object to grip and lift the object, ii) calculates angular velocity and angular acceleration of each joint of the gripper using a change in angle of each joint of the gripper, iii) calculates acceleration of the object using the angular velocity, the angular acceleration, and a Jacobian matrix of the gripper, and iv) calculates the weight of the object using a vertical component of the acceleration of the object, gravitational acceleration, and the upper and lower pressing forces,
wherein the controller calculates an angular acceleration at which the object rotates around the center of gravity from positional changes of points at which the upper and lower parts of the gripper come into contact with the respective upper and lower surfaces of the object, and calculates the center of gravity of the object from the calculated weight of the object, the calculated angular acceleration, the calculated upper and lower pressing forces, and positions of the points at which the upper and lower parts of the gripper come into contact with the respective upper and lower surfaces of the object.

8. The system according to claim 7, wherein the controller calculates the weight of the object via the following equation:




  m
  =
  
    
      
        R
        B
      
      -
      
        R
        A
      
    
    
      
        a
        y
      
      +
      g
    
  



where m =the weight of the object, RA=the upper pressing force, RB=the lower pressing force, ay=the vertical component of the acceleration of the object, and g=the gravitational acceleration.

9. The system according to claim 7, wherein, when ay<k1×g, where ay is the vertical component of the acceleration of the object, k1 is a setting coefficient, and g is the gravitational acceleration, the controller calculates the weight of the object via the following equation:




  m
  =
  
    
      
        R
        B
      
      -
      
        R
        A
      
    
    g
  



where m=the weight of the object, RA=the upper pressing force, RB=the lower pressing force, and g=the gravitational acceleration.

10. The system according to claim 7, wherein the controller calculates the center of gravity of the object via the following equation:




  
    
      
        -
        
          1
          12
        
      
      ⁢
      
        mar
        G
        2
      
    
    +
    
      
        (
        
          
            R
            A
          
          -
          
            R
            B
          
        
        )
      
      ⁢
      
        r
        G
      
    
    +
    
      (
      
        
          
            -
            
              R
              A
            
          
          ⁢
          
            r
            A
          
        
        +
        
          
            R
            B
          
          ⁢
          
            r
            B
          
        
      
      )
    
  
  =
  0



where m=the weight of the object, α=the angular acceleration of the object, rG=the center of gravity of the object, RA=the upper pressing force, RB=the lower pressing force, rA=the position at which the upper part of the gripper comes into contact with the upper surface of the object, and rB=the position at which the lower part of the gripper comes into contact with the lower surface of the object.

11. The system according to claim 7, wherein, when α<k2, where α is the angular acceleration of the object, and k2 is a setting coefficient, the controller calculates the center of gravity of the object via the following equation:




  
    r
    G
  
  =
  
    
      (
      
        
          
            R
            A
          
          ⁢
          
            r
            A
          
        
        -
        
          
            R
            B
          
          ⁢
          
            r
            B
          
        
      
      )
    
    
      (
      
        
          R
          A
        
        -
        
          R
          B
        
      
      )
    
  



where rG=the center of gravity of the object, RA=the upper pressing force, RB=the lower pressing force, rA=the position at which the upper part of the gripper comes into contact with the upper surface of the object, and rB=the position at which the lower part of the gripper comes into contact with the lower surface of the object.