U.S. patent application number 16/615908 was filed with the patent office on 2020-04-30 for medical support arm system, medical support arm control method, and medical support arm control device.
The applicant listed for this patent is SONY CORPORATION. Invention is credited to YOHEI KURODA, YASUHIRO MATSUDA, ATSUSHI MIYAMOTO, KENICHIRO NAGASAKA, FUMIYASU SUZUKI.
Application Number | 20200129265 16/615908 |
Document ID | / |
Family ID | 64454736 |
Filed Date | 2020-04-30 |
![](/patent/app/20200129265/US20200129265A1-20200430-D00000.png)
![](/patent/app/20200129265/US20200129265A1-20200430-D00001.png)
![](/patent/app/20200129265/US20200129265A1-20200430-D00002.png)
![](/patent/app/20200129265/US20200129265A1-20200430-D00003.png)
![](/patent/app/20200129265/US20200129265A1-20200430-D00004.png)
![](/patent/app/20200129265/US20200129265A1-20200430-D00005.png)
![](/patent/app/20200129265/US20200129265A1-20200430-D00006.png)
![](/patent/app/20200129265/US20200129265A1-20200430-D00007.png)
![](/patent/app/20200129265/US20200129265A1-20200430-D00008.png)
![](/patent/app/20200129265/US20200129265A1-20200430-D00009.png)
![](/patent/app/20200129265/US20200129265A1-20200430-D00010.png)
View All Diagrams
United States Patent
Application |
20200129265 |
Kind Code |
A1 |
MATSUDA; YASUHIRO ; et
al. |
April 30, 2020 |
MEDICAL SUPPORT ARM SYSTEM, MEDICAL SUPPORT ARM CONTROL METHOD, AND
MEDICAL SUPPORT ARM CONTROL DEVICE
Abstract
To realize torque control based on an estimated external force
and to cope with more various situations. Provided is a medical
support arm system including: a support arm that is a multilink
structure having a plurality of links connected by a joint unit
including an actuator, and configured to support a medical unit;
and a control device including an external force estimation unit
configured to estimate an external force acting on the joint unit
on the basis of a drive characteristic of the actuator, and a joint
control unit configured to control drive of the joint unit on the
basis of an external torque estimated by the external force
estimation unit.
Inventors: |
MATSUDA; YASUHIRO; (TOKYO,
JP) ; SUZUKI; FUMIYASU; (SAITAMA, JP) ;
MIYAMOTO; ATSUSHI; (KANAGAWA, JP) ; KURODA;
YOHEI; (TOKYO, JP) ; NAGASAKA; KENICHIRO;
(TOKYO, JP) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
SONY CORPORATION |
TOKYO |
|
JP |
|
|
Family ID: |
64454736 |
Appl. No.: |
16/615908 |
Filed: |
April 12, 2018 |
PCT Filed: |
April 12, 2018 |
PCT NO: |
PCT/JP2018/015393 |
371 Date: |
November 22, 2019 |
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
B25J 9/1689 20130101;
A61B 34/30 20160201; A61B 90/25 20160201; A61B 2034/2059 20160201;
A61B 34/25 20160201; B25J 9/1633 20130101; A61B 2017/00402
20130101; A61B 90/50 20160201; B25J 9/12 20130101; B25J 13/085
20130101; A61B 2090/371 20160201; A61B 2017/00398 20130101 |
International
Class: |
A61B 90/50 20060101
A61B090/50; B25J 9/16 20060101 B25J009/16; B25J 9/12 20060101
B25J009/12 |
Foreign Application Data
Date |
Code |
Application Number |
May 31, 2017 |
JP |
2017-107681 |
Claims
1. A medical support arm system comprising: a support arm that is a
multilink structure having a plurality of links connected by a
joint unit including an actuator, and configured to support a
medical unit; and a control device including an external force
estimation unit configured to estimate an external force acting on
the joint unit on a basis of a drive characteristic of the
actuator, and a joint control unit configured to control drive of
the joint unit on a basis of an external torque estimated by the
external force estimation unit.
2. The medical support arm system according to claim 1, wherein the
external force estimation unit calculates a motion estimation
torque related to the drive of the joint unit, and estimates the
external torque on a basis of the motion estimation torque.
3. The medical support arm system according to claim 2, wherein the
external force estimation unit estimates a friction torque related
to the drive of the joint unit, and calculates the motion
estimation torque on a basis of the friction torque.
4. The medical support arm system according to claim 3, wherein the
external force estimation unit estimates the friction torque using
a model identification result based on a static friction and a
dynamic friction of a speed reducer.
5. The medical support arm system according to claim 2, wherein the
external force estimation unit estimates an internal consumption
torque related to the drive of the joint unit, and calculates the
motion estimation torque on a basis of the internal consumption
torque.
6. The medical support arm system according to claim 1, wherein the
external force estimation unit estimates the external torque on a
basis of a current command torque related to the drive of the joint
unit.
7. The medical support arm system according to claim 1, wherein the
external force estimation unit estimates the external torque on a
basis of a phase difference command torque related to the drive of
the joint unit.
8. The medical support arm system according to claim 1, wherein the
joint control unit controls an electromagnetic motor that generates
a drive force related to the drive of the joint unit.
9. The medical support arm system according to claim 1, wherein the
joint control unit controls an ultrasonic motor that generates a
drive force related to the drive of the joint unit.
10. The medical support arm system according to claim 1, wherein
the support arm includes a first joint unit not including a torque
sensor and a second joint unit including the torque sensor, and the
joint control unit performs drive control of the first joint unit
based on the external torque estimated by the external force
estimation unit and drive control of the second joint unit based on
an external torque detected by the torque sensor.
11. The medical support arm system according to claim 1, wherein
the actuator includes a first actuator including an electromagnetic
motor that generates a drive force related to the drive of the
joint unit, and a second actuator including an ultrasonic motor
that generates a drive force related to the drive of the joint
unit, and the joint control unit controls both the first actuator
and the second actuator.
12. A medical support arm control method comprising: by a
processor, controlling drive of a joint unit including an actuator
of a support arm that is a multilink structure having a plurality
of links connected by the joint unit; and estimating an external
force acting on the joint unit on a basis of a drive characteristic
of the actuator, wherein the controlling further includes
controlling the drive of the joint unit on a basis of an estimated
external torque.
13. A medical support arm control device comprising: a joint
control unit configured to control drive of a joint unit including
an actuator of a support arm that is a multilink structure having a
plurality of links connected by the joint unit; and an external
force estimation unit configured to estimate an external force
acting on the joint unit on a basis of a drive characteristic of
the actuator, wherein the joint control unit controls the drive of
the joint unit on a basis of an external torque estimated by the
external force estimation unit.
Description
TECHNICAL FIELD
[0001] The present disclosure relates to a medical support arm
system, a medical support arm control method, and a medical support
arm control device.
BACKGROUND ART
[0002] Conventionally, in the medical field, there are cases where
a medical device having a medical unit (a camera, forceps, or the
like) provided at a distal end of an arm unit is used when various
operations (surgery, inspection, and the like) are performed. For
example, Patent Document 1 below discloses a torque-controlled
medical arm that is controlled on the basis of force information
detected by a torque sensor incorporated in an actuator unit.
[0003] Meanwhile, methods of performing force control without using
a torque sensor as described above have also been proposed. For
example, Patent Document 2 below discloses a tactile analysis
method based on an estimated reaction force. Furthermore, Patent
Document 3 below discloses a control device that performs force
control on the basis of an estimated gripping force.
CITATION LIST
Patent Document
Patent Document 1: International Publication No. 2015/046081
Patent Document 2: Japanese Patent Application Laid-Open No.
2009-47503
Patent Document 3: Japanese Patent Application Laid-Open No.
2010-76012
SUMMARY OF THE INVENTION
Problems to be Solved by the Invention
[0004] Here, in ideal response control related to the medical arm
as described in Patent Document 1, improvement of the total cost of
the device can be assumed by using an estimated torque value
according to the situation. However, the techniques disclosed in
Patent Documents 2 and 3 above are not related to torque
estimation, and are difficult to apply to the ideal response
control of the medical arm as described in Patent Document 1.
[0005] Therefore, the present disclosure proposes new and improved
medical support arm system, medical support arm control method, and
medical support arm control device that realize torque control
based on an estimated external force and can cope with more various
situations.
Solutions to Problems
[0006] According to the present disclosure, provided is a medical
support arm system including: a support arm that is a multilink
structure having a plurality of links connected by a joint unit
including an actuator, and configured to support a medical unit;
and a control device including an external force estimation unit
configured to estimate an external force acting on the joint unit
on the basis of a drive characteristic of the actuator, and a joint
control unit configured to control drive of the joint unit on the
basis of an external torque estimated by the external force
estimation unit.
[0007] Furthermore, according to the present disclosure, provided
is a medical support arm control method including: by a processor,
controlling drive of a joint unit including an actuator of a
support arm that is a multilink structure having a plurality of
links connected by the joint unit; and estimating an external force
acting on the joint unit on the basis of a drive characteristic of
the actuator, in which the controlling further includes controlling
the drive of the joint unit on the basis of an estimated external
torque.
[0008] Furthermore, according to the present disclosure, provided
is a medical support arm control device including: a joint control
unit configured to control drive of a joint unit including an
actuator of a support arm that is a multilink structure having a
plurality of links connected by the joint unit; and an external
force estimation unit configured to estimate an external force
acting on the joint unit on the basis of a drive characteristic of
the actuator, in which the joint control unit controls the drive of
the joint unit on the basis of an external torque estimated by the
external force estimation unit.
Effects of the Invention
[0009] As described above, according to the present disclosure,
torque control based on an estimated external force is realized and
more various situations can be coped with.
[0010] Note that the above-described effect is not necessarily
limited, and any of effects described in the present specification
or other effects that can be grasped from the present specification
may be exerted in addition to or in place of the above-described
effect.
BRIEF DESCRIPTION OF DRAWINGS
[0011] FIG. 1 is an explanatory diagram for describing an
application example of a case where a support arm device according
to an embodiment of the present disclosure is used for medical
purposes.
[0012] FIG. 2 is a schematic view illustrating an appearance of the
support arm device according to an embodiment of the present
disclosure.
[0013] FIG. 3 is a cross-sectional view schematically illustrating
a state in which an actuator including a torque sensor is cut along
a cross section passing through a rotation axis.
[0014] FIG. 4 is an explanatory diagram for describing ideal joint
control based on an external torque detected by a torque
sensor.
[0015] FIG. 5 is an explanatory diagram for describing ideal joint
control based on external force estimation according to an
embodiment of the present disclosure.
[0016] FIG. 6 is a diagram schematically illustrating a schematic
configuration of an actuator including an electromagnetic motor
according to the embodiment.
[0017] FIG. 7 is a diagram for describing external force estimation
of a case where the actuator including the electromagnetic motor
according to the embodiment is applied.
[0018] FIG. 8 is a graph for describing model identification using
measurement tests of static friction and dynamic friction according
to a speed reducer according to the embodiment.
[0019] FIG. 9 is a cross-sectional view illustrating a
configuration example of an actuator including an ultrasonic motor
according to the embodiment.
[0020] FIG. 10 is a diagram schematically illustrating a schematic
configuration of the actuator including the ultrasonic motor
according to the embodiment.
[0021] FIG. 11 is a diagram for describing external force
estimation of a case where the actuator including the ultrasonic
motor according to the embodiment is applied.
[0022] FIG. 12 is a graph illustrating a measurement result of an
output torque of the ultrasonic motor according to a phase
difference according to the embodiment.
[0023] FIG. 13 is a functional block diagram illustrating a
configuration example of a support arm system according to the
embodiment.
[0024] FIG. 14 is a functional block diagram illustrating a
configuration example of a hardware configuration of a support arm
device and a control device according to an embodiment of the
present disclosure.
MODE FOR CARRYING OUT THE INVENTION
[0025] Favorable embodiments of the present disclosure will be
described in detail with reference to the appended drawings. Note
that, in the present specification and drawings, overlapping
description of configuration elements having substantially the same
functional configuration is omitted by providing the same sign.
[0026] Note that the description will be given in the following
order.
[0027] 1. Study of Medical Support Arm Device
[0028] 2. Embodiment of Present Disclosure
[0029] 2-1. Appearance of Support Arm Device
[0030] 2-2. Generalized Inverse Dynamics
[0031] 2-3. Ideal Joint Control
[0032] 2-4. Configuration of Support Arm System
[0033] 3. Hardware Configuration
[0034] 4. Conclusion
1. STUDY OF MEDICAL SUPPORT ARM DEVICE
[0035] First, to make the present disclosure clearer, the
background that the present inventors have conceived the present
disclosure will be described.
[0036] An application example of a case where a medical support arm
device (hereinafter simply referred to as a support arm device or a
support arm) according to an embodiment of the present disclosure
is used for medical purposes will be described with reference to
FIG. 1. FIG. 1 is an explanatory diagram for describing an
application example of a case where a support arm device according
to an embodiment of the present disclosure is used for medical
purposes.
[0037] FIG. 1 schematically illustrates a state of an operation
using the support arm device according to the present embodiment.
Specifically, referring to FIG. 1, a state in which a surgeon who
is a practitioner (user) 520 is performing surgery for an operation
target (patient) 540 on an operation table 530 using a surgical
instrument 521 such as a scalpel, tweezers, or forceps, for
example, is illustrated. Note that, in the following description,
the term "operation" is a generic term for various types of medical
treatment such as surgery and examination performed for the patient
as the operation target 540 by a surgeon as the user 520.
Furthermore, the example in FIG. 1 illustrates a state of surgery
as an example of the operation, but the operation using a support
arm device 510 is not limited to surgery, and may be various
operations such as an examination using an endoscope.
[0038] The support arm device 510 according to the present
embodiment is provided beside the operation table 530. The support
arm device 510 includes a base unit 511 as a base and an arm unit
512 extending from the base unit 511. The arm unit 512 includes a
plurality of joint units 513a, 513b, and 513c, a plurality of links
514a and 514b connected by the joint units 513a and 513b, and an
imaging unit 515 provided at a distal end of the arm unit 512. In
the example illustrated in FIG. 1, the arm unit 512 includes the
three joint units 513a to 513c and the two links 514a and 514b for
the sake of simplicity. However, in reality, the numbers and shapes
of the joint units 513a to 513c and the links 514a and 514b, the
direction of drive shafts of the joint units 513a to 513c, and the
like may be appropriately set to realize a desired degree of
freedom in consideration of the degrees of freedom in the positions
and postures of the arm unit 512 and the imaging unit 515.
[0039] The joint units 513a to 513c have a function to rotatably
connect the links 514a and 514b to each other, and the drive of the
arm unit 512 is controlled when the rotation of the joint units
513a to 513c is driven. Here, in the following description, the
position of each configuration member of the support arm device 510
means the position (coordinates) in the space defined for drive
control, and the posture of each configuration member means the
direction (angle) with respect to any axis in the space defined for
drive control. Furthermore, in the following description, drive (or
drive control) of the arm unit 512 refers to the position and
posture of each configuration member of the arm unit 512 being
changed (change being controlled) by drive (drive control) of the
joint units 513a to 513c and drive (drive control) of the joint
units 513a to 513c.
[0040] Various medical instruments are connected to the distal end
of the arm unit 512 as distal end units. In the example illustrated
in FIG. 1, the imaging unit 515 is provided at the distal end of
the arm unit 512 as an example of the distal end unit. The imaging
unit 515 is a unit that acquires an image (captured image) of a
capture target, and is, for example, a camera or the like that can
capture a moving image or a still image. As illustrated in FIG. 1,
the positions and postures of the arm unit 512 and the imaging unit
515 are controlled by the support arm device 510 so that the
imaging unit 515 provided at the distal end of the arm unit 512
captures a state of the operation site of the operation target 540.
Note that the distal end unit provided at the distal end of the arm
unit 512 is not limited to the imaging unit 515, and various
medical instruments may be provided. Examples of the medical
instruments include various units used in operations, such as an
endoscope and microscope, units having an imaging function such as
the above-described imaging unit 515, and various operation tools
and examination devices. Thus, the support arm device 510 according
to the present embodiment can be said to be a medical support arm
device provided with medical instruments. Furthermore, a stereo
camera having two imaging units (camera units) may be provided at
the distal end of the arm unit 512 and may capture an imaging
target as a three-dimensional image (3D image). Note that the
support arm device 510 provided with a camera unit such as the
imaging unit 515 or the stereo camera for capturing the operation
site as the distal end unit is also referred to as video microscope
(VM) support arm device.
[0041] Furthermore, at a position facing the user 520, a display
device 550 such as a monitor or a display is installed. An image of
the operation site captured by the imaging unit 515 is displayed on
a display screen of the display device 550. The user 520 performs
various types of treatment while viewing the captured image of the
operation site displayed on the display screen of the display
device 550.
[0042] Thus, the present embodiment proposes, in the medical field,
performing surgery while capturing an operation site by the support
arm device 510. Here, in various operations including surgery,
reduction of fatigue and burden on the user 520 and the patient 540
is required by more efficiently performing the operation. To
satisfy such requirement, the support arm device 510 is considered
to require following performance, for example.
[0043] First, as a first point, the support arm device 510 is
required to secure a working space in the operation. If the arm
unit 512 or the imaging unit 515 obstructs the view of the
practitioner or the movement of the hand performing treatment while
the user 520 is performing various types of treatment for the
operation target 540, the efficiency of the surgery declines.
Furthermore, although not illustrated in FIG. 1, in an actual
surgery scene, there is generally a plurality of other surgeons,
nurses, and the like around the user 520 and the patient 540, who
perform various support works such as passing an instrument to the
user 520 and checking various vital signs of the patient 540, and
also there are other devices to perform the support works.
Therefore, the surgical environment is complicated. Therefore, the
support arm device 510 is desirably as small as possible.
[0044] Next, as a second point, the support arm device 510 is
required to have high operability when moving the imaging unit 515.
For example, there is the user 520's need to observe the same
operation site from various positions and angles while performing
the treatment for the operation site, depending on a site for which
the user 520 performs surgery or the content of the surgery. To
change an angle to observe the operation site, an angle of the
imaging unit 515 with respect to the operation site needs to be
changed. At that time, it is desirable to change only the angle to
capture the operation site while fixing a capture direction of the
imaging unit 515 to the operation site (in other words, while
capturing the same operation site). Therefore, for example,
operability with a higher degree of freedom is required for the
support arm device 510, such as a turning motion (pivot motion)
using an axis of a cone as a pivot axis, in which the imaging unit
515 moves in a conical surface having the operation site as a
vertex in a state where the capture direction of the imaging unit
515 is fixed to the operation site. Note that, since the capture
direction of the imaging unit 515 is fixed to the predetermined
operation site, the pivot motion is also called point lock
motion.
[0045] Furthermore, to change the position and angle of the imaging
unit 515, a method of moving the imaging unit 515 to a desired
position and angle by the user 520 manually moving the arm unit 512
is conceivable, for example. Therefore, operability that enables
the movement of the imaging unit 515, the above-described pivot
motion, and the like to be easily performed by one hand is
desirable.
[0046] Furthermore, at the time of surgery, there is also the user
520's need to move a capture center of an image to be captured by
the imaging unit 515 from a site where the user 520 is giving
treatment to another site (a site where the user 520 will next give
treatment, for example) while performing treatment with both hands.
Therefore, when changing the position and posture of the imaging
unit 515, not only the method of manually controlling drive of the
arm unit 512 as described above but also various methods of driving
the arm unit 512, such as a method of controlling the drive of the
arm unit 512 by an operation input from an input unit such as a
pedal, are required.
[0047] Thus, as the second performance, the support arm device 510
is required to have high operability that meets the intuition and
demands of the user 520, which realizes the above-described pivot
motion and easy manual movement.
[0048] Finally, as a third point, the support arm device 510 is
required to have stability in the drive control of the arm unit
512. The stability of the arm unit 512 with respect to the drive
control may be stability of the position and posture of the distal
end unit when the arm unit 512 is driven. Furthermore, the
stability of the arm unit 512 with respect to the drive control
includes smooth movement of the distal end unit and suppression of
vibration (damping) when the arm unit 512 is driven. For example,
if the position and posture of the imaging unit 515 are not stable
in the case where the distal end unit is the imaging unit 515 as in
the example illustrated in FIG. 1, the captured image displayed on
a display screen of the display device 550 is not stable and may
cause discomfort to the user. In particular, when the support arm
device 510 is used for surgery, a method of providing a stereo
camera including two imaging units (camera units) as the distal end
units, and displaying a three-dimensional image (3D image)
generated on the basis of a captured image by the stereo camera on
the display device 550 can be assumed. In the case where a 3D image
is displayed in this way, there is a possibility of inducing a
so-called 3D sickness of the user if the position and posture of
the stereo camera are unstable. Furthermore, an observation range
captured by the imaging unit 515 may be expanded to about .phi.15
mm depending on the site where the treatment is given and the
content of the surgery. In the case where the imaging unit 515
enlarges a narrow range and captures the range as described above,
a slight vibration of the imaging unit 515 appears as a large shake
or blur of the captured image. Therefore, the drive control of the
arm unit 512 and the imaging unit 515 requires high positioning
accuracy with an allowable range of about 1 mm. Thus, in the drive
control of the arm unit 512, responsiveness with high accuracy and
high positioning accuracy are required.
[0049] The present inventors have examined general existing
balance-type arm and support arm device based on position control
from the viewpoint of the above three performances.
[0050] First, with regard to the securement of the working space
for surgery of the first point, the general balance-type arm is
usually provided with a counterbalance weight (also referred to as
counterweight or balancer) for balancing the force when the arm
unit is moved inside a base unit or the like. Therefore, downsizing
of the balance-type arm is difficult and it cannot be said that the
performance is satisfied.
[0051] Furthermore, with regard to the high operability of the
second point, in the general balance-type arm, only a part of the
drive of the arm unit, for example, only the drive of two shafts
for moving the imaging unit on a plane (in a two-dimensional
manner) is electrically driven, and the movement of the arm unit
and the imaging unit requires manual positioning. Therefore, it
cannot be said that the high operability is realized. Furthermore,
in the support arm device by general position control, the position
control used for the control of the drive of the arm unit, that is,
for the control of the position and posture of the imaging unit, is
difficult to flexibly respond to an external force and is sometimes
called "hard control", and is not suitable for realizing the
operability that matches the intuition of the user as required.
[0052] Furthermore, with regard to the stability in the drive
control of the arm unit of the third point, generally, a joint unit
of the arm unit has factors difficult to model, such as friction
and inertia. In the general balance-type arm and support arm device
by position control, these factors appear as disturbances in the
drive control of a joint unit, so even in a case where a
theoretically appropriate control value (for example, a current
value to be applied to a motor of the joint unit) is provided,
desired drive (for example, rotation of a desired angle in the
motor of the joint unit) may not be realized, and realization of
the high stability in the drive control of the arm unit as required
is difficult.
[0053] As described above, as a result of the study about the
support arm device used for medical purposes, the present inventors
have found that there is a demand for the above-described three
performances regarding the support arm device. However, the general
existing balance-type arm and support arm device based on position
control are difficult to satisfy these performances. As a result of
study about a configuration that satisfies the above-described
three performances, the present inventors have conceived a support
arm device, a support arm control device, a support arm system, a
support arm control method, and a program according to the present
disclosure. Hereinafter, favorable embodiments in the configuration
conceived by the present inventors will be described in detail.
2. EMBODIMENT OF PRESENT DISCLOSURE
[0054] Hereinafter, a support arm system according to an embodiment
of the present disclosure will be described. The support arm system
according to the present embodiment controls drive of a plurality
of joint units provided in a support arm device by whole body
coordination control using generalized inverse dynamics. Moreover,
the support arm system applies ideal joint control for realizing an
ideal response to a command value by correcting an influence of
disturbance to the drive control of the joint units.
[0055] In the following description of the present embodiment,
first, an appearance of the support arm device according to the
present embodiment will be described in [2-1. Appearance of Support
Arm Device] and a schematic configuration of the support arm device
will be described. Next, an outline of the generalized inverse
dynamics and the ideal joint control used in the control of the
support arm device according to the present embodiment will be
described in [2-2. Generalized Inverse Dynamics] and [2-3. Ideal
Joint Control]. Next, in [2-4. Configuration of Support Arm
System], a configuration of a system for controlling the support
arm device according to the present embodiment will be described
using a functional block diagram.
[0056] Note that, in the description below, a case in which a
distal end unit of an arm unit of the support arm device is an
imaging unit, and an operation site is captured by the imaging unit
at the time of surgery as illustrated in FIG. 1 will be described
as an embodiment of the present disclosure. However, the present
embodiment is not limited to the example. The support arm system
according to the present embodiment is applicable even in a case
where a support arm device having another distal end unit is used
for other purposes.
[0057] [2-1. Appearance of Support Arm Device]
[0058] First, a schematic configuration of a support arm device
according to an embodiment of the present disclosure will be
described with reference to FIG. 2. FIG. 2 is a schematic view
illustrating an appearance of the support arm device according to
an embodiment of the present disclosure.
[0059] Referring to FIG. 2, a support arm device 400 according to
the present embodiment includes a base unit 410 and an arm unit
420. The base unit 410 is a base of the support arm device 400, and
the arm unit 420 is extended from the base unit 410. Furthermore,
although not illustrated in FIG. 2, a control unit that integrally
controls the support arm device 400 may be provided in the base
unit 410, and drive of the arm unit 420 may be controlled by the
control unit. The control unit is configured by, for example,
various signal processing circuits such as a central processing
unit (CPU) and a digital signal processor (DSP).
[0060] The arm unit 420 includes a plurality of joint units 421a to
421f, a plurality of links 422a to 422c mutually connected by the
joint units 421a to 421f, and an imaging unit 423 provided at the
distal end of the arm unit 420.
[0061] The links 422a to 422c are rod-like members, and one end of
the link 422a is connected to the base unit 410 via the joint unit
421a, the other end of the link 422a is connected to one end of the
link 422b via the joint unit 421b, and moreover, the other end of
the link 422b is connected to one end of the link 422c via the
joint units 421c and 421d. Moreover, the imaging unit 423 is
connected to the distal end of the arm unit 420, in other words,
the other end of the link 422c via the joint units 421e and 421f.
As described above, the ends of the plurality of links 422a to 422c
are connected one another by the joint units 421a to 421f with the
base unit 410 as a fulcrum, so that an arm shape extended from the
base unit 410 is configured.
[0062] The imaging unit 423 is a unit that acquires an image of a
capture target, and is, for example, a camera or the like that
captures a moving image or a still image. When drive of the arm
unit 420 is controlled, the position and posture of the imaging
unit 423 are controlled. In the present embodiment, the imaging
unit 423 captures a partial region of a body of a patient, which is
an operation site, for example. Note that the distal end unit
provided at the distal end of the arm unit 420 is not limited to
the imaging unit 423, and various medical instruments may be
connected to the distal end of the arm unit 420 as the distal end
units. Thus, the support arm device 400 according to the present
embodiment can be said to be a medical support arm device provided
with medical instruments.
[0063] Here, hereinafter, the support arm device 400 will be
described by defining coordinate axes as illustrated in FIG. 2.
Furthermore, an up-down direction, a front-back direction, and a
right-left direction will be defined in accordance with the
coordinate axes. In other words, the up-down direction with respect
to the base unit 410 installed on a floor is defined as a z-axis
direction and the up-down direction. Furthermore, a direction
orthogonal to the z axis and in which the arm unit 420 is extended
from the base unit 410 (in other words, a direction in which the
imaging unit 423 is located with respect to the base unit 410) is
defined as a y-axis direction and the front-back direction.
Moreover, a direction orthogonal to the y axis and the z axis is
defined as an x-axis direction and the right-left direction.
[0064] The joint units 421a to 421f rotatably connect the links
422a to 422c to one another. The joint units 421a to 421f include
actuators, and have a rotation mechanism that is rotationally
driven about a predetermined rotation axis by drive of the
actuators. By controlling rotational drive of each of the joint
units 421a to 421f, drive of the arm unit 420 such as extending or
contracting (folding) of the arm unit 420 can be controlled. Here,
the drive of the joint units 421a to 421f is controlled by whole
body coordination control to be described in [2-2. Generalized
Inverse Dynamics] below and by ideal joint control to be described
in [2-3. Ideal Joint Control] below. Furthermore, as described
above, since the joint units 421a to 421f have the rotation
mechanism, in the following description, the drive control of the
joint units 421a to 421f specifically means control of a rotation
angle and/or a generated torque of the joint units 421a to 421f
(torque generated in the joint units 421a to 421f).
[0065] The support arm device 400 according to the present
embodiment includes the six joint units 421a to 421f and realizes
six degrees of freedom with respect to the drive of the arm unit
420. Specifically, as illustrated in FIG. 2, the joint units 421a,
421d, and 421f are provided to have long axis directions of the
connected links 422a to 422c and a capture direction of the
connected imaging unit 423 as rotation axis directions, and the
joint units 421b, 421c, and 421e are provided to have the x-axis
direction that is a direction of changing connection angles of the
links 422a to 422c and the imaging unit 423 in a y-z plane (a plane
defined by the y axis and the z axis) as the rotation axis
directions. As described above, in the present embodiment, the
joint units 421a, 421d, and 421f have a function to perform
so-called yawing, and the joint units 421b, 421c, and 421e have a
function to perform so-called pitching.
[0066] With such a configuration of the arm unit 420, the support
arm device 400 according to the present embodiment realizes the six
degrees of freedom with respect to the drive of the arm unit 420,
thereby freely moving the imaging unit 423 within a movable range
of the arm unit 420. FIG. 2 illustrates a hemisphere as an example
of the movable range of the imaging unit 423. In a case where a
central point of the hemisphere is a capture center of the
operation site captured by the imaging unit 423, the operation site
can be captured from various angles by moving the imaging unit 423
on a spherical surface of the hemisphere in a state where the
capture center of the imaging unit 423 is fixed to the central
point of the hemisphere.
[0067] A schematic configuration of the support arm device 400
according to the present embodiment will be described with
reference to FIG. 2. Next, the whole body coordination control and
the ideal joint control for controlling the driving of the arm unit
420, in other words, the driving of the joint units 421a to 421f in
the support arm device 400 according to the present embodiment will
be described.
[0068] [2-2. Generalized Inverse Dynamics]
[0069] Next, an outline of the generalized inverse dynamics used
for the whole body coordination control of the support arm device
400 in the present embodiment will be described.
[0070] The generalized inverse dynamics is basic arithmetic
operation in the whole body coordination control of a multilink
structure configured by connecting a plurality of links by a
plurality of joint units (for example, the arm unit 420 illustrated
in FIG. 2 in the present embodiment), for converting motion
purposes regarding various dimensions in various operation spaces
into torques to be caused in the plurality of joint units in
consideration of various constraint conditions.
[0071] The operation space is an important concept in force control
of a device. The operation space is a space for describing a
relationship between force acting on the multilink structure and
acceleration of the multilink structure. When the drive control of
the multilink structure is performed not by position control but by
force control, the concept of the operation space is necessary in a
case of using a contact between the multilink structure and an
environment as a constraint condition. The operation space is, for
example, a joint space, a Cartesian space, a momentum space, or the
like, which is a space to which the multilink structure
belongs.
[0072] The motion purpose represents a target value in the drive
control of the multilink structure, and is, for example, a target
value of a position, a speed, an acceleration, a force, an
impedance, or the like of the multilink structure to be achieved by
the drive control.
[0073] The constraint condition is a constraint condition regarding
the position, speed, acceleration, force, or the like of the
multilink structure, which is determined according to a shape or a
structure of the multilink structure, an environment around the
multilink structure, setting by the user, and the like. For
example, the constraint condition includes information regarding a
generated force, a priority, presence/absence of a non-drive joint,
a vertical reaction force, a friction weight, a support polygon,
and the like.
[0074] In the generalized dynamics, to establish both stability of
numerical calculation and real time processing efficiency, an
arithmetic algorithm includes a virtual force determination process
(virtual force calculation processing) as a first stage and a real
force conversion process (real force calculation processing) as a
second stage. In the virtual force calculation processing as the
first stage, a virtual force that is a virtual force necessary for
achievement of each motion purpose and acting on the operation
space is determined while considering the priority of the motion
purpose and a maximum value of the virtual force. In the real force
calculation processing as the second stage, the above-obtained
virtual force is converted into a real force realizable in the
actual configuration of the multilink structure, such as a joint
force or an external force, while considering the constraints
regarding the non-drive joint, the vertical reaction force, the
friction weight, the support polygon, and the like. Hereinafter,
the virtual force calculation processing and the real force
calculation processing will be described in detail. Note that, in
the description of the virtual force calculation processing and the
real force calculation processing below and the ideal joint control
to be described below, description may be performed using the
configuration of the arm unit 420 of the support arm device 400
according to the present embodiment illustrated in FIG. 2 as a
specific example, in order to facilitate the understanding.
[0075] (2-2-1. Virtual Force Calculation Processing)
[0076] A vector configured by a certain physical quantity at each
joint unit of the multilink structure is called generalized
variable q (also referred to as a joint value q or a joint space
q). An operation space x is defined by the following mathematical
expression (1) using a time derivative value of the generalized
variable q and the Jacobian J.
[Math. 1]
{dot over (x)}=J{dot over (q)} (1)
[0077] In the present embodiment, for example, q represents a
rotation angle of the joint units 421a to 421f of the arm unit 420.
An equation of motion regarding the operation space x is described
by the following mathematical expression (2).
[Math. 2]
{umlaut over (x)}=.LAMBDA..sup.-1f+c (2)
[0078] Here, f represents a force acting on the operation space x.
Furthermore, .LAMBDA..sup.-1 represents an operation space inertia
inverse matrix, and c is called operation space bias acceleration,
which are respectively expressed by the following mathematical
expressions (3) and (4).
[Math. 3]
.LAMBDA..sup.-1=JH.sup.-1J.sup.T (3)
c=JH.sup.-1(.tau.-b)+{dot over (J)}{dot over (q)} (4)
[0079] Note that H represents a joint space inertia matrix, .tau.
represents a joint force corresponding to the joint value q (for
example, the generated torque in the joint units 421a to 421f), and
b represents gravity, a Coriolis force, and a centrifugal
force.
[0080] In the generalized inverse dynamics, it is known that the
motion purpose of the position and speed regarding the operation
space x can be expressed as an acceleration of the operation space
x. At this time, the virtual force f.sub.v to act on the operation
space x to realize an operation space acceleration that is a target
value given as the motion purpose can be obtained by solving a kind
of linear complementary problem (LCP) as in the mathematical
expression (5) below according to the above mathematical expression
(1).
[ Math . 4 ] w + x = .LAMBDA. - 1 f v + c s . t . { ( ( w i < 0
) ( f v i = U i ) ) ( ( w i > 0 ) ( f v i = L i ) ) ( ( w i = 0
) ( L i < f v i < U i ) ) ( 5 ) ##EQU00001##
[0081] Here, Li and Ui respectively represent a negative lower
limit value (including -.infin.) of an i-th component of f.sub.v
and a positive upper limit value (including +.infin.) of the i-th
component of f.sub.v. The above LCP can be solved using, for
example, an iterative method, a pivot method, a method applying
robust acceleration control, or the like.
[0082] Note that the operation space inertia inverse matrix
.LAMBDA..sup.-1 and the bias acceleration c have a large
calculation cost when calculated according to the mathematical
expressions (3) and (4) that are defining mathematical expressions.
Therefore, a method of calculating the processing of calculating
the operation space inertia inverse matrix .LAMBDA..sup.-1 at a
high speed by applying a quasi-dynamics operation (FWD) for
obtaining a generalized acceleration (joint acceleration) from the
generalized force (joint force .tau.) of the multilink structure
has been proposed. Specifically, the operation space inertia
inverse matrix .LAMBDA..sup.-1 and the bias acceleration c can be
obtained from information regarding forces acting on the multilink
structure (for example, of the arm unit 420 and the joint units
421a to 421f), such as the joint space q, the joint force .tau.,
and the gravity g by using the forward dynamics arithmetic
operation FWD. The operation space inertia inverse matrix
.LAMBDA..sup.-1 can be calculated with a calculation amount of O
(N) with respect to the number N of the joint units by applying the
forward dynamics arithmetic operation FWD regarding the operation
space.
[0083] Here, as a setting example of the motion purpose, a
condition for achieving the target value (expressed by adding a
superscript bar to second order differentiation of x) of the
operation space acceleration with a virtual force f.sub.vi equal to
or smaller than an absolute value F.sub.i can be expressed by the
following mathematical expression (6).
[Math. 5]
L.sub.i=-F.sub.i,
U.sub.i=F.sub.i,
{umlaut over (x)}.sub.i={umlaut over (x)}.sub.i (6)
[0084] Furthermore, as described above, the motion purpose
regarding the position and speed of the operation space x can be
expressed as the target value of the operation space acceleration,
and is specifically expressed by the following mathematical
expression (7) (the target value of the position and speed of the
operation space x is expressed by x and adding the superscript bar
to first order differentiation of x).
[Math. 6]
{umlaut over (x)}=K.sub.p(x.sub.i-x.sub.i)+K.sub.v({dot over
(x)}.sub.i-x.sub.i) (7)
[0085] In addition, by use of a concept of decomposition operation
space, the motion purpose regarding an operation space (momentum,
Cartesian relative coordinates, interlocking joint, or the like)
expressed by a linear sum of other operation spaces can be set.
Note that it is necessary to give priority to competing motion
purposes. The above LCP can be solved for each priority in
ascending order from a low priority, and the virtual force obtained
by the LCP in the previous stage can be made to act as a known
external force of the LCP in the next stage.
[0086] (2-2-2. Real Force Calculation Processing)
[0087] In the real force calculation processing as the second stage
of the generalized inverse dynamics, processing of replacing the
virtual force f.sub.v obtained in the above (2-2-1. Virtual Force
Determination Process) with real joint force and external force is
performed. A condition for realizing the generalized force
.tau..sub.v=J.sub.v.sup.Tf.sub.v by the virtual force with a
generated torque .tau..sub.a generated in the joint unit and an
external force f.sub.e is expressed by the following mathematical
expression (8).
[ Math . 7 ] [ J vu T J va T ] ( f v - .DELTA. f v ) = [ J eu T J
ea T ] f e + [ 0 .tau. a ] ( 8 ) ##EQU00002##
[0088] Here, the suffix a represents a set of drive joint units
(drive joint set), and the suffix u represents a set of non-drive
joint units (non-drive joint set). In other words, the upper part
of the above mathematical expression (8) represents balance of the
forces of the space (non-drive joint space) by the non-drive joint
units, and the lower part represents balance of the forces of the
space (drive joint space) by the drive joint units. J.sub.vu and
J.sub.va are respectively a non-drive joint component and a drive
joint component of the Jacobian regarding the operation space where
the virtual force f.sub.v acts. J.sub.eu and J.sub.ea are a
non-drive joint component and a drive joint component of the
Jacobian regarding the operation space where the external force
f.sub.e acts. .DELTA..sub.fv represents an unrealizable component
with the real force, of the virtual force f.sub.v.
[0089] The upper part of the mathematical expression (8) is
undefined. For example, f.sub.e and .DELTA.f.sub.v can be obtained
by solving a quadratic programing problem (QP) as described in the
following mathematical expression (9).
[Math. 8]
min1/2.epsilon..sup.TQ.sub.1.epsilon.+1/2.xi..sup.TQ.sub.2.xi. s.t.
U.xi..gtoreq..nu. (9)
[0090] Here, .epsilon. is a difference between both sides of the
upper part of the mathematical expression (8), and represents an
mathematical expression error of the mathematical expression (8).
.xi. is a connected vector of f.sub.e and .DELTA.f.sub.v and
represents a variable vector. Q.sub.1 and Q.sub.2 are positive
definite symmetric matrices that represent weights at minimization.
Furthermore, inequality constraint of the mathematical expression
(9) is used to express the constraint condition regarding the
external force such as the vertical reaction force, friction cone,
maximum value of the external force, or support polygon. For
example, the inequality constraint regarding a rectangular support
polygon is expressed by the following mathematical expression
(10).
[Math. 9]
|F.sub.x|.ltoreq..mu..sub.1F.sub.z,
|F.sub.y|.ltoreq..mu..sub.tF.sub.z,
F.sub.z.gtoreq.0,
|M.sub.x|d.sub.yF.sub.z,
|M.sub.y|.ltoreq.d.sub.xF.sub.z,
|M.sub.z|.ltoreq..mu..sub.rF.sub.z (10)
[0091] Here, z represents a normal direction of a contact surface,
and x and y represent orthogonal two-tangent directions
perpendicular to z. (F.sub.x, F.sub.y, F.sub.z) and (M.sub.x,
M.sub.y, M.sub.z) represent an external force and an external force
moment acting on a contact point. .mu..sub.t and .mu..sub.r are
friction coefficients regarding translation and rotation,
respectively. (d.sub.x, d.sub.y) represents the size of the support
polygon.
[0092] From the above mathematical expressions (9) and (10),
solutions f.sub.e and .DELTA.f.sub.v of a minimum norm or a minimum
error are obtained. By substituting f.sub.e and .DELTA.f.sub.v
obtained from the above mathematical expression (9) into the lower
part of the above mathematical expression (8), the joint force
.tau..sub.a necessary for realizing the motion purpose can be
obtained.
[0093] In a case of a system where a base is fixed and there is no
non-drive joint, all virtual forces can be replaced only with the
joint force, and f.sub.e=0 and .DELTA.f.sub.v=0 can be set in the
above mathematical expression (8). In this case, the following
mathematical expression (11) can be obtained for the joint force
.tau..sub.a from the lower part of the above mathematical
expression (8).
[Math. 10]
.tau..sub.a=J.sub.va.sup.Tf.sub.v (11)
[0094] The whole body coordination control using the generalized
inverse dynamics according to the present embodiment has been
described. By sequentially performing the virtual force calculation
processing and the real force calculation processing as described
above, the joint force .tau..sub.a for achieving a desired motion
purpose can be obtained. In other words, conversely speaking, by
reflecting the calculated joint force .tau..sub.a in a theoretical
model in the motion of the joint units 421a to 421f, the joint
units 421a to 421f are driven to achieve the desired motion
purpose.
[0095] Note that, regarding the whole body coordination control
using the generalized inverse dynamics described so far, in
particular, details of the process of deriving the virtual force
f.sub.v, the method of solving the LCP to obtain the virtual force
f.sub.v, the solution of the QP problem, and the like, reference
can be made to Japanese Patent Application Laid-Open No. 2009-95959
and Japanese Patent Application Laid-Open No. 2010-188471, which
are prior patent applications filed by the present applicant, for
example.
[0096] [2-3. Ideal Joint Control]
[0097] Next, the ideal joint control according to the present
embodiment will be described. The motion of each of the joint units
421a to 421f is modeled by the mathematical expression of motion of
the second order lag system of the following mathematical
expression (12).
[Math. 11]
I.sub.a{umlaut over (q)}=.tau..sub.a+.tau..sub.e-v.sub.a{dot over
(q)} (12)
[0098] Here, I.sub.a represents moment of inertia (inertia) at the
joint unit, .tau..sub.a represents the generated torque of the
joint units 421a to 421f, .tau..sub.e represents external torque
acting on each of the joint units 421a to 421f from the outside,
and .nu..sub.e represents a viscous drag coefficient in each of the
joint units 421a to 421f. The above mathematical expression (12)
can also be said to be a theoretical model that represents the
motion of the actuators in the joint units 421a to 421f.
[0099] .tau..sub.a that is the real force to act on each of the
joint units 421a to 421f for realizing the motion purpose can be
calculated using the motion purpose and the constraint condition by
the arithmetic operation using the generalized inverse dynamics
described in [2-2. Generalized Inverse Dynamics] above. Therefore,
ideally, by applying each calculated .tau..sub.a to the above
mathematical expression (12), a response according to the
theoretical model illustrated in the above mathematical expression
(12) is realized, in other words, the desired motion purpose should
be achieved.
[0100] However, in practice, errors (modeling errors) may occur
between the motions of the joint units 421a to 421f and the
theoretical model as illustrated in the above mathematical
expression (12), due to the influence of various types of
disturbance. The modeling errors can be roughly classified into
those due to mass property such as weight, center of gravity,
inertia tensor of the multilink structure, and those due to
friction, inertia, and the like inside joint units 421a to 421f.
Among them, the modeling errors due to the former mass property can
be relatively easily reduced at the time of constructing the
theoretical model by improving the accuracy of computer aided
design (CAD) data and applying an identification method.
[0101] Meanwhile, the modeling errors due to the latter friction,
inertia, and the like inside the joint units 421a to 421f are
caused by phenomena that are difficult to model, such as friction
in a speed reducer 426 of the joint units 421a to 421f, for
example, and a modeling error that is not ignored may remain during
theoretical model construction. Furthermore, there is a possibility
that an error occurs between the values of the inertia I.sub.a and
the viscous drag coefficient .nu..sub.a in the above mathematical
expression (12) and the values in the actual joint units 421a to
421f. These errors that are difficult to model can become the
disturbance in the drive control of the joint units 421a to 421f.
Therefore, in practice, the motions of the joint units 421a to 421f
may not respond according to the theoretical model illustrated in
the above mathematical expression (12), due to the influence of
such disturbance. Therefore, even when the real force .tau..sub.a,
which is a joint force calculated by the generalized inverse
dynamics, is applied, there may be a case where the motion purpose
that is the control target is not achieved.
[0102] Therefore, in the present embodiment, correcting the
responses of the joint units 421a to 421f so as to perform ideal
responses according to the theoretical model illustrated in the
above mathematical expression (12), by adding an active control
system to each of the joint units 421a to 421f, is considered. At
this time, for example, as described in Patent Document 1, by using
the torque sensor, not only performing friction compensation-type
torque control but also performing an ideal response according to
theoretical values for the required generated torque .tau..sub.a
and the external torque .tau..sub.e to reach the inertia I.sub.a
and the viscous drag coefficient .nu..sub.a is assumed. Note that,
in the following description, the generated torque .tau..sub.a is
also referred to as a command torque or a control value in the
sense of a command value to the joint units 421a to 421f in the
whole body coordination control.
[0103] Here, a configuration of an actuator including a torque
sensor as described in Patent Document 1 will be described with
reference to FIG. 3. FIG. 3 is a cross-sectional view schematically
illustrating a state in which the actuator including the torque
sensor is cut along a cross section passing through a rotation
axis. An actuator 630 including the torque sensor illustrated in
FIG. 3 can also be applied to a part of the joint units 421a to
421f according to the present embodiment.
[0104] Note that, as described above, in the present embodiment,
the drive of the joint units 421a to 421f is controlled by the
ideal joint control. Therefore, the actuator 630 illustrated in
FIG. 3 is configured to be able to perform drive corresponding to
the ideal joint control. Specifically, the actuator 630 is
configured to be able to adjust the rotation angle and a torque
associated with the rotation drive in the joint units 421a to 421f.
Furthermore, the actuator 630 is configured to be able to
arbitrarily adjust the viscous drag coefficient for rotational
motion and can realize an easily rotatable state (in other words, a
state of easily manually moving the arm unit 420) and a less easily
rotatable state (in other words, a state of less easily manually
moving the arm unit 420) with respect to a force applied from an
outside.
[0105] Referring to FIG. 3, the actuator 630 includes a motor 624,
a motor driver 625, a speed reducer 626, an encoder 627, a torque
sensor 628, and a drive shaft 629. As illustrated in FIG. 3, the
encoder 627, the motor 624, the speed reducer 626, the torque
sensor 628 are connected in series to the drive shaft 629 in this
order.
[0106] The motor 624 is a prime mover in the actuator 630, and
rotates the drive shaft 629 around the axis. For example, the motor
624 is an electric motor such as a brushless DC motor. In the
present embodiment, the rotation drive of the motor 624 is
controlled by supplying a current.
[0107] The motor driver 625 is a driver circuit (driver integrated
circuit (IC)) that supplies a current to the motor 624 to
rotationally drive the motor 624, and can control the number of
rotations of the motor 624 by adjusting a current amount to be
supplied to the motor 624. Furthermore, the motor driver 625 can
adjust the viscous drag coefficient for rotational motion of the
actuator 630 by adjusting the current amount to be supplied to the
motor 624.
[0108] The speed reducer 626 is connected to the drive shaft 629
and reduces a rotational speed of the drive shaft 629 caused by the
motor 624 at a predetermined reduction ratio to generate a
rotational drive force (in other words, torque) having a
predetermined value. As the speed reducer 626, a backlashless-type
high performance speed reducer is used. For example, the speed
reducer 626 may be a harmonic drive (registered trademark). The
torque generated by the speed reducer 626 is transmitted to a
subsequent output member (not illustrated, for example, a
connecting member of the links 422a to 422c, the imaging unit 423,
or the like) via the torque sensor 628 connected to an output shape
of the speed reducer 626.
[0109] The encoder 627 is connected to the drive shaft 629 and
detects the number of rotations of the drive shaft 629. Information
of the rotation angle, rotation angular speed, rotation angular
acceleration, and the like of the joint units 421a to 421f can be
obtained on the basis of the relationship between the number of
rotations of the drive shaft 629 detected by the encoder 627 and
the reduction ratio of the speed reducer 626.
[0110] The torque sensor 628 is connected to the output shaft of
the speed reducer 626, and detects the torque generated by the
speed reducer 626, in other words, the torque output by the
actuator 630.
[0111] As described above, the actuator 630 can adjust the number
of rotations of the motor 624 by adjusting the current amount to be
supplied to the motor 624. Here, the reduction ratio in the speed
reducer 626 may be appropriately set according to the use of the
support arm device 400. Therefore, the command torque can be
controlled by appropriately adjusting the number of rotations of
the motor 624 according to the reduction ratio of the speed reducer
626. Furthermore, in the actuator 630, the information of the
rotation angle, rotation angular speed, rotation angular
acceleration, and the like of the joint units 421a to 421f can be
obtained on the basis of the number of rotations of the drive shaft
629 detected by the encoder 627, and the command torque in the
joint units 421a to 421f can be detected by the torque sensor
628.
[0112] Furthermore, the torque sensor 628 can detect not only the
command torque of the actuator 630 but also the external torque
applied from the outside. Therefore, the motor driver 625 can
adjust the viscous drag coefficient for rotational motion as
described above by adjusting the current amount to be supplied to
the motor 624 on the basis of the external torque detected by the
torque sensor 628, and the easily rotatable state or the less
easily rotatable state with respect to the force applied from the
outside can be realized, for example.
[0113] Note that, in the present embodiment, control of the drive
of the joint units 421a to 421f of the support arm device 400 to
perform ideal responses as described in the above mathematical
expression (12) is called ideal joint control. Here, in the
following description, an actuator controlled to be driven by the
ideal joint control is also referred to as a virtualized actuator
(VA) because of performing an ideal response. Hereinafter, the
ideal joint control based on the external torque detected by the
torque sensor 628 will be described with reference to FIG. 4.
[0114] FIG. 4 is an explanatory diagram for describing the ideal
joint control based on the external torque detected by the torque
sensor. Note that FIG. 4 schematically illustrates a conceptual
arithmetic unit that performs various arithmetic operations
regarding the ideal joint control in blocks. Note that the nominal
model of P in FIG. 4 is P.sub.n=1/(J.sub.nS.sup.2).
[0115] A block 601 represents an arithmetic unit that performs an
arithmetic operation according to an ideal joint model of the joint
units 421a to 421f illustrated in the above mathematical expression
(12). The block 601 can calculate and output a rotation angular
acceleration target value (a second order differentiation of a
rotation angle target value q.sup.ref) described on the left side
of the above mathematical expression (12), using the command torque
.tau..sub.ar the external torque .tau..sub.e, and the rotation
angular speed (first order differentiation of the rotation angle q)
as inputs.
[0116] As illustrated in FIG. 4, the command torque .tau..sub.a
calculated by the method described in [2-2. Generalized Inverse
Dynamics] above and the external torque .tau..sub.e measured by the
torque sensor 628 are input to the block 601. Furthermore, when the
rotation angle q measured by the encoder 627 is input to a block
602 that performs a differential operation, the rotation angular
speed (the first order differentiation of the rotation angle q) is
calculated. When the rotation angular speed calculated as described
above is input to the block 601 in addition to the command torque
.tau..sub.a and the external torque .tau..sub.e, the rotation
angular acceleration target value is calculated by the block
601.
[0117] Furthermore, the block 601 calculates a torque generated in
the actuator 630 on the basis of the rotation angular acceleration
of the actuator 630. Specifically, the block 601 can obtain a
torque target value .tau..sup.ref by multiplying the rotation
angular acceleration target value by nominal inertia J.sub.n, in
the actuator 630. In the ideal response, the desired motion purpose
should be achieved by causing the actuator 630 to generate the
torque target value .tau..sup.ref. However, as described above,
there is a case where the influence of the disturbance or the like
occurs in the actual response. Therefore, in the present
embodiment, the disturbance observer 603 calculates a disturbance
estimation value .tau..sub.d and corrects the torque target value
.tau..sup.ref using the disturbance estimation value
.tau..sub.d.
[0118] A configuration of the disturbance observer 603 will be
described. As illustrated in FIG. 4, the disturbance observer 603
calculates the disturbance estimation value .tau..sub.d on the
basis of the command torque .tau..sub.a and the rotation angular
speed output from the rotation angle q measured by the encoder 627.
Here, the command torque .tau..sub.a is a torque value to be
finally generated in the actuator 630 after the influence of
disturbance is corrected. For example, in a case where the
disturbance estimation value .tau..sub.d is not calculated, the
command torque .tau..sub.a becomes the torque target value
.tau..sup.ref.
[0119] The disturbance observer 603 includes a block 604 and a
block 605. The block 604 represents an arithmetic unit that
calculates a torque generated in the actuator 630 on the basis of
the rotation angular speed of the actuator 630. Specifically, the
rotation angular speed calculated by the block 602 from the
rotation angle q measured by the encoder 627 is input to the block
604. The block 604 obtains the rotation angular acceleration by
performing an arithmetic operation represented by a transfer
function J.sub.ns, in other words, by differentiating the rotation
angular speed, and further multiplies the calculated rotation
angular acceleration by the nominal inertia J.sub.n, thereby
calculating an estimation value (torque estimation value) of the
torque actually acting on the actuator 630.
[0120] In the disturbance observer 603, the difference between the
torque estimation value and the command torque .tau..sub.a is
obtained, whereby the disturbance estimation value .tau..sub.d that
is the value of the torque due to the disturbance is estimated.
Specifically, the disturbance estimation value .tau..sub.d may be a
difference between the command torque .tau..sub.a in the control of
the preceding cycle and the torque estimation value in the current
control. Since the torque estimation value calculated by the block
604 is based on the actual measurement value, and the command
torque .tau..sub.a calculated by the block 601 is based on the
ideal theoretical model of the joint units 421a to 421f illustrated
in the block 631, the influence of the disturbance, which is not
considered in the theoretical model, can be estimated by taking the
difference between the torque estimation value and the command
torque .tau..sub.a.
[0121] Furthermore, the disturbance observer 603 is provided with a
low pass filter (LPF) illustrated in a block 605 to prevent system
divergence. The block 605 outputs only a low frequency component to
the input value by performing an arithmetic operation represented
by a transfer function g/(s+g) to stabilize the system. The
difference value between the torque estimation value calculated by
the block 604 and the torque command value .tau..sub.a is input to
the block 605, and a low frequency component of the difference
value is calculated as the disturbance estimation value
.tau..sub.d.
[0122] Feedforward control to add the disturbance estimation value
Td calculated by the disturbance observer 603 to the torque target
value .tau..sup.ref is performed as described above, so that the
command torque .tau..sub.a that is the torque value to be finally
generated in the actuator 630 is calculated. Then, the actuator 630
is driven on the basis of the command torque .tau..sub.a.
Specifically, the command torque .tau..sub.a is converted into a
corresponding current value (current command value), and the
current command value is applied to the motor 624, so that the
actuator 630 is driven.
[0123] The ideal joint control based on the external torque
detected by the torque sensor has been described above with
reference to FIG. 4. With the above-described configuration, the
response of the actuator 630 can be made to follow the target value
even in a case where there is a disturbance component such as
friction in the drive control of the joint units 421a to 421f.
Furthermore, with regard to the drive control of the joint units
421a to 421f, an ideal response according to the inertia I.sub.a
and the viscous drag coefficient v.sub.a assumed by the theoretical
model can be made.
[0124] However, in a configuration using a torque sensor, an
external force acting on an actuator or the like can be detected
with high accuracy, but manufacturing, assembly, management, and
the like are generally costly. Furthermore, the torque sensor may
be subject to operation restrictions and environmental
restrictions. For example, since a torque sensor such as a six-axis
force sensor can detect only an external force acting on a
component to be arranged, the torque sensor cannot detect an
external force acting on another component. Furthermore, the torque
sensor may not be arranged in an environment such as under a high
temperature. For this reason, in a torque control-type device based
on external force, a technique capable of realizing highly accurate
force control has been demanded even in a case where a torque
sensor is not used.
[0125] From the background as described above, the present
inventors have arrived at an idea of a control device 20 of the
present embodiment that realizes torque control based on an
estimated external force. More specifically, the control device 20
according to the present embodiment is characterized in including
an external force estimation unit 260 that estimates an external
force acting on the joint units 421a to 421f of the support arm
device 400 on the basis of a drive characteristic of the actuator,
and controls the drive of the joint units 421a to 421f on the basis
of the external torque estimated by the external force estimation
unit 260.
[0126] According to the control device 20 of the present
embodiment, the external torque acting on the joint units 421a to
421f can be detected with high accuracy without using a torque
sensor, and more flexible force control in which the operation
restrictions and environmental restrictions are eliminated can be
realized. Furthermore, according to the control device 20 of the
present embodiment, provision of the torque sensor as a physical
configuration is not necessary. Therefore, the cost related to the
manufacturing and maintenance of the torque sensor can be
effectively reduced, and the total cost for introducing and
operating the support arm device 400 can be reduced.
[0127] Hereinafter, the ideal joint control by the control device
20 according to the present embodiment will be described. FIG. 5 is
an explanatory diagram for describing the ideal joint control based
on external force estimation according to the present embodiment.
Note that FIG. 5 schematically illustrates a conceptual arithmetic
unit that performs various arithmetic operations regarding the
ideal joint control based on external force estimation in blocks.
Note that the nominal model of P in FIG. 5 is
P.sub.n=1/(J.sub.nS.sup.2). Furthermore, in the following
description, differences from the block diagram based on the torque
sensor illustrated in FIG. 4 will be mainly described, and detailed
description regarding common configurations will be omitted.
[0128] A block 701 represents an arithmetic unit that performs an
arithmetic operation according to an ideal joint model of the joint
units 421a to 421f. The block 701 is different from the block 601
illustrated in FIG. 4, and performs an arithmetic operation using
an estimated external torque .tau.{circumflex over ( )}.sub.e
estimated by a block 707 as an input, instead of the external
torque .tau..sub.e detected by the torque sensor.
[0129] At this time, the block 707 estimates the estimated external
torque .tau.{circumflex over ( )}.sub.e on the basis of a
characteristic of the motor applied to the actuator. A block 702 in
FIG. 5 represents an arithmetic unit that performs an arithmetic
operation depending on the characteristic of the motor applied to
the actuator. As described above, in the ideal joint control
according to the present embodiment, the arithmetic operation based
on a characteristic of an applied motor is performed, whereby
various motors can be coped with and the estimated external torque
.tau.{circumflex over ( )}.sub.e can be estimated with high
accuracy.
[0130] Hereinafter, details of the ideal joint control according to
the type of a motor by the control device 20 according to the
present embodiment will be described. Here, examples of the motor
include an electromagnetic motor, an ultrasonic motor, and the
like. First, the ideal joint control regarding an actuator
including an electromagnetic motor will be described.
[0131] FIG. 6 is a diagram schematically illustrating a schematic
configuration 802 of an actuator 800 including an electromagnetic
motor 810. As illustrated in FIG. 6, the actuator 800 of the
present embodiment includes the electromagnetic motor 810, a speed
reducer 820, an encoder 850, and a brake 880 as main configuration
elements.
[0132] Furthermore, FIG. 7 is a diagram for describing external
force estimation in a case where the actuator 800 including the
electromagnetic motor 810 is applied. FIG. 7 schematically
illustrates a conceptual arithmetic unit that performs various
arithmetic operations according to the electromagnetic motor 810 in
blocks.
[0133] In the case where the electromagnetic motor 810 is used for
the drive of the joint units 421a to 421f, the control device 20
according to the present embodiment can estimate the estimated
external torque .tau.{circumflex over ( )}.sub.e on the basis of a
current command torque T.sub.i_ref using a current value i.sub.ref
and a motion estimation torque .tau..sub.mt using an encoder value
q. In other words, the control device 20 according to the present
embodiment realizes the ideal joint control by using the following
mathematical expression (13) instead of the above mathematical
expression (12).
[Math. 12]
I.sub.a{umlaut over (q)}=.tau..sub.a+{circumflex over
(.tau.)}.sub.e-v.sub.a{dot over
(q)}=.tau..sub.a+(.tau..sub.i_ref-.tau..sub.mt)-v.sub.a{dot over
(q)} (13)
[0134] A block 711 in FIG. 7 is an arithmetic unit that calculates
a torque value according to the type of the motor. In the case
where the electromagnetic motor 810 is used for the drive of the
joint units 421a to 421f, the block 711 outputs the current command
torque .tau..sub.i_ref on the basis of the input current value
i.sub.ref. Here, Q illustrated in FIG. 7 may be Q=1/K.sub.t. The
block 711 can calculate the current command torque .tau..sub.i_ref
by the following mathematical expression (14). Note that K.sub.t
represents a torque constant.
[Math. 13]
.tau..sub.i_ref=K.sub.ti.sub.ref (14)
[0135] Furthermore, the control device 20 according to the present
embodiment calculates the motion estimation torque .tau..sub.mt by
the following mathematical expression (15) on the basis of the
characteristic of the electromagnetic motor 810.
[Math. 14]
.tau..sub.mi=M(q){umlaut over (q)}+c(q,{dot over (q)})+g(q)+h({dot
over (q)})+k(q,{dot over (q)},{umlaut over (q)}) (15)
[0136] M, c, and g in the above mathematical expression (15)
represent an inertia term, a velocity term, and a gravity term
based on design information of the electromagnetic motor 810,
respectively. A block 712 illustrated in FIG. 7 is an arithmetic
block that outputs the inertia term, the velocity term, and the
gravity term on the basis of the design information of the
motor.
[0137] Furthermore, h and k in the above mathematical expression
(15) represent a friction torque and an internal consumption
torque, respectively. A block 713 illustrated in FIG. 7 is an
arithmetic unit that calculates the friction torque, and a block
714 is an arithmetic unit that calculates the internal consumption
torque such as a distortion torque and a torsion torque. At this
time, the blocks 713 and 714 are characterized in using a model
identification result for the calculation of the friction torque
and the internal consumption torque that cannot be calculated from
the design information.
[0138] FIG. 8 is a graph for describing model identification using
measurement tests of static friction and dynamic friction according
to the speed reducer 820. In FIG. 8, the measured static friction
torque and dynamic friction torque of the speed reducer 820 are
illustrated by the dotted line, and the friction torque modeled on
the basis of measurement values is illustrated by the solid line.
At this time, the following mathematical expression (16) may be
used for the modeling the friction torque, for example.
[Math. 15]
h({dot over (q)})=F.sub.csgn({dot over (q)})+D{dot over (q)}
(16)
[0139] Note that, in the above mathematical expression (16), Fc
represents a static friction coefficient, D represents a viscous
friction coefficient, and sgn represents a sign function
corresponding to the rotation angular speed. Furthermore, the above
mathematical expression (16) is merely an example, and the model
mathematical expression of the friction torque according to the
present embodiment may be higher order or a continuous
function.
[0140] As described above, the control device 20 according to the
present embodiment enables the estimation of the external torque
with high accuracy by calculating various values according to the
characteristics of the electromagnetic motor 810, and can realize
the ideal joint control without using a torque sensor. Note that a
block 715 in FIG. 7 represents a low-pass filter.
[0141] First, the ideal joint control regarding an actuator
including an ultrasonic motor will be described. First, a
configuration example of an actuator 900 including an ultrasonic
motor will be described. FIG. 9 is a cross-sectional view
illustrating a configuration example of the actuator 900 according
to the present embodiment. The actuator 900 includes an ultrasonic
motor 910, a fixed frame 920, a rotating frame 930, a bearing 940,
an encoder 950, and an output frame 960. The ultrasonic motor 910,
the fixed frame 920, the rotating frame 930, the bearing 940, the
encoder 950, and the output frame 960 are all configured in a
hollow ring shape.
[0142] The fixed frame 920 is fixed to one of two members that
relatively rotate in the joint units 421a to 421f. The ultrasonic
motor 910 includes a stator 912 and a rotor 914. The stator 912 is
equipped with a piezoelectric element (piezo element) that
generates ultrasonic vibration (not illustrated). The rotor 914 is
pressed against a vibration surface of the stator 912 and rotates
by the ultrasonic vibration of the stator 912. The rotating frame
930 is fixed to the rotor 914 and rotates together with the rotor
914. The bearing 940 is provided between the fixed frame 920 and
the rotating frame 930, and is configured such that the rotating
frame 930 rotates with respect to the fixed frame 920 via the
bearing 940.
[0143] The output frame 960 is fixed to the rotating frame 930 and
rotates together with the rotating frame 930. An end portion 162 of
the output frame 960 opposite to the rotating frame 930 is fixed to
the other of the two members that relatively rotate in the joint
units 421a to 421f. Furthermore, the output frame 960 is provided
with a thin-walled portion 964 having a thickness in a radial
direction thinner than a periphery.
[0144] The encoder 950 includes a detection unit 952 and a rotor
954, and detects a rotation angle of the rotor 954 as the detection
unit 952 detects the rotation of the rotor 954.
[0145] FIG. 10 is a diagram schematically illustrating a schematic
configuration 902 of the actuator 900 including the ultrasonic
motor 910. As illustrated in FIG. 10, the actuator 900 of the
present embodiment includes the ultrasonic motor 910 and the
encoder 950 as main configuration elements. In general, an
ultrasonic motor has characteristics that an output by a single
motor is large and the number of rotations is low, and is used for
direct drive or at a low reduction rate. For this reason, as
illustrated in FIGS. 9 and 10, in a case where the actuator 900
does not include a speed reducer having nonlinear torque
transmission characteristics, even a small external torque can be
easily estimated.
[0146] Furthermore, FIG. 11 is a diagram for describing external
force estimation of the case where the actuator 900 including the
ultrasonic motor 910 is applied. FIG. 11 schematically illustrates
a conceptual arithmetic unit that performs various arithmetic
operations according to the ultrasonic motor 910 in blocks. Note
that, in the following description, differences from the external
force estimation regarding the electromagnetic motor 810 will be
mainly described, and detailed description of common configurations
and functions will be omitted.
[0147] As described above, the block 711 is an arithmetic unit that
calculates a torque value according to the type of the motor. In a
traveling wave-type ultrasonic motor, control based on a phase
difference is performed for two piezoelectric elements. More
specifically, the frequency is fixed and the phase difference is
controlled to be -90.degree. to 90.degree.. In the phase control
regarding the ultrasonic motor, the phase becomes 0 when the motor
torque is 0 but the stator 912 performs resonance vibration.
Therefore, no rotational force is generated but the friction
between the stator 912 and the rotor 914 becomes small. For this
reason, the ultrasonic motor has a characteristic that the back
drivability becomes smaller.
[0148] Therefore, in a case where the ultrasonic motor 910 is used
for the drive of the joint units 421a to 421f, the block 711
calculates a phase difference command torque .tau..sub.p_ref
instead of the current command torque .tau..sub.i_ref described
with reference to FIG. 7.
[0149] FIG. 12 is a graph illustrating a measurement result of an
output torque of the ultrasonic motor 910 according to the phase
difference. As illustrated in FIG. 12, the output torque of the
ultrasonic motor 910 is substantially linear with respect to the
phase difference (P.sub.ref). Therefore, the phase difference
command torque i.sub.p_ref can be modeled by the following
mathematical expression (17).
[Math. 16]
.tau..sub.p_ref=K.sub.pp.sub.ref (17)
[0150] Here, K.sub.p in mathematical expression (17) above
represents a torque constant, and P.sub.ref represents the phase
difference. In other words, in a case where the ultrasonic motor
910 is used for the drive of the joint units 421a to 421f, the
block 711 can calculate the phase difference command torque
.tau..sub.p_ref by applying the above mathematical expression (17)
to the input phase difference P.sub.ref. Note that Q in FIG. 11
represents Q=1/K.sub.p.
[0151] Furthermore, the control device 20 can calculate the motion
estimation torque .tau..sub.mt on the basis of the characteristics
of the ultrasonic motor 910 and estimate the final estimated
external torque, similarly to the case of using the electromagnetic
motor 810. According to the above function of the control device
20, when the ultrasonic motor 910 having a small influence of the
back drivability, the estimated external torque can be estimated
even in the case where the external torque is small, and initial
light torque control can be realized without using a torque sensor.
Furthermore, according to the control device 20, easier torque
estimation can be realized without being affected by the nonlinear
torque transmission characteristics regarding the speed
reducer.
[0152] As described above, the control device 20 according to the
present embodiment performs the arithmetic operation according to
the type of the motor to enable the estimation of the external
torque with high accuracy, and can realize the ideal joint control
without using a torque sensor.
[0153] Note that, in the above description, the electromagnetic
motor and the ultrasonic motor have been described as examples used
for the drive of the joint units 421a to 421f. However, the type of
the motor according to the present embodiment is not limited to the
examples. The control device 20 according to the present embodiment
can cope with various motors by performing arithmetic operations
according to types as described above. As examples of the motor, an
electrostatic force motor, a hydraulic motor, a pneumatic motor,
and the like are assumed in addition to the above-described
electromagnetic motor and ultrasonic motor.
[0154] Furthermore, the control device 20 according to the present
embodiment is characterized in performing the arithmetic operation
using the model identification result based on the measurement
result, as described above. At this time, the control device 20 can
improve the accuracy of the model by various methods.
[0155] For example, the control device 20 collects measurement
values from a plurality of support arm devices 400 through a
network, thereby efficiently accumulating data and performing
highly accurate model identification.
[0156] Furthermore, the control device 20 may improve the accuracy
of the model by machine learning, for example. At this time, the
control device 20 may perform learning using the information such
as angles, angular velocities, torque values, current values, and
phase differences regarding the joint units 421a to 421f and sensor
values collected by various sensors included in the support arm
device 400. As the sensor value, for example, an acceleration
sensor value or an external sensor value (three-dimensional
measurement data, jig, or the like) is assumed.
[0157] Furthermore, the control device 20 can also perform learning
using, for example, the external torque actually measured by the
torque sensor as a teacher. The control device 20 can perform
various types of learning using machine learning methods such as
support vector machine (SVM), neural networks, regression models,
or statistical methods.
[0158] The ideal joint control according to the present embodiment
has been described in detail above. As described above, according
to the control device 20 of the present embodiment, the torque
control based on the estimated external force is realized and more
various situations can be coped with.
[0159] More specifically, according to the control device 20 of the
present embodiment, the cost for manufacturing and maintenance of
the torque sensor can be reduced, and the total cost related to the
introduction of the support arm device 400 can be reduced.
Furthermore, according to the control device 20 of the present
embodiment, the ideal joint control with high accuracy can be
realized even in a case where arrangement of the torque sensor is
difficult due to the environmental constraints and operation
constraints.
[0160] Furthermore, according to the external force estimation by
the control device 20 of the present embodiment, the arrangement of
the torque sensor is not required. Therefore, an increase in cost
for part replacement or the like, which may be caused due to
malfunction or the like of the torque sensor, can be eliminated,
and at the same time, the actuator and the support arm device 400
can be further downsized.
[0161] Note that the control device 20 according to the present
embodiment may simultaneously control an actuator including a
torque sensor and an actuator not including a torque sensor. For
example, in the case of the support arm device 400 illustrated in
FIG. 2, an actuator including a torque sensor is applied to the
joint unit 421f or the like, close to the imaging unit 423, thereby
realizing ideal joint control with higher reliability, and at the
same time, an actuator not including a torque sensor is applied to
the joint unit 421a close to the base unit 410, thereby reducing
the total cost.
[0162] Furthermore, the control device 20 according to the present
embodiment can simultaneously control the actuator 800 including
the electromagnetic motor 810 and the actuator 900 including the
ultrasonic motor 910. Thus, according to the technical idea of the
present disclosure, appropriate actuators can be respectively
adopted according to the environment and other requirements, and a
more flexible device configuration and operation can be
realized.
[0163] [2-4. Configuration of Support Arm System]
[0164] Next, a configuration of a support arm system according to
the present embodiment in which the whole body coordination control
and the ideal joint control described in [2-2. Generalized Inverse
Dynamics] and [2-3. Ideal Joint Control] above are applied to the
drive control of the support arm device will be described.
[0165] A configuration example of a support arm system according to
an embodiment of the present disclosure will be described with
reference to FIG. 13. FIG. 13 is a functional block diagram
illustrating a configuration example of a support arm system
according to an embodiment of the present disclosure. Note that, in
the support arm system illustrated in FIG. 13, a configuration
related to drive control of an arm unit of a support arm device
will be mainly illustrated.
[0166] Referring to FIG. 13, a support arm system 1 according to an
embodiment of the present disclosure includes a support arm device
10, the control device 20, and a display device 30. In the present
embodiment, the control device 20 performs various arithmetic
operations in the whole body coordination control described in
[2-2. Generalized Inverse Dynamics] and the ideal joint control
described in [2-3. Ideal Joint Control] above, and controls drive
of the arm unit of the support arm device 10 on the basis of
arithmetic operation results. Furthermore, the arm unit of the
support arm device 10 is provided with an imaging unit 140
described below, and an image captured by the imaging unit 140 is
displayed on a display screen of the display device 30.
Hereinafter, configurations of the support arm device 10, the
control device 20, and the display device 30 will be described in
detail.
[0167] The support arm device 10 includes the arm unit that is a
multilink structure having a plurality of links connected by a
joint unit including an actuator, and drives the arm unit within a
movable range to control the position and posture of the distal end
unit provided at the distal end of the arm unit. The support arm
device 10 corresponds to the support arm device 400 illustrated in
FIG. 2.
[0168] Referring to FIG. 13, the support arm device 10 includes an
arm control unit 110 and an arm unit 120. Furthermore, the arm unit
120 includes a joint unit 130 and the imaging unit 140.
[0169] The arm control unit 110 integrally controls the support arm
device 10 and controls drive of the arm unit 120. The arm control
unit 110 corresponds to the control unit (not illustrated in FIG.
2) described with reference to FIG. 2. Specifically, the arm
control unit 110 includes a drive control unit 111. Drive of the
joint unit 130 is controlled by the control of the drive control
unit 111, so that the drive of the arm unit 120 is controlled. More
specifically, the drive control unit 111 controls a current amount
to be supplied to a motor in an actuator of the joint unit 130 to
control the number of rotations of the motor, thereby controlling a
rotation angle and generated torque in the joint unit 130. However,
as described above, the drive control of the arm unit 120 by the
drive control unit 111 is performed on the basis of the arithmetic
operation result in the control device 20. Therefore, the current
amount to be supplied to the motor in the actuator of the joint
unit 130, which is controlled by the drive control unit 111, is a
current amount determined on the basis of the arithmetic operation
result in the control device 20.
[0170] The arm unit 120 is a multilink structure including a
plurality of joints and a plurality of links, and driving of the
arm unit 120 is controlled by the control of the arm control unit
110. The arm unit 120 corresponds to the arm unit 420 illustrated
in FIG. 2. The arm unit 120 includes the joint unit 130 and the
imaging unit 140. Note that, since functions and configurations of
the plurality of joint units included in the arm unit 120 are
similar to one another, FIG. 13 illustrates a configuration of one
joint unit 130 as a representative of the plurality of joint
units.
[0171] The joint unit 130 rotatably connects the links with each
other in the arm unit 120, and drives the arm unit 120 as
rotational drive of the joint unit 130 is controlled by the control
of the arm control unit 110. The joint unit 130 corresponds to the
joint units 421a to 421f illustrated in FIG. 2. Furthermore, the
joint unit 130 includes an actuator, and the configuration of the
actuator is similar to the configuration illustrated in FIGS. 6,
10, and the like, for example.
[0172] The joint unit 130 includes a joint drive unit 131 and a
joint state detection unit 132.
[0173] The joint drive unit 131 is a drive mechanism in the
actuator of the joint unit 130, and the joint unit 130 is
rotationally driven as the joint drive unit 131 is driven. The
drive of the joint drive unit 131 is controlled by the drive
control unit 111.
[0174] The joint state detection unit 132 detects a state of the
joint unit 130. Here, the state of the joint unit 130 may mean a
state of motion of the joint unit 130. For example, the state of
the joint unit 130 includes information of the rotation angle,
rotation angular speed, rotation angular acceleration, and the like
of the joint unit 130. The joint state detection unit 132 transmits
the detected state of the joint unit 130 to the control device
20.
[0175] The imaging unit 140 is an example of the distal end unit
provided at the distal end of the arm unit 120, and acquires an
image of a capture target. The imaging unit 140 corresponds to the
imaging unit 423 illustrated in FIG. 2. Specifically, the imaging
unit 140 is a camera or the like that can capture the capture
target in the form of a moving image or a still image. More
specifically, the imaging unit 140 includes a plurality of light
receiving elements arrayed in a two dimensional manner, and can
obtain an image signal indicating an image of the capture target by
photoelectric conversion in the light receiving elements. The
imaging unit 140 transmits the acquired image signal to the display
device 30.
[0176] Note that, as in the case of the support arm device 400
illustrated in FIG. 2, the imaging unit 423 is provided at the
distal end of the arm unit 420, the imaging unit 140 is actually
provided at the distal end of the arm unit 120 in the support arm
device 10. FIG. 13 illustrates a state in which the imaging unit
140 is provided at a distal end of a final link via the plurality
of joint units 130 and the plurality of links by schematically
illustrating a link between the joint unit 130 and the imaging unit
140.
[0177] Note that, in the present embodiment, various medical
instruments can be connected to the distal end of the arm unit 120
as the distal end unit. Examples of the medical instruments include
various treatment instruments such as a scalpel and forceps, and
various units used in treatment, such as a unit of various
detection devices such as probes of an ultrasonic examination
device. Furthermore, in the present embodiment, the imaging unit
140 illustrated in FIG. 13 or a unit having an imaging function
such as an endoscope or a microscope may also be included in the
medical instruments. Thus, the support arm device 10 according to
the present embodiment can be said to be a medical support arm
device provided with medical instruments. Similarly, the support
arm system 1 according to the present embodiment can be said to be
a medical support arm control system. Note that the support arm
device 10 illustrated in FIG. 13 can also be said to be a VM
support arm device provided with a unit having an imaging function
as the distal end unit. Furthermore, a stereo camera having two
imaging units (camera units) may be provided at the distal end of
the arm unit 120, and may capture an imaging target to be displayed
as a 3D image.
[0178] The function and configuration of the support arm device 10
have been described above. Next, a function and a configuration of
the control device 20 will be described. Referring to FIG. 13, the
control device 20 includes an input unit 210, a storage unit 220,
and a control unit 230.
[0179] The control unit 230 integrally controls the control device
20 and performs various operations for controlling the drive of the
arm unit 120 in the support arm device 10. Specifically, to control
the drive of the arm unit 120 of the support arm device 10, the
control unit 230 performs various arithmetic operations in the
whole body coordination control and the ideal joint control.
Hereinafter, the function and configuration of the control unit 230
will be described in detail. The whole body coordination control
and the ideal joint control have been already described in [2-2.
Generalized Inverse Dynamics] and [2-3. Ideal Joint Control] above,
and thus detailed description is omitted here.
[0180] The control unit 230 includes a whole body coordination
control unit 240, an ideal joint control unit 250, and an external
force estimation unit 260.
[0181] The whole body coordination control unit 240 performs
various operations regarding the whole body coordination control
using the generalized inverse dynamics. In the present embodiment,
the whole body coordination control unit 240 acquires a state (arm
state) of the arm unit 120 on the basis of the state of the joint
unit 130 detected by the joint state detection unit 132.
Furthermore, the whole body coordination control unit 240
calculates a control value for the whole body coordination control
of the arm unit 120 in an operation space, using the generalized
inverse dynamics, on the basis of the arm state, and a motion
purpose and a constraint condition of the arm unit 120. Note that
the operation space is a space for describing the relationship
between the force acting on the arm unit 120 and the acceleration
generated in the arm unit 120, for example.
[0182] The whole body coordination control unit 240 includes an arm
state acquisition unit 241, an arithmetic condition setting unit
242, a virtual force calculation unit 243, and a real force
calculation unit 244.
[0183] The arm state acquisition unit 241 acquires the state (arm
state) of the arm unit 120 on the basis of the state of the joint
unit 130 detected by the joint state detection unit 132. Here, the
arm state may mean the state of motion of the arm unit 120. For
example, the arm state includes information such as the position,
speed, and acceleration of the arm unit 120. As described above,
the joint state detection unit 132 acquires, as the state of the
joint unit 130, the information of the rotation angle, rotation
angular speed, rotation angular acceleration, and the like in each
joint unit 130. Furthermore, although to be described below, the
storage unit 220 stores various types of information to be
processed by the control device 20. In the present embodiment, the
storage unit 220 may store various types of information (arm
information) regarding the arm unit 120, for example, the number of
joint units 130 and links configuring the arm unit 120, connection
states between the links and the joint units 130, and lengths of
the links, and the like. The arm state acquisition unit 241 can
acquire the arm information from the storage unit 220. Therefore,
the arm state acquisition unit 241 can acquire, as the arm state,
information such as the positions (coordinates) in the space of the
plurality of joint units 130, the plurality of links, and the
imaging unit 140 (in other words, the shape of the arm unit 120 and
the position and posture of the imaging unit 140), and the forces
acting on the joint units 130, the links, and the imaging unit 140,
on the basis of the state and the arm information of the joint
units 130. The arm state acquisition unit 241 transmits the
acquired arm information to the arithmetic condition setting unit
242.
[0184] The arithmetic condition setting unit 242 sets arithmetic
conditions in an operation regarding the whole body coordination
control using the generalized inverse dynamics. Here, the
arithmetic conditions may be a motion purpose and a constraint
condition. The motion purpose may be various types of information
regarding the motion of the arm unit 120. Specifically, the motion
purpose may be target values of the position and posture
(coordinates), speed, acceleration, force, and the like of the
imaging unit 140, or target values of the positions and postures
(coordinates), speeds, accelerations, forces, and the like of the
plurality of joint units 130 and the plurality of links of the arm
unit 120. Furthermore, the constraint condition may be various
types of information that restricts (restrains) the motion of the
arm unit 120. Specifically, the constraint condition may be
coordinates of a region where each configuration component of the
arm unit cannot move, an unmovable speed, a value of acceleration,
a value of an ungenerable force, and the like. Furthermore,
restriction ranges of various physical quantities under the
constraint condition may be set according to inability to
structurally realizing the arm unit 120 or may be appropriately set
by the user. Furthermore, the arithmetic condition setting unit 242
includes a physical model for the structure of the arm unit 120 (in
which, for example, the number and lengths of the links configuring
the arm unit 120, the connection states of the links via the joint
units 130, the movable ranges of the joint units 130, and the like
are modeled), and may set a motion condition and the constraint
condition by generating a control model in which the desired motion
condition and constraint condition are reflected in the physical
model.
[0185] In the present embodiment, appropriate setting of the motion
purpose and the constraint condition enables the arm unit 120 to
perform a desired motion. For example, not only the imaging unit
140 can be moved to a target position by setting a target value of
the position of the imaging unit 140 as the motion purpose but also
the arm unit 120 can be driven by providing a constraint of
movement by the constraint condition, for example, to prevent the
arm unit 120 from intruding into a predetermined region in the
space.
[0186] A specific example of the motion purpose includes, for
example, a pivot motion, which is a turning motion with an axis of
a cone as a pivot axis, in which the imaging unit 140 moves in a
conical surface setting an operation site as a vertex in a state
where the capture direction of the imaging unit 140 is fixed to the
operation site. Furthermore, in the pivot motion, the turning
motion may be performed in a state where the distance between the
imaging unit 140 and a point corresponding to the vertex of the
cone is kept constant. By performing such a pivot motion, an
observation site can be observed from an equal distance and at
different angles, whereby the convenience of the user who performs
surgery can be improved.
[0187] Furthermore, as another specific example, the motion purpose
may be content to control the generated torque in each joint unit
130. Specifically, the motion purpose may be a power assist motion
to control the state of the joint unit 130 to cancel the gravity
acting on the arm unit 120, and further control the state of the
joint unit 130 to support the movement of the arm unit 120 in a
direction of a force provided from the outside. More specifically,
in the power assist motion, the drive of each joint unit 130 is
controlled to cause each joint unit 130 to generate a generated
torque that cancels the external torque due to the gravity in each
joint unit 130 of the arm unit 120, whereby the position and
posture of the arm unit 120 are held in a predetermined state. In a
case where an external torque is further added from the outside
(for example, from the user) in the aforementioned state, the drive
of each joint unit 130 is controlled to cause each joint unit 130
to generate a generated torque in the same direction as the added
external torque. By performing such a power assist motion, the user
can move the arm unit 120 with a smaller force in a case where the
user manually moves the arm unit 120. Therefore, a feeling as if
the user moved the arm unit 120 under weightlessness can be
provided to the user. Furthermore, the above-described pivot motion
and the power assist motion can be combined.
[0188] Here, in the present embodiment, the motion purpose may mean
an action (motion) of the arm unit 120 realized by the whole body
coordination control or may mean an instantaneous motion purpose in
the action (in other words, a target value in the motion purpose).
For example, in the above-described pivot motion, the imaging unit
140 performing the pivot motion itself is the motion purpose. In
the act of performing the pivot motion, values of the position,
speed, and the like of the imaging unit 140 in a conical surface in
the pivot motion are set as the instantaneous motion purpose (the
target values in the motion purpose). Furthermore, in the
above-described power assist motion, for example, performing the
power assist motion to support the movement of the arm unit 120 in
the direction of the force applied from the outside itself is the
motion purpose. In the act of performing the power assist motion,
the value of the generated torque in the same direction as the
external torque applied to each joint unit 130 is set as the
instantaneous motion purpose (the target value in the motion
purpose). The motion purpose in the present embodiment is a concept
including both the instantaneous motion purpose (for example, the
target values of the positions, speeds, forces, and the like of the
configuration members of the arm unit 120 at a certain time) and
the operations of the configuration members of the arm unit 120
realized over time as a result of the instantaneous motion purpose
having been continuously achieved. The instantaneous motion purpose
is set each time in each step in an arithmetic operation for the
whole body coordination control in the whole body coordination
control unit 240, and the arithmetic operation is repeatedly
performed, so that the desired motion purpose is finally
achieved.
[0189] Note that, in the present embodiment, the viscous drag
coefficient in a rotational motion of each joint unit 130 may be
appropriately set when the motion purpose is set. As described
above, the joint unit 130 according to the present embodiment is
configured to be able to appropriately adjust the viscous drag
coefficient in the rotation motion of the actuator 430. Therefore,
by setting the viscous drag coefficient in the rotational motion of
each joint unit 130 when setting the motion purpose, an easily
rotatable state or a less easily rotatable state can be realized
for the force applied from the outside, for example. For example,
in the above-descried power assist motion, when the viscous drag
coefficient in the joint unit 130 is set to be small, a force
required by the user to move the arm unit 120 can be made small,
and a weightless feeling provided to the user can be promoted. As
described above, the viscous drag coefficient in the rotational
motion of each joint unit 130 may be appropriately set according to
the content of the motion purpose.
[0190] Here, in the present embodiment, as will be described below,
the storage unit 220 may store parameters regarding the operation
conditions such as the motion purpose and the constraint condition
used in the operation regarding the whole body coordination
control. The arithmetic condition setting unit 242 can set the
constraint condition stored in the storage unit 220 as the
constraint condition used for the operation of the whole body
coordination control.
[0191] Furthermore, in the present embodiment, the arithmetic
condition setting unit 242 can set the motion purpose by a
plurality of methods. For example, the arithmetic condition setting
unit 242 may set the motion purpose on the basis of the arm state
transmitted from the arm state acquisition unit 241. As described
above, the arm state includes information of the position of the
arm unit 120 and information of the force acting on the arm unit
120. Therefore, for example, in a case where the user is trying to
manually move the arm unit 120, information regarding how the user
is moving the arm unit 120 is also acquired by the arm state
acquisition unit 241 as the arm state. Therefore, the arithmetic
condition setting unit 242 can set the position, speed, force, and
the like to/at/with which the user has moved the arm unit 120, as
the instantaneous motion purpose, on the basis of the acquired arm
state. By thus setting the motion purpose, the drive of the arm
unit 120 is controlled to follow and support the movement of the
arm unit 120 by the user.
[0192] Furthermore, for example, the arithmetic condition setting
unit 242 may set the motion purpose on the basis of an instruction
input from the input unit 210 by the user. Although to be described
below, the input unit 210 is an input interface for the user to
input information, commands, and the like regarding the drive
control of the support arm device 10 to the control device 20. In
the present embodiment, the motion purpose may be set on the basis
of an operation input from the input unit 210 by the user.
Specifically, the input unit 210 has, for example, operation unit
operated by the user, such as a lever and a pedal. The positions,
speeds, and the like of the configuration members of the arm unit
120 may be set as the instantaneous motion purpose by the
arithmetic condition setting unit 242 in response to an operation
of the lever, pedal, or the like.
[0193] Moreover, for example, the arithmetic condition setting unit
242 may set the motion purpose stored in the storage unit 220 as
the motion purpose used for the operation of the whole body
coordination control. For example, in the case of the motion
purpose that the imaging unit 140 stands still at a predetermined
point in the space, coordinates of the predetermined point can be
set in advance as the motion purpose. Furthermore, for example, in
the case of the motion purpose that the imaging unit 140 moves on a
predetermined trajectory in the space, coordinates of each point
representing the predetermined trajectory can be set in advance as
the motion purpose. As described above, in a case where the motion
purpose can be set in advance, the motion purpose may be stored in
the storage unit 220 in advance. Furthermore, in the case of the
above-described pivot motion, for example, the motion purpose is
limited to a motion purpose setting the position, speed, and the
like in the conical surface as the target values. In the case of
the power assist motion, the motion purpose is limited to a motion
purpose setting the force as the target value. In the case where
the motion purpose such as the pivot motion or the power assist
motion is set in advance in this way, information regarding ranges,
types and the like of the target values settable as the
instantaneous motion purpose in such a motion purpose may be stored
in the storage unit 220. The arithmetic condition setting unit 242
can also set the various types of information regarding such a
motion purpose as the motion purpose.
[0194] Note that by which method the arithmetic condition setting
unit 242 sets the motion purpose may be able to be appropriately
set by the user according to the application of the support arm
device 10 or the like. Furthermore, the arithmetic condition
setting unit 242 may set the motion purpose and the constraint
condition by appropriately combining the above-described methods.
Note that a priority of the motion purpose may be set in the
constraint condition stored in the storage unit 220, or in a case
where there is a plurality of motion purposes different from one
another, the arithmetic condition setting unit 242 may set the
motion purpose according to the priority of the constraint
condition. The arithmetic condition setting unit 242 transmits the
arm state and the set motion purpose and constraint condition to
the virtual force calculation unit 243.
[0195] The virtual force calculation unit 243 calculates a virtual
force in the operation regarding the whole body coordination
control using the generalized inverse dynamics. The processing of
calculating the virtual force performed by the virtual force
calculation unit 243 may be the series of processing described in,
for example, (2-2-1. Virtual Force Calculation Processing) above.
The virtual force calculation unit 243 transmits the calculated
virtual force f.sub.v to the real force calculation unit 244.
[0196] The real force calculation unit 244 calculates a real force
in the operation regarding the whole body coordination control
using the generalized inverse dynamics. The processing of
calculating the real force performed by the real force calculation
unit 244 may be the series of processing described in, for example,
(2-2-2. Real Force Calculation Processing) above. The real force
calculation unit 244 transmits the calculated real force (generated
torque) .tau..sub.a to the ideal joint control unit 250. Note that,
as described above, in the present embodiment, the generated torque
.tau..sub.a calculated by the real force calculation unit 244 is
also referred to as a command torque or a control value in the
sense of a command value to the joint unit 130 in the whole body
coordination control.
[0197] The ideal joint control unit 250 performs various operations
regarding the ideal joint control using the generalized inverse
dynamics. In the present embodiment, the ideal joint control unit
250 corrects the influence of disturbance for the generated torque
.tau..sub.a calculated by the real force calculation unit 244 to
calculate the command torque .tau..sub.a realizing an ideal
response of the arm unit 120. Note that the arithmetic processing
performed by the ideal joint control unit 250 corresponds to the
series of processing described in [2-3. Ideal Joint Control]
above.
[0198] The ideal joint control unit 250 includes a disturbance
estimation unit 251 and a command value calculation unit 252.
[0199] The disturbance estimation unit 251 calculates the
disturbance estimation value .tau..sub.d on the basis of the
command torque .tau..sub.ar the estimated external torque
.tau.{circumflex over ( )}.sub.e estimated by the external force
estimation unit 260, and the rotation angular speed calculated from
the rotation angle q detected by the rotation angle detection unit
133. Note that the command torque .tau..sub.a mentioned here is a
command value that represents the generated torque in the arm unit
120 to be finally transmitted to the support arm device 10. Thus,
the disturbance estimation unit 251 has a function corresponding to
the disturbance observer 703 illustrated in FIG. 5.
[0200] The command value calculation unit 252 calculates the
command torque .tau..sub.a that is a command value representing the
torque to be generated in the arm unit 120 and finally transmitted
to the support arm device 10, using the disturbance estimation
value .tau..sub.d calculated by the disturbance estimation unit
251. Specifically, the command value calculation unit 252 adds the
disturbance estimation value .tau..sub.d calculated by the
disturbance estimation unit 251 to .tau..sup.ref calculated from
the ideal model of the joint unit 130 described in the above
mathematical expression (12) to calculate the command torque
.tau..sub.a. For example, in a case where the disturbance
estimation value .tau..sub.d is not calculated, the command torque
.tau..sub.a becomes the torque target value .tau..sup.ref.
[0201] As described above, in the ideal joint control unit 250, the
information is repeatedly exchanged between the disturbance
estimation unit 251 and the command value calculation unit 252, so
that the series of processing described with reference to FIG. 5 is
performed. The ideal joint control unit 250 transmits the
calculated command torque .tau..sub.a to the drive control unit 111
of the support arm device 10. The drive control unit 111 performs
control to supply the current amount corresponding to the
transmitted command torque .tau..sub.a to the motor in the actuator
of the joint unit 130, thereby controlling the number of rotations
of the motor and controlling the rotation angle and the generated
torque in the joint unit 130.
[0202] The external force estimation unit 260 has a function to
estimate the external force acting on the joint unit 130 on the
basis of the drive characteristic of the actuator. At this time,
the external force estimation unit 260 calculates the motion
estimation torque related to the drive of the joint unit 130 and
estimates the external torque on the basis of the motion estimation
torque. Furthermore, as described above, in the case where the
motor included in the actuator of the joint unit 130 is an
electromagnetic motor, the external force estimation unit 260 may
estimate the external torque on the basis of the current command
torque related to the drive of the joint unit 130. Furthermore, in
the case where the motor included in the actuator of the joint unit
130 is an ultrasonic motor, the external force estimation unit 260
may estimate the external torque on the basis of the phase
difference command torque related to the drive of the joint unit
130.
[0203] Furthermore, the external force estimation unit 260
estimates the friction torque and the internal consumption torque
related to the drive of the joint unit 130, and can calculate the
motion estimation torque on the basis of the friction torque, the
internal consumption torque, and the like. For example, in the case
where the motor included in the actuator of the joint unit 130 is
an electromagnetic motor, the external force estimation unit 260
may estimate the friction torque using the model identification
result based on the static friction and dynamic friction of the
speed reducer. Thus, the external force estimation unit 260 has a
function corresponding to the block 707 illustrated in FIG. 5.
[0204] In the support arm system 1 according to the present
embodiment, the drive control of the arm unit 120 in the support
arm device 10 is continuously performed during work using the arm
unit 120, so the above-described processing in the support arm
device 10 and the control device 20 is repeatedly performed. In
other words, the state of the joint unit 130 is detected by the
joint state detection unit 132 of the support arm device 10 and
transmitted to the control device 20. The control device 20
performs various operations regarding the whole body coordination
control and the ideal joint control for controlling the drive of
the arm unit 120 on the basis of the state of the joint unit 130,
and the motion purpose and the constraint condition, and transmits
the command torque .tau..sub.a as the arithmetic operation result
to the support arm device 10. As described above, the above
arithmetic operation includes an external torque estimation
operation by the external force estimation unit 260. The support
arm device 10 controls the drive of the arm unit 120 on the basis
of the command torque .tau..sub.a, and the joint state detection
unit 132 detects again the state of the joint unit 130 during or
after the drive.
[0205] Description about other configurations included in the
control device 20 will be continued.
[0206] The input unit 210 is an input interface for the user to
input information, commands, and the like regarding the drive
control of the support arm device 10 to the control device 20. In
the present embodiment, the drive of the arm unit 120 of the
support arm device 10 may be controlled on the basis of the
operation input from the input unit 210 by the user, and the
position and posture of the imaging unit 140 may be controlled.
Specifically, as described above, instruction information regarding
the instruction of the drive of the arm input from the input unit
210 by the user is input to the arithmetic condition setting unit
242, so that the arithmetic condition setting unit 242 may set the
motion purpose in the whole body coordination control on the basis
of the instruction information. The whole body coordination control
is performed using the motion purpose based on the instruction
information input by the user as described above, so that the drive
of the arm unit 120 according to the operation input of the user is
realized.
[0207] Specifically, the input unit 210 includes operation unit
operated by the user, such as a mouse, a keyboard, a touch panel, a
button, a switch, a lever, and a pedal, for example. For example,
in a case where the input unit 210 has a pedal, the user can
control the drive of the arm unit 120 by operating the pedal with
the foot. Therefore, even in a case where the user is performing
treatment using both hands on the operation site of the patient,
the user can adjust the position and posture of the imaging unit
140, in other words, the user can adjust a capture position and a
capture angle of the operation site, by the operation of the pedal
with the foot.
[0208] The storage unit 220 stores various types of information
processed by the control device 20. In the present embodiment, the
storage unit 220 can store various parameters used in the operation
regarding the whole body coordination control and the ideal joint
control performed by the control unit 230. For example, the storage
unit 220 may store the motion purpose and the constraint condition
used in the operation regarding the whole body coordination control
by the whole body coordination control unit 240. The motion purpose
stored in the storage unit 220 may be, as described above, a motion
purpose that can be set in advance, such as, for example, the
imaging unit 140 standing still at a predetermined point in the
space. Furthermore, the constraint conditions may be set in advance
by the user and stored in the storage unit 220 according to a
geometric configuration of the arm unit 120, the application of the
support arm device 10, and the like. Furthermore, the storage unit
220 may also store various types of information regarding the arm
unit 120 used when the arm state acquisition unit 241 acquires the
arm state. Moreover, the storage unit 220 may store the arithmetic
operation result in the arithmetic operation regarding the whole
body coordination control and the ideal joint control by the
control unit 230, various numerical values calculated in the
arithmetic operation process, and the like. As described above, the
storage unit 220 may store any parameters regarding the various
types of processing performed by the control unit 230, and the
control unit 230 can performs various types of processing while
mutually exchanging information with the storage unit 220.
[0209] The function and configuration of the control device 20 have
been described above. Note that the control device 20 according to
the present embodiment can be configured by, for example, various
information processing devices (arithmetic processing devices) such
as a personal computer (PC) and a server. Next, a function and a
configuration of the display device 30 will be described.
[0210] The display device 30 displays the information on the
display screen in various formats such as texts and images to
visually notify the user of various types of information. In the
present embodiment, the display device 30 displays the image
captured by the imaging unit 140 of the support arm device 10 on
the display screen. Specifically, the display device 30 has
functions and configurations of an image signal processing unit
(not illustrated) that applies various types of image processing to
an image signal acquired by the imaging unit 140, a display control
unit (not illustrated) that performs control to display an image
based on the processed image signal on the display screen, and the
like. Note that the display device 30 may have various functions
and configurations that a display device generally has, in addition
to the above-described functions and configurations. The display
device 30 corresponds to the display device 550 illustrated in FIG.
1.
[0211] The functions and configurations of the support arm device
10, the control device 20, and the display device 30 according to
the present embodiment have been described above with reference to
FIG. 13. Each of the above-described configuration elements may be
configured using general-purpose members or circuit, or may be
configured by hardware specialized for the function of each
constituent element. Furthermore, all the functions of the
configuration elements may be performed by a CPU or the like.
Therefore, the configuration to be used can be changed as
appropriate according to the technical level of the time of
carrying out the present embodiment.
[0212] As described above, according to the present embodiment, the
arm unit 120 that is the multilink structure in the support arm
device 10 has at least six degrees or more of freedom, and the
drive of each of the plurality of joint units 130 configuring the
arm unit 120 is controlled by the drive control unit 111. Then, a
medical instrument is provided at the distal end of the arm unit
120. The drive of each of the joint units 130 is controlled as
described above, so that the drive control of the arm unit 120 with
a higher degree of freedom is realized, and the support arm device
10 with higher operability for the user is realized.
3. HARDWARE CONFIGURATION
[0213] Next, a hardware configuration of the support arm device 10
and the control device 20 according to the present embodiment
illustrated in FIG. 13 will be described in detail with reference
to FIG. 14. FIG. 14 is a functional block diagram illustrating a
configuration example of a hardware configuration of the support
arm device 10 and the control device 20 according to an embodiment
of the present disclosure.
[0214] The support arm device 10 and the control device 20 mainly
include a CPU 901, a ROM 903, and a RAM 905. Furthermore, the
support arm device 10 and the control device 20 further include a
host bus 907, a bridge 909, an external bus 911, an interface 913,
an input device 915, an output device 917, a storage device 919, a
drive 921, a connection port 923, and a communication device
925.
[0215] The CPU 901 functions as an arithmetic processing unit and a
control device, and controls the entire operation or a part of the
operation of the support arm device 10 and the control device 20
according to various programs recorded in the ROM 903, the RAM 905,
the storage device 919, or a removable recording medium 927. The
ROM 903 stores programs, operation parameters, and the like used by
the CPU 901. The RAM 905 primarily stores the programs used by the
CPU 901, parameters that appropriately change in execution of the
programs, and the like. The CPU 901, the ROM 903, and the RAM 905
are mutually connected by the host bus 907 configured by an
internal bus such as a CPU bus. In the present embodiment, the CPU
901 corresponds to, for example, the arm control unit 110 and the
control unit 230 illustrated in FIG. 13. Note that the operation
parameters include, for example, various parameters related to
arithmetic conditions such as the motion purpose, constraint
conditions, and the like used in the arithmetic operations
regarding the whole body coordination control, the above-described
arm information, the model identification results used for
estimation of the external torque, and the like.
[0216] The host bus 907 is connected to the external bus 911 such
as a peripheral component interconnect/interface (PCI) bus via the
bridge 909. Furthermore, the input device 915, the output device
917, the storage device 919, the drive 921, the connection port
923, and the communication device 925 are connected to the external
bus 911 via the interface 913.
[0217] The input device 915 is an operation unit operated by the
user, such as a mouse, a keyboard, a touch panel, a button, a
switch, a lever, and a pedal, for example. Furthermore, the input
device 915 may be, for example, a remote control unit (so-called
remote controller) using infrared rays or other radio waves or may
be an externally connected device 929 such as a mobile phone or a
PDA corresponding to the operation of the support arm device 10 and
the control device 20. Moreover, the input device 915 is configured
by, for example, an input control circuit for generating an input
signal on the basis of information input by the user using the
above-described operation unit and outputting the input signal to
the CPU 901, or the like. The user of the support arm device 10 and
the control device 20 operates the input device 915 to input
various data to and instruct a processing operation to the support
arm device 10 and the control device 20. In the present embodiment,
the input device 915 corresponds to, for example, the input unit
210 illustrated in FIG. 13. Furthermore, in the present embodiment,
the motion purpose in the drive of the arm unit 120 may be set by
an operation input by the user via the input device 915, and the
whole body coordination control may be performed according to the
motion purpose.
[0218] The output device 917 is configured by a device that can
visually or audibly notify the user of acquired information. Such
devices include display devices such as a CRT display device, a
liquid crystal display device, a plasma display device, an EL
display device, a lamp, and the like, sound output devices such as
a speaker and a headphone, and a printer device. The output device
917 outputs result obtained by various types of processing
performed by the support arm device 10 and the control device 20,
for example. Specifically, the display device displays the results
of the various types of processing performed by the support arm
device 10 and the control device 20 as texts or images. Meanwhile,
the sound output device converts an audio signal including
reproduced sound data, voice data, or the like into an analog
signal and outputs the analog signal. In the present embodiment,
various types of information regarding the drive control of the arm
unit 120 may be output from the output device 917 in any format.
For example, a moving locus of each configuration member of the arm
unit 120 in the drive control of the arm unit 120 may be displayed
on the display screen of the output device 917 in the form of a
graph. Note that, for example, the display device 30 illustrated in
FIG. 13 may be a device including a function and a configuration as
a display device of the output device 917 and a configuration of a
control unit for controlling the drive of the display device, or
the like.
[0219] The storage device 919 is a device for data storage
configured as an example of a storage unit of the support arm
device 10 and the control device 20. The storage device 919 is
configured by a magnetic storage device such as a hard disk drive
(HDD), a semiconductor storage device, an optical storage device, a
magneto-optical storage device, or the like, for example. The
storage device 919 stores programs executed by the CPU 901, various
data, and the like. In the present embodiment, the storage device
919 corresponds to, for example, the storage unit 220 illustrated
in FIG. 13. Furthermore, in the present embodiment, the storage
device 919 can store arithmetic conditions (motion purpose and
constraint conditions) in the arithmetic operations regarding the
whole body coordination control using the generalized inverse
dynamics, and the support arm device 10 and the control device 20
may perform arithmetic operations regarding the whole body
coordination control using the arithmetic conditions stored in the
storage device 919.
[0220] The drive 921 is a reader/writer for recording media, and is
built in or is externally attached to the support arm device 10 and
the control device 20. The drive 921 reads out information recorded
on the removable recording medium 927 such as a mounted magnetic
disk, optical disk, magneto-optical disk, or semiconductor memory,
and outputs the information to the RAM 905. Furthermore, the drive
921 can also write a record on the removable recording medium 927
such as the mounted magnetic disk, optical disk, magneto-optical
disk, or semiconductor memory. The removable recording medium 927
is, for example, a DVD medium, an HD-DVD medium, a Blu-ray
(registered trademark) medium, or the like. Furthermore, the
removable recording medium 927 may be a compact flash (CF
(registered trademark)), a flash memory, a secure digital (SD)
memory card, or the like. Furthermore, the removable recording
medium 927 may be, for example, an integrated circuit (IC) card on
which a non-contact IC chip is mounted, an electronic device, or
the like. In the present embodiment, various types of information
regarding the drive control of the arm unit 120 may be read from
the various removable recording media 927 or written to the various
removable recording media 927 by the drive 921.
[0221] The connection port 923 is a port for directly connecting a
device to the support arm device 10 and the control device 20.
Examples of the connection port 923 include a universal serial bus
(USB) port, an IEEE 1394 port, a small computer system interface
(SCSI) port, and the like. Other examples of the connection port
923 include an RS-232C port, an optical audio terminal, a
high-definition multimedia interface (HDMI) (registered trademark)
port, and the like. By connecting the externally connected device
929 to the connection port 923, the support arm device 10 and the
control device 20 directly acquires various data from the
externally connected device 929 and provides various data to the
externally connected device 929. In the present embodiment, various
types of information regarding the drive control of the arm unit
120 may be read from the various externally connected devices 929
or written to the various externally connected devices 929 via the
connection port 923.
[0222] The communication device 925 is, for example, a
communication interface configured by a communication device for
being connected to a communication network (network) 931, and the
like The communication device 925 is, for example, a communication
card for a wired or wireless local area network (LAN), Bluetooth
(registered trademark), a wireless USB (WUSB), or the like.
Furthermore, the communication device 925 may be a router for
optical communication, a router for an asymmetric digital
subscriber line (ADSL), a modem for various communications, or the
like. The communication device 925 can transmit and receive signals
and the like, for example, to and from the Internet and other
communication devices in accordance with a predetermined protocol
such as TCP/IP, for example. Furthermore, the communication network
931 connected to the communication device 925 is configured by a
network or the like connected by wire or wirelessly, and may be,
for example, the Internet, home LAN, infrared communication, radio
wave communication, satellite communication, or the like. In the
present embodiment, various types of information regarding the
drive control of the arm unit 120 may be transmitted/received
to/from other external devices via the communication network 931 by
the communication device 925.
[0223] In the above, an example of the hardware configuration that
can realize the functions of the support arm device 10 and the
control device 20 according to the present embodiment of the
present disclosure has been described. Each of the above-described
configuration elements may be configured using general-purpose
members or may be configured by hardware specialized for the
function of each configuration element. Therefore, the hardware
configuration to be used can be changed as appropriate according to
the technical level of the time of carrying out the present
embodiment. Note that, although not illustrated in FIG. 14, the
support arm device 10 naturally includes various configurations
corresponding to the arm unit 120 illustrated in FIG. 13.
[0224] Note that a computer program for realizing the functions of
the support arm device 10, the control device 20, and the display
device 30 according to the above-described present embodiment can
be prepared and implemented in a personal computer or the like.
Furthermore, a computer-readable recording medium in which such a
computer program is stored can be provided. The recording medium
is, for example, a magnetic disk, an optical disk, a
magneto-optical disk, a flash memory, or the like. Furthermore, the
above computer program may be delivered via, for example, a network
without using a recording medium.
4. CONCLUSION
[0225] As described above, the control device 20 according to an
embodiment of the present disclosure can estimate the external
torque regarding the joint unit 130 of the support arm device 10
and can realize the ideal joint control based on the estimated
estimated external torque. According to the configuration, the
torque control based on the estimated external force is realized
and more various situations can be coped with.
[0226] Although the favorable embodiments of the present disclosure
have been described in detail with reference to the accompanying
drawings, the technical scope of the present disclosure is not
limited to such examples. It is obvious that persons having
ordinary knowledge in the technical field of the present disclosure
can conceive various modifications or alterations within the scope
of the technical idea described in the claims, and the
modifications and alterations are naturally understood to belong to
the technical scope of the present disclosure.
[0227] Furthermore, the effects described in the present
specification are merely illustrative or exemplary and are not
restrictive. That is, the technology according to the present
disclosure can exhibit other effects obvious to those skilled in
the art from the description of the present specification together
with or in place of the above-described effects.
[0228] Note that following configurations also belong to the
technical scope of the present disclosure.
[0229] (1)
[0230] A medical support arm system including:
[0231] a support arm that is a multilink structure having a
plurality of links connected by a joint unit including an actuator,
and configured to support a medical unit; and
[0232] a control device including an external force estimation unit
configured to estimate an external force acting on the joint unit
on the basis of a drive characteristic of the actuator, and a joint
control unit configured to control drive of the joint unit on the
basis of an external torque estimated by the external force
estimation unit.
[0233] (2)
[0234] The medical support arm system according to (1), in
which
[0235] the external force estimation unit calculates a motion
estimation torque related to the drive of the joint unit, and
estimates the external torque on the basis of the motion estimation
torque.
[0236] (3)
[0237] The medical support arm system according to (2), in
which
[0238] the external force estimation unit estimates a friction
torque related to the drive of the joint unit, and calculates the
motion estimation torque on the basis of the friction torque.
[0239] (4)
[0240] The medical support arm system according to (3), in
which
[0241] the external force estimation unit estimates the friction
torque using a model identification result based on a static
friction and a dynamic friction of a speed reducer.
[0242] (5)
[0243] The medical support arm system according to any one of (2)
to (4), in which
[0244] the external force estimation unit estimates an internal
consumption torque related to the drive of the joint unit, and
calculates the motion estimation torque on the basis of the
internal consumption torque.
[0245] (6)
[0246] The medical support arm system according to any one of (1)
to (5), in which
[0247] the external force estimation unit estimates the external
torque on the basis of a current command torque related to the
drive of the joint unit.
[0248] (7)
[0249] The medical support arm system according to any one of (1)
to (3), in which
[0250] the external force estimation unit estimates the external
torque on the basis of a phase difference command torque related to
the drive of the joint unit.
[0251] (8)
[0252] The medical support arm system according to any one of (1)
to (6), in which
[0253] the joint control unit controls an electromagnetic motor
that generates a drive force related to the drive of the joint
unit.
[0254] (9)
[0255] The medical support arm system according to any one of (1)
to 3 and 7, in which
[0256] the joint control unit controls an ultrasonic motor that
generates a drive force related to the drive of the joint unit.
[0257] (10)
[0258] The medical support arm system according to any one of (1)
to (9), in which
[0259] the support arm includes a first joint unit not including a
torque sensor and a second joint unit including the torque sensor,
and
[0260] the joint control unit performs drive control of the first
joint unit based on the external torque estimated by the external
force estimation unit and drive control of the second joint unit
based on an external torque detected by the torque sensor.
[0261] (11)
[0262] The medical support arm system according to any one of (1)
to (10), in which
[0263] the actuator includes a first actuator including an
electromagnetic motor that generates a drive force related to the
drive of the joint unit, and a second actuator including an
ultrasonic motor that generates a drive force related to the drive
of the joint unit, and
[0264] the joint control unit controls both the first actuator and
the second actuator.
[0265] (12)
[0266] A medical support arm control method including:
[0267] by a processor, controlling drive of a joint unit including
an actuator of a support arm that is a multilink structure having a
plurality of links connected by the joint unit; and
[0268] estimating an external force acting on the joint unit on the
basis of a drive characteristic of the actuator, in which
[0269] the controlling further includes controlling the drive of
the joint unit on the basis of an estimated external torque.
[0270] (13)
[0271] A medical support arm control device including:
[0272] a joint control unit configured to control drive of a joint
unit including an actuator of a support arm that is a multilink
structure having a plurality of links connected by the joint unit;
and
[0273] an external force estimation unit configured to estimate an
external force acting on the joint unit on the basis of a drive
characteristic of the actuator, in which
[0274] the joint control unit controls the drive of the joint unit
on the basis of an external torque estimated by the external force
estimation unit.
REFERENCE SIGNS LIST
[0275] 1 Support arm system [0276] 10 Support arm device [0277] 20
Control device [0278] 30 Display device [0279] 110 Arm control unit
[0280] 111 Drive control unit [0281] 120 Arm unit [0282] 130 Joint
unit [0283] 131 Joint drive unit [0284] 132 Joint state detection
unit [0285] 133 Rotation angle detection unit [0286] 140 Imaging
unit [0287] 210 Input unit [0288] 220 Storage unit [0289] 230
Control unit [0290] 240 Whole body coordination control unit [0291]
241 Arm state acquisition unit [0292] 242 Arithmetic condition
setting unit [0293] 243 Virtual force calculation unit [0294] 244
Real force calculation unit [0295] 250 Ideal joint control unit
[0296] 251 Disturbance estimation unit [0297] 252 Command value
calculation unit [0298] 260 External force estimation unit
* * * * *