Patent Description:
Various machines having a structure for gripping an object (e.g., a robot hand, a gripper, etc.) have been proposed.

For example, PTL <NUM> below describes a technique for detecting contact with an object by using a plurality of pressure detection elements disposed at a predetermined joint part of a robot hand.

PTL <NUM>: <CIT>
<CIT> discloses a joint device which can achieve a delicate action such as the movement of a person's fingers. <CIT> discloses a robot hand using slip sensors in which the robot hand can carry out an action of gripping an object by means of three finger mechanisms, and thereafter can re-grip the object by means of two finger mechanisms.

However, the technique described in PTL <NUM> calculates a contact force of when the robot hand and the object come into contact with each other using only a sensing result obtained by the pressure detection elements. For this reason, the technique described in PTL <NUM> has room to increase accuracy of the calculation of the contact force.

Accordingly, the present invention proposes a control device according to claim <NUM>, a control method according to claim <NUM>, and a program according to claim <NUM> which are novel and improved, and are able to appropriately control a grip force of when a contact section and an object come into contact with each other.

Further aspects and features of the present invention are defined in the appended dependent claims.

According to the present disclosure, there is provided a control device including a grip controller that controls a grip force related to a contact section depending on a contact force of when the contact section and an object come into contact with each other, the contact force being based on a sensing result obtained by a tactile sensor disposed at the contact section and a sensing result obtained by a force sensor disposed at the contact section.

Further, according to the present disclosure, there is provided a control method including controlling, by a processor, a grip force related to a contact section depending on a contact force of when the contact section and an object come into contact with each other, the contact force being based on a sensing result obtained by a tactile sensor disposed at the contact section and a sensing result obtained by a force sensor disposed at the contact section.

Further, according to the present disclosure, there is provided a program for causing a computer to function as a grip controller that controls a grip force related to a contact section depending on a contact force of when the contact section and an object come into contact with each other, the contact force being based on a sensing result obtained by a tactile sensor disposed at the contact section and a sensing result obtained by a force sensor disposed at the contact section.

As described above, according to the present disclosure, it is possible to appropriately control the grip force of when the contact section and the object come into contact with each other. It should be noted that the effects described here are not necessarily limitative, and may be any of effects described in the present disclosure.

The following describes a preferred embodiment of the present disclosure in detail with reference to the accompanying drawings. It is to be noted that, in this description and the accompanying drawings, components that have substantially the same functional configuration are indicated by the same reference signs, and thus redundant description thereof is omitted.

Further, in this description and the drawings, components that have substantially the same functional configuration are sometimes distinguished from each other using different alphabets after the same reference sign. For example, components that have substantially the same functional configuration are distinguished from each other, such as a grip section 104a and a grip section 104b, as appropriate. However, in a case where there is no need in particular to distinguish components that have substantially the same functional configuration, the same reference sign alone is attached to each of the components. For example, in a case where there is no need in particular to distinguish the grip section 104a and the grip section 104b from each other, the grip section 104a and the grip section 104b are each simply referred to as grip section <NUM>.

Further, the "modes for carrying out the invention" will be given in the following order.

The present disclosure may be implemented in various forms, as described in detail in "<NUM>. First Embodiment" to "<NUM>. Ninth Embodiment" by way of examples. First, a background in which a robot <NUM> according to each embodiment of the present disclosure has been created will be described for clearly indicating characteristics of the present disclosure.

Various techniques for gripping an object by using a hand section (e.g., a robot hand, a gripper, etc.) have been proposed. It is necessary that in such techniques, a grip force of when the hand section grips the object be appropriately set. For example, it is necessary that a force be set as the grip force which is in a range that the object is not slipped off and the object is not crushed.

It is to be noted that, regarding objects handled in assembly lines of factories and the like, shapes, masses, frictional coefficients, and the like thereof are known in many cases, for example; therefore, it is usually easy in many cases to set appropriate grip forces corresponding to the objects. In contrast, regarding a wide variety of objects located in any environments, such as homes and hospitals, it is usually difficult to set appropriate grip forces, because shapes, masses, or frictional coefficients of the individual objects are often unknown.

In order to solve such an issue, for example, a technique has been proposed in which a pressure distribution sensor is disposed at a tip (fingertip) of the hand section, and a CoP (Center Of Pressure) that changes when displacement (hereinafter, also referred to as "slip") between an object to be gripped and the fingertip occurs is measured, and a grip force is increased on the basis of a result obtained by the measurement.

However, characteristics of the pressure distribution sensor have restrictions on a state of a contact, accuracy of a sensor, spatial resolution, a dynamic range, and the like; therefore, such a technique has low accuracy in calculating a contact force. Due to the low accuracy in calculating the contact force, it is also difficult to accurately detect the slip in such a technique.

Accordingly, a robot <NUM> according to each embodiment has been created with the above-mentioned circumstances as a point of view. The robot <NUM> according to each embodiment calculates a contact force of when a grip section <NUM> and an object come into contact with each other on the basis of a sensing result obtained by a tactile sensor <NUM> disposed at the grip section <NUM> and a sensing result obtained by a force sensor <NUM> disposed at the grip section <NUM>. As described above, according to each embodiment, the sensing result obtained by the tactile sensor <NUM> and the sensing result obtained by the force sensor <NUM> are both used; therefore, it is possible to calculate with higher accuracy the contact force of when the grip section <NUM> and the object come into contact with each other.

The robot <NUM> according to each embodiment is an example of a control device according to the present disclosure. In each embodiment, the robot <NUM> may be a device (machine) that is able to act (e.g., perform gripping, etc.) using an electric and/or magnetic effect. For example, the robot <NUM> may be a mobile or fixed manipulation device. Alternatively, the robot <NUM> may be a humanoid robot, a pet robot, various industrial machinery, a vehicle (e.g., an autonomous driving car, a vessel, or a flight vehicle (e.g., a drone, etc.)), or a toy, etc. Hereinafter, contents of each embodiment will be described in detail.

Next, a first embodiment according to the present disclosure will be described. First, referring to <FIG>, a physical configuration of the robot <NUM> according to the first embodiment will be described.

As illustrated in <FIG>, the robot <NUM> may include at least one grip section <NUM> and an actuator <NUM> that drives the grip section <NUM>. Also, as illustrated in <FIG>, a tactile sensor <NUM> may be disposed over all or a portion of a surface of the grip section <NUM>. Further, a force sensor <NUM> may be disposed in a disposition region of the actuator <NUM>.

The grip section <NUM> is an example of a contact section according to the present disclosure. The grip section <NUM> has a structure that enables the grip section <NUM> to grip an external object (an object <NUM> in the example illustrated in <FIG>). In the example illustrated in <FIG>, an example is indicated in which the grip section <NUM> is a robot finger, but the first embodiment is not limited to such an example. The structure of the grip section <NUM> is not particularly limited as long as the structure enables the grip section <NUM> to grip the object. For example, the robot <NUM> may have one or more robot arms (not illustrated). In this case, the grip section <NUM> may be disposed at a tip of the robot arm as a hand section (e.g. a robot hand, a gripper, an end effector, or the like). Alternatively, the robot <NUM> may have a plurality of leg parts. In this case, the grip section <NUM> may be disposed as a tip part of one of the leg parts (e.g. a foot part).

The tactile sensor <NUM> may be configured to be able to, upon coming into contact with the object, measure a contact position (e.g., a contact center position, etc.) with the object and the total number of individual contact points (hereinafter each may be referred to as contact portion). For example, the tactile sensor <NUM> may be a pressure distribution sensor, a uniaxial force sensor array, a triaxial force sensor array, a vision sensor, or a sensor using a laser, and the like. Here, the pressure distribution sensor may be a sensor in which a plurality of pressure detection elements is arranged on an array. The pressure distribution sensor may then sense the contact with the object by detecting the pressures applied to the respective plurality of pressure detection elements. In addition, the vision sensor may sense the contact with the object by measuring, by a camera, deformation of a material of a sensor surface that has occurred by the contact with object. Further, the sensor using a laser may sense a presence or absence of the contact between the sensor surface and the object by using a laser.

The tactile sensor <NUM> may further be able to measure a contact force strength ratio between contact points. Here, the contact force may be a force generated at a point of coming into contact with the object. Alternatively, the tactile sensor <NUM> may further be able to measure an absolute value of a normal force at each contact point and/or an absolute value of a shear force at each contact point.

In addition, the tactile sensor <NUM> may transmit a sensing result (e.g., the total number of contact points, the position information of each contact point, the contact force strength ratio between contact points, etc.) to a contact force identification section <NUM> and a slip detector <NUM>.

The force sensor <NUM> may be configured to be able to measure a resultant force of the contact forces (in other words, reaction forces from the object) applied to the surface of the grip section <NUM> of when the object and the grip section <NUM> come into contact with each other. Alternatively, the force sensor <NUM> may be configured to be able to measure a force, a torque, or a moment generated by the actuator <NUM>.

For example, the force sensor <NUM> may be a triaxial force sensor or a six-axis force sensor. Alternatively, a torque sensor may be disposed in the actuator <NUM> and the force sensor <NUM> may be the torque sensor. In this case, the force sensor <NUM> may measure the torque generated by the actuator <NUM> (as a generation force of the actuator <NUM>).

In addition, the force sensor <NUM> may transmit a sensing result (the force, the torque, or the moment) to the contact force identification section <NUM> and a grip controller <NUM>.

The actuator <NUM> may generate a force (or a torque) corresponding to a target command value in accordance with a control of the grip controller <NUM> to be described later. The generated force is transmitted to the grip section <NUM> whereby the grip section <NUM> may move. For example, the actuator <NUM> drives in accordance with the control of the grip controller <NUM> to enable the grip section <NUM> to generate a target grip force (in other words, a force, a moment, or a torque that the actuator <NUM> should generate).

The actuator <NUM> may be disposed between the grip section <NUM> and a body (not illustrated) of the robot <NUM>, as illustrated in <FIG>. For example, in a case where the robot <NUM> has a robot arm coupled to the grip section <NUM>, the actuator <NUM> may be disposed within the robot arm.

The physical configuration of the robot <NUM> according to the first embodiment has been described above. Next, referring to <FIG>, a functional configuration of the robot <NUM> according to the first embodiment will be described. <FIG> is a block diagram illustrating an example of the functional configuration of the robot <NUM> according to the first embodiment. As illustrated in <FIG>, the robot <NUM> includes the grip controller <NUM>, the grip section <NUM>, the tactile sensor <NUM>, the force sensor <NUM>, the contact force identification section <NUM>, and the slip detector <NUM>. Hereinafter, description of the same contents as those described above will be omitted.

The contact force identification section <NUM> is an example of the contact force calculator according to the present disclosure. The contact force identification section <NUM> may include a processing circuit such as CPU (Central Processing Unit) or GPU (Graphics Processing Unit). Further, the contact force identification section <NUM> may include a memory such as ROM (Read Only Memory) or RAM (Random Access Memory).

The contact force identification section <NUM> calculates a contact force of when the grip section <NUM> and an object come into contact with each other on the basis of a sensing result obtained by the tactile sensor <NUM> and a sensing result obtained by the force sensor <NUM>. For example, when the grip section <NUM> and the object come into contact with each other at one or more points, the contact force identification section <NUM> calculates the contact forces at the respective individual contact points on the basis of: pieces of information related to the respective individual contact points identified on the basis of the sensing result obtained by the tactile sensor <NUM>; and the sensing result obtained by the force sensor <NUM>. As will be described below, the pieces of information related to the respective individual contact points include, for example, the total number of contact points, pieces of position information of the respective individual contact points, and the contact strength ratio between individual contact points.

Referring now to <FIG>, a more detailed configuration of the contact force identification section <NUM> will be described. <FIG> is a block diagram illustrating the more detailed configuration of the contact force identification section <NUM>. As illustrated in <FIG>, the contact force identification section <NUM> may include a number-of-contact-portions calculator <NUM>, a contact position calculator <NUM>, a contact strength calculator <NUM>, and a contact force calculator <NUM>.

The number-of-contact-portions calculator <NUM> calculates the total number of contact points (contact portions) on the basis of the sensing result obtained by the tactile sensor <NUM> when it is detected that the grip section <NUM> and the object are in contact with each other at one or more points. In this case, for example, the number-of-contact-portions calculator <NUM> calculates the total number of contact points on the basis of a calculation method corresponding to a type of the tactile sensor <NUM> and the sensing result obtained by the tactile sensor <NUM>.

For example, in the case where the tactile sensor <NUM> includes the pressure distribution sensor, the number-of-contact-portions calculator <NUM> first identifies (calculates) the number of local maximum points of the pressure sensed by the tactile sensor <NUM>, or identifies individual points at which the slope of the pressure distribution approaches "<NUM>". Thereafter, the number-of-contact-portions calculator <NUM> calculates the total number of contact points on the basis of these identified results.

Alternatively, in the case where the tactile sensor <NUM> includes the vision sensor, the number-of-contact-portions calculator <NUM> first identifies, on the basis of the sensing result obtained by the tactile sensor <NUM>, a change in a deformation amount of a surface of the tactile sensor <NUM> based on the contact between the grip section <NUM> and the object. Thereafter, the number-of-contact-portions calculator <NUM> calculates the total number of contact points on the basis of the specified result.

The contact position calculator <NUM> identifies a position relationship of each of all corresponding contact points (hereinafter may be referred to as "each contact point") on the basis of the sensing result obtained by the tactile sensor <NUM>. For example, the contact position calculator <NUM> identifies the position information of each contact point (e.g., the position information of the center position of each contact point, etc.) on the basis of the sensing result obtained by the tactile sensor <NUM>. For example, for each contact point, the contact position calculator <NUM> identifies information of a relative position of the contact point on the tactile sensor <NUM> as the position information of the contact point on the basis of the sensing result obtained by the tactile sensor <NUM>. Here, the information of the relative position of each contact point may be expressed in a form of coordinates with an end point of the tactile sensor <NUM> set as the origin. However, the information of the relative position of each contact point is not limited to such an example, and may be defined as information of a relative position with reference to any other position enables a torque or a moment generated by the actuator <NUM> to be calculated.

The contact strength calculator <NUM> calculates a contact force strength ratio between corresponding contact points (e.g., regarding one contact point as a reference, a ratio of each contact strength of another contact point to a contact strength of the one contact point) on the basis of the sensing result obtained by the tactile sensor <NUM>. Advantages of such a calculation method include the following. For example, in a case where an error having a gain corresponding to a certain factor as a whole is included in a predetermined sensing result (e.g., temperature identification, etc.), it is possible to minimize an influence of the error because the gain may be cancelled out by using the contact force strength ratio between contact points.

The contact force calculator <NUM> calculates the contact force at each contact point on the basis of the total number of contact points calculated by the number-of-contact-portions calculator <NUM>, the position information of each contact point identified by the contact position calculator <NUM>, the contact force strength ratio between contact points calculated by the contact strength calculator <NUM>, and the sensing result obtained by the force sensor <NUM>. For example, on the basis of a determination result as to whether or not it is possible to identify the resultant force of the contact forces between the contact strength calculator <NUM> and the contact points (i.e., the resultant force of the contact forces at the respective contact points), the contact force calculator <NUM> calculates the contact force at each contact point using the calculation result obtained by the number-of-contact-portions calculator <NUM>, the calculation result obtained by the contact position calculator <NUM>, and the calculation result obtained by the grip section <NUM>.

For example, in a case where it is possible to identify the resultant force of the contact forces between the grip section <NUM> and the object on the basis of the sensing result obtained by the force sensor <NUM>, the contact force calculator <NUM> calculates the contact force at each contact point using the following calculation methods. It is to be noted that specific examples of such a case include a case in which the force sensor <NUM> includes a triaxial force sensor and the triaxial force sensor is disposed on the opposite side of the grip section <NUM> from the surface that grips the object.

For example, first, the contact force calculator <NUM> determines whether the total number of contact points calculated by the number-of-contact-portions calculator <NUM> is one, two, or three or more. Thereafter, in a case where the total number of contact points is one, the contact force calculator <NUM> calculates the resultant force itself sensed by the force sensor <NUM> as the contact force at the corresponding contact point.

Further, in a case where the total number of contact points is two, the contact force calculator <NUM> first calculates distances l1 and l2 from a predetermined reference position (e.g., an end point of the tactile sensor <NUM> or the like) to the respective contact points on the basis of the pieces of position information of the respective contact points identified by the contact position calculator <NUM>. Here, the contact forces at the respective contact points are respectively defined as F1 and F2, and the resultant force of the contact forces sensed by the force sensor <NUM> is defined as Fall. In this case, the contact force calculator <NUM> determines F1 and F2 from the following equations (<NUM>) and (<NUM>).

It is to be noted that Fall, F1, and F2 may have a relationship of the following equation (<NUM>). [Math <NUM>] <MAT>.

Next, a method of calculating contact forces at the respective contact points in the case where the total number of contact points is three or more will be described. Now, the total number of contact points is defined as N, the contact force at each contact point is defined as Fi (i=<NUM> to N), the contact force strength ratio between contact points calculated by the contact strength calculator <NUM> is defined as αi (i=<NUM> to N), and the resultant force of the contact forces sensed by the force sensor <NUM> is defined as Fall. In this case, the contact force calculator <NUM> calculates Fi using the following equation (<NUM>). [Math <NUM>] <MAT>.

It is to be noted that Fall and Fi may have a relationship of the following equation (<NUM>). [Math <NUM>] <MAT>.

Next, a method of calculating a contact force by the contact force calculator <NUM> in a case where it is not possible to identify the resultant force of the contact forces between the grip section <NUM> and the object and it is possible to measure the generation force of the actuator <NUM> (hereinafter, sometimes referred to as "τ") by the force sensor <NUM> will be described. It is to be noted that specific examples of such a case include a case where the force sensor <NUM> includes a torque sensor and the torque sensor is disposed in the actuator <NUM>.

In this case, the contact force calculator <NUM> calculates the contact force at each contact point using the following calculation methods, for example. First, the contact force calculator <NUM> determines whether the total number of contact points calculated by the number-of-contact-portions calculator <NUM> is one or two or more. Thereafter, in a case where the total number of contact points is one, the contact force calculator <NUM> first calculates the distance <NUM> from a predetermined reference position (e.g., the end point of the tactile sensor <NUM> or the like) to the corresponding contact point on the basis of position information of each contact point identified by the contact position calculator <NUM>. Then, the contact force calculator <NUM> calculates the contact force (F1) at the corresponding contact point by using the generation force (i.e., τ) of the actuator <NUM> sensed by the force sensor <NUM>, <NUM>, and the following equation (<NUM>). [Math <NUM>] <MAT>.

Next, a method of calculating contact forces at the respective contact points in the case where the total number of contact points is two or more will be described. Now, the total number of contact points is defined as N, the contact force at each contact point is defined as Fi (i=<NUM> to N), the contact force strength ratio between contact points calculated by the contact strength calculator <NUM> is defined as αi (i=<NUM> to N), the distance from the predetermined reference position (e.g., the end point of the tactile sensor <NUM> or the like) to each contact point is defined as li (i=<NUM> to N), and the generation force of the actuator <NUM> sensed by the force sensor <NUM> is defined as τ. In this case, the contact force calculator <NUM> calculates Fi using the following equation (<NUM>). [Math <NUM>] <MAT>.

It is to be noted that τ and Fi may have a relationship of the following equation (<NUM>). [Math <NUM>] <MAT>.

In addition, the contact force calculator <NUM> may transmit the calculated contact force at each contact point to the grip controller <NUM>.

The slip detector <NUM> may include the above-mentioned processing circuit. The slip detector <NUM> may further include the above-mentioned memory. The slip detector <NUM> detects a slip amount of the object with respect to the grip section <NUM> during the time in which the grip section <NUM> and the object are in contact with each other on the basis of the sensing result obtained by the tactile sensor <NUM>. For example, the slip detector <NUM> detects the slip amount of the object on the basis of the contact force at the individual contact point calculated by the contact force identification section <NUM> and the sensing result obtained by the tactile sensor <NUM>.

Here, in each embodiment, the "slip" may mean a relative movement (relative displacement) between a surface of the grip section <NUM> and the object, and a precursor phenomenon of occurrence of the relative movement. The precursor phenomenon is, for example, a phenomenon in which a portion of the surface of the grip section <NUM> that is in contact with object slips or peels (sometimes referred to as local slip). For example, the slip detector <NUM> may detect the slip of the object (e.g., the precursor phenomenon) on the basis of a detection result of a CoP movement, a detection result of a change in an area of a contact region, a detection result of a change in a contact position, or the like.

Further, the slip detector <NUM> may also transmit a detection result (e.g., a detection result of the slip amount, a detection result of a presence or absence of the slip, and/or a slip dependent change amount) to the grip controller <NUM>.

The grip controller <NUM> may include the above-mentioned processing circuit. The grip controller <NUM> may further include the above-mentioned memory. As illustrated in <FIG>, the grip controller <NUM> includes a grip force calculator <NUM>.

The grip controller <NUM> controls a motion of the grip section <NUM> on the basis of a target grip force (i.e., a force with which the grip section <NUM> grips the object) calculated by the grip force calculator <NUM> to be described later. For example, the grip controller <NUM> controls the driving of the actuator <NUM> to cause a present grip force of the grip section <NUM> to be brought near the target grip force calculated by the grip force calculator <NUM>.

Further, the grip controller <NUM> may perform known a feedback control on the grip section <NUM> on the basis of the sensing results sequentially obtained by the force sensor <NUM>.

The grip force calculator <NUM> calculates the target grip force of the grip section <NUM> on the basis of the contact force at the individual contact point calculated by the contact force identification section <NUM> and the slip amount of the object to be gripped detected by the slip detector <NUM>.

For example, in a case where occurrence of a slip is detected by the slip detector <NUM>, the grip force calculator <NUM> calculates, as the target grip force, a value that corresponds to the slip amount detected by the slip detector <NUM> and is greater than the present grip force of the grip section <NUM>. Further, in a case where the slip detector <NUM> detects that the slip that is occurring has stopped, the grip force calculator <NUM> calculates the target grip force of the grip section <NUM> so that the grip force of the grip section <NUM> (after the present time point) is gradually decreased.

The functional configuration of the robot <NUM> according to the first embodiment has been described above. Next, referring to <FIG>, a flow of a process according to the first embodiment will be described. <FIG> is a flow chart illustrating an example of the flow of the process according to the first embodiment. Hereinafter, an example of a flow of a process in a scene where the robot <NUM> grips a target object will be described.

As illustrated in <FIG>, first, the contact force identification section <NUM> of the robot <NUM> detects whether or not the grip section <NUM> comes into contact with the target object on the basis of the sensing result obtained by the tactile sensor <NUM> (S101). If the grip section <NUM> does not come into contact with the target object (S101: No), the contact force identification section <NUM> repeats S101, e.g., after a predetermined period of time has elapsed.

In contrast, if it is detected that the grip section <NUM> comes into contact with the target object (S <NUM>: Yes), the contact force identification section <NUM> calculates the total number of contact points between the grip section <NUM> and the object, the position information of each contact point, and the contact strength ratio between contact points, on the basis of the sensing result obtained by the tactile sensor <NUM> (S <NUM>).

Subsequently, the contact force identification section <NUM> calculates the contact force at each contact point on the basis of the calculation result obtained in S103 and the sensing result obtained by the force sensor <NUM> (e.g., the sensing result obtained in the latest S101) (S105).

Subsequently, the slip detector <NUM> detects the slip amount of the object with respect to the grip section <NUM> on the basis of the contact force at each contact point calculated in S105 and the sensing result obtained by the tactile sensor <NUM> (e.g., the sensing result obtained in the latest S <NUM>) (S107).

Subsequently, the grip force calculator <NUM> calculates the target grip force of the grip section <NUM> on the basis of the contact force at each contact point calculated in S <NUM> and the slip amount of the object detected in S107. For example, the grip force calculator <NUM> calculates a force that the actuator <NUM> should generate to cause the grip force of the grip section <NUM> to reach the target grip force, on the basis of the contact force at each contact point and the detected slip amount of the object (S109).

Thereafter, the grip controller <NUM> controls the driving of the actuator <NUM> on the basis of the target grip force (or the force that the actuator <NUM> should generate) calculated in S109 (S111).

As described above, the robot <NUM> according to the first embodiment calculates the contact force of when the grip section <NUM> and the object come into contact with each other on the basis of the sensing result obtained by the tactile sensor <NUM> disposed at the grip section <NUM> and the sensing result obtained by the force sensor <NUM> disposed at the grip section <NUM>. In this way, according to the first embodiment, the sensing result obtained by the tactile sensor <NUM> and the sensing result obtained by the force sensor <NUM> are both used; therefore, it is possible to calculate with higher accuracy the contact force of when the grip section <NUM> and the object come into contact with each other. For example, it is possible to calculate with higher accuracy the contact force at each contact point of when the grip section <NUM> and object come into contact with each other at a plurality of contact points. It is also possible to robustly change contact force calculation algorithms depending on a sensor system and a disposition of the tactile sensor <NUM>.

Further, according to the first embodiment, it is possible to calculate with high accuracy the contact force of when the grip section <NUM> and the object come into contact with each other, which makes it possible to detect with higher accuracy the slip amount of the object with respect to the grip section <NUM>. For example, it is possible to detect with higher accuracy the slip which varies depending on the magnitude of the contact force. The increase in the accuracy of detecting the slip enables the grip section <NUM> to grip the object with less force. Even in a case where a reaction force from an object to be gripped is low, e.g. a flexible object or a fragile object, the grip section <NUM> is able to safely grip the corresponding object.

In addition, since it is possible to calculate with high accuracy the contact force of when the grip section <NUM> and the object come into contact with each other, it is possible to detect more accurately a contact timing of the grip section <NUM> and the object. For example, according to the first embodiment, not only the sensing result obtained by the tactile sensor <NUM> but also the sensing result obtained by the force sensor <NUM> is used at the same time, which makes it possible to increase a contact sensitivity (e.g., a contact sensitivity of the tip (e.g., the fingertip) of the grip section <NUM>) compared to the technology of the past. This enables more accurate detection of the contact timing.

As a result, the following three effects are obtained. First, it becomes possible for the grip section <NUM> to grip the corresponding object more appropriately. Second, it becomes possible to flexibly adjust a timing at which the slip detector <NUM> starts the slip detecting process, for example. This makes it possible to reduce a processing load on the robot <NUM> in a period other than a period in which the grip section <NUM> grips the object.

Third, since it is possible to detect the contact timing more accurately, it is possible to switch a control at a more accurate timing in a scene in which the robot <NUM> switches the control at the contact timing. For example, in a scene in which a control system or a parameter (e.g., a target value of a velocity or a force) is changed at the contact timing (e.g., an opening and closing action of the grip section <NUM> is paused at the contact timing), the robot <NUM> is able to change the control system or the parameter at a more accurate timing. As a result, it becomes possible to cope with various situations more broadly and more appropriately as compared to existing techniques. For example, the robot <NUM> is able to safely grip the object without knocking down or moving the object. In addition, in a scene in which a task of gripping an object handed directly from a human or another robot is to be executed, the robot is able to set the gripping timing more appropriately, thereby being able to execute the task more appropriately.

Further, according to the first embodiment, it is also possible to more accurately calculate contact forces even at a time of multi-point contact. As a result, the following three effects are obtained. First, even if the object to be gripped has a complicated shape, it is possible to safely grip the object, without breaking the object. Second, even if the object to be gripped has a complicated shape, it is possible to appropriately detect the slip amount of the object. This enables the robot <NUM> to safely grip the object without slipping off the object. Third, even in a case where a slip occurs at one or more of all corresponding contact points, it is possible to detect the slip with high accuracy. Therefore, it is possible to grip the corresponding object more safely.

Further, according to the first embodiment, it is possible to use various types of sensors, such as a pressure distribution sensor or a vision sensor, for example, as the tactile sensor <NUM>, and a range from which a sensor system is to be selected is wide. Therefore, it is possible to select an appropriate processing method corresponding to a form of the robot <NUM> or a form of the sensor mounted on the robot <NUM>.

In addition, according to the first embodiment, even in a case where the object comes into contact with any position in an area that is sensable by the tactile sensor <NUM>, it is possible to calculate the contact force at each contact point. This may eliminate the necessity for a position adjustment when the grip section <NUM> grips the object. As a result, the following three effects are obtained. First, it becomes possible to grip the target object more quickly. Second, there is no necessity for mounting an additional sensor (e.g., a camera, etc.) on the robot <NUM> for the position adjustment. Third, it is possible to make larger an allowable range of an error due to deformation or the like of a structural member supporting the grip section <NUM>. This makes it possible to reduce a strength of the corresponding structural member, and thereby making it possible to reduce a weight of the robot <NUM> and to reduce a cost.

The first embodiment has been described above. Next, a second embodiment according to the present disclosure will be described. As will be discussed later, the second embodiment enables a user to specify an upper limit of the contact force between the grip section <NUM> and the object. It is to be noted that a physical configuration of the robot <NUM> according to the second embodiment may be the same as that of the first embodiment illustrated in <FIG>. Further, regarding each of third to ninth embodiments to be described later, a physical configuration of the robot <NUM> may be the same as that of the first embodiment. In the following description, only the contents differing from the first embodiment will be described, and the description of the same contents will be omitted.

Next, referring to <FIG>, a functional configuration of the robot <NUM> according to the second embodiment will be described. <FIG> is a block diagram illustrating an example of the functional configuration of the robot <NUM> according to the second embodiment. As illustrated in <FIG>, the robot <NUM> according to the second embodiment further includes a contact force threshold storage <NUM> compared to the first embodiment illustrated in <FIG>.

The contact force threshold storage <NUM> stores an upper limit of the contact force of when the grip section <NUM> and the object come into contact with each other, which has been specified by the user in advance (hereinafter referred to as "specified upper limit of the contact force"). The specified upper limit of the contact force may be the same value, independent of a type of the object to be gripped.

The grip force calculator <NUM> according to the second embodiment calculates the target grip force (after the present time point) of the grip section <NUM> on the basis of the specified upper limit of the contact force stored in the contact force threshold storage <NUM>. For example, the grip force calculator <NUM> calculates the upper limit of the force that the actuator <NUM> should generate, to cause the contact force at each contact point between the grip section <NUM> and the object to be less than or equal to the specified upper limit of the contact force stored in the contact force threshold storage <NUM>.

As described above, according to the second embodiment, the user is able to specify the upper limit of the contact force between the grip section <NUM> and the object. Accordingly, it is possible to control the robot <NUM> to cause the contact force not to be excessively large; therefore, the robot <NUM> is able to safely grip the object even if the object is flexible or fragile, for example. Further, it is possible to change a grip strength depending on an application installed in the robot <NUM> and a situation on the spot.

It is to be noted that it is desirable that a user interface capable of specifying the grip strength of the grip section <NUM> and the robot <NUM> be configured so as to be able to cooperate via a predetermined network (e.g., the Internet or a public network) or the like. According to such a configuration, the user is able to more easily specify a desired grip strength.

The second embodiment has been described above. Next, a third embodiment according to the present disclosure will be described. As will be described later, according to the third embodiment, it is possible to appropriately specify the upper limit of the contact force between the grip section <NUM> and the object for each type of object. In the following description, only the contents differing from the second embodiment will be described, and the description of the same contents will be omitted.

<FIG> is a block diagram illustrating an example of a functional configuration of the robot <NUM> according to the third embodiment. As illustrated in <FIG>, the robot <NUM> according to the third embodiment further includes an object recognizer <NUM> compared to the second embodiment illustrated in <FIG>.

The object recognizer <NUM> may include a sensor for object recognition (e.g., an image sensor (a camera), an infrared sensor, etc.). The object recognizer <NUM> senses each object located around the robot <NUM> (e.g., within a movable range of the grip section <NUM>) and recognizes each type of object on the basis of the sensing result.

The contact force threshold storage <NUM> according to the third embodiment stores an upper limit of the contact force between the grip section <NUM> and the object for each type of object, which is specified in advance by the user, for example.

The grip force calculator <NUM> according to the third embodiment calculates the target grip force of the grip section <NUM> (or the upper limit of the force that the actuator <NUM> should generate) on the basis of the type of the object to be gripped recognized by the object recognizer <NUM> and the upper limit of the contact force of the corresponding object stored in the contact force threshold storage <NUM>.

As described above, according to the third embodiment, it is possible to appropriately specify the upper limit of the contact force between the grip section <NUM> and the object for each type of object. Accordingly, the robot <NUM> is able to grip the object with an appropriate force corresponding to the type of the object to be gripped, and thus is able to grip the object more safely. Further, according to the third embodiment, the user does not necessarily specify the upper limit of the contact force each time, which makes it possible to reduce the number of operations.

The third embodiment has been described above. Next, a fourth embodiment according to the present disclosure will be described. As will be discussed later, according to the fourth embodiment, it is possible to appropriately specify the upper limit of the contact force between the grip section <NUM> and the object depending on previous grip experiences. In the following description, only the contents differing from the third embodiment will be described, and the description of the same contents will be omitted.

<FIG> is a block diagram illustrating an example of a functional configuration of the robot <NUM> according to the fourth embodiment. As illustrated in <FIG>, the robot <NUM> according to the fourth embodiment further includes a contact-force-upper-limit identification section <NUM> compared to the third embodiment illustrated in <FIG>.

The contact force threshold storage <NUM> according to the fourth embodiment may store, in association with each other: the type of the corresponding object recognized by the object recognizer <NUM> at a time of previous gripping, a state of the corresponding object at the time of the gripping (e.g., whether or not the object has been broken), and a grip force of the grip section <NUM> at the time of the gripping.

In addition, for each type of object, an upper limit of the contact force within a range in which the object is not broken when the grip section <NUM> comes into contact with the object may be specified in advance on the basis of those pieces of information. In this case, the contact force threshold storage <NUM> may further store the upper limit of the contact force within the range in which the object is not broken for each type of object.

The contact-force-upper-limit identification section <NUM> identifies an upper limit of the contact force within the range in which the object to be gripped is not broken on the basis of the type of the object to be gripped recognized by the object recognizer <NUM> and the information stored in the contact force threshold storage <NUM>.

The grip force calculator <NUM> according to the fourth embodiment calculates the target grip force of the grip section <NUM> (or the upper limit of the force that the actuator <NUM> should generate) on the basis of the upper limit of the contact force identified by the contact-force-upper-limit identification section <NUM> and the contact force at each contact point identified by the contact force identification section <NUM>.

As described above, according to the fourth embodiment, it is possible to appropriately specify the upper limit of the contact force between the grip section <NUM> and the object depending on the previous gripping experiences. For example, the robot <NUM> is able to set the upper limit of the contact force between the grip section <NUM> and the object to an upper limit of the contact force when the object to be gripped was successfully gripped. Therefore, the robot <NUM> is able to grip each object more reliably. The robot <NUM> may also be able to determine grippability of an object while gripping the object. For example, in a case where it is detected that the slip does not stop even if the upper limit of the contact force of the object is applied, the robot <NUM> is able to determine that it is not possible or difficult to grip the object because a frictional coefficient of the object is too small.

The fourth embodiment also eliminates the necessity for human labor to determine the upper limit of the contact force. For example, it is not necessary for the user to investigate the upper limit of the contact force or collect data, making it easier to introduce the system.

The fourth embodiment has been described above. Next, a fifth embodiment according to the present disclosure will be described. As will be described later, the fifth embodiment enables the user to easily specify an upper limit of the contact force between the grip section <NUM> and the object, or a target value of the contact force. In the following description, only the contents differing from first embodiment will be described, and the description of the same contents will be omitted.

<FIG> is a block diagram illustrating an example of a functional configuration of the robot <NUM> according to the fifth embodiment. As illustrated in <FIG>, the robot <NUM> according to the fifth embodiment further includes an input section <NUM> compared to the first embodiment illustrated in <FIG>.

The input section <NUM> may include an input device (e.g., a mouse, a keyboard, a touch panel, etc.), or may include an audio input device (e.g., a microphone, etc.). The input section <NUM> accepts various types of inputs to the robot <NUM>.

For example, prior to each time the grip section <NUM> grips an object, the input section <NUM> may accept an input of the upper limit of the contact force entered by the user. As an example, the user may enter a multiplier for a reference value of the contact force to the input section <NUM>, or may enter any of a plurality of levels of contact force that has been prepared in advance to the input section <NUM>. In these cases, the input information to the input section <NUM> is transmitted to the grip controller <NUM>, and the grip controller <NUM> may determine an actual upper limit of the contact force on the basis of the input information.

Alternatively, the input section <NUM> may accept an input of a target value of the contact force entered by the user. In this case, the grip force calculator <NUM> may calculate a force (a target value) that the actuator <NUM> should generate, such that a present contact force of the grip section <NUM> is the same as the target value of the contact force that has been entered.

As described above, according to the fifth embodiment, the user is able to easily specify the upper limit of the contact force between the grip section <NUM> and the object. For example, the user is able to specify the upper limit of the contact force each time (e.g., on a real-time basis). As a result, the robot <NUM> is able to immediately and robustly respond to on-the-fly situation changes and application changes. Further, the user is also able to intuitively enter the upper limit of the contact force.

Further, the fifth embodiment also enables the user to easily specify the target value of the contact force between the grip section <NUM> and the object. For example, the user is able to specify the target value of the contact force each time (e.g., on a real-time basis). Also, when using an application that applies a certain contact force to the object, the user is able to specify a desired contact force.

The fifth embodiment has been described above. Next, a sixth embodiment according to the present disclosure will be described. As will be described later, according to the sixth embodiment, it is possible to appropriately adjust the upper limit of the contact force depending on a state of the object at the time of being gripped. In the following description, only the contents differing from first embodiment will be described, and the description of the same contents will be omitted.

<FIG> is a block diagram illustrating an example of a functional configuration of the robot <NUM> according to the sixth embodiment. As illustrated in <FIG>, the robot <NUM> according to the sixth embodiment further includes the contact-force-upper-limit identification section <NUM> and a grip state recognizer <NUM> compared to the first embodiment illustrated in <FIG>.

The grip state recognizer <NUM> may include a sensor (e.g., an image sensor (a camera), an infrared sensor, etc.) that recognizes a grip state. The grip state recognizer <NUM> may sense the object that the grip section <NUM> is gripping, and may recognize, for example, on a real-time basis, the state of the object (e.g., whether the object has been broken, deformed, etc.), on the basis of the sensing result.

The contact-force-upper-limit identification section <NUM> according to the sixth embodiment calculates, for example, on a real-time basis, the upper limit of the contact force between the grip section <NUM> and the object on the basis of a recognition result of the state of the target object obtained by the grip state recognizer <NUM> and a present contact force between the grip section <NUM> and the object calculated by the contact force identification section <NUM>.

As described above, according to the sixth embodiment, it is possible to appropriately adjust the upper limit of the contact force depending on the state of the object while the object is being gripped. For example, even in a case where a previously unpredictable object deformation or breakage occurs, the robot <NUM> is able to respond to such an event on a real-time basis by adjusting the upper limit of the contact force on a real-time basis.

It is to be noted that the robot <NUM> according to the sixth embodiment may recognize in advance whether or not the object (or the robot <NUM> itself) being gripped by the grip section <NUM> is likely to come into contact with an external environment (e.g., a human, an obstacle, etc.). In this case, the robot <NUM> may perform an adjustment on the contact force on the basis of the recognition result as an anti-slip action for avoiding a situation where the object slips down due to the contact.

The sixth embodiment has been described above. Next, a seventh embodiment according to the present disclosure will be described. As will be described later, according to the seventh embodiment, it is possible to appropriately switch between performing and not performing a slip detection process depending on a detection result of the contact between the grip section <NUM> and the object. In the following description, only the contents differing from first embodiment will be described, and the description of the same contents will be omitted.

<FIG> is a block diagram illustrating an example of a functional configuration of the robot <NUM> according to the seventh embodiment. As illustrated in <FIG>, the robot <NUM> according to the seventh embodiment further includes a contact detector <NUM> compared to the first embodiment illustrated in <FIG>.

The contact detector <NUM> detects a presence or absence of the contact between the grip section <NUM> and the object on the basis of a calculation result obtained by the contact force identification section <NUM>. The contact detector <NUM> may also output a contact trigger to the slip detector <NUM> upon detecting a start of the contact between the grip section <NUM> and the object.

The slip detector <NUM> according to the seventh embodiment determines whether or not to perform a process of detecting the slip amount on the basis of the detection result obtained by the contact detector <NUM>. For example, the slip detector <NUM> performs the slip detection process only while the contact between the grip section <NUM> and the object is detected by the contact detector <NUM>. In other words, the slip detector <NUM> does not perform the slip detection process while the contact between the grip section <NUM> and the object is not detected by the contact detector <NUM>. For example, the slip detector <NUM> may initiate the slip detection process only upon reception of the contact trigger from the slip detector <NUM>.

As described above, according to the seventh embodiment, it is possible to appropriately switch between performing and not performing the slip detection process depending on the detection result of the contact between the grip section <NUM> and the object.

The slip detection process generally has a large processing load, because it is necessary to process values of the respective sensors within the entire area of the tactile sensor <NUM>. According to seventh embodiment, since it is possible to perform the slip detection process only while the contact between the grip section <NUM> and the object is detected, which makes it possible to reduce the processing load while the contact between the grip section <NUM> and the object is not detected. As a result, it is possible to reduce memory usage and power consumption.

The seventh embodiment has been described above. Next, an eighth embodiment according to the present disclosure will be described. As will be described later, according to the eighth embodiment, it is possible to appropriately switch a type of control to be executed or a value of a control parameter before and after the contact between the grip section <NUM> and the object. In the following description, only the contents differing from first embodiment will be described, and the description of the same contents will be omitted.

<FIG> is a block diagram illustrating an example of a functional configuration of the robot <NUM> according to the eighth embodiment. As illustrated in <FIG>, the robot <NUM> according to the eighth embodiment further includes the contact detector <NUM> and a body controller <NUM> compared to the first embodiment illustrated in <FIG>.

The contact detector <NUM> according to the eighth embodiment may output the contact trigger to the grip controller <NUM> and to the body controller <NUM> upon detecting the start of the contact between the grip section <NUM> and the object.

The body controller <NUM> controls an action of a body part (e.g., one or more joints included in a part other than the grip section <NUM>, etc.) of the robot <NUM> on the basis of the detection result obtained by the contact detector <NUM>. For example, the body controller <NUM> switches, depending on whether the contact between the grip section <NUM> and the object has been detected by the contact detector <NUM>, both or one of: the type of control to be performed on the body part of the robot <NUM>; and the control parameter related to the body part of the robot <NUM>. Here, such a type of control may include, for example, a position control, a force control, or the like. Further, such a control parameter may include, for example, a mechanical impedance, a control gain, a position, a force, a speed, a torque, or another command value. In addition, the control parameter may further include an upper limit or a lower limit of these parameters.

For example, the body controller <NUM> only performs the position control on the body part of the robot <NUM> until the contact between the grip section <NUM> and the object is detected by the contact detector <NUM>. After the contact between the grip section <NUM> and the object is detected by the contact detector <NUM>, the body controller <NUM> may switch the type of control to perform the force control instead of the position control on the body part of the robot <NUM>.

Alternatively, the body controller <NUM> does not change the value of the control parameter related to the body part of the robot <NUM> until the contact between the grip section <NUM> and the object is detected by the contact detector <NUM>. After the contact between the grip section <NUM> and the object is detected by the contact detector <NUM>, the body controller <NUM> may switch the value of the control parameter related to the body part of the robot <NUM>, for example, depending on the detection result. For example, when the contact between the grip section <NUM> and the object is detected, the body controller <NUM> may reduce the control gain with respect to the body part of the robot <NUM> such that the body part of the robot <NUM> moves while sudden changes are suppressed. Alternatively, when the touch is detected, the body controller <NUM> may change a mechanical impedance set value of the body part of the robot <NUM> such that a motion of the body part of the robot <NUM> becomes more flexible.

Alternatively, the body controller <NUM> may not necessarily change the type of control on the body part of the robot <NUM> and maintain the type of control of the force control, and may change a mechanical impedance setting of the body part of the robot <NUM> (an example of the control parameter) in the timing of contact between the grip section <NUM> and the object.

The grip controller <NUM> according to the eighth embodiment controls an action of the grip section <NUM> on the basis of the detection result obtained by the contact detector <NUM>. For example, the grip controller <NUM> switches, depending on whether the contact between the grip section <NUM> and the object has been detected by the contact detector <NUM>, both or one of: the type of control to be performed on the grip section <NUM>; and a control parameter related to the grip section <NUM>. Specific contents of the type of control and the control parameter may be similar to the contents described above (in relation to the body controller <NUM>).

For example, the grip controller <NUM> only performs the position control on the grip section <NUM> until the contact between the grip section <NUM> and the object is detected by the contact detector <NUM>. After the contact between the grip section <NUM> and the object is detected by the contact detector <NUM>, the grip controller <NUM> may switch the type of control to perform the force control instead of the position control on the grip section <NUM>.

As described above, according to the eighth embodiment, it is possible to appropriately switch the type of control to be executed or the value of the control parameter before and after the contact between the grip section <NUM> and the object.

The eighth embodiment has been described above. Next, a ninth embodiment according to the present disclosure will be described. As will be described later, according to the ninth embodiment, it is possible to detect the slip amount of the object with respect to the grip section <NUM> using not only the sensing result obtained by the tactile sensor <NUM> but also the sensing result obtained by the force sensor <NUM> simultaneously. In the following description, only the contents differing from first embodiment will be described, and the description of the same contents will be omitted.

<FIG> is a block diagram illustrating an example of a functional configuration of the robot <NUM> according to the ninth embodiment. As illustrated in <FIG>, the ninth embodiment only differs from the first embodiment illustrated in <FIG> in that the force sensor <NUM> is coupled to the slip detector <NUM>.

The slip detector <NUM> according to the ninth embodiment detects the slip amount of the object while the grip section <NUM> and the object are in contact with each other, on the basis of the contact force at the individual contact point calculated by the contact force identification section <NUM>, the sensing result obtained by the tactile sensor <NUM>, and the sensing result obtained by the force sensor <NUM>.

Preferred embodiments of the present disclosure have been described above in detail with reference to the accompanying drawings, but the scope of the present disclosure is defined by the appended claims. It is apparent that a person having ordinary skill in the art of the present disclosure can arrive at various alterations and modifications within the scope of the appended claims.

For example, the body controller <NUM> according to the eighth embodiment is not limited to the example of being included in the robot <NUM> according to the eighth embodiment. The robot <NUM> according to any other embodiment may also include the body controller <NUM>.

As another modification example, in the embodiments described above, an example in which the contact section according to the present disclosure serves as the grip section <NUM> has been described, but the present disclosure is not limited to such an example. For example, the contact section is not necessarily limited to an example having a configuration that makes it possible to grip an object, and may have a structure that makes it possible to come into contact with an object. An example is given in which the robot <NUM> may be able to press or pull the contact section against the object. For example, the contact section may be a surface of any part (e.g., a torso part, an arm part, or a leg part) included in the robot <NUM>.

As another modification example, in the embodiments described above, an example in which the control device according to the present disclosure is the robot <NUM> has been described, but the present disclosure is not limited to such an example, and the control device may be a device other than the robot <NUM>. For example, the control device may be a server, a general-purpose PC (Personal Computer), a tablet terminal, a game machine, a mobile phone such as a smart phone, a wearable device such as an HMD (Head Mounted Display) or a smart watch, an in-vehicle device (such as a car navigation device), or another robot (such as a humanoid robot or a drone) or the like.

In this case, the control device may control the action of the robot <NUM> via the predetermined network described above. For example, the control device may first receive the sensing result obtained by the tactile sensor <NUM> and the sensing result obtained by the force sensor <NUM> from the robot <NUM>, and calculate, on the basis of these sensing results, the contact force at each contact point of when the grip section <NUM> and the object are in contact with each other.

Further, the steps included in the process described above does not necessarily have to be processed in the stated order. For example, the steps may be processed in different order as appropriate. Also, the steps may be processed partially in parallel or individually instead of being processed in time series. Further, some of the steps described may be omitted or other steps may be added.

Further, it is also possible to create a computer program for causing hardware such as the CPU, the ROM, and the RAM to exhibit substantially the same functions as those of respective components (e.g., the contact force identification section <NUM>, the slip detector <NUM>, the grip controller <NUM>, etc.) of the robot <NUM> described above. Further, there is also provided a storage medium having the computer program stored therein.

Claim 1:
A control device comprising
a grip controller (<NUM>) that controls a grip force related to a grip section (<NUM>) depending on one or more contact forces at a respective one or more individual contact points of when the grip section and an object (<NUM>) come into contact with each other, the one or more contact forces at the respective one or more individual contact points being calculated based on a sensing result obtained by a force sensor (<NUM>) disposed at the grip section (<NUM>) and information related to the one or more individual contact points of when the grip section (<NUM>) and the object (<NUM>) come into contact with each other, the information related to the one or more individual contact points being identified based on a sensing result obtained by a tactile sensor (<NUM>) disposed at the grip section (<NUM>) and including
a total number of the one or more individual contact points, and
information indicating a position relationship of the one or more individual contact points.