Patent Description:
Nowadays, endoscopic surgery using a surgical assist robot is becoming common. In the endoscopic surgery, a laparoscope, an endoscope, or forceps and others (hereinafter, also described as "surgical tools") attached to the surgical assist robot are used. It is proposed that these surgical assist robots be configured such that movements of the surgical tools are controlled based on a coordinate system that is set in the surgical assist robots (see Patent Document <NUM>, for example).

Patent Document <NUM> mentioned above discloses a technique for aligning a leading end of a surgical tool on a model of an internal organ of a subject's body. Specifically, a technique is proposed in which conversion formula converting actual coordinates of the leading end of the surgical tool into corresponding model coordinates is updated to a new conversion formula when the leading end of the surgical tool comes in contact with an inside wall of the internal organ.

However, the technique disclosed in Patent Document <NUM> may result in a decrease in alignment accuracy between a fixed point (hereinafter, also described as a "pivot position") of the surgical assist robot and an opening through which the surgical tool is inserted into the subject's body. In other words, this technique may result in the decrease in alignment accuracy between the pivot position of the surgical tool held by the surgical assist robot and an opening in a trocar, which is arranged on the subject's body as well as through which the surgical tool is inserted.

That is, the technique disclosed in Patent Document <NUM> enables estimation of a fixed position, namely a position of the leading end of the surgical tool; however, the pivot position of the surgical tool cannot be estimated. Further, the pivot position determined relatively with respect to the position of the end position of the surgical tool varies depending on a position or orientation of the surgical assist robot, the subject's body, or the surgical tool, for example. This also makes it difficult to estimate the pivot position based on the leading end position. Thus, the alignment accuracy between the pivot position of the endoscope and the opening in the trocar arranged on the subject's body may be decreased.

Patent Document <NUM> discloses a system and method for an integrated surgical table includes a medical device including an articulated arm having one or more first and second joints and a control unit. The articulated arm has at least a cannula, an endoscope, or an instrument mounted distal to the first and second joints, which is inserted into a patient at a body opening. The control unit unlocks the first joints, receives a surgical table movement request, determines whether the surgical table movement request should be granted, allows the surgical table to perform the requested movement based on the determining, uses the first joints to allow the articulated arm to track movement of the body opening based on forces applied by a body wall at the body opening, and compensates for changes in a pose of the cannula, endoscope, or instrument due to the tracked movement by performing compensating motions in the second joints.

Patent Document <NUM> discloses a robotic surgical system that employs a surgical instrument, a robot for navigating the surgical instrument relative to an anatomical region within a coordinate system of the robot, and a robot controller for defining a remote center of motion for a spherical rotation of the surgical instrument within the coordinate system of the robot based on a physical location within the coordinate system of the robot of a port into the anatomical region. The definition of the remote center of rotation is used by the robot controller to command the robot to align the remote center of motion of the surgical instrument with the port into the anatomical region for spherically rotating the surgical instrument relative to the port into the anatomical region.

Patent Document <NUM> discloses telerobotic, telesurgical, and/or surgical robotic devices, systems, and methods employ surgical robotic linkages that may have more degrees of freedom than an associated surgical end effector in space. A processor can calculate a tool motion that includes pivoting of the tool about an aperture site. Linkages movable along a range of configurations for a given end effector position may be driven toward configurations which inhibit collisions. Refined robotic linkages and method for their use are also provided.

Non-Patent Document <NUM> describes the control and evaluation of a <NUM>-axis surgical robot for laparoscopy.

Non-Patent Document <NUM> describes leveraging the fulcrum point in robotic minimally invasive surgery.

In one aspect of the present disclosure, it is desired that a pivot position of a surgical tool held by a surgical assist robot can be estimated.

An estimation device of the present disclosure is as defined by claim <NUM>.

A non-surgical computer implemented estimation method of the present disclosure is as defined by claim <NUM>.

A program of the present disclosure is as defined by claim <NUM>.

In these configurations, a calculation is made for the inner product of the component of the vector of the movement of the first position of the surgical tool (first perpendicular vector), the component being perpendicular to the direction of the axis of the surgical tool, and the component of the vector of the movement of the second position (second perpendicular vector) perpendicular to the direction of the axis. Then, the first distance is updated on the basis of the inner product. This enables estimation of the pivot position of the surgical tool.

It is to be noted that the second position may be located in a rear end portion of the surgical tool.

The aforementioned configuration makes it easier to estimate the pivot position of the surgical tool.

Further, the vector information may comprise a rotation angle of the at least one joint measured by an angle sensor, and the vector calculator may calculate the direction of the axis of the surgical tool based on the rotation angle obtained from the angle sensor.

The aforementioned configuration makes it easier to obtain the vector information.

Further, the first information and the second information may comprise a rotation angle of the at least one joint measured after a specified time interval, and the vector calculator may calculate the first perpendicular vector and the second perpendicular vector based on the rotation angle of the at least one joint measured after the specified time interval.

The aforementioned configuration makes it easier to obtain the first information and the second information.

Further, the obtainer obtains the vector information, the first information, and the second information at specified sampling intervals, the vector calculator calculates the first perpendicular vector and the second perpendicular vector at the specified sampling intervals, the inner product calculator calculates a value of the inner product at the specified sampling intervals, and the updater updates the first distance at the specified sampling intervals.

Due to the aforementioned configuration, estimation accuracy of the pivot position of the surgical tool is increased. Further, if the pivot position of the surgical tool is moved due to some cause and the estimation accuracy of the pivot position is impaired, the first distance is repeatedly updated at the sampling intervals, thereby allowing a re-increase in the estimation accuracy of the pivot position of the surgical tool.

The aforementioned estimation device, non-surgical computer implemented estimation method, and program estimates the pivot position by updating the first distance based on the inner product of the first perpendicular vector and the second perpendicular vector. This allows estimation of the pivot position of the surgical tool held by the surgical assist robot.

estimation device, <NUM>. obtainer, <NUM>. storage section, <NUM>. vector calculator, <NUM>. inner product calculator, <NUM>. updater, <NUM>. arm device (arm), <NUM>. rotating portion (joint), <NUM>. rotation sensor (angle sensor), 55p, 56p. pins (joints), <NUM>. first link sensor (angle sensor), <NUM>. second link sensor (angle sensor), <NUM>. first joint portion (joint), <NUM>. second joint portion (joint), <NUM>. third joint portion (joint), <NUM>. first joint sensor (angle sensor), <NUM>. second joint sensor (angle sensor), <NUM>. third joint sensor (angle sensor), <NUM>. surgical tool, Pp. pivot position, Pp'. provisional pivot position, ΔPp'. first movement vector, ΔPr. second movement vector, ΔPp⊥'. first perpendicular vector, ΔPr⊥. second perpendicular vector, d'. first distance.

An estimation device <NUM> according to one embodiment of the present disclosure will be described below with reference to <FIG>. In the present embodiment, as one example, the estimation device <NUM> is used for an arm device (arm) <NUM> in a surgical assist robot or the like used in endoscopic surgery, as shown in <FIG>.

The arm device <NUM> supports a surgical tool <NUM> such that a position and orientation of the surgical tool <NUM> can be changed. The arm device <NUM> is controlled such that the surgical tool <NUM> passes through a pivot position Pp, which is a specified relative position with respect to the arm device <NUM>, if the position and/or orientation of the surgical tool <NUM> is changed. The pivot position Pp substantially matches an arrangement position of a trocar <NUM> arranged at an abdominal wall <NUM> of a patient undergoing endoscopic surgery.

The surgical tool <NUM> may be various instruments, such as an endoscope or forceps, for use in endoscopic surgery. In the present embodiment, an endoscope is employed as one example of the surgical tool <NUM>.

The surgical tool <NUM>, namely the endoscope, mainly comprises a main body <NUM> and a tubular portion <NUM>. The main body <NUM> is held by the arm device <NUM> and accommodates an imaging device converting an image, which is introduced through the tubular portion <NUM>, into an electronic signal.

The tubular portion <NUM> has a tube or rod shape, and is inserted through the trocar <NUM>, thus penetrating the abdominal wall <NUM> of the patient. Further, the tubular portion <NUM> is configured such that the image can be transmitted from its leading end to the main body <NUM>.

As shown in <FIG>, the arm device <NUM> mainly comprises a rotating portion (joint) <NUM>, a first link portion <NUM>, a second link portion <NUM>, a gimbal portion <NUM>, and a holder <NUM>. The rotating portion <NUM>, the first link portion <NUM>, and the second link portion <NUM> are driven and controlled on the basis of a control signal input from a controller or the like (not shown) of the arm device <NUM>.

The rotating portion <NUM> is a joint arranged in a part of the arm device <NUM> to be fixed to a base <NUM>. The rotating portion <NUM> is configured to be capable of being driven and rotated around a rotation axis extending in an up-down direction, and is not limited to a specific configuration. The rotating portion <NUM> is provided with a rotation sensor (angle sensor) <NUM> detecting a rotation angle of the rotating portion <NUM>.

The first link portion <NUM> is arranged between the rotating portion <NUM> and the second link portion <NUM>, and is driven by an actuator (not shown). The first link portion <NUM> includes two pairs of bars 55b, each pair having the bars 55b in parallel, so as to be shaped like a rectangle with these bars 55b. The bar 55b and the bar 55b are coupled at an intersection thereof by a pin (joint) 55p allowing rotation of one degree of freedom.

Further, the first link portion <NUM> is provided with a first link sensor (angle sensor) <NUM> detecting a rotation angle of the specified pin 55p. In the present embodiment, as one example, the first link portion <NUM> extends in the up-down direction.

The second link portion <NUM> is arranged between the first link portion <NUM> and the gimbal portion <NUM>, and is driven by an actuator (not shown). Similar to the first link portion <NUM>, the second link portion <NUM> includes two pairs of bars 56b, each pair having the bars 56b in parallel, so as to be shaped like a rectangle with these bars 56b. The adjacent two bars 56b are coupled to each other by a pin (joint) 56p allowing rotation of one degree of freedom.

Further, the second link portion <NUM> is provided with a second link sensor (angle sensor) <NUM> detecting a rotation angle of the specified pin 56p. In the present embodiment, as one example, the second link portion <NUM> extends in a lateral direction (a direction along a plane intersecting the up-down direction).

The gimbal portion <NUM> is arranged between the second link portion <NUM> and the holder <NUM>. The gimbal portion <NUM> comprises a first joint portion (joint) <NUM>, a second joint portion (joint) <NUM>, and a third joint portion (joint) <NUM>, whose rotation axes intersect with each other. The gimbal portion <NUM> further comprises a first joint sensor (angle sensor) <NUM> detecting a rotation angle of the first joint portion <NUM>, a second joint sensor (angle sensor) <NUM> detecting a rotation angle of the second joint portion <NUM>, and a third joint sensor (angle sensor) <NUM> detecting a rotation angle of the third joint portion <NUM>.

The first joint portion <NUM> is arranged adjacent to the second link portion <NUM>. The first joint portion <NUM> is arranged such that the rotation axis thereof extends obliquely upward from a horizontal plane. More preferably, for example, the first joint portion <NUM> may be arranged such that the rotation axis thereof extends obliquely upward at an angle of <NUM> degrees with respect to the horizontal plane.

The second joint portion <NUM> is arranged between the first joint portion <NUM> and the third joint portion <NUM>. The third joint portion <NUM> is arranged adjacent to the holder <NUM>. The first to third joint portions <NUM> to <NUM> are not limited to specific configurations as long as they can rotate about the rotating axes thereof.

The holder <NUM> is arranged at a position adjacent to the gimbal portion <NUM>, namely, at a front end of the arm device <NUM>. The holder <NUM> is not limited to a specific configuration as long as it can hold the surgical tool <NUM>.

The estimation device <NUM> estimates the pivot position Pp of the surgical tool <NUM> held by the arm device <NUM>. The pivot position Pp is output to, for example, the controller or the like controlling the arm device <NUM>. Further, the pivot position Pp may be expressed as a position in a coordinate system used in the arm device <NUM>.

The estimation device <NUM> is, as shown in <FIG> and <FIG>, an information processing device, such as a computer comprising a central processing unit (CPU) 10a, a ROM 10b, a RAM 10c, an input/output interface, and so forth. The CPU 10a executes a program stored in the ROM 10b or a program loaded into the RAM 10c. Upon execution of the program, functions as at least an obtainer <NUM>, a storage section <NUM>, a vector calculator <NUM>, an inner product calculator <NUM>, and an updater <NUM> are exerted. Further, in response to the execution of the program, a method corresponding to the program is performed. In this example, the ROM 10b or the RAM 10c corresponds to a non-transitory tangible storage medium storing the program. It is to be noted that the estimation device <NUM> may comprise an electronic circuit not having a CPU (for example, an integrated circuit such as an ASIC), and all or part of the functions of the estimation device <NUM> may be performed using the electronic circuit.

The obtainer <NUM> acquires the rotation angles output from the rotation sensor <NUM>, the first link sensor <NUM>, the second link sensor <NUM>, the first joint sensor <NUM>, the second joint sensor <NUM>, and the third joint sensor <NUM>.

The obtainer <NUM> calculates vector information, which is information on a vector n representing an orientation of the holder <NUM> of the arm device <NUM> or an orientation of the surgical tool <NUM>, on the basis of the obtained rotation angles. Further, the obtainer <NUM> also calculates information on a first movement vector ΔPp' (hereinafter, first information), and information on a second movement vector ΔPr (hereinafter, second information) in a similar manner. The first movement vector ΔPp' represents a movement of a provisional pivot position (i.e., a first position) Pp' of the surgical tool <NUM>, which will be described below. In other words, the first movement vector ΔPp' represents a movement of a part of the surgical tool <NUM> where the first position is located. The second movement vector ΔPr represents a movement of a rear end portion (i.e., a second position) Pr, which is an end of the surgical tool <NUM> on the holder <NUM> side. In other words, the second movement vector ΔPr represents a movement of a part of the surgical tool <NUM> where the second position is located.

In the present embodiment, as one example, the second movement vector ΔPr represents the movement of the rear end portion Pr of the surgical tool <NUM>. However, not limited to this, the second position may be a position other than the rear end portion and different from the provisional pivot position Pp', in the surgical tool <NUM>, and the second movement vector ΔPr may represent a movement of this second position.

The storage section <NUM> is configured as, for example, the RAM 10c, and stores a value of a first distance d' determined in advance. For purpose of estimation of the pivot position Pp relative to the arm device <NUM>, the first distance d' is used together with the front end position of the arm device <NUM> and the vector n representing the orientation of the surgical tool <NUM>.

Specifically, the first distance d' represents a distance from the font end position of the arm device <NUM> to the provisional pivot position Pp'. In the present embodiment, as one example, the front end position of the arm device <NUM> is a reference point on the rear end side of the surgical tool <NUM> held by the arm device <NUM>, or more particularly, the rear end portion Pr of the main body <NUM>. That is, a length from the rear end portion Pr of the surgical tool <NUM> to the provisional pivot position Pp' is the first distance d'.

Here, the provisional pivot position Pp' is a position determined in advance, and is used when the actual pivot position Pp is estimated. Thus, the actual pivot position Pp and the provisional pivot position Pp' may be identical to or different from each other. It is preferable that the provisional pivot position Pp' is set on the surgical tool <NUM>, but may be set outside the surgical tool <NUM>.

When the first distance d' is calculated, instead of the front end position of the arm device <NUM>, a reference point on the front end side of the surgical tool <NUM>, or more particularly, for example, a front end portion of the surgical tool <NUM> may be used. In this case, the first distance d' is a length from the front end portion of the surgical tool <NUM> to the provisional pivot position Pp'.

The vector calculator <NUM> calculates a direction of an axis L of the surgical tool <NUM>, as well as a first perpendicular vector ΔPp⊥' and a second perpendicular vector ΔPr⊥. Here, the direction of the axis L of the surgical tool <NUM> is calculated on the basis of the vector information. The first perpendicular vector ΔPp⊥' and the second perpendicular vector ΔPr⊥ are components of the first movement vector ΔPp' and the second movement vector ΔPr, respectively, and the components are perpendicular to the direction of the axis L.

The inner product calculator <NUM> calculates an inner product of the first perpendicular vector ΔPp⊥' and the second perpendicular vector ΔPr⊥.

The updater <NUM> calculates a new first distance d' by adding a value of the inner product multiplied by a specified coefficient k to the first distance d' stored in the storage section <NUM>. Further, the updater <NUM> updates a value of the first distance d' stored in the storage section <NUM> to a value of the new first distance d' obtained by this calculation.

Next, a calculation processing for estimating the pivot position Pp by the estimation device <NUM> will be described. Firstly, a formula expressing the pivot position Pp is explained with reference to <FIG>. The pivot position Pp is expressed by the following formula (<NUM>), using the rear end portion Pr (the front end position of the arm device <NUM>), the vector n, and a distance d.

Next, the calculation processing for estimating the pivot position Pp is explained. Upon starting the calculation processing for estimating the pivot position Pp shown in <FIG>, the estimation device <NUM> performs the calculation processing repeatedly based on a sampling interval determined in advance. The calculation processing is continued at least until an operation of the arm device <NUM> is complete.

In the calculation processing, firstly, the obtainer <NUM> obtains the vector information on the vector n representing the orientation of the holder <NUM> of the arm device <NUM> holding the surgical tool <NUM> or the orientation of the surgical tool <NUM> (S11). Specifically, the obtainer <NUM> acquires the rotation angles output from the rotation sensor <NUM>, the first and second link sensors <NUM> and <NUM>, and the first to third joint sensors <NUM> to <NUM> (hereinafter, also described as "the rotation sensor <NUM> and other sensors"). Then, the obtainer <NUM> calculates the vector information on the vector n on the basis of the obtained rotation angles.

Next, the obtainer <NUM> obtains the above-described first information on the first movement vector ΔPp' and the above-described second information on the second movement vector ΔPr (S12). Specifically, the obtainer <NUM> calculates the first and second informations on the basis of the most recently obtained rotation angles output from the rotation sensor <NUM> and other sensors, and on the basis of the previously obtained rotation angles (for example, at any of the sampling intervals prior to the most recent sampling interval), output from the rotation sensor <NUM> and other sensors.

Then, the vector calculator <NUM> calculates the first perpendicular vector ΔPp⊥' and the second perpendicular vector ΔPr⊥ (S13). Specifically, the vector calculator <NUM> firstly calculates the direction of the axis L of the surgical tool <NUM> on the basis of the vector information on the vector n. Subsequently, the vector calculator <NUM> calculates the first perpendicular vector ΔPp⊥' and the second perpendicular vector ΔPr⊥, on the basis of the first and second informations and the direction of the axis L of the surgical tool <NUM> (see <FIG>).

After the first perpendicular vector ΔPp⊥' and the second perpendicular vector ΔPr⊥ are calculated, the inner product calculator <NUM> calculates an inner product value Δd' of the first perpendicular vector ΔPp⊥' and the second perpendicular vector ΔPr⊥ (S14).

For example, as shown in <FIG>, if the first distance d' is greater than a second distance d from the front end position of the arm device <NUM> to the pivot position Pp, the provisional pivot position Pp' is located closer to a front end of the surgical tool <NUM> than the pivot position Pp. In this case, a direction of the first perpendicular vector ΔPp⊥' is opposite to a direction of the second perpendicular vector ΔPr⊥. Accordingly, the inner product value Δd' of the first and second perpendicular vectors is negative.

On the other hand, as shown in <FIG>, if the first distance d' is smaller than the second distance d, the provisional pivot position Pp' is located closer to the rear end portion Pr than the pivot position Pp. In this case, the direction of the first perpendicular vector ΔPp⊥' is the same as that of the second perpendicular vector ΔPr⊥. Accordingly, the inner product value Δd' of the first and second perpendicular vectors is positive.

After the inner product value Δd' is calculated, the updater <NUM> modifies and updates the first distance d' (S15). Specifically, the updater <NUM> adds the inner product value Δd' multiplied by the specified coefficient k (where k is a positive value) to the first distance d' stored in the storage section <NUM>. Further, the updater <NUM> updates the stored value of the first distance d' to the value obtained by the above mentioned addition.

For example, in the case shown in <FIG>, the first distance d' is made smaller by the aforementioned update, thus approaching the second distance d. On the other hand, in the case shown in <FIG>, the first distance d' is made greater by the aforementioned update, thus approaching the second distance d.

The aforementioned coefficient k may be set to a desired value. For example, if the coefficient k is greater, the first distance d' can be made closer to the second distance d more quickly. However, it may become difficult for the first distance d' to converge to the second distance d. Further, if the coefficient k is smaller, the first distance d' slowly approaches the second distance d, and it becomes easier for the first distance d' to converge to the second distance d.

It is to be noted that, if the first distance d' represents a distance from the front end portion of the surgical tool <NUM> to the provisional pivot position Pp' as shown in <FIG>, the inner product value Δd' used for updating the first distance d' in S15 is reversed in positive and negative. If the first distance d' is greater than the second distance d, the inner product value Δd' is positive. If the first distance d' is smaller than the second distance d, the inner product value Δd' is negative. Thus, it is preferable that the coefficient k is a negative value.

The estimation device <NUM> mentioned above enables the following things. The first perpendicular vector ΔPp⊥' at the provisional pivot position (first position) Pp' and the second perpendicular vector ΔPr⊥ at the second position different from the provisional pivot position Pp' are calculated, and the first distance d' is updated on the basis of the inner product of the first and second perpendicular vectors. This enables estimation of the pivot position Pp of the surgical tool <NUM>.

The rear end portion Pr of the surgical tool <NUM> is determined as the second position. This makes it easier to estimate the pivot position Pp of the surgical tool <NUM>.

The rotation angles of the joints of the arm device <NUM> measured by the rotation sensor <NUM> and other sensors are used as the vector information. This makes it easier to obtain the vector information.

The rotation angles measured by the rotation sensor <NUM> and other sensors at least after a specified time interval are used as the first information on the first movement vector ΔPp' and as the second information on the second movement vector ΔPr. This makes it easier to obtain the first information and the second information.

The first distance d' is repeatedly updated at the specified sampling intervals. This allows an increase in estimation accuracy of the pivot position Pp of the surgical tool <NUM>. Also, if the pivot position Pp of the surgical tool <NUM> is moved due to some cause and the estimation accuracy is impaired, the first distance d' is repeatedly updated at the sampling intervals, thereby allowing a re-increase in the estimation accuracy of the pivot position Pp.

Various modifications may be made to the aforementioned embodiments. For example, in the above-described embodiments, the estimation device <NUM> is described using an example where the estimation device <NUM> is disposed separately from the arm device <NUM> and its controller, but the estimation device <NUM> may be configured so as to be built in the arm device <NUM> and its controller.

Further, the present disclosure may be implemented in various forms including not only the above-described estimation device <NUM>, but also a system including the estimation device <NUM> as a constituent element, a program for allowing a computer to function as the estimation device <NUM>, a non-transitory tangible storage medium, such as a semiconductor memory, storing this program, or a non-surgical computer implemented method corresponding to the processing executed by the estimation device.

Claim 1:
An estimation device (<NUM>) configured to estimate a pivot position (PP) of a surgical tool (<NUM>), a rear end side of which being held by a holder (<NUM>) of an arm (<NUM>), the arm including at least one joint, the estimation device comprising:
a storage section (<NUM>) configured to store a first distance (d'), the first distance being:
a length from a reference point on the rear end side of the surgical tool to a first position (Pp'), which is a provisional pivot position (Pp'), or
a length from a reference point on a front end side of the surgical tool to the first position, the front end side being opposite to the rear end side;
an obtainer (<NUM>) configured to obtain:
vector information, which is information on an orientation of the holder of the arm or on an orientation of the surgical tool,
first information on a movement of the first position of the surgical tool, and
second information on a movement of a second position (Pr) of the surgical tool, the second positon being different from the first position;
a vector calculator (<NUM>) configured to calculate a direction of an axis of the surgical tool based on the vector information, and to individually calculate, based on the first information, the second information, and the direction of the axis of the surgical tool, a first perpendicular vector (ΔPp⊥'), which is a component of a vector of the movement of the first position, the component being perpendicular to the direction of the axis; and a second perpendicular vector (ΔPr⊥), which is a component of a vector of the movement of the second position, the component being perpendicular to the direction of the axis;
an inner product calculator (<NUM>) configured to calculate an inner product of the first perpendicular vector and the second perpendicular vector; and
an updater (<NUM>) configured to update the first distance by adding a value of the inner product multiplied by a specified coefficient to the first distance stored in the storage section.