WO2015146850A1 - ロボットアーム装置、ロボットアーム装置の制御方法及びプログラム - Google Patents

ロボットアーム装置、ロボットアーム装置の制御方法及びプログラム Download PDF

Info

Publication number
WO2015146850A1
WO2015146850A1 PCT/JP2015/058568 JP2015058568W WO2015146850A1 WO 2015146850 A1 WO2015146850 A1 WO 2015146850A1 JP 2015058568 W JP2015058568 W JP 2015058568W WO 2015146850 A1 WO2015146850 A1 WO 2015146850A1
Authority
WO
WIPO (PCT)
Prior art keywords
joint
unit
robot arm
arm device
arm
Prior art date
Application number
PCT/JP2015/058568
Other languages
English (en)
French (fr)
Inventor
容平 黒田
栄良 笠井
康久 神川
亘 小久保
利充 坪井
哲治 福島
康宏 松田
宮本 敦史
憲志 廣瀬
Original Assignee
ソニー株式会社
ソニー・オリンパスメディカルソリューションズ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社, ソニー・オリンパスメディカルソリューションズ株式会社 filed Critical ソニー株式会社
Priority to JP2016510305A priority Critical patent/JP6586079B2/ja
Priority to US15/126,552 priority patent/US10369700B2/en
Priority to CN201580015467.6A priority patent/CN106132346B/zh
Priority to EP15770077.4A priority patent/EP3135445B1/en
Publication of WO2015146850A1 publication Critical patent/WO2015146850A1/ja
Priority to US15/929,134 priority patent/US10668625B2/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • A61B34/35Surgical robots for telesurgery
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/74Manipulators with manual electric input means
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/36Image-producing devices or illumination devices not otherwise provided for
    • A61B90/361Image-producing devices, e.g. surgical cameras
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/50Supports for surgical instruments, e.g. articulated arms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/57Mechanical or electrical details of cameras or camera modules specially adapted for being embedded in other devices
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/74Manipulators with manual electric input means
    • A61B2034/743Keyboards
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/74Manipulators with manual electric input means
    • A61B2034/744Mouse
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/06Measuring instruments not otherwise provided for
    • A61B2090/064Measuring instruments not otherwise provided for for measuring force, pressure or mechanical tension
    • A61B2090/065Measuring instruments not otherwise provided for for measuring force, pressure or mechanical tension for measuring contact or contact pressure
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/36Image-producing devices or illumination devices not otherwise provided for
    • A61B90/37Surgical systems with images on a monitor during operation
    • A61B2090/371Surgical systems with images on a monitor during operation with simultaneous use of two cameras
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B90/00Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
    • A61B90/50Supports for surgical instruments, e.g. articulated arms
    • A61B2090/508Supports for surgical instruments, e.g. articulated arms with releasable brake mechanisms
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40415Semi active robot, cobot, guides surgeon, operator to planned trajectory, constraint
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40613Camera, laser scanner on end effector, hand eye manipulator, local
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41397Estimate voltage control signal as function of voltage control signal and position error

Definitions

  • the present disclosure relates to a robot arm device, a control method and a program for the robot arm device.
  • Some robot apparatuses have a multi-link structure in which a plurality of links are connected to each other by joints, and the rotation of the plurality of joints is controlled to control the drive of the robot apparatus as a whole. .
  • position control and force control are known as a control method of the robot apparatus and each joint.
  • a command value such as an angle
  • the driving of the joint is controlled so as to follow the command value.
  • a target value of force to be applied to the work target is given as the entire robot apparatus, and driving of the joint portion (for example, torque generated by the joint portion) is controlled so as to realize the force indicated by the target value. Is done.
  • position control is difficult to respond flexibly to external forces, it is commonly called “hard control”, and tasks (exercises) while performing physical interactions (eg, interpersonal physical interactions) with various external worlds. It is not suitable for a robotic device that performs (objective).
  • force control is a control method that is particularly suitable for robotic devices that perform interpersonal physical interaction because it can realize “soft control” in the order of force, while the system configuration is complicated. It can be said.
  • Patent Document 1 discloses a robot apparatus including a moving mechanism including two opposing wheels and an arm portion having a plurality of joint portions.
  • a robot apparatus is disclosed that performs coordinated control as a whole (performs whole body cooperative control).
  • Patent Document 2 discloses a torque sensor that has a split structure (decoupling structure) and realizes highly accurate torque detection in which the influence of vibration is reduced as much as possible.
  • Patent Document 3 describes a technique that enables operation with a light operating force by using a surgical microscope that employs a structure with a balanced center of gravity.
  • a balanced arm also referred to as a support arm
  • various medical units tip units
  • a general balance type arm since it is balanced and moves with a light force, it is difficult to manipulate a small amount of movement.
  • an imaging part is set to a predetermined part of a patient's body. It was difficult to ensure the degree of freedom of shooting such as shooting from various directions in a fixed state.
  • a joint unit that connects a plurality of links configuring a multi-link structure, and an acquisition unit that acquires an enlargement magnification on a screen of a subject imaged by an imaging unit attached to the multi-link structure.
  • a drive control unit that controls the drive of the joint unit based on the state of the joint unit and the enlargement magnification.
  • the means for detecting the state of the joints that connect a plurality of links constituting the multi-link structure, on the screen of the subject imaged by the imaging unit attached to the multi-link structure There is provided a program for causing a computer to function as means for obtaining the enlargement magnification, and means for controlling the drive of the joint based on the state of the joint and the magnification.
  • the joint part which connects the some link which comprises a multilink structure, and the drive control part which controls the viscosity of the drive of the said joint part based on the state of the said joint part are provided.
  • a robotic arm device is provided.
  • a unit having various imaging functions such as a microscope, an endoscope, and an imaging unit (camera) is provided as a tip unit at the tip of the arm part of the balance type arm, and a practitioner (user) is photographed by the tip unit
  • a counterbalance weight also referred to as a counterweight or a balancer
  • the device used for the operation is required to be further downsized, and it is difficult to meet such a request with the generally proposed balanced arm.
  • the balanced arm only a part of the drive of the arm part, for example, only two-axis drive for moving the tip unit on a plane (two-dimensionally) is electric drive, and the arm part and the tip Movement of the unit requires manual positioning by the practitioner and surrounding medical staff. Therefore, with a general balance-type arm, it is possible to ensure stability during imaging (for example, positioning accuracy of the tip unit and vibration suppression), and for example, in a state where the imaging part is fixed to a predetermined part of the patient's body. It was difficult to shoot from the direction.
  • the subject image captured by the imaging unit is displayed, and the operator operates the robot arm device while checking the captured subject image. May do.
  • the imaging unit has a zoom function, the degree of fine adjustment of the robot arm by the operator differs between when the imaging magnification of the subject is increased and when the imaging magnification is decreased. Therefore, when the imaging magnification is increased, operability that enables precise operation by the operator is required.
  • the present embodiment realizes a robot arm device capable of performing an optimal operation in accordance with an image captured by the imaging unit.
  • FIG. 1 is an explanatory diagram for describing an application example in which a robot arm device according to an embodiment of the present disclosure is used for medical purposes.
  • FIG. 1 schematically shows a state of treatment using the robot arm device according to the present embodiment.
  • a doctor who is a practitioner (user) 520 uses a surgical instrument 521 such as a scalpel, a scissors, or a forceps to perform a treatment target (patient) on the treatment table 530.
  • a state in which an operation is performed on 540 is illustrated.
  • the treatment is a general term for various medical treatments performed on a patient who is a treatment target 540 by a doctor who is a user 520, such as surgery and examination.
  • the state of the operation is illustrated as an example of the operation, but the operation using the robot arm device 510 is not limited to the operation, and other various operations such as an endoscope are used. It may be an inspection or the like.
  • a robot arm device 510 is provided beside the treatment table 530.
  • the robot arm device 510 includes a base portion 511 that is a base and an arm portion 512 that extends from the base portion 511.
  • the arm portion 512 includes a plurality of joint portions 513a, 513b, and 513c, a plurality of links 514a and 514b connected by the joint portions 513a and 513b, and an imaging unit 515 provided at the tip of the arm portion 512.
  • the arm unit 512 includes three joints 513a to 513c and two links 514a and 514b.
  • the positions of the arm unit 512 and the imaging unit 515 and The number and shape of the joint portions 513a to 513c and the links 514a and 514b, the direction of the drive shaft of the joint portions 513a to 513c, etc. may be appropriately set so as to realize a desired degree of freedom in consideration of the freedom of posture. .
  • the joint portions 513a to 513c have a function of connecting the links 514a and 514b to each other so as to be rotatable, and the drive of the arm portion 512 is controlled by driving the rotation of the joint portions 513a to 513c.
  • the position of each component of the robot arm device 510 means the position (coordinates) in the space defined for drive control, and the posture of each component is the drive. It means the direction (angle) with respect to an arbitrary axis in the space defined for control.
  • the driving (or driving control) of the arm unit 512 refers to driving (or driving control) of the joint units 513a to 513c and driving (or driving control) of the joint units 513a to 513c. This means that the position and posture of each component of the arm portion 512 are changed (change is controlled).
  • an imaging unit 515 is provided at the tip of the arm portion 512 as an example of the tip unit.
  • the imaging unit 515 is a unit that acquires an image to be captured (captured image), and is, for example, a camera that can capture a moving image or a still image.
  • the posture and position of the arm unit 512 and the imaging unit 515 are detected by the robot arm device 510 so that the imaging unit 515 provided at the distal end of the arm unit 512 images the state of the treatment site of the treatment target 540. Is controlled.
  • the tip unit provided at the tip of the arm portion 512 is not limited to the imaging unit 515, and may be various medical instruments.
  • the medical instrument include a unit having an imaging function, such as an endoscope, a microscope, and the above-described imaging unit 515, and various units used in the operation, such as various surgical instruments and inspection apparatuses.
  • the robot arm apparatus 510 according to the present embodiment is a medical robot arm apparatus provided with a medical instrument.
  • a stereo camera having two imaging units (camera units) may be provided at the tip of the arm unit 512, and shooting may be performed so that the imaging target is displayed as a three-dimensional image (3D image).
  • a display device 550 such as a monitor or a display is installed at a position facing the user 520.
  • a captured image of the treatment site imaged by the imaging unit 515 is displayed on the display screen of the display device 550.
  • the user 520 performs various treatments while viewing the captured image of the treatment site displayed on the display screen of the display device 550.
  • the robot arm device 510 in the medical field, it is proposed to perform an operation while imaging a treatment site by the robot arm device 510.
  • various treatments including surgery it is required to reduce fatigue and burden on the user 520 and the patient 540 by performing the treatment more efficiently.
  • the robot arm device 510 is considered to require the following performance, for example.
  • the robot arm device 510 is required to secure a working space in the operation.
  • the arm unit 512 or the imaging unit 515 obstructs the view of the practitioner or the movement of the hand performing the treatment, the efficiency of the operation Leading to a decline.
  • a plurality of other doctors who perform various support operations such as handing instruments to the user 520 and checking various vital signs of the patient 540 Since a nurse or the like is generally around the user 520 and the patient 540 and there are other devices for performing the support operation, the surgical environment is complicated. Therefore, it is desirable that the robot arm device 510 be smaller.
  • the robot arm device 510 is required to have high operability when moving the imaging unit 515.
  • the user 520 is required to observe the same surgical site from various positions and angles while performing the treatment on the surgical site.
  • the angle of the imaging unit 515 it is necessary to change the angle of the imaging unit 515 with respect to the treatment site.
  • the imaging direction of the imaging unit 515 is fixed to the treatment site (that is, the same site). It is more desirable that only the angle at which the image is taken changes.
  • the imaging unit 515 moves in the plane of the cone with the treatment site as the apex, and a turning operation with the cone axis as a turning axis (
  • the robot arm device 510 has been required to have operability with a higher degree of freedom, such as a pivot operation.
  • the pivot operation is also called a point lock operation.
  • the image pickup unit 515 can be easily moved with one hand, for example, by moving the imaging unit 515 or the above-described pivoting operation.
  • the photographing center of the photographed image photographed by the imaging unit 515 is changed from a site where treatment is performed to another site (for example, a site where the next treatment is performed). There may be a request to move it. Therefore, when changing the position and orientation of the imaging unit 515, not only the method of manually controlling the driving of the arm unit 512 as described above, but also the driving of the arm unit 512 by an operation input from an input unit such as a pedal, for example.
  • Various driving methods for the arm portion 512 such as a method for controlling the movement, are required.
  • the robot arm device 510 is required to have high operability that meets the intuition and demands of the user 520, for example, to realize the above-described pivoting operation and easy manual movement.
  • the robot arm device 510 is required to have stability in drive control of the arm unit 512.
  • the stability of the arm unit 512 with respect to the drive control may be the stability of the position and posture of the tip unit when the arm unit 512 is driven.
  • the stability of the arm unit 512 with respect to the drive control includes smooth movement of the tip unit and suppression of vibration (vibration suppression) when the arm unit 512 is driven.
  • vibration suppression vibration suppression
  • the robot arm device 510 when the robot arm device 510 is used for surgery, a stereo camera having two imaging units (camera units) as a tip unit is provided, and a three-dimensional image (based on an image captured by the stereo camera) A usage method in which a 3D image) is displayed on the display device 550 can be assumed.
  • a 3D image when a 3D image is displayed, if the position and posture of the stereo camera are unstable, there is a possibility of inducing a so-called 3D sickness of the user.
  • the observation range imaged by the imaging unit 515 may be expanded to about ⁇ 15 mm.
  • the present inventors examined a general existing balanced arm and a robot arm device by position control from the viewpoint of the above three performances.
  • a general balance arm usually has a counterbalance weight (both counterweight or balancer) for balancing the force when the arm is moved. Is provided inside the base portion, etc., it is difficult to reduce the size of the balance-type arm device, and it is difficult to say that the performance is satisfied.
  • the present inventors have obtained knowledge that there is a demand for the above-described three performances regarding the robot arm device. However, it is considered that it is difficult to satisfy these performances with a general existing balanced arm or a robot arm device based on position control. As a result of studying a configuration that satisfies the above-described three performances, the present inventors have conceived a robot arm device, a robot arm control system, a robot arm control method, and a program according to the present disclosure. In the following, preferred embodiments in the configuration conceived by the present inventors will be described in detail.
  • [2-1. [Appearance of Robot Arm Device] shows the appearance of the robot arm device according to the present embodiment, and describes the schematic configuration of the robot arm device.
  • [2-2. Generalized inverse dynamics] and [2-3. About ideal joint control] an outline of generalized inverse dynamics and ideal joint control used for control of the robot arm device according to the present embodiment will be described.
  • [2-4. Configuration of Robot Arm Control System] the configuration of a system for controlling the robot arm device according to the present embodiment will be described using a functional block diagram.
  • [2-5. Specific Example of Exercise Purpose] A specific example of whole body cooperative control using generalized inverse dynamics in the robot arm device according to the present embodiment will be described.
  • the distal end unit of the arm portion of the robot arm device is an imaging unit and a surgical site is imaged by the imaging unit at the time of surgery as illustrated in FIG. 1
  • the present embodiment is not limited to such an example.
  • the robot arm control system according to the present embodiment is applicable even when a robot arm device having another tip unit is used for other purposes.
  • FIG. 2 is a schematic diagram illustrating an appearance of a robot arm device according to an embodiment of the present disclosure.
  • the robot arm device 400 includes a base portion 410 and an arm portion 420.
  • the base unit 410 is a base of the robot arm device 400, and the arm unit 420 is extended from the base unit 410.
  • a control unit that integrally controls the robot arm device 400 may be provided in the base unit 410, and driving of the arm unit 420 may be controlled by the control unit.
  • the said control part is comprised by various signal processing circuits, such as CPU (Central Processing Unit) and DSP (Digital Signal Processor).
  • the arm part 420 includes a plurality of joint parts 421a to 421f, a plurality of links 422a to 422c connected to each other by the joint parts 421a to 421f, and an imaging unit 423 provided at the tip of the arm part 420.
  • the links 422a to 422c are rod-shaped members, one end of the link 422a is connected to the base part 410 via the joint part 421a, the other end of the link 422a is connected to one end of the link 422b via the joint part 421b, The other end of the link 422b is connected to one end of the link 422c via the joint portions 421c and 421d. Furthermore, the imaging unit 423 is connected to the tip of the arm part 420, that is, the other end of the link 422c via joint parts 421e and 421f.
  • the ends of the plurality of links 422a to 422c are connected to each other by the joint portions 421a to 421f with the base portion 410 as a fulcrum, thereby forming an arm shape extending from the base portion 410.
  • the imaging unit 423 is a unit that acquires an image to be captured, and is, for example, a camera that captures a moving image or a still image. By controlling the driving of the arm unit 420, the position and orientation of the imaging unit 423 are controlled. In the present embodiment, the imaging unit 423 images a partial region of the patient's body that is a treatment site, for example.
  • the tip unit provided at the tip of the arm unit 420 is not limited to the imaging unit 423, and various medical instruments may be connected to the tip of the arm unit 420 as the tip unit.
  • the robot arm device 400 according to the present embodiment is a medical robot arm device provided with a medical instrument.
  • the robot arm apparatus 400 will be described with the coordinate axes defined as shown in FIG.
  • the vertical direction, the front-rear direction, and the left-right direction are defined according to the coordinate axes. That is, the vertical direction with respect to the base portion 410 installed on the floor is defined as the z-axis direction and the vertical direction.
  • the direction perpendicular to the z-axis and extending from the base portion 410 to the arm portion 420 (that is, the direction in which the imaging unit 423 is located with respect to the base portion 410) is defined as the y-axis direction and It is defined as the front-rear direction.
  • the directions orthogonal to the y-axis and z-axis are defined as the x-axis direction and the left-right direction.
  • the joint portions 421a to 421f connect the links 422a to 422c so as to be rotatable.
  • the joint portions 421a to 421f have actuators, and have a rotation mechanism that is driven to rotate about a predetermined rotation axis by driving the actuators.
  • the rotational drive in each joint portion 421a to 421f for example, the drive of the arm portion 420 such as extending or shrinking (folding) the arm portion 420 can be controlled.
  • the joint portions 421a to 421f have the following [2-2. Whole body cooperative control described later in Generalized inverse dynamics] and [2-3. The drive is controlled by ideal joint control, which will be described later in “About ideal joint control”.
  • the drive control of the joint portions 421a to 421f is specifically the joint portions 421a to 421f. This means that the rotation angle and / or generated torque (torque generated by the joint portions 421a to 421f) is controlled.
  • the robot arm device 400 has six joint portions 421a to 421f, and six degrees of freedom are realized with respect to driving of the arm portion 420.
  • the joint portions 421a, 421d, and 421f have the major axis direction of each of the connected links 422a to 422c and the shooting direction of the connected imaging unit 473 as the rotation axis direction.
  • the joint portions 421b, 421c, and 421e are configured so that the link angle between the links 422a to 422c and the imaging unit 473 connected to each other is a yz plane (a plane defined by the y axis and the z axis).
  • the x-axis direction which is the direction to be changed in (), is provided as the rotation axis direction.
  • the joint portions 421a, 421d, and 421f have a function of performing so-called yawing
  • the joint portions 421b, 421c, and 421e have a function of performing so-called pitching.
  • the robot arm device 400 realizes six degrees of freedom for driving the arm unit 420. Therefore, the imaging unit is within the movable range of the arm unit 420. 423 can be moved freely.
  • a hemisphere is illustrated as an example of the movable range of the imaging unit 423. Assuming that the center point of the hemisphere is the imaging center of the treatment site imaged by the imaging unit 423, the imaging unit 423 is moved on the spherical surface of the hemisphere while the imaging center of the imaging unit 423 is fixed to the center point of the hemisphere. By doing so, the treatment site can be imaged from various angles.
  • FIG. 3 is a cross-sectional view schematically showing a state where the actuators of the joint portions 421a to 421f according to an embodiment of the present disclosure are cut along a cross section passing through the rotation axis.
  • the joint portions 421a to 421f may have other configurations.
  • the joint portions 421a to 421f have a control unit for controlling driving of the actuator, a support member for connecting and supporting the links 422a to 422c and the imaging unit 423, in addition to the configuration shown in FIG.
  • Various configurations necessary for driving the arm portion 420 are provided.
  • the driving of the joint portion of the arm portion may mean the driving of the actuator in the joint portion.
  • the joint portions 421a to 421f have the following [2-3.
  • the drive is controlled by ideal joint control, which will be described later in “About ideal joint control”. Therefore, the actuators of the joint portions 421a to 421f shown in FIG. 3 are configured to be able to drive corresponding to ideal joint control.
  • the actuators of the joint portions 421a to 421f are configured to be able to adjust the rotation angle and the torque associated with the rotation drive in the joint portions 421a to 421f.
  • the actuators of the joint portions 421a to 421f are configured so as to be able to arbitrarily adjust the viscous resistance coefficient with respect to the rotational motion.
  • the actuator is easily rotated with respect to an external force (that is, the arm portion 420 is manually operated). It is possible to realize a state of being easily moved) and a state of being difficult to rotate (that is, it is difficult to manually move the arm unit 420).
  • the actuator 430 of the joint portions 421a to 421f includes a motor 424, a motor driver 425, a speed reducer 426, an encoder 427, a torque sensor 428, and a drive shaft 429.
  • the encoder 427, the motor 424, the speed reducer 426, and the torque sensor 428 are connected in series to the drive shaft 429 in this order.
  • the motor 424 is a prime mover in the actuator 430, and rotates the drive shaft 429 around the axis.
  • the motor 424 is an electric motor such as a brushless DC motor.
  • the rotation of the motor 424 is controlled by supplying a current.
  • the motor driver 425 is a driver circuit (driver IC (Integrated Circuit)) that rotates the motor 424 by supplying current to the motor 424, and the rotation of the motor 424 is adjusted by adjusting the amount of current supplied to the motor 424.
  • the number can be controlled.
  • the motor driver 425 can adjust the viscous resistance coefficient with respect to the rotational motion of the actuator 430 as described above by adjusting the amount of current supplied to the motor 424.
  • the speed reducer 426 is connected to the drive shaft 429 and generates a rotational drive force (ie, torque) having a predetermined value by reducing the rotational speed of the drive shaft 429 generated by the motor 424 at a predetermined reduction ratio.
  • a rotational drive force ie, torque
  • the speed reducer 426 a backlashless high performance speed reducer is used.
  • the speed reducer 426 may be a harmonic drive (registered trademark).
  • Torque generated by the speed reducer 426 is output to a subsequent stage (not shown, for example, a connecting member such as the links 422a to 422c or the imaging unit 423) via a torque sensor 428 connected to the output shaft of the speed reducer 426. Is transmitted to.
  • Encoder 427 is connected to drive shaft 429 and detects the rotational speed of drive shaft 429. Based on the relationship between the rotational speed of the drive shaft 429 detected by the encoder and the reduction ratio of the speed reducer 426, information such as the rotational angles, rotational angular velocities, and rotational angular accelerations of the joint portions 421a to 421f can be obtained.
  • the torque sensor 428 is connected to the output shaft of the speed reducer 426, and detects the torque generated by the speed reducer 426, that is, the torque output by the actuator 430.
  • the torque output by the actuator 430 is simply referred to as generated torque.
  • the number of rotations of the motor 424 can be adjusted by adjusting the amount of current supplied to the motor 424.
  • the reduction ratio in the reduction gear 426 may be set as appropriate according to the application of the robot arm device 400. Therefore, the generated torque can be controlled by appropriately adjusting the rotational speed of the motor 424 in accordance with the reduction ratio of the speed reducer 426.
  • information such as the rotation angle, rotation angular velocity, and rotation angular acceleration of the joint portions 421a to 421f can be obtained based on the rotation speed of the drive shaft 429 detected by the encoder 427, and the torque sensor 428 can be obtained.
  • the generated torque in the joint portions 421a to 421f can be detected.
  • the torque sensor 428 can detect not only torque generated by the actuator 430 but also external torque applied from the outside. Therefore, by adjusting the amount of current that the motor driver 425 supplies to the motor 424 based on the external torque detected by the torque sensor 428, the viscous resistance coefficient with respect to the rotational motion as described above can be adjusted. It is possible to realize a state that is easy to rotate or a state that is difficult to rotate with respect to a force applied from the outside.
  • FIG. 4A is a schematic diagram schematically showing a state where the torque sensor 428 shown in FIG. 3 is viewed from the axial direction of the drive shaft 429.
  • the torque sensor 428 has an outer ring portion 431, an inner ring portion 432, beam portions 433a to 433d, and strain detection elements 434a to 434d.
  • the outer ring portion 431 and the inner ring portion 432 are arranged concentrically.
  • the inner ring portion 432 is connected to the input side, that is, the output shaft from the speed reducer 426, and the outer ring portion 431 is connected to the output side, that is, a rear-stage output member (not shown).
  • the four beam portions 433a to 433d are arranged between the outer ring portion 431 and the inner ring portion 432 arranged concentrically, and connect the outer ring portion 431 and the inner ring portion 432 to each other. As shown in FIG. 4A, the beam portions 433a to 433d are interposed between the outer ring portion 431 and the inner ring portion 432 so that the adjacent beam portions 433a to 433d form an angle of 90 degrees with each other.
  • strain detection elements 434a to 434d are provided in two of the beam portions 433a to 433d facing each other, that is, provided at an angle of 180 degrees with each other. Based on the deformation amounts of the beam portions 433a to 433d detected by the strain detection elements 434a to 434d, the generated torque and the external torque of the actuator 430 can be detected.
  • strain detection elements 434a and 434b are provided in the beam portion 433a, and strain detection elements 434c and 434d are provided in the beam portion 433c.
  • the strain detection elements 434a and 434b are provided so as to sandwich the beam portion 433a, and the strain detection elements 434c and 434d are provided so as to sandwich the beam portion 433c.
  • the strain detection elements 434a to 434d are strain gauges, and are attached to the surfaces of the beam portions 433a and 433c, thereby detecting a geometric deformation amount of the beam portions 433a and 433c based on a change in electric resistance. As shown in FIG.
  • the strain detection elements 434a to 434d are provided at four locations, so that the detection elements 434a to 434d constitute a so-called Wheatstone bridge. Therefore, since the strain can be detected by using a so-called 4-gauge method, it is possible to reduce the influence of interference other than the shaft for detecting strain, the eccentricity of the drive shaft 429, temperature drift, and the like.
  • the beam portions 433a to 433d serve as strain generating bodies for detecting strain.
  • the types of the strain detection elements 434a to 434d according to the present embodiment are not limited to strain gauges, and other elements may be used.
  • the strain detection elements 434a to 434d may be elements that detect deformation amounts of the beam portions 433a to 433d based on changes in magnetic characteristics.
  • the following configuration may be applied in order to improve the detection accuracy of the torque generated by the torque sensor 428 and the external torque.
  • the support moment is released by making the portion of the beam portions 433a to 433d connected to the outer ring portion 431 thinner than other portions, so that the linearity of the detected deformation amount is improved and the radial load is increased. The influence of is reduced.
  • a both-end supporting bearing may be disposed at the other end of the actuator 430 shown in FIG.
  • the configuration of the torque sensor 428 has been described above with reference to FIG. 4A. As described above, the configuration of the torque sensor 428 shown in FIG. 4A enables highly accurate detection in the detection of the torque generated by the actuator 430 and the external torque.
  • the configuration of the torque sensor 428 is not limited to the configuration shown in FIG. 4A, and may be another configuration.
  • An example of a configuration other than the torque sensor 428 regarding the torque sensor applied to the actuator 430 will be described with reference to FIG. 4B.
  • FIG. 4B is a schematic diagram showing another configuration example of the torque sensor applied to the actuator 430 shown in FIG.
  • a torque sensor 428a according to this modification includes an outer ring portion 441, an inner ring portion 442, beam portions 443a to 443d, and strain detection elements 444a to 444d.
  • 4B schematically shows a state where the torque sensor 428a is viewed from the axial direction of the drive shaft 429, as in FIG. 4A.
  • the functions and configurations of the outer ring portion 441, the inner ring portion 442, the beam portions 443a to 443d, and the strain detection elements 444a to 444d are the same as the outer ring portion 431 and the inner ring portion 432 of the torque sensor 428 described with reference to FIG.
  • the beam portions 433a to 433d and the strain detection elements 434a to 434d have substantially the same function and configuration.
  • the torque sensor 428a according to this modification differs in the configuration of the connection portion between the beam portions 443a to 443d and the outer ring portion 441. Therefore, with regard to the torque sensor 428a shown in FIG. 4B, the configuration of the connection portion between the beam portions 443a to 443d and the outer ring portion 441, which is different from the torque sensor 428 shown in FIG. Description of is omitted.
  • connection portion between the beam portion 443b and the outer ring portion 441 is enlarged and shown together with the overall view of the torque sensor 428a.
  • FIG. 4B only the connection portion between the beam portion 443b and the outer ring portion 441, which is one of the four connection portions between the beam portions 443a to 443d and the outer ring portion 441, is illustrated in an enlarged manner.
  • the other three portions, the beam portions 443a, 443c, 443d and the connection portion of the outer ring portion 441 have the same configuration.
  • the outer ring portion 441 is provided with an engagement recess, and the tip of the beam portion 443b is engaged with the engagement recess. Thus, both are connected.
  • gaps G1 and G2 are provided between the beam portion 443b and the outer ring portion 441.
  • the gap G1 represents the gap between the beams 443b in the direction in which the beam portion 443b extends toward the outer ring portion 441, and the gap G2 represents the gap between the two in a direction orthogonal to the direction.
  • the beam portions 443a to 443d and the outer ring portion 441 are disposed separately with predetermined gaps G1 and G2. That is, in the torque sensor 428a, the outer ring portion 441 and the inner ring portion 442 are separated. Accordingly, since the inner ring portion 442 is not restricted with respect to the outer ring portion 441 and has a degree of freedom of movement, for example, even if vibration occurs when the actuator 430 is driven, a distortion component due to vibration is generated between the inner ring portion 442 and the outer ring portion 441. It can be absorbed by the gaps G1 and G2. Therefore, by applying the torque sensor 428a as the torque sensor of the actuator 430, it is possible to detect the generated torque and the external torque with higher accuracy.
  • the schematic configuration of the robot arm device 400 according to the present embodiment has been described above with reference to FIGS. 2, 3, 4A, and 4B. Next, whole body cooperative control and ideal joint control for controlling driving of the arm unit 420 in the robot arm apparatus 400 according to the present embodiment, that is, driving of the joint units 421a to 421f will be described.
  • various operation spaces are used in a multi-link structure (for example, the arm unit 420 shown in FIG. 2 in the present embodiment) in which a plurality of links are connected by a plurality of joints.
  • Operaation Space Is a basic calculation in the whole body cooperative control of the multi-link structure, which converts the motion purpose regarding various dimensions into torque generated in a plurality of the joint portions in consideration of various constraint conditions.
  • the operation space is an important concept in the force control of the robot device.
  • the operation space is a space for describing the relationship between the force acting on the multi-link structure and the acceleration of the multi-link structure.
  • the operation space is, for example, a joint space, a Cartesian space, a momentum space or the like to which a multi-link structure belongs.
  • the motion purpose represents a target value in the drive control of the multi-link structure, and is, for example, a target value such as position, speed, acceleration, force, impedance, etc. of the multi-link structure to be achieved by the drive control.
  • Constraint conditions are constraints regarding the position, speed, acceleration, force, etc. of the multi-link structure, which are determined by the shape and structure of the multi-link structure, the environment around the multi-link structure, settings by the user, and the like.
  • the constraint condition includes information on generated force, priority, presence / absence of a non-driven joint, vertical reaction force, friction weight, support polygon, and the like.
  • the calculation algorithm is a first step virtual force determination process (virtual force calculation process), It is constituted by a real force conversion process (real force calculation process) which is the second stage.
  • virtual force calculation process which is the first stage
  • real force calculation process the virtual force, which is a virtual force acting on the operation space, necessary to achieve each exercise purpose is considered in consideration of the priority of the exercise purpose and the maximum value of the virtual force. decide.
  • the virtual force obtained above is used as an actual force such as joint force and external force while taking into account constraints on non-driving joints, vertical reaction forces, friction weights, support polygons, and the like.
  • a vector constituted by a certain physical quantity in each joint portion of the multi-link structure is referred to as a generalized variable q (also referred to as a joint value q or a joint space q).
  • the operation space x is defined by the following formula (1) using the time differential value of the generalized variable q and the Jacobian J.
  • q is a rotation angle in the joint portions 421a to 421f of the arm portion 420.
  • equation (2) The equation of motion related to the operation space x is described by the following equation (2).
  • f represents a force acting on the operation space x.
  • ⁇ ⁇ 1 is called an operation space inertia inverse matrix
  • c is called an operation space bias acceleration, which are expressed by the following equations (3) and (4), respectively.
  • H is a joint space inertia matrix
  • is a joint force corresponding to the joint value q (for example, generated torque in the joint portions 421a to 421f)
  • b is a term representing gravity, Coriolis force, and centrifugal force.
  • the LCP can be solved using, for example, an iterative method, a pivot method, a method applying robust acceleration control, or the like.
  • the operation space inertia inverse matrix ⁇ ⁇ 1 and the bias acceleration c are calculated as the above formulas (3) and (4), the calculation cost is high. Therefore, by applying the quasi-dynamics calculation (FWD) that obtains the generalized acceleration (joint acceleration) from the generalized force (joint force ⁇ ) of the multi-link structure, the operation space inertia inverse matrix ⁇ ⁇ 1 is calculated. A method of calculating at higher speed has been proposed.
  • the operation space inertia inverse matrix ⁇ ⁇ 1 and the bias acceleration c are obtained by using a forward dynamics calculation FWD, so that a multi-link structure (eg, arm portion) such as a joint space q, a joint force ⁇ , and a gravity g is used. 420 and information on the forces acting on the joints 421a to 421f).
  • a forward dynamics calculation FWD related to the operation space
  • the operation space inertia inverse matrix ⁇ ⁇ 1 can be calculated with a calculation amount of O (N) for the number N of joints.
  • the condition for achieving the target value of the operation space acceleration (represented by attaching a superscript bar to the second-order differential of x) with a virtual force f vi equal to or less than the absolute value F i is Can be expressed by the following mathematical formula (6).
  • the motion purpose related to the position and speed of the operation space x can be expressed as a target value of the operation space acceleration, and specifically expressed by the following formula (7) (the position of the operation space x
  • the target value of speed is expressed by adding a superscript bar to the first derivative of x and x).
  • the concept of the decomposition operation space it is also possible to set a motion purpose related to an operation space (momentum, Cartesian relative coordinates, interlocking joint, etc.) represented by a linear sum of other operation spaces. It is necessary to give priority between competing exercise purposes.
  • the LCP can be solved for each priority and sequentially from the low priority, and the virtual force obtained by the previous LCP can be applied as a known external force of the next LCP.
  • the subscript a represents a set of drive joint portions (drive joint set), and the subscript u represents a set of non-drive joint portions (non-drive joint set). That is, the upper stage of the above formula (8) represents the balance of the force of the space (non-drive joint space) by the non-drive joint part, and the lower stage represents the balance of the force of the space (drive joint space) by the drive joint part.
  • J vu and J va are a Jacobian non-drive joint component and drive joint component related to the operation space on which the virtual force f v acts, respectively.
  • J eu and J ea are Jacobian non-drive joint components and drive joint components related to the operation space on which the external force fe is applied.
  • ⁇ f v represents a component of the virtual force f v that cannot be realized by the actual force.
  • Equation (8) The upper part of the above equation (8) is indefinite, and for example, fe and ⁇ f v can be obtained by solving a quadratic programming problem (QP: Quadratic Programming Problem) as shown in the following equation (9).
  • QP Quadratic Programming Problem
  • is the difference between the upper sides of the above equation (8) and represents the equation error of equation (8).
  • is a connection vector between fe and ⁇ f v and represents a variable vector.
  • Q 1 and Q 2 are positive definite symmetric matrices that represent weights at the time of minimization.
  • the inequality constraint in the above formula (9) is used to express a constraint condition related to an external force such as a vertical reaction force, a friction cone, a maximum value of an external force, a support polygon, and the like.
  • the inequality constraint relating to the rectangular support polygon is expressed as the following formula (10).
  • z represents the normal direction of the contact surface
  • x and y represent orthogonal two tangential directions perpendicular to z.
  • (F x , F y , F z ) and (M x , M y , M z ) are external force and external force moment acting on the contact point.
  • ⁇ t and ⁇ r are friction coefficients relating to translation and rotation, respectively.
  • (D x , d y ) represents the size of the support polygon.
  • the joint force ⁇ a for achieving a desired exercise purpose can be obtained by sequentially performing the virtual force calculation process and the actual force calculation process. That is, conversely, by reflecting the calculated joint force ⁇ a in the theoretical model in the motion of the joint portions 421a to 421f, the joint portions 421a to 421f are driven to achieve a desired motion purpose. .
  • I a is the moment of inertia (inertia) at the joint
  • ⁇ a is the torque generated by the joints 421a to 421f
  • ⁇ e is the external torque that acts on the joints 421a to 421f from the outside
  • ⁇ e is each joint Viscosity resistance coefficient at 421a to 421f.
  • the above formula (12) can be said to be a theoretical model representing the motion of the actuator 430 in the joint portions 421a to 421f.
  • Modeling error may occur between the motion of the joint portions 421a to 421f and the theoretical model shown in the above equation (12) due to the influence of various disturbances.
  • Modeling errors can be broadly classified into those caused by mass properties such as the weight, center of gravity, and inertia tensor of the multi-link structure, and those caused by friction and inertia in the joint portions 421a to 421f. .
  • the modeling error due to the former mass property can be reduced relatively easily during the construction of the theoretical model by increasing the accuracy of CAD (Computer Aided Design) data and applying an identification method.
  • CAD Computer Aided Design
  • the modeling error due to the friction and inertia in the latter joint portions 421a to 421f is caused by a phenomenon that is difficult to model, such as friction in the speed reducer 426 of the joint portions 421a to 421f.
  • Modeling errors that cannot be ignored during model construction may remain.
  • an error occurs between the value of inertia I a and viscosity resistance coefficient [nu e in the equation (12), and these values in the actual joints 421a ⁇ 421f.
  • the movement of the joint portions 421a to 421f may not respond according to the theoretical model shown in the above equation (12) due to the influence of such disturbance. Therefore, even if the actual force ⁇ a that is the joint force calculated by the generalized inverse dynamics is applied, there is a case where the motion purpose that is the control target is not achieved.
  • the responses of the joint portions 421a to 421f are corrected so as to perform an ideal response according to the theoretical model shown in the formula (12). Think about it.
  • the ideal joint control is performed by controlling the joints so that the joints 421a to 421f of the robot arm device 400 perform an ideal response as shown in the above formula (12). Called.
  • the actuator whose drive is controlled by the ideal joint control is also referred to as a virtual actuator (VA) because an ideal response is performed.
  • VA virtual actuator
  • FIG. 5 is an explanatory diagram for explaining ideal joint control according to an embodiment of the present disclosure.
  • conceptual computing units that perform various computations related to ideal joint control are schematically illustrated in blocks.
  • an actuator 610 schematically represents the mechanism of the actuator 430 shown in FIG. 3.
  • Sensor 614 corresponds to the motor 424, the speed reducer 426, the encoder 427, and the torque sensor 428 (or the torque sensor 428a shown in FIG. 4B) shown in FIG.
  • the actuator 610 responds in accordance with the theoretical model expressed by the mathematical formula (12), and when the right side of the mathematical formula (12) is given, the rotational angular acceleration of the left side is achieved. It is none other than.
  • the theoretical model includes an external torque term ⁇ e that acts on the actuator 610.
  • the external torque ⁇ e is measured by the torque sensor 614.
  • a disturbance observer 620 is applied to calculate a disturbance estimated value ⁇ d that is an estimated value of torque caused by a disturbance based on the rotation angle q of the actuator 610 measured by the encoder 613.
  • a block 631 represents an arithmetic unit that performs an operation in accordance with an ideal joint model (Ideal Joint Model) of the joint portions 421a to 421f shown in the equation (12).
  • the block 631 receives the generated torque ⁇ a , the external torque ⁇ e , and the rotational angular velocity (the first derivative of the rotational angle q) as inputs, and the rotational angular acceleration target value (the rotational angle target value q ref ) shown on the left side of the equation (12). Can be output.
  • the generated torque ⁇ a calculated by the method described in “Generalized inverse dynamics” and the external torque ⁇ e measured by the torque sensor 614 are input to the block 631.
  • a rotational angular velocity (first-order differential of the rotational angle q) is calculated by inputting the rotational angle q measured by the encoder 613 to a block 632 representing a computing unit that performs a differential operation.
  • the rotational angular velocity calculated by the block 632 is input to the block 631, whereby the rotational angular acceleration target value is calculated by the block 631.
  • the calculated rotational angular acceleration target value is input to block 633.
  • a block 633 represents a calculator that calculates torque generated in the actuator 610 based on the rotational angular acceleration of the actuator 610.
  • the block 633 can obtain the torque target value ⁇ ref by multiplying the rotational angular acceleration target value by the nominal inertia (nominal inertia) J n in the actuator 610.
  • the desired motion objective should be achieved by causing the actuator 610 to generate the torque target value ⁇ ref.
  • the actual response is affected by disturbances and the like. There is a case. Accordingly, in the present embodiment, to calculate the estimated disturbance value tau d by the disturbance observer 620, corrects the torque target value tau ref using the disturbance estimated value tau d.
  • the disturbance observer 620 calculates a disturbance estimated value ⁇ d based on the torque command value ⁇ and the rotation angular velocity calculated from the rotation angle q measured by the encoder 613.
  • the torque command value ⁇ is a torque value finally generated in the actuator 610 after the influence of the disturbance is corrected.
  • the torque command value ⁇ becomes the torque target value ⁇ ref .
  • the disturbance observer 620 includes a block 634 and a block 635.
  • Block 634 represents a calculator that calculates torque generated in the actuator 610 based on the rotational angular velocity of the actuator 610.
  • the rotational angular velocity calculated by the block 632 is input to the block 634 from the rotational angle q measured by the encoder 613.
  • Block 634 obtains the rotational angular acceleration by performing an operation represented by the transfer function J n s, that is, differentiating the rotational angular velocity, and multiplies the calculated rotational angular acceleration by Nominal Inertia J n.
  • an estimated value (torque estimated value) of the torque actually acting on the actuator 610 can be calculated.
  • a difference between the estimated torque value and the torque command value ⁇ is taken to estimate a disturbance estimated value ⁇ d that is a torque value due to the disturbance.
  • the estimated disturbance value ⁇ d may be a difference between the torque command value ⁇ in the previous control and the estimated torque value in the current control.
  • the estimated torque value calculated by the block 634 is based on an actual measured value
  • the torque command value ⁇ calculated by the block 633 is based on an ideal theoretical model of the joint portions 421a to 421f shown in the block 631. Therefore, by taking the difference between the two, it is possible to estimate the influence of a disturbance that is not considered in the theoretical model.
  • the disturbance observer 620 is provided with a low pass filter (LPF) indicated by a block 635 in order to prevent system divergence.
  • the block 635 performs the operation represented by the transfer function g / (s + g), thereby outputting only the low frequency component for the input value and stabilizing the system.
  • the difference value between the estimated torque value calculated by the block 634 and the torque command value ⁇ ref is input to the block 635, and the low frequency component is calculated as the estimated disturbance value ⁇ d .
  • the torque command value is a torque value that causes the actuator 610 ⁇ is calculated. Then, the actuator 610 is driven based on the torque command value ⁇ . Specifically, the torque command value ⁇ is converted into a corresponding current value (current command value), and the current command value is applied to the motor 611, whereby the actuator 610 is driven.
  • the response of the actuator 610 is obtained even when there is a disturbance component such as friction. Can follow the target value. Further, the drive control of the joint portion 421a ⁇ 421f, it is possible to perform an ideal response that theoretical models according to the assumed inertia I a and viscosity resistance coefficient [nu a.
  • the generalized inverse dynamics used in the present embodiment has been described above, and the ideal joint control according to the present embodiment has been described with reference to FIG.
  • the drive parameters for example, the joint portions 421a to 421f of the joint portions 421a to 421f
  • the whole body cooperative control is performed in which the generated torque value) is calculated in consideration of the constraint conditions.
  • the generated torque value calculated by the whole body cooperative control using the generalized inverse dynamics is corrected in consideration of the influence of disturbance.
  • FIG. 6 is a functional block diagram illustrating a configuration example of a robot arm control system according to an embodiment of the present disclosure.
  • the configuration related to the drive control of the arm unit of the robot arm device is mainly illustrated.
  • a robot arm control system 1 includes a robot arm device 10, a control device 20, and a display device 30.
  • the control device 20 performs the above [2-2. Whole body cooperative control explained in “Generalized inverse dynamics” and the above [2-3. Various calculations in the ideal joint control described in “About ideal joint control” are performed, and the driving of the arm portion of the robot arm device 10 is controlled based on the calculation results. Further, the arm unit of the robot arm device 10 is provided with an imaging unit 140 described later, and an image photographed by the imaging unit 140 is displayed on the display screen of the display device 30.
  • the configurations of the robot arm device 10, the control device 20, and the display device 30 will be described in detail.
  • a system including the robot arm device 10 and the control device 20 may be simply referred to as a robot arm device.
  • the robot arm device 10 has an arm part which is a multi-link structure composed of a plurality of joint parts and a plurality of links, and is provided at the tip of the arm part by driving the arm part within a movable range. The position and orientation of the tip unit to be controlled are controlled.
  • the robot arm device 10 corresponds to the robot arm device 400 shown in FIG.
  • the robot arm device 10 includes an arm control unit 110 and an arm unit 120.
  • the arm unit 120 includes a joint unit 130 and an imaging unit 140.
  • the arm control unit 110 controls the robot arm device 10 in an integrated manner and controls the driving of the arm unit 120.
  • the arm control unit 110 corresponds to the control unit (not shown in FIG. 2) described with reference to FIG.
  • the arm control unit 110 includes a drive control unit 111, and the drive of the arm unit 120 is controlled by controlling the drive of the joint unit 130 by the control from the drive control unit 111.
  • the drive control unit 111 controls the number of rotations of the motor by controlling the amount of current supplied to the motor in the actuator of the joint unit 130, and the rotation angle and generation in the joint unit 130. Control torque.
  • the drive control of the arm unit 120 by the drive control unit 111 is performed based on the calculation result in the control device 20. Therefore, the amount of current supplied to the motor in the actuator of the joint unit 130 controlled by the drive control unit 111 is a current amount determined based on the calculation result in the control device 20.
  • the arm unit 120 is a multi-link structure composed of a plurality of joints and a plurality of links, and the driving thereof is controlled by the control from the arm control unit 110.
  • the arm part 120 corresponds to the arm part 420 shown in FIG.
  • the arm unit 120 includes a joint unit 130 and an imaging unit 140.
  • the structure of the one joint part 130 is illustrated on behalf of these some joint parts.
  • the joint unit 130 rotatably connects between the links in the arm unit 120, and drives the arm unit 120 by controlling the rotation drive by the control from the arm control unit 110.
  • the joint portion 130 corresponds to the joint portions 421a to 421f shown in FIG.
  • the joint unit 130 includes an actuator, and the configuration of the actuator is the same as the configuration illustrated in FIGS. 3, 4A, and 4B, for example.
  • the joint unit 130 includes a joint drive unit 131 and a joint state detection unit 132.
  • the joint drive part 131 is a drive mechanism in the actuator of the joint part 130, and when the joint drive part 131 drives, the joint part 130 rotationally drives.
  • the drive of the joint drive unit 131 is controlled by the drive control unit 111.
  • the joint driving unit 131 has a configuration corresponding to the motor 424 and the motor driver 425 illustrated in FIG. 3, and the driving of the joint driving unit 131 means that the motor driver 425 responds to a command from the drive control unit 111. This corresponds to driving the motor 424 by the amount.
  • the joint state detection unit 132 detects the state of the joint unit 130.
  • the state of the joint 130 may mean the state of motion of the joint 130.
  • the state of the joint unit 130 includes information such as the rotation angle, rotation angular velocity, rotation angular acceleration, and generated torque of the joint unit 130.
  • the joint state detection unit 132 includes a rotation angle detection unit 133 that detects the rotation angle of the joint unit 130, and a torque detection unit 134 that detects the generated torque and the external torque of the joint unit 130.
  • the rotation angle detection unit 133 and the torque detection unit 134 correspond to the encoder 427 of the actuator 430 shown in FIG. 3 and the torque sensors 428 and 428a shown in FIGS. 4A and 4B, respectively.
  • the joint state detection unit 132 transmits the detected state of the joint unit 130 to the control device 20.
  • the imaging unit 140 is an example of a tip unit provided at the tip of the arm unit 120, and acquires an image to be shot.
  • the imaging unit 140 corresponds to the imaging unit 423 shown in FIG.
  • the imaging unit 140 is a camera or the like that can shoot a shooting target in the form of a moving image or a still image.
  • the imaging unit 140 has a plurality of light receiving elements arranged two-dimensionally, and can acquire an image signal representing an image to be photographed by photoelectric conversion in the light receiving elements.
  • the imaging unit 140 transmits the acquired image signal to the display device 30.
  • the imaging unit 140 is actually provided at the distal end of the arm unit 120 as the imaging unit 423 is provided at the distal end of the arm unit 420 in the robot arm apparatus 400 illustrated in FIG. 2. ing.
  • FIG. 6 a state in which the imaging unit 140 is provided at the distal end of the link at the final stage via the plurality of joint units 130 and the plurality of links is schematically illustrated between the joint unit 130 and the imaging unit 140. It is expressed by
  • various medical instruments can be connected to the tip of the arm unit 120 as a tip unit.
  • the medical instrument include various units used for the treatment, such as various surgical instruments such as a scalpel and forceps, and a unit of various inspection apparatuses such as a probe of an ultrasonic inspection apparatus.
  • a unit having an imaging function such as the imaging unit 140 illustrated in FIG. 6, an endoscope, a microscope, or the like may be included in the medical instrument.
  • the robot arm apparatus 10 according to the present embodiment is a medical robot arm apparatus provided with a medical instrument.
  • the robot arm control system 1 according to the present embodiment is a medical robot arm control system.
  • a stereo camera having two imaging units (camera units) may be provided at the tip of the arm unit 120, and shooting may be performed so that the imaging target is displayed as a 3D image.
  • the control device 20 includes an input unit 210, a storage unit 220, and a control unit 230.
  • the control unit 230 controls the control device 20 in an integrated manner, and performs various calculations for controlling the driving of the arm unit 120 in the robot arm device 10. Specifically, the control unit 230 performs various calculations in the whole body cooperative control and the ideal joint control in order to control the driving of the arm unit 120 of the robot arm device 10.
  • the function and configuration of the control unit 230 will be described in detail.
  • the whole body cooperative control and the ideal joint control are described in [2-2. Generalized inverse dynamics] and above [2-3. Since it has already been described in “Ideal joint control”, a detailed description thereof is omitted here.
  • the control unit 230 includes a whole body cooperative control unit 240 and an ideal joint control unit 250.
  • the whole body cooperative control unit 240 performs various calculations related to whole body cooperative control using generalized inverse dynamics.
  • the whole body cooperative control unit 240 acquires the state of the arm unit 120 (arm state) based on the state of the joint unit 130 detected by the joint state detection unit 132. Further, the whole body cooperative control unit 240 generates a generalized inverse power based on the control value for the whole body cooperative control of the arm unit 120 in the operation space based on the arm state, the motion purpose and the constraint condition of the arm unit 120. Calculate using science.
  • 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.
  • the whole body cooperative control unit 240 includes an arm state acquisition unit 241, a calculation condition setting unit 242, a virtual force calculation unit 243, and a real force calculation unit 244.
  • the arm state acquisition unit 241 acquires the state (arm state) of the arm unit 120 based on the state of the joint unit 130 detected by the joint state detection unit 132.
  • the arm state may mean a state of movement of the arm unit 120.
  • the arm state includes information such as the position, speed, acceleration, and force of the arm unit 120.
  • the joint state detection unit 132 acquires information such as the rotation angle, the rotation angular velocity, the rotation angular acceleration, and the generated torque in each joint unit 130 as the state of the joint unit 130.
  • the storage unit 220 stores various types of information processed by the control device 20, and in the present embodiment, the storage unit 220 stores various types of information (arm information) about the arm unit 120.
  • the arm state acquisition unit 241 can acquire the arm information from the storage unit 220. Therefore, the arm state acquisition unit 241 determines the position (coordinates) in space of the plurality of joint units 130, the plurality of links, and the imaging unit 140 based on the state of the joint unit 130 and the arm information (that is, the arm unit 120). Information such as the shape, the position and orientation of the image capturing unit 140), the force acting on each joint unit 130, the link, and the image capturing unit 140 can be acquired as an arm state.
  • the arm state acquisition unit 241 transmits the acquired arm information to the calculation condition setting unit 242.
  • the calculation condition setting unit 242 sets calculation conditions for calculation related to whole body cooperative control using generalized inverse dynamics.
  • the calculation condition may be an exercise purpose and a constraint condition.
  • the exercise purpose may be various types of information regarding the exercise of the arm unit 120.
  • the purpose of motion is a target value such as the position and orientation (coordinates), speed, acceleration, and force of the imaging unit 140, or the positions (coordinates) of the joints 130 and the links of the arm unit 120. ), Target values such as speed, acceleration and force.
  • the constraint condition may be various types of information that limits (restrains) the movement of the arm unit 120.
  • the constraint condition may be coordinates of a region in which each component of the arm unit is not movable, a non-movable speed, an acceleration value, a force value that cannot be generated, or the like.
  • the limitation range of various physical quantities in the constraint condition may be set because it is impossible to realize the structure of the arm unit 120, or may be set as appropriate by the user.
  • the calculation condition setting unit 242 also includes a physical model for the structure of the arm unit 120 (for example, the number and length of links constituting the arm unit 120, the connection status through the link joint unit 130, and the movement of the joint unit 130).
  • the motion condition and the constraint condition may be set by generating a control model in which the desired motion condition and the constraint condition are reflected in the physical model.
  • the arm unit 120 it is possible to cause the arm unit 120 to perform a desired operation by appropriately setting the exercise purpose and the constraint condition. For example, by setting a target value for the position of the imaging unit 140 as an exercise purpose, the arm unit 120 does not enter a predetermined area in the space as well as moving the imaging unit 140 to the target position. For example, it is possible to drive the arm unit 120 by restricting movement according to the constraint conditions.
  • the purpose of exercise is to move the imaging unit 140 in the plane of the cone with the treatment site as a vertex in a state where the imaging direction of the imaging unit 140 is fixed to the treatment site.
  • a pivoting operation that is a pivoting operation with the axis as a pivotal axis may be used.
  • the turning operation may be performed in a state where the distance between the imaging unit 140 and the point corresponding to the apex of the cone is kept constant.
  • the purpose of exercise may be a content for controlling the torque generated at each joint 130.
  • the purpose of the exercise is to control the state of the joint 130 so as to cancel the gravity acting on the arm 120, and to further support the movement of the arm 120 in the direction of the force applied from the outside.
  • a power assist operation for controlling the state of the joint 130 may be used. More specifically, in the power assist operation, the driving of each joint unit 130 is controlled so as to cause each joint unit 130 to generate generated torque that cancels the external torque due to gravity in each joint unit 130 of the arm unit 120. Thus, the position and posture of the arm unit 120 are held in a predetermined state.
  • each joint 130 is controlled so that a generated torque in the same direction as the applied external torque is generated in each joint 130.
  • The By performing such a power assist operation, when the user manually moves the arm unit 120, the user can move the arm unit 120 with a smaller force, so that the arm unit 120 is moved under zero gravity. It is possible to give the user a feeling of being. It is also possible to combine the above-described pivot operation and the power assist operation.
  • the exercise purpose may mean an operation (exercise) of the arm unit 120 realized in the whole body cooperative control, or an instantaneous exercise purpose (that is, an exercise purpose) in the operation.
  • Target value For example, in the case of the pivot operation described above, the purpose of the image capturing unit 140 to perform the pivot operation itself is a movement purpose. However, during the pivot operation, the image capturing unit 140 within the conical surface in the pivot operation is used. Values such as position and speed are set as instantaneous exercise objectives (target values for the exercise objectives). Further, for example, in the case of the power assist operation described above, the power assist operation for supporting the movement of the arm unit 120 in the direction of the force applied from the outside is itself an exercise purpose, but the power assist operation is performed.
  • the value of the generated torque in the same direction as the external torque applied to each joint portion 130 is set as an instantaneous exercise purpose (target value for the exercise purpose).
  • the instantaneous movement objective for example, the target value of the position, speed, force, etc. of each component member of the arm unit 120 at a certain time
  • the instantaneous movement objective are continuously achieved.
  • it is a concept including both of the operations of the respective constituent members of the arm unit 120 realized over time.
  • an instantaneous exercise purpose is set each time, and the calculation is repeatedly performed, so that the desired exercise purpose is finally achieved.
  • the viscous resistance coefficient in the rotational motion of each joint 130 may be set as appropriate.
  • the joint portion 130 according to the present embodiment is configured so that the viscous resistance coefficient in the rotational motion of the actuator 430 can be appropriately adjusted. Therefore, by setting the viscous resistance coefficient in the rotational motion of each joint portion 130 when setting the motion purpose, for example, it is possible to realize a state that is easy to rotate or a state that is difficult to rotate with respect to a force applied from the outside.
  • the viscous resistance coefficient in the joint portion 130 is set to be small, so that the force required for the user to move the arm portion 120 may be smaller, and the feeling of weight given to the user may be reduced. More conducive. As described above, the viscous resistance coefficient in the rotational motion of each joint 130 may be appropriately set according to the content of the motion purpose.
  • the storage unit 220 may store parameters related to calculation conditions such as exercise purpose and constraint conditions used in calculations related to whole body cooperative control.
  • the calculation condition setting unit 242 can set the constraint condition stored in the storage unit 220 as the constraint condition used for the calculation of the whole body cooperative control.
  • the calculation condition setting unit 242 can set the exercise purpose by a plurality of methods.
  • the calculation condition setting unit 242 may set the exercise purpose based on the arm state transmitted from the arm state acquisition unit 241.
  • the arm state includes information on the position of the arm unit 120 and information on the force acting on the arm unit 120. Therefore, for example, when the user intends to move the arm unit 120 manually, the arm state acquisition unit 241 also acquires information on how the user is moving the arm unit 120 as the arm state. The Therefore, the calculation condition setting unit 242 can set the position, speed, force, and the like at which the user moved the arm unit 120 as an instantaneous exercise purpose based on the acquired arm state. By setting the purpose of exercise in this way, the driving of the arm unit 120 is controlled so as to follow and support the movement of the arm unit 120 by the user.
  • the calculation condition setting unit 242 may set the exercise purpose based on an instruction input by the user from the input unit 210.
  • the input unit 210 is an input interface for a user to input information, commands, and the like regarding drive control of the robot arm device 10 to the control device 20, and in this embodiment, the input unit 210 from the input unit 210 by the user.
  • the exercise purpose may be set based on the operation input.
  • the input unit 210 has operation means operated by a user such as a lever and a pedal, for example, and the position and speed of each constituent member of the arm unit 120 according to the operation of the lever and the pedal.
  • the calculation condition setting unit 242 may set as an instantaneous exercise purpose.
  • the calculation condition setting unit 242 may set the exercise purpose stored in the storage unit 220 as the exercise purpose used for the calculation of the whole body cooperative control.
  • the purpose of movement is to stop the imaging unit 140 at a predetermined point in space
  • the coordinates of the predetermined point can be set in advance as the purpose of movement.
  • the imaging purpose 140 is a motion purpose of moving on a predetermined trajectory in space
  • the coordinates of each point representing the predetermined trajectory can be set in advance as the motion purpose.
  • the exercise purpose may be stored in the storage unit 220 in advance.
  • the purpose of motion is limited to the target value such as the position and speed in the plane of the cone
  • the purpose of motion is the force as the target value. Limited to things.
  • exercise objectives such as pivot action and power assist action
  • information on the range and type of target values that can be set as instantaneous exercise objectives in these exercise objectives It may be stored in the storage unit 220.
  • the calculation condition setting unit 242 can set the exercise purpose including various information related to the exercise purpose.
  • the calculation condition setting unit 242 sets the exercise purpose may be appropriately set by the user according to the use of the robot arm device 10 or the like.
  • the calculation condition setting unit 242 may also set the exercise purpose and the constraint condition by appropriately combining the above methods.
  • the priority of the exercise purpose may be set in the constraint conditions stored in the storage unit 220, and when there are a plurality of different exercise purposes, the calculation condition setting unit 242 The exercise purpose may be set according to the priority of the condition.
  • the calculation condition setting unit 242 transmits the arm state and the set exercise purpose and constraint condition to the virtual force calculation unit 243.
  • the virtual force calculation unit 243 calculates a virtual force in a calculation related to whole body cooperative control using generalized inverse dynamics.
  • the virtual force calculation process performed by the virtual force calculation unit 243 may be, for example, the series of processes described in (2-2-1. Virtual force calculation process) above.
  • the virtual force calculation unit 243 transmits the calculated virtual force f v to the real force calculation unit 244.
  • the real force calculation unit 244 calculates the real force in a calculation related to whole body cooperative control using generalized inverse dynamics.
  • the real force calculation process performed by the real force calculation unit 244 may be, for example, the series of processes described in (2-2-2. Real force calculation process) above.
  • the actual force calculation unit 244 transmits the calculated actual force (generated torque) ⁇ a to the ideal joint control unit 250.
  • the generated torque ⁇ a calculated by the actual force calculation unit 244 is also referred to as a control value or a control torque value in the sense of a control value of the joint unit 130 in the whole body cooperative control.
  • the ideal joint control unit 250 performs various calculations related to ideal joint control using generalized inverse dynamics.
  • the ideal joint control unit 250 corrects the influence of disturbance on the generated torque ⁇ a calculated by the actual force calculation unit 244, thereby realizing a torque command that realizes an ideal response of the arm unit 120.
  • the value ⁇ is calculated.
  • the calculation process performed by the ideal joint control unit 250 is the above described [2-3. This corresponds to the series of processes described in “Ideal joint control”.
  • the ideal joint control unit 250 includes a disturbance estimation unit 251 and a command value calculation unit 252.
  • the disturbance estimation unit 251 calculates a disturbance estimated value ⁇ d based on the torque command value ⁇ and the rotation angular velocity calculated from the rotation angle q detected by the rotation angle detection unit 133.
  • the torque command value ⁇ here is a command value representing the torque generated in the arm unit 120 that is finally transmitted to the robot arm device 10.
  • the disturbance estimation unit 251 has a function corresponding to the disturbance observer 620 illustrated in FIG.
  • the command value calculator 252 uses the estimated disturbance value ⁇ d calculated by the disturbance estimator 251, and is a torque command that is a command value representing a torque generated in the arm unit 120 that is finally transmitted to the robot arm device 10.
  • the value ⁇ is calculated.
  • the command value calculation unit 252 adds the disturbance estimated value ⁇ d calculated by the disturbance estimation unit 251 to ⁇ ref calculated from the ideal model of the joint unit 130 expressed by the mathematical formula (12).
  • the torque command value ⁇ is calculated. For example, when the disturbance estimated value ⁇ d is not calculated, the torque command value ⁇ becomes the torque target value ⁇ ref .
  • the function of the command value calculation unit 252 corresponds to functions other than the disturbance observer 620 shown in FIG.
  • the series of processing described with reference to FIG. 5 is performed by repeatedly exchanging information between the disturbance estimation unit 251 and the command value calculation unit 252. Done.
  • the ideal joint control unit 250 transmits the calculated torque command value ⁇ to the drive control unit 111 of the robot arm device 10.
  • the drive control unit 111 controls the number of rotations of the motor by performing control to supply a current amount corresponding to the transmitted torque command value ⁇ to the motor in the actuator of the joint unit 130. The rotation angle and generated torque at are controlled.
  • the drive control of the arm unit 120 in the robot arm device 10 is continuously performed while work using the arm unit 120 is performed. And the process demonstrated above in the control apparatus 20 is performed repeatedly. That is, the state of the joint unit 130 is detected by the joint state detection unit 132 of the robot arm device 10 and transmitted to the control device 20.
  • the control device 20 performs various calculations related to the whole body cooperative control and the ideal joint control for controlling the driving of the arm unit 120 based on the state of the joint unit 130, the purpose of exercise, and the constraint condition. Is transmitted to the robot arm device 10.
  • the driving of the arm unit 120 is controlled based on the torque command value ⁇ , and the state of the joint unit 130 during or after driving is detected again by the joint state detection unit 132.
  • control device 20 The description of other configurations of the control device 20 will be continued.
  • the input unit 210 is an input interface for a user to input information, commands, and the like regarding drive control of the robot arm device 10 to the control device 20.
  • the driving of the arm unit 120 of the robot arm device 10 may be controlled based on the operation input from the input unit 210 by the user, and the position and posture of the imaging unit 140 may be controlled.
  • the calculation condition setting unit 242 includes the instruction information.
  • the exercise purpose in the whole body cooperative control may be set. As described above, the whole body cooperative control is performed using the exercise purpose based on the instruction information input by the user, thereby realizing the driving of the arm unit 120 according to the operation input of the user.
  • the input unit 210 includes operation means operated by the user such as a mouse, a keyboard, a touch panel, a button, a switch, a lever, and a pedal.
  • operation means operated by the user such as a mouse, a keyboard, a touch panel, a button, a switch, a lever, and a pedal.
  • the input unit 210 includes a pedal
  • the user can control the driving of the arm unit 120 by operating the pedal with a foot. Therefore, even when the user is performing treatment on the patient's surgical site using both hands, the position and posture of the imaging unit 140, that is, the imaging position and the imaging angle of the surgical site by the pedal operation with the foot Can be adjusted.
  • the storage unit 220 stores various types of information processed by the control device 20.
  • the storage unit 220 can store various parameters used in calculations related to whole body cooperative control and ideal joint control performed by the control unit 230.
  • the storage unit 220 may store an exercise purpose and a constraint condition used in a calculation related to the whole body cooperative control by the whole body cooperative control unit 240.
  • the exercise purpose stored in the storage unit 220 may be an exercise purpose that can be set in advance, for example, the imaging unit 140 is stationary at a predetermined point in space.
  • the constraint condition may be set in advance by the user and stored in the storage unit 220 in accordance with the geometric configuration of the arm unit 120, the use of the robot arm device 10, or the like.
  • the storage unit 220 may store various types of information related to the arm unit 120 used when the arm state acquisition unit 241 acquires the arm state. Furthermore, the storage unit 220 may store calculation results in calculations related to whole body cooperative control and ideal joint control by the control unit 230, numerical values calculated in the calculation process, and the like. As described above, the storage unit 220 may store various parameters related to various processes performed by the control unit 230, and the control unit 230 performs various processes while transmitting and receiving information to and from the storage unit 220. be able to.
  • control device 20 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 various information processing devices (arithmetic processing devices) such as a PC (Personal Computer) and a server. Next, the function and configuration of the display device 30 will be described.
  • information processing devices such as a PC (Personal Computer) and a server.
  • the display device 30 displays various types of information on the display screen in various formats such as text and images, thereby visually notifying the user of the information.
  • the display device 30 displays an image captured by the imaging unit 140 of the robot arm device 10 on a display screen.
  • the display device 30 displays on the display screen an image signal processing unit (not shown) that performs various types of image processing on the image signal acquired by the imaging unit 140 and an image based on the processed image signal. It has the function and configuration of a display control unit (not shown) that performs control to display.
  • the display device 30 may have various functions and configurations that are generally included in the display device in addition to the functions and configurations described above.
  • the display device 30 corresponds to the display device 550 shown in FIG.
  • each component described above may be configured using a general-purpose member or circuit, or may be configured by hardware specialized for the function of each component.
  • the CPU or the like may perform all functions of each component. Therefore, it is possible to appropriately change the configuration to be used according to the technical level at the time of carrying out the present embodiment.
  • the arm unit 120 which is a multi-link structure in the robot arm device 10 has a degree of freedom of at least 6 degrees of freedom, and a plurality of parts constituting the arm unit 120.
  • Each drive of the joint part 130 is controlled by the drive control part 111.
  • a medical instrument is provided at the tip of the arm unit 120.
  • the state of the joint portion 130 is detected by the joint state detection unit 132 in the robot arm device 10.
  • a torque command value ⁇ as a calculation result is calculated.
  • the driving of the arm unit 120 is controlled based on the torque command value ⁇ .
  • the drive of the arm part 120 is controlled by the whole body cooperative control using generalized inverse dynamics. Therefore, drive control of the arm unit 120 by force control is realized, and a robot arm device with higher operability for the user is realized.
  • ideal joint control is applied to drive control of the arm unit 120 together with whole body cooperative control.
  • disturbance components such as friction and inertia inside the joint portion 130 are estimated, and feedforward control using the estimated disturbance components is performed. Therefore, even when there is a disturbance component such as friction, it is possible to realize an ideal response for driving the joint portion 130. Therefore, in the drive control of the arm unit 120, high-accuracy responsiveness and high positioning accuracy and stability that are less affected by vibration and the like are realized.
  • each of the plurality of joint portions 130 constituting the arm portion 120 has a configuration suitable for ideal joint control, for example, as shown in FIG.
  • the generated torque and the viscous resistance coefficient can be controlled by the current value.
  • the driving of each joint unit 130 is controlled by the current value, and the driving of each joint unit 130 is controlled by grasping the state of the entire arm unit 120 by the whole body cooperative control.
  • the robot arm device 10 can be reduced in size.
  • the power assist operation controls the state of the joint portion 130 so as to cancel the gravity acting on the arm portion 120 and further supports the movement of the arm portion 120 in the direction of the force applied from the outside.
  • This is an operation to control the state of. Specifically, when the user manually moves the arm unit 120, this is an operation of controlling the driving of the arm unit 120 so as to support the force applied by the user. More specifically, in order to realize the power assist operation, first, an external torque in a state where a force other than gravity is not applied to the arm unit 120 is detected by the torque detection unit 134, and the detected external torque is canceled out. An instantaneous motion purpose is set so that the generated torque is generated in each joint 130. At this stage, the position and posture of the arm unit 120 are held in a predetermined state.
  • the tip unit provided at the tip of the arm unit 120 moves on a conical surface having the predetermined point as a vertex in a state where the direction of the tip unit is fixed to a predetermined point in space.
  • This is a turning operation using the cone axis as a turning axis.
  • the pivoting operation is performed when the imaging unit 140 provided at the tip of the arm unit 120 is fixed at a predetermined point in space in the imaging direction of the imaging unit 140. In this state, it is a swiveling operation that moves on the surface of the cone with the predetermined point as the apex, and that uses the axis of the cone as a turning axis.
  • a treatment site is selected as the point corresponding to the apex of the cone in the pivoting operation.
  • the turning operation may be performed in a state where the distance between the tip unit or the imaging unit 140 and the point hitting the apex of the cone is kept constant. Since the direction of the tip unit or the imaging direction of the imaging unit 140 is fixed at a predetermined point in space (for example, a treatment site), the pivot operation is also called a point lock operation.
  • FIG. 7 is a schematic diagram showing the configuration of a specific system 1000 that adjusts the operational feeling of the robot arm according to the magnification of the visual field. 7 includes a central processing unit (CPU) 1100, a camera 1200, an operation input unit 1300, a sensor 1400, motor control units 1500a, 1500b,..., 1500f, encoders 1600a, 1600b,. , 1700f, torque sensors 1800a, 1800b,..., 1800f.
  • CPU central processing unit
  • the encoder 1600a, the motor 1700a, and the torque sensor 1800a constitute a joint portion 421a.
  • the encoder 1600b, the motor 1700b, and the torque sensor 1800b constitute a joint portion 421b
  • the encoder 1600f, the motor 1700f, and the torque sensor 1800f constitute a joint portion 421f.
  • the operation input unit 1300 corresponds to the input unit 210 in FIG.
  • the operation input unit 1300 is, for example, a switch such as a remote control switch or a foot switch.
  • the sensor 1400 is a sensor such as a six-axis sensor that is attached to the tip of the arm unit 120 of the robot arm device 10 and detects a user operation, for example.
  • corresponds to the arm control part 110 of FIG.
  • encoders 1600a, 1600b,..., 1600f included in each joint portion 421a, 421b,..., 421c correspond to the rotation angle detection unit 133 in FIG.
  • the motors 1800a, 1800b,..., 1800f included in the 421f correspond to the joint driving unit 131 in FIG. 6, and the torque sensors 1800a, 1800b included in the joints 421a, 421b,. ..., 1800f correspond to the torque detector 134 in FIG.
  • the movements of the joint portions 421a, 421b,..., 421f are controlled in accordance with the magnification. Specifically, the viscosity of the movement of each joint portion 421a, 421b,..., 421f is controlled according to the magnification. Further, the movement speed of each joint part 421a, 421b,..., 421f and the amount of movement with respect to the operation are controlled according to the magnification.
  • the magnification of the field of view can be calculated from the distance information from the camera 1200 to the imaging target (subject) and the zoom magnification (imaging magnification) of the camera 1200.
  • the distance information to the subject includes distance information by autofocus obtained from the camera 1200, distance information by stereo vision, distance information estimated from the posture of the arm, distance information measured by other sensors such as a distance measuring sensor, and the like. Can be used. For example, when the zoom magnification is the maximum and the camera 1200 is closest to the object, the slowest moving control is performed (the lowest driving speed or the highest viscosity is set). If the distance is long and a wide range is visible, the operability is not lowered even if the driving speed is high or the viscosity is low. When the joint is driven, it is preferable to adjust the driving speed and viscosity so that the moving speed of the object always falls within a predetermined range regardless of the size of the object shown on the screen.
  • the viscosity of the movement of each joint part 421a, 421b,..., 421f increases, a reaction force according to the movement of the arm part 120 is given to the operator, and the movement of the arm becomes heavy. This makes it easier to make fine adjustments. Thereby, the operator can finely adjust the position of the camera 1200 with respect to the subject while confirming the enlarged image of the subject on the display device 30.
  • the calculation condition setting unit 242 obtains a viscosity value corresponding to the magnification for the above-described movement purpose. Then, the virtual force calculation unit 243 and the real force calculation unit 244 perform the above-described processing, the processing by the ideal joint control unit 250 is performed, and the torque command value ⁇ is calculated based on the obtained viscosity value.
  • 1500c to the motor control units 1500a, 1500b,.
  • Each of the motor control units 1500a, 1500b,..., 1500f controls the motors 1700a, 1700b,.
  • the motor driver 425 of the robot arm apparatus 10 can adjust the viscous resistance coefficient with respect to the rotational motion of the actuator 430 by adjusting the amount of current supplied to the motor 424.
  • FIG. 8 is a schematic diagram showing an example of a map used when the central computing unit 1100 obtains viscosity according to the magnification.
  • the map is defined so that the viscosity value increases as the enlargement magnification increases.
  • different map characteristics may be defined depending on the surgical technique. Thereby, in the technique 1 in which the operation of the robot arm device 10 with higher accuracy is required, the movement of the arm unit 120 of the robot arm device 10 can be performed by increasing the rate of increase in the viscosity with respect to the increase in the magnification. This makes it possible to make fine adjustment with higher accuracy. Note that the map shown in FIG.
  • FIG. 8 can be stored in a memory included in the control device 20. Further, FIG. 8 shows an example in which the map is switched according to the technique, but the map may be switched according to the user's operation input to the operation input unit 1300. Accordingly, the user can set the movement (viscosity) of the arm unit 120 to a desired state.
  • the control when controlling the speed according to the magnification, the control is performed so that the speed of movement of each joint portion 421a, 421b,..., 421f decreases as the magnification by the camera 1200 increases.
  • the higher the magnification the lower the speed of movement of each joint portion 421a, 421b,..., 421f, so that the arm portion 120 of the robot arm device 10 can be finely adjusted with higher accuracy.
  • the control is performed so that the movement amount of the tip of the arm unit 120 of the robot arm device 10 becomes smaller as the enlargement magnification by the camera 1200 becomes higher.
  • the calculation condition setting unit 242 obtains the speed and movement amount according to the enlargement magnification for the above-described exercise purpose.
  • the speed and movement amount according to the enlargement magnification can be obtained from, for example, a map shown in FIG. As shown in FIG. 14, the speed and the movement amount decrease according to the enlargement magnification.
  • the virtual force calculation unit 243 and the actual force calculation unit 244 perform the above-described processing, the processing by the ideal joint control unit 250 is performed, and the torque command value ⁇ is output from the command value calculation unit 252 to the robot arm device 10. Is done. Torque command value ⁇ is sent to each motor controller 1500a, 1500b,..., 1500f.
  • Each of the motor control units 1500a, 1500b,..., 1500f controls the motors 1700a, 1700b,.
  • the amount of movement can be the amount of movement of the arm unit 120 corresponding to one operation when the user performs a remote control operation on the arm unit 120 using the operation input unit 1300, for example.
  • the viscosity, the moving speed By switching the movement amount (movement amount of the arm unit 120 with respect to one operation of the user), acceleration, and other parameters, a reaction force according to the movement amount of the arm unit 120 by the user operation can be returned to the operator. Operability can be improved. Therefore, finer adjustment is possible when the magnification is high. In addition, when the enlargement magnification is low, the arm unit 120 can be moved more easily, so that the arm unit 120 can be quickly moved so that a desired portion of the subject is displayed on the display device 30.
  • control such as increasing the viscosity according to the amount deviating from the constant distance. Is also possible.
  • the control according to the enlargement magnification is basically performed when an operation input from the user is detected.
  • the operation input can be detected by detecting a user operation on the operation input unit 1300 (mainly a remote control operation).
  • the operation input can be detected by the torque sensors 1800a, 1800b,..., 1800f when the user operates the arm unit 120.
  • by detecting external force it is possible to switch the state from the state in which the arm unit 120 is fixed to the mode in which the arm unit 120 is moved only with a light operating force.
  • the electromagnetic brake can also be released (or actuated).
  • a force in the Z direction (the depth direction of the screen) is detected to control viscosity, speed, acceleration, or movement amount, and any of the XYZ directions with respect to the screen It is also possible to detect such an operation and change the focus position, the enlargement magnification, or the camera position.
  • Detection can also be performed by a six-axis force sensor, a proximity sensor, or the like attached to the root or tip of the head. These sensors are included in the sensor 1400 shown in FIG.
  • the encoders 1600a, 1600b,..., 1600f of the joint portions 421a, 421b may be detected that the arm is operated in a pseudo manner.
  • the operation by the operator can be detected by a sensor such as an infrared proximity sensor in addition to the operation of directly moving the arm unit 120.
  • a sensor such as an infrared proximity sensor
  • non-contact operation by voice input, gesture or hand gesture is also possible.
  • the operation input unit 1300 may be an infrared proximity sensor, a sensor that detects sound, or a sensor that detects a non-contact operation such as a gesture or a hand gesture (six-axis force sensor).
  • a mechanical switch, jog, analog joystick, or the like can be used as the operation input unit 1300.
  • the tip approaches the target position by increasing the viscosity when the tip of the arm unit 120 comes close to the target position. It is also possible to notify the operator of the fact.
  • the sensor 1400 various sensors that detect a viewpoint, voice, brain waves, facial expressions, and the like can be used.
  • the arm unit 120 can be controlled based on the detection by these sensors.
  • the movement of the arm unit 120 is stopped or blunted.
  • the reaction force and viscosity of the unit 120 it is possible to notify the operator of the interference and to ensure safety.
  • FIG. 9 is a flowchart illustrating a processing procedure of a robot arm control method according to an embodiment of the present disclosure.
  • the robot arm control method according to the present embodiment is realized by the configuration of the robot arm control system 1 shown in FIG. 6 as an example. Therefore, it can be said that the robot arm control method according to the present embodiment is a medical robot arm control method.
  • the functions of the components of the robot arm control system 1 shown in FIG. 6 are described in [2-4. Since it has already been described in [Configuration of Robot Arm Control System], a detailed description thereof will be omitted.
  • the joint state detection unit 132 detects the state of the joint unit 130.
  • the state of the joint portion 130 is, for example, a rotation angle, generated torque, and / or external torque in the joint portion 130.
  • the arm state is acquired by the arm state acquisition unit 241 based on the state of the joint unit 130 detected in step S801.
  • the arm state is a state of movement of the arm unit 120, and may be, for example, the position, speed, acceleration, force acting on each component of the arm unit 120, or the like.
  • step S805 based on the arm state acquired in step S803, the exercise condition and constraint conditions used in the calculation in the whole body cooperative control are set by the calculation condition setting unit 242.
  • the calculation condition setting unit 242 does not have to set the exercise purpose based on the arm state.
  • the calculation condition setting unit 242 sets the exercise purpose based on instruction information about driving of the arm unit 120 input by the user from the input unit 210.
  • an exercise purpose stored in advance in the storage unit 220 may be used.
  • the exercise purpose may be set by appropriately combining the above methods.
  • the calculation condition setting unit 242 may use constraint conditions stored in advance in the storage unit 220.
  • step S807 the arm state, based on the motion objects and constraints, calculation for the systemic cooperative control using the generalized inverse dynamics is performed, the control value tau a is calculated.
  • the process performed in step S807 is a series of processes in the virtual force calculation unit 243 and the actual force calculation unit 244 shown in FIG. 6, that is, the above [2-2. It may be a series of processes described in “Generalized inverse dynamics”.
  • step S809 the estimated disturbance value ⁇ d is calculated, the calculation for the ideal joint control is performed using the estimated disturbance value ⁇ d , and the command value ⁇ is calculated from the control value ⁇ a .
  • the process performed in step S809 is a series of processes in the ideal joint control unit 250 shown in FIG. It may be a series of processes described in “About ideal joint control”.
  • step S811 the drive of the joint unit 130 is controlled by the drive control unit 111 based on the command value ⁇ .
  • step S10 it is determined whether or not an operation input exceeding a certain value is detected.
  • the operation input is detected by the torque sensors 1800a, 1800b,..., 1800f of the joint portions 421a, 421b,. Further, when the arm unit 120 is remotely controlled, the operation input unit 1300 can also detect the operation input.
  • step S10 If it is determined in step S10 that an operation input of a certain value or more has been detected, the process proceeds to step S12, and the magnification of the image captured by the camera 1200 is acquired.
  • the central processing unit 1100 acquires the zoom magnification from the camera 1200, and acquires the enlargement magnification from the zoom magnification and subject distance information.
  • the viscosity, speed, and movement amount corresponding to the enlargement magnification are calculated.
  • the viscosity, speed, and movement amount according to the magnification can be obtained from a map that defines the relationship between the magnification and these parameters.
  • step S16 driving of the arm unit 120 by force control is started. At this time, since the viscosity, speed, or amount of movement is controlled according to the magnification, the higher the magnification, the finer the arm can be adjusted. After step S16, the process returns to step S10.
  • step S10 If it is determined in step S10 that an operation input exceeding a certain value has not been detected, the process proceeds to step S18.
  • step S18 control is performed to fix the posture of the arm unit 120 to the current posture.
  • the viscosity, the moving speed of the arm, or the moving amount of the arm is controlled according to the magnification. Therefore, when the magnification is large, the viscosity can be increased. Further, when the enlargement magnification is large, it is possible to control to reduce the moving speed or moving amount of the arm. Thereby, when the enlargement magnification is high, it is possible to perform fine adjustment with higher accuracy of the arm portion.
  • the state of the joint unit 130 is detected. Based on the state of the joint part 130, the arm state is acquired by the arm state acquisition unit 241.
  • the arm state is a state of movement of the arm unit 120, and may be, for example, the position, speed, acceleration, force acting on each component of the arm unit 120, or the like.
  • the central computing unit 1100 controls the viscosity of driving the joint portion 130 based on the state of the joint portion 130. For example, when the arm unit 120 moves in a predetermined direction, control is performed to increase the viscosity or to decrease the viscosity than in the normal case. In addition, when the arm unit 120 is in a predetermined posture, control is performed to increase the viscosity or decrease the viscosity as compared with a normal case. Further, when the arm unit 120 moves at a predetermined speed, control is performed to increase the viscosity or decrease the viscosity as compared with a normal case.
  • the arm state acquisition unit 241 acquires the state (arm state) of the joint unit 130.
  • the calculation condition setting unit 242 calculates a viscosity value according to the state of the joint unit 130 for the purpose of exercise described above.
  • the virtual force calculation unit 243 and the real force calculation unit 244 perform the above-described processing, the processing by the ideal joint control unit 250 is performed, and the torque command value ⁇ is calculated based on the obtained viscosity value.
  • 1500c to the motor control units 1500a, 1500b,.
  • Each of the motor control units 1500a, 1500b,..., 1500f controls the motors 1700a, 1700b,.
  • the motor driver 425 of the robot arm apparatus 10 can adjust the viscous resistance coefficient with respect to the rotational motion of the actuator 430 by adjusting the amount of current supplied to the motor 424.
  • the viscosity changes according to the direction, posture, and speed of the movement of the arm unit 120, so that the movement of the arm unit 120 is lightened or heavy when the movement is in a specific direction or a specific posture. It is possible to realize an optimum movement according to the operator's needs. More specifically, only the fine adjustment in the specific direction can be facilitated by changing the viscosity in the specific direction based on the position information obtained from the state of the joint portion 130. For example, by increasing the viscosity in the XY direction displayed on the screen and increasing the viscosity in the Z direction, it is possible to easily operate only in the XY direction while restricting movement in a specific direction. .
  • the operator can change the operability of a small movement and a large movement by switching to make it easy to move by lowering the viscosity. Allow selection.
  • the viscosity based on the acceleration information obtained from the state of the joint part 130, it becomes possible to move at a constant speed without being affected by the force of the hand, and the affected part without the need for subtle force adjustment. Can be easily observed.
  • the viscosity control based on the state of the joint part 130 and the viscosity control based on the magnification described above can be performed in combination.
  • the central computing unit 1100 controls the driving viscosity of the joint unit 130 based on the state of the joint unit 130 and the magnification.
  • the subject can be rotated with respect to the display screen of the display device 30 when the joint portion 421f is driven to rotate.
  • FIG. 11A shows the positional relationship between the subject and the frame 30a of the display device 30 before the joint portion 421f is rotationally driven.
  • FIG. 11B shows the positional relationship between the subject after the joint portion 421f is rotated and the frame 30a of the display device 30.
  • processing for realizing the movement of the arm that matches the direction in the screen is performed.
  • the angular position of the camera 1200 with respect to the subject is acquired, and when the angular position of the camera 1200 with respect to the subject changes, the operation direction is corrected in consideration of the change amount.
  • the camera 1200 rotates by an angle ⁇
  • the subject rotates by an angle ⁇ relative to the frame 30a of the display screen.
  • the direction in which the arm unit 120 moves is corrected by the angle ⁇ with respect to the operation direction input by the user. Accordingly, when the user operates in the Y-axis direction of FIG. 11B, the arm unit 120 moves in the Y-axis direction, and the direction in which the arm unit 120 moves and the operation direction on the display screen are the same. Therefore, the operability can be greatly improved.
  • FIG. 12 is a flowchart showing a process for operating the arm unit so as to coincide with the XY directions in the screen shown in FIG.
  • step S20 the rotation angle ⁇ of the camera 1200 is detected.
  • the angle ⁇ shown in FIG. 11B is obtained.
  • the angle ⁇ can be obtained from the encoder 1600f of the joint portion 421f.
  • the operation direction input to the operation input unit 1300 by the user is detected.
  • the robot arm device 10 recognizes the operation as the Y′-axis direction.
  • next step S24 the operation direction input by the user to the operation input unit 1300 is corrected by the rotation angle ⁇ .
  • the operation direction is corrected from the Y′-axis direction to the Y-axis direction.
  • the arm unit 120 is driven in the corrected operation direction.
  • the operation direction designated on the screen by the user can be matched with the actual operation direction of the arm unit 120.
  • the user can operate intuitively while looking at the screen, and the operability can be greatly improved.
  • FIG. 13 is a functional block diagram illustrating a configuration example of the hardware configuration of the robot arm device 10 and the control device 20 according to an embodiment of the present disclosure.
  • the robot arm device 10 and the control device 20 mainly include a CPU 901, a ROM 903, and a RAM 905. Further, the robot 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, and a drive 921. Connection port 923 and communication device 925.
  • the CPU 901 functions as an arithmetic processing device and a control device, and performs all or part of the operations in the robot 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 the removable recording medium 927. Control.
  • the ROM 903 stores programs used by the CPU 901, calculation parameters, and the like.
  • the RAM 905 primarily stores programs used by the CPU 901, parameters that change as appropriate during execution of the programs, and the like. These are connected to each other by a host bus 907 constituted by an internal bus such as a CPU bus.
  • the CPU 901 corresponds to, for example, the arm control unit 110 and the control unit 230 illustrated in FIG.
  • the host bus 907 is connected to an external bus 911 such as a PCI (Peripheral Component Interconnect / Interface) bus via a bridge 909.
  • an input device 915, an output device 917, a storage device 919, a drive 921, a connection port 923, and a communication device 925 are connected to the external bus 911 via an interface 913.
  • the input device 915 is an operation means operated by the user, such as a mouse, a keyboard, a touch panel, a button, a switch, a lever, and a pedal.
  • the input device 915 may be, for example, remote control means (so-called remote control) using infrared rays or other radio waves, or a mobile phone, a PDA, or the like corresponding to the operation of the robot arm device 10 and the control device 20.
  • the external connection device 929 may be used.
  • the input device 915 includes an input control circuit that generates an input signal based on information input by a user using the above-described operation means and outputs the input signal to the CPU 901, for example.
  • the user of the robot arm device 10 and the control device 20 can input various data and instruct processing operations to the robot arm device 10 and the control device 20 by operating the input device 915.
  • the input device 915 corresponds to, for example, the input unit 210 illustrated in FIG.
  • an exercise purpose for driving the arm unit 120 may be set by an operation input by the user via the input device 915, and whole body cooperative control may be performed according to the exercise purpose.
  • the output device 917 is a device that can notify the user of the acquired information visually or audibly. Examples of such devices include CRT display devices, liquid crystal display devices, plasma display devices, EL display devices, display devices such as lamps, audio output devices such as speakers and headphones, printer devices, and the like.
  • the output device 917 outputs results obtained by various processes performed by the robot arm device 10 and the control device 20, for example. Specifically, the display device displays results obtained by various processes performed by the robot arm device 10 and the control device 20 as text or images.
  • the audio output device converts an audio signal composed of reproduced audio data, acoustic data, and the like into an analog signal and outputs the analog signal.
  • various types of information related to the drive control of the arm unit 120 may be output from the output device 917 in any format.
  • the movement trajectory of each component 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.
  • the display device 30 illustrated in FIG. 6 may be a device including a function and configuration of the output device 917 as a display device and a configuration of a control unit for controlling driving of the display device.
  • the storage device 919 is a data storage device configured as an example of a storage unit of the robot arm device 10 and the control device 20.
  • the storage device 919 includes, for example, a magnetic storage device such as an HDD (Hard Disk Drive), a semiconductor storage device, an optical storage device, or a magneto-optical storage device.
  • the storage device 919 stores programs executed by the CPU 901 and various data.
  • the storage device 919 corresponds to, for example, the storage unit 220 illustrated in FIG.
  • the storage device 919 can store calculation conditions (exercise purpose and constraint conditions) in calculations related to whole body cooperative control using generalized inverse dynamics. 20 may perform calculations related to whole body cooperative control using these calculation conditions stored in the storage device 919.
  • the drive 921 is a reader / writer for a recording medium, and is built in or externally attached to the robot arm device 10 and the control device 20.
  • the drive 921 reads information recorded on a 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.
  • the drive 921 can also write a record to a removable recording medium 927 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory that is mounted.
  • the removable recording medium 927 is, for example, a DVD medium, an HD-DVD medium, a Blu-ray (registered trademark) medium, or the like.
  • the removable recording medium 927 may be a compact flash (registered trademark) (CF: CompactFlash), a flash memory, an SD memory card (Secure Digital memory card), or the like. Further, the removable recording medium 927 may be, for example, an IC card (Integrated Circuit card) on which a non-contact IC chip is mounted, an electronic device, or the like. In the present embodiment, various types of information related to the drive control of the arm unit 120 may be read from various types of removable recording media 927 by the drive 921 or written to various types of removable recording media 927.
  • CF CompactFlash
  • SD memory card Secure Digital memory card
  • the connection port 923 is a port for directly connecting a device to the robot arm device 10 and the control device 20.
  • Examples of the connection port 923 include a USB (Universal Serial Bus) port, an IEEE 1394 port, a SCSI (Small Computer System Interface) port, and the like.
  • As another example of the connection port 923 there are an RS-232C port, an optical audio terminal, an HDMI (registered trademark) (High-Definition Multimedia Interface) port, and the like.
  • the robot arm device 10 and the control device 20 can directly acquire various data from the external connection device 929 or provide various data to the external connection device 929.
  • various types of information related to the drive control of the arm unit 120 may be read from various external connection devices 929 via the connection port 923 or written to various external connection devices 929.
  • the communication device 925 is a communication interface configured with, for example, a communication device for connecting to a communication network (network) 931.
  • the communication device 925 is, for example, a communication card for wired or wireless LAN (Local Area Network), Bluetooth (registered trademark), or WUSB (Wireless USB).
  • the communication device 925 may be a router for optical communication, a router for ADSL (Asymmetric Digital Subscriber Line), a modem for various communication, or the like.
  • the communication device 925 can transmit and receive signals and the like according to a predetermined protocol such as TCP / IP, for example, with the Internet or other communication devices.
  • the communication network 931 connected to the communication device 925 is configured by a wired or wireless network, and may be, for example, the Internet, a home LAN, infrared communication, radio wave communication, satellite communication, or the like. .
  • various types of information related to 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.
  • a computer program for realizing the functions of the robot arm device 10, the control device 20, and the display device 30 according to the present embodiment as described above can be produced and installed in a personal computer or the like.
  • a computer-readable recording medium storing such a computer program 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.
  • the above computer program may be distributed via a network, for example, without using a recording medium.
  • the arm unit 120 which is a multi-link structure in the robot arm device 10 has a degree of freedom of at least 6 degrees of freedom, and a plurality of parts constituting the arm unit 120.
  • Each drive of the joint part 130 is controlled by the drive control part 111.
  • a medical instrument is provided at the tip of the arm unit 120.
  • the state of the joint portion 130 is detected by the joint state detection unit 132 in the robot arm device 10.
  • a torque command value ⁇ as a calculation result is calculated.
  • the driving of the arm unit 120 is controlled based on the torque command value ⁇ .
  • the drive of the arm part 120 is controlled by the whole body cooperative control using generalized inverse dynamics. Therefore, drive control of the arm unit 120 by force control is realized, and a robot arm device with higher operability for the user is realized.
  • ideal joint control is applied to drive control of the arm unit 120 together with whole body cooperative control.
  • disturbance components such as friction and inertia inside the joint portion 130 are estimated, and feedforward control using the estimated disturbance components is performed. Therefore, even when there is a disturbance component such as friction, it is possible to realize an ideal response for driving the joint portion 130. Therefore, in the drive control of the arm unit 120, high-accuracy responsiveness and high positioning accuracy and stability that are less affected by vibration and the like are realized.
  • each of the plurality of joint portions 130 constituting the arm portion 120 has a configuration suitable for ideal joint control, for example, as shown in FIG.
  • the generated torque and the viscous resistance coefficient can be controlled by the current value.
  • the driving of each joint unit 130 is controlled by the current value, and the driving of each joint unit 130 is controlled by grasping the state of the entire arm unit 120 by the whole body cooperative control.
  • the robot arm device 10 can be reduced in size.
  • the above ⁇ 1. All of the performance required for the robot arm device described in the section “Review of Medical Robot Arm Device> can be satisfied. Therefore, in various treatments using the robot arm device according to the present embodiment, the treatment can be performed more efficiently, and the fatigue and burden on the user and the patient can be further reduced.
  • the arm unit 120 of the robot arm device 10 is driven by force control, so that even if the arm unit 120 interferes (contacts) with a practitioner or a staff during the driving, However, an excessive force is not generated, and the arm unit 120 is safely stopped. Then, if released from the interference, the arm unit 120 moves to a desired position according to the set motion purpose, and the treatment is continued.
  • force control for driving control of the robot arm device 10 higher safety is ensured against interference between the arm unit 120 and surrounding objects during driving. .
  • the torque sensors 1800a, 1800b,..., 1800f of each joint can detect the user's operation, so that any part of the arm unit 120 of the robot arm device 10 is operated.
  • the arm unit 120 can be moved. As a result, it is possible to move the arm unit 120 even with an operation of pushing with the arm or the like without directly holding the arm unit 120 by hand.
  • the viscosity in accordance with the magnification (magnification rate) of the display device 30 at each joint portion, when the magnification is high, the viscosity can be increased and fine adjustment can be easily performed.
  • magnification rate magnification rate
  • the operator's intuitive ability can be matched with the actual movement amount of the arm unit 120, and the arm unit 120 can intuitively perform the operation even while looking only at the enlarged field of view of the display device 30. Reaction force can be returned, and operability can be greatly improved.
  • the distal end unit of the arm portion of the robot arm device is an imaging unit and the surgical site is imaged by the imaging unit at the time of surgery as shown in FIG. 1 has been described. It is not limited to examples.
  • the robot arm control system 1 according to the present embodiment is applicable even when a robot arm device having another tip unit is used for other purposes.
  • the tip unit may be an endoscope or a laparoscope, or may be another inspection device such as an ultrasonic inspection device or a stomach camera.
  • a laparoscope is operated with a robot arm to insert the laparoscope into the patient's body, and the patient's body is observed while operating the laparoscope and observing the image of the treatment site on the monitor.
  • Treatment is performed using forceps or an electric knife inserted into the.
  • a practitioner can operate forceps and an electric knife while operating a laparoscope for observing a treatment site with a robot arm, the operation can be performed by one user, More efficient treatment is possible.
  • the operation of the treatment forceps and the electric knife with its own hand and the operation of the laparoscope for observation with the robot arm device are performed. It can be easily performed by one practitioner.
  • the robot arm device according to the present embodiment may be used for purposes other than medical treatment.
  • high-accuracy responsiveness and high stability are realized by ideal joint control, and thus, for example, it is possible to cope with work such as processing and assembly of industrial parts that require high accuracy. is there.
  • the joint part of the robot arm apparatus has a rotation mechanism and the drive of the arm part is controlled by controlling the rotation drive of the rotation mechanism in the above embodiment
  • the present embodiment is It is not limited to such an example.
  • the link constituting the arm unit may have a mechanism that expands and contracts in the link extending direction, and the link length may be variable.
  • the driving of the arm unit is controlled so as to achieve a desired exercise purpose by, for example, whole body cooperative control in consideration of the expansion and contraction of the link in addition to the rotation at the joint unit.
  • the degree of freedom of the arm portion in the robot arm apparatus is 6 degrees of freedom or more has been described, but the present embodiment is not limited to such an example.
  • the present embodiment is not limited to such an example.
  • various exercise purposes can be set according to the use of the robot arm device. Therefore, as long as the set exercise purpose can be achieved, the arm portion may have a degree of freedom lower than 6 degrees of freedom, and a part of the plurality of joint portions constituting the arm portion is generally used. It may be a joint part having a typical joint mechanism.
  • the configuration of the arm portion only needs to be configured so as to be able to achieve the exercise purpose, and may be appropriately configured according to the use of the robot arm device.
  • a joint portion connecting a plurality of links constituting the multi-link structure An acquisition unit that acquires an enlargement magnification of an image captured by an imaging unit attached to the multi-link structure;
  • a drive control unit that controls the drive of the joint unit based on the state of the joint unit and the magnification factor;
  • a robot arm device comprising: (2) The robot arm device according to (1), wherein the drive control unit controls the viscosity of driving the joint according to the magnification.
  • the drive control unit selects one characteristic from a plurality of characteristics that define the relationship between the magnification and the joint drive viscosity, and the joint drive viscosity is based on the selected characteristic.
  • the robot arm device according to (2) wherein the robot arm device is controlled.
  • the robot arm device according to (1) wherein the drive control unit controls the drive speed of the joint unit according to the magnification.
  • the robot arm device (12) The robot arm device according to (11), wherein the detection unit detects an external force acting on the multi-link structure as the operation input.
  • the plurality of joint portions include a joint state detection unit that detects a state of the joint portion, The joint state detection unit A torque detection unit for detecting generated torque at the joint and external torque applied to the joint from outside; A rotation angle detector that detects a rotation angle of the joint; Having at least The robot arm device according to (1).
  • the control value and the command value are torques generated at the joint part.
  • the robot arm device 13).
  • the drive control unit uses the state of the multi-link structure acquired based on the detected states of the joints, the purpose of movement of the multi-link structure, and the constraint condition.
  • the robot arm device Controlling the driving of the joint based on a control value for whole body cooperative control of the multi-link structure calculated by generalized inverse dynamics,
  • the robot arm device is a virtual value that is applied to achieve the motion purpose in an operation space that describes a relationship between a force acting on the multi-link structure and an acceleration generated in the multi-link structure. Calculated based on a virtual force that is a force and a real force obtained by converting the virtual force into a real force for driving the joint portion based on the constraint condition, The robot arm device according to (15).
  • the drive control unit controls the drive of the joint unit based on a command value calculated by correcting the influence of disturbance on the control value.
  • the robot arm device (15).
  • the command value is calculated by correcting the control value using a disturbance estimated value representing an influence of the disturbance on the driving of the joint portion estimated based on the detected state of the joint portion.
  • the purpose of the movement is to control the state of the joint part so as to counteract the gravity acting on the multi-link structure, and to move the multi-link structure in the direction of a force further applied from the outside. Is an operation of controlling the state of the joint part to support
  • the robot arm device according to (15). (20) The robot arm device according to any one of (1) to (16), which is a medical device.
  • (21) Means for detecting a state of a joint portion connecting a plurality of links constituting the multi-link structure, Means for acquiring an enlargement magnification on a screen of a subject imaged by an imaging unit attached to the multi-link structure; Means for controlling the driving of the joint based on the state of the joint and the magnification; As a program to make the computer function as.
  • (22) a joint portion connecting a plurality of links constituting the multi-link structure;
  • a drive controller that controls the viscosity of the joint drive based on the state of the joint;
  • a robot arm device comprising: (23) An acquisition unit that acquires an enlargement magnification on the screen of the subject imaged by the imaging unit attached to the multi-link structure, The robot arm device according to (22), wherein the drive control unit controls the viscosity of driving of the joint unit according to the magnification.
  • the drive control unit selects one characteristic from a plurality of characteristics that define a relationship between the enlargement magnification and the driving viscosity of the joint, and the driving viscosity of the joint is based on the selected characteristic.
  • the robot arm device according to (22), wherein the state of the joint portion is a posture of the multi-link structure.
  • the robot arm device according to (22), wherein the state of the joint is a driving speed of the joint.
  • the robot arm device according to (22), wherein the state of the joint is a driving direction of the joint.

Abstract

 本開示に係るロボットアーム装置は、多リンク構造体を構成する複数のリンクを連結する関節部と、前記多リンク構造体に取り付けられた撮像部により撮像された被写体の画面上の拡大倍率を取得する取得部と、前記関節部の状態と前記拡大倍率に基づいて前記関節部の駆動を制御する駆動制御部と、を備える。

Description

ロボットアーム装置、ロボットアーム装置の制御方法及びプログラム
 本開示は、ロボットアーム装置、ロボットアーム装置の制御方法及びプログラムに関する。
 近年、工業分野においては、より正確により素早く作業を行うために、ロボット装置が広く用いられている。ロボット装置のなかには、複数のリンクが関節部によって互いに連結された多リンク構造体のものがあり、複数の当該関節部における回転駆動が制御されることにより、ロボット装置全体としての駆動が制御される。
 ここで、ロボット装置及び各関節部の制御方法としては、位置制御と力制御が知られている。位置制御では、関節部のアクチュエータに、例えば角度等の指令値が与えられ、当該指令値に追随するように関節部の駆動が制御される。一方、力制御では、ロボット装置全体として作業対象に加えるべき力の目標値が与えられ、当該目標値が示す力を実現するように関節部の駆動(例えば関節部によって発生されるトルク)が制御される。
 一般的に、制御上の簡便さやシステムの構成のしやすさから、位置制御によって駆動されるロボット装置が大半である。しかしながら、位置制御は、外力に柔軟に応じることが困難であるため、俗に「硬い制御」と呼ばれることがあり、多様な外界との物理インタラクション(例えば、対人物理インタラクション)を行いながらタスク(運動目的)を遂行するロボット装置には適していない。一方、力制御は、システム構成は複雑化する半面、力オーダーでの「柔らかい制御」が実現できるため、特に対人物理インタラクションを行うロボット装置に適した制御方法であり、よりユーザビリティに優れた制御方法と言える。
 例えば、力制御が適用されたロボット装置として、特許文献1には、対向する2輪の車輪からなる移動機構と複数の関節部を有する腕部を備えたロボット装置において、当該車輪及び当該関節部の駆動を全体として協調させて制御する(全身協調制御を行う)ロボット装置が開示されている。
 また、力制御においては、ロボット装置の各関節部におけるトルク(関節部が発生する発生トルク及び外部から関節部に与えられる外トルクを含む)をより精度良く検出し、フィードバック制御及び/又はフィードフォワード制御を行うことが求められる。例えば、特許文献2には、分割構造(デカップリング構造)を有することにより、振動の影響が極力低減された高精度のトルクの検出を実現するトルクセンサが開示されている。
 また、下記の特許文献3には、重心のバランスが取れた構造を採用した手術用顕微鏡を用いることで、軽い操作力での操作を可能とする技術が記載されている。
特開2010-188471号公報 特開2011-209099号公報 特開平7-16239号公報
 近年、医療分野においては、各種の施術(例えば、手術や検査)を行う際に、アーム部の先端に様々な医療用のユニット(先端ユニット)が設けられたバランス型アーム(支持アームとも呼称する。)を用いる試みが行われている。しかしながら、一般的なバランス型アームでは、バランスが取れているために軽い力で動いてしまうため微小な移動量を操作するのが困難であったり、例えば撮影部位を患者の体の所定の部位に固定した状態で様々な方向から撮影する等の撮影の自由度の確保が困難であった。
 このような状況を鑑みて、バランス型アームに代わる装置として、位置制御によって駆動が制御される医療用のロボットアーム装置も提案されている。しかしながら、施術の更なる効率化及びユーザの負担軽減のために、ロボットアーム装置の駆動制御には、ユーザによってアーム部及び先端ユニットの位置や姿勢をより直感的に制御することができる、より高い操作性が求められていた。位置制御によって駆動が制御されるロボットアーム装置では、このようなユーザの要望に応えることが困難であった。
 上記のような事情から、ユーザの要望に応じた最適な操作を行うことが可能なロボットアーム装置を実現することが望まれていた。
 本開示によれば、多リンク構造体を構成する複数のリンクを連結する関節部と、前記多リンク構造体に取り付けられた撮像部により撮像された被写体の画面上の拡大倍率を取得する取得部と、前記関節部の状態と前記拡大倍率に基づいて前記関節部の駆動を制御する駆動制御部と、を備える、ロボットアーム装置が提供される。
 また、本開示によれば、多リンク構造体を構成する複数のリンクを連結する関節部、の状態を検出する手段、前記多リンク構造体に取り付けられた撮像部により撮像された被写体の画面上の拡大倍率を取得する手段、前記関節部の状態と前記拡大倍率に基づいて前記関節部の駆動を制御する手段、としてコンピュータを機能させるためのプログラムが提供される。
 また、本開示によれば、多リンク構造体を構成する複数のリンクを連結する関節部と、前記関節部の状態に基づいて前記関節部の駆動の粘性を制御する駆動制御部と、を備える、ロボットアーム装置が提供される。
 本開示によれば、撮像部により撮像された画像に応じて、最適な操作を行うことが可能なロボットアーム装置を実現することができる。
本開示の一実施形態に係るロボットアーム装置が医療用に用いられる場合の一適用例について説明するための説明図である。 本開示の一実施形態に係るロボットアーム装置の外観を示す概略図である。 本開示の一実施形態に係る関節部のアクチュエータを、回転軸を通る断面で切断した様子を模式的に示す断面図である。 図3に示すトルクセンサを、駆動軸の軸方向から見た様子を模式的に示す概略図である。 図3に示すアクチュエータに適用されるトルクセンサの他の構成例を示す概略図である。 本開示の一実施形態に係る理想関節制御について説明するための説明図である。 本開示の一実施形態に係るロボットアーム制御システムの一構成例を示す機能ブロック図である。 ズーム倍率に応じてロボットアームの操作感を調整する具体的なシステムの構成を示す模式図である。 中央演算器がズーム倍率に応じた粘性を求める際に使用するマップの例を示す模式図である。 ロボットアーム制御方法の処理手順を示すフロー図である。 ズーム倍率に応じた制御の処理を示すフロー図である。 画面内の方向と一致したロボットアームの操作を説明するための模式図である。 図11に示した画面内のXY方向と一致させてアーム部を操作する処理を示すフローチャートである。 本開示の一実施形態に係るロボットアーム装置及び制御装置のハードウェア構成の一構成例を示す機能ブロック図である。 中央演算器がズーム倍率に応じた速度、移動量を求める際に使用するマップの例を示す模式図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.医療用ロボットアーム装置についての検討
 2.本開示の一実施形態
  2-1.ロボットアーム装置の外観
  2-2.一般化逆動力学について
   2-2-1.仮想力算出処理
   2-2-2.実在力算出処理
  2-3.理想関節制御について
  2-4.ロボットアーム制御システムの構成
  2-5.運動目的の具体例
 3.ズーム倍率に応じた制御
 4.ロボットアーム制御方法の処理手順
 5.画面内の方向と一致した操作
 6.ハードウェア構成
 7.まとめ
 <1.医療用ロボットアーム装置についての検討>
 まず、本開示をより明確なものとするために、本発明者らが本開示に想到するに至った背景について説明する。例えば、バランス型アームのアーム部の先端に顕微鏡や内視鏡、撮像部(カメラ)等の様々な撮像機能を有するユニットを先端ユニットとして設け、施術者(ユーザ)が当該先端ユニットによって撮影された患部の画像を観察しながら各種の施術を行う方法が提案されている。しかしながら、バランス型アームは、アーム部を移動させた際の力の均衡を取るためのカウンターバランス用ウェイト(カウンターウェイト又はバランサーとも呼称する。)を備える必要があるため、装置が大型化する傾向がある。施術時の作業空間の確保の観点からは、施術に用いられる装置にはより一層の小型化が求められており、一般的に提案されているバランス型アームではこのような要請に応えることが困難であった。また、バランス型アームにおいては、アーム部の駆動の一部のみ、例えば先端ユニットを平面上(2次元上)で移動させるための2軸の駆動のみが電動駆動となっており、アーム部及び先端ユニットの移動には施術者自身や周囲の医療スタッフによる手動での位置決めが必要となる。従って、一般的なバランス型アームでは、撮影時の安定性(例えば先端ユニットの位置決めの精度や制振等)の確保や、例えば撮影部位を患者の体の所定の部位に固定した状態で様々な方向から撮影すること等が困難であった。また、ロボットアーム装置の先端にカメラなどの撮像部が装着されている場合、撮像部で撮像された被写体像を表示させ、操作者は撮像された被写体像を確認しながらロボットアーム装置の操作を行う場合がある。そして、撮像部がズーム機能を有する場合、被写体の撮像倍率を大きくした場合と撮像倍率を小さくした場合とでは、操作者によるロボットアームの微調整の度合いが異なる。従って、撮像倍率を大きくした場合は、操作者による緻密な操作を可能とするような操作性が求められていた。このような事情に鑑み、本実施形態では、撮像部により撮像された画像に応じて
、最適な操作を行うことが可能なロボットアーム装置を実現する。
 図1を参照して、本開示の一実施形態に係るロボットアーム装置が医療用に用いられる場合の一適用例について説明する。図1は、本開示の一実施形態に係るロボットアーム装置が医療用に用いられる場合の一適用例について説明するための説明図である。
 図1は、本実施形態に係るロボットアーム装置を用いた施術の様子を模式的に表している。具体的には、図1を参照すると、施術者(ユーザ)520である医師が、例えばメス、鑷子、鉗子等の手術用の器具521を使用して、施術台530上の施術対象(患者)540に対して手術を行っている様子が図示されている。なお、以下の説明においては、施術とは、手術や検査等、ユーザ520である医師が施術対象540である患者に対して行う各種の医療的な処置の総称であるとする。また、図1に示す例では、施術の一例として手術の様子を図示しているが、ロボットアーム装置510が用いられる施術は手術に限定されず、他の各種の施術、例えば内視鏡を用いた検査等であってもよい。
 施術台530の脇には本実施形態に係るロボットアーム装置510が設けられる。ロボットアーム装置510は、基台であるベース部511と、ベース部511から延伸するアーム部512を備える。アーム部512は、複数の関節部513a、513b、513cと、関節部513a、513bによって連結される複数のリンク514a、514bと、アーム部512の先端に設けられる撮像ユニット515を有する。図1に示す例では、簡単のため、アーム部512は3つの関節部513a~513c及び2つのリンク514a、514bを有しているが、実際には、アーム部512及び撮像ユニット515の位置及び姿勢の自由度を考慮して、所望の自由度を実現するように関節部513a~513c及びリンク514a、514bの数や形状、関節部513a~513cの駆動軸の方向等が適宜設定されてよい。
 関節部513a~513cは、リンク514a、514bを互いに回動可能に連結する機能を有し、関節部513a~513cの回転が駆動されることにより、アーム部512の駆動が制御される。ここで、以下の説明においては、ロボットアーム装置510の各構成部材の位置とは、駆動制御のために規定している空間における位置(座標)を意味し、各構成部材の姿勢とは、駆動制御のために規定している空間における任意の軸に対する向き(角度)を意味する。また、以下の説明では、アーム部512の駆動(又は駆動制御)とは、関節部513a~513cの駆動(又は駆動制御)、及び、関節部513a~513cの駆動(又は駆動制御)を行うことによりアーム部512の各構成部材の位置及び姿勢が変化される(変化が制御される)ことをいう。
 アーム部512の先端には先端ユニットとして各種の医療用器具が接続される。図1に示す例では、先端ユニットの一例としてアーム部512の先端に撮像ユニット515が設けられている。撮像ユニット515は、撮影対象の画像(撮影画像)を取得するユニットであり、例えば動画や静止画を撮影できるカメラ等である。図1に示すように、アーム部512の先端に設けられた撮像ユニット515が施術対象540の施術部位の様子を撮影するように、ロボットアーム装置510によってアーム部512及び撮像ユニット515の姿勢や位置が制御される。なお、アーム部512の先端に設けられる先端ユニットは撮像ユニット515に限定されず、各種の医療用器具であってよい。当該医療用器具としては、例えば、内視鏡や顕微鏡、上述した撮像ユニット515等の撮像機能を有するユニットや、各種の施術器具、検査装置等、施術に際して用いられる各種のユニットが挙げられる。このように、本実施形態に係るロボットアーム装置510は、医療用器具を備えた医療用ロボットアーム装置であると言える。また、アーム部512の先端に、2つの撮像ユニット(カメラユニット)を有するステレオカメラが設けられ、撮像対象を3次元画像(3D画像)として表示するように撮影が行われてもよい。
 また、ユーザ520と対向する位置には、モニタやディスプレイ等の表示装置550が設置される。撮像ユニット515によって撮影された施術部位の撮影画像は、表示装置550の表示画面に表示される。ユーザ520は、表示装置550の表示画面に表示される施術部位の撮影画像を見ながら各種の処置を行う。
 このように、本実施形態においては、医療分野において、ロボットアーム装置510によって施術部位の撮影を行いながら手術を行うことが提案される。ここで、手術を含む各種の施術においては、より施術を効率的に行うことにより、ユーザ520及び患者540の疲労や負担を軽減することが求められる。このような要求を満たすために、ロボットアーム装置510には、例えば以下のような性能が求められると考えられる。
 まず、1点目として、ロボットアーム装置510には、手術における作業空間を確保することが求められる。ユーザ520が施術対象540に対して各種の処置を行っている最中に、アーム部512や撮像ユニット515が施術者の視界を妨げたり、処置を行う手の動きを妨げたりすると、手術の効率の低下につながる。また、図1では図示していないが、実際の手術現場では、ユーザ520に器具を渡したり、患者540の各種のバイタルサインを確認したりといった、様々なサポート作業を行う複数の他の医師や看護師等がユーザ520及び患者540の周囲にいることが一般的であり、また、当該サポート作業を行うための他の装置等が存在するため、手術環境は煩雑である。従って、ロボットアーム装置510は、より小型であることが望ましい。
 次いで、2点目として、ロボットアーム装置510には、撮像ユニット515を移動させる際の高い操作性が求められる。例えば、手術を行う部位や手術の内容によっては、ユーザ520には、施術部位に対して処置を行っている最中に、同じ施術部位を様々な位置、角度から観察したいという要求がある。施術部位を観察する角度を変えるには、撮像ユニット515の施術部位に対する角度を変更する必要があるが、その際、撮像ユニット515の撮影方向は施術部位に固定されたまま(すなわち、同一の部位を撮影したまま)、撮影する角度だけが変化することがより望ましい。従って、例えば、撮像ユニット515の撮影方向が施術部位に固定された状態で、撮像ユニット515が施術部位を頂点とした円錐の面内を移動する、当該円錐の軸を旋回軸とした旋回動作(ピボット動作)のような、より自由度の高い操作性がロボットアーム装置510に求められていた。なお、撮像ユニット515の撮影方向が所定の施術部位に固定されることから、ピボット動作はポイントロック動作とも呼ばれる。
 また、撮像ユニット515の位置及び角度を変化させるためには、例えばユーザ520が手動でアーム部512を動かすことによって、撮像ユニット515を所望の位置及び角度に動かす方法が考えられる。従って、撮像ユニット515の移動や上述したピボット動作等が、例えば片手でも容易に行える操作性があることが望ましい。
 また、手術時には、例えばユーザ520が両手で処置を行いながら、撮像ユニット515によって撮影される撮影画像の撮影中心を、処置を行っている部位から別の部位(例えば次の処置を行う部位)に移動させたいという要求も考えられる。従って、撮像ユニット515の位置及び姿勢を変化させる際に、上述したような手動によってアーム部512の駆動を制御する方法だけではなく、例えばペダル等の入力部からの操作入力によってアーム部512の駆動を制御する方法のような、多様なアーム部512の駆動方法が求められる。
 このように、2点目の性能として、ロボットアーム装置510には、例えば上述したピボット動作や手動による容易な移動を実現する、よりユーザ520の直感や要望に合った高い操作性が求められる。
 最後に、3点目として、ロボットアーム装置510には、アーム部512の駆動制御における安定性が求められる。アーム部512の駆動制御に対する安定性とは、アーム部512を駆動した際の先端ユニットの位置及び姿勢の安定性のことであってよい。また、アーム部512の駆動制御に対する安定性には、アーム部512を駆動した際の先端ユニットのスムーズな移動や振動の抑制(制振)も含まれる。例えば、図1に示す例のように先端ユニットが撮像ユニット515である場合に、もしも撮像ユニット515の位置や姿勢が安定しないと、表示装置550の表示画面に表示される撮影画像が安定せず、ユーザに不快感を与えかねない。特に、ロボットアーム装置510が手術に用いられる際には、先端ユニットとして2つの撮像ユニット(カメラユニット)を有するステレオカメラが設けられ、当該ステレオカメラによる撮影画像に基づいて生成される3次元画像(3D画像)が表示装置550に表示される使用方法が想定され得る。このように3D画像が表示される場合に、当該ステレオカメラの位置や姿勢が不安定であると、ユーザのいわゆる3D酔いを誘発する可能性がある。また、手術を行う部位や手術の内容によっては、撮像ユニット515によって撮影される観察範囲はφ15mm程度にまで拡大されることがある。このように撮像ユニット515が狭い範囲を拡大して撮影している場合には、撮像ユニット515の僅かな振動が撮像画像の大きな揺れやブレとなって表れる。従って、アーム部512及び撮像ユニット515の駆動制御には、許容範囲1mm程度の高い位置決め精度が要求される。このように、アーム部512の駆動制御においては、高精度の応答性と高い位置決め精度が求められる。
 本発明者らは、上記の3つの性能の観点から、一般的な既存のバランス型アームや位置制御によるロボットアーム装置について検討を行った。
 まず、1点目の手術の作業空間の確保に関しては、一般的なバランス型アームでは、通常、アーム部を移動させた際の力の均衡を取るためのカウンターバランス用ウェイト(カウンターウェイト又はバランサーとも呼称する。)がベース部の内部等に設けられるため、バランス型アームの装置の大きさを小型化することが難しく、当該性能を満たしているとは言い難い。
 また、2点目の高い操作性に関しては、一般的なバランス型アームでは、アーム部の駆動の一部のみ、例えば撮像ユニットを平面上(2次元上)で移動させるための2軸の駆動のみが電動駆動となっており、アーム部及び撮像ユニットの移動には手動による位置決めが必要となるため、高い操作性が実現できるとは言い難い。また、一般的な位置制御によるロボットアーム装置において、アーム部の駆動の制御、すなわち撮像ユニットの位置及び姿勢の制御に用いられる位置制御は、外力に柔軟に応じることが困難であるため、俗に「硬い制御」と呼ばれることがあり、要求されているようなユーザの直感に合った操作性を実現するには適していない。
 また、3点目のアーム部の駆動制御における安定性に関しては、一般的に、アーム部の関節部には、摩擦や慣性等のモデル化することが困難な因子が存在する。一般的なバランス型アームや位置制御によるロボットアーム装置においては、関節部の駆動制御においてこれらの因子が外乱となって表れてしまうことにより、理論上適切な制御値(例えば関節部のモータに印加する電流値)を与えた場合であっても所望の駆動(例えば関節部のモータにおける所望の角度の回転)が実現しないことがあり、要求されているようなアーム部の駆動制御における高い安定性を実現することは困難である。
 以上説明したように、本発明者らは、医療用に用いられるロボットアーム装置について検討した結果、ロボットアーム装置に関して、上述したような3点の性能に対する要求が存在するとの知見を得た。しかしながら、一般的な既存のバランス型アームや位置制御によるロボットアーム装置では、これらの性能を満たすことは困難であると考えられる。本発明者らは、上述した3点の性能を満たす構成について検討した結果、本開示に係るロボットアーム装置、ロボットアーム制御システム、ロボットアーム制御方法及びプログラムに想到した。以下では、本発明者らが想到した構成における好ましい実施形態について詳細に説明する。
 <2.本開示の一実施形態>
 以下では、本開示の一実施形態に係るロボットアーム制御システムについて説明する。本実施形態に係るロボットアーム制御システムにおいては、ロボットアーム装置に設けられる複数の関節部の駆動を、一般化逆動力学を用いた全身協調制御により制御する。更に、外乱の影響を補正することにより指令値に対する理想的な応答を実現する理想関節制御を当該関節部の駆動制御に適用する。
 以下の本実施形態の説明では、まず、[2-1.ロボットアーム装置の外観]で、本実施形態に係るロボットアーム装置の外観を示すとともに、ロボットアーム装置の概略構成について説明する。次いで、[2-2.一般化逆動力学について]及び[2-3.理想関節制御について]で、本実施形態に係るロボットアーム装置の制御に用いられる一般化逆動力学と理想関節制御の概要について説明する。次いで、[2-4.ロボットアーム制御システムの構成]で、本実施形態に係るロボットアーム装置を制御するためのシステムの構成について機能ブロック図を用いて説明する。最後に、[2-5.運動目的の具体例]で、本実施形態に係るロボットアーム装置における、一般化逆動力学を用いた全身協調制御の具体例について説明する。
 なお、以下の説明では、本開示の一実施形態として、ロボットアーム装置のアーム部の先端ユニットが撮像ユニットであり、図1に示すように手術時に当該撮像ユニットによって施術部位を撮影する場合について説明するが、本実施形態はかかる例に限定されない。本実施形態に係るロボットアーム制御システムは、他の先端ユニットを有するロボットアーム装置が他の用途に用いられる場合であっても適用可能である。
 [2-1.ロボットアーム装置の外観]
 まず、図2を参照して、本開示の一実施形態に係るロボットアーム装置の概略構成について説明する。図2は、本開示の一実施形態に係るロボットアーム装置の外観を示す概略図である。
 図2を参照すると、本実施形態に係るロボットアーム装置400は、ベース部410及びアーム部420を備える。ベース部410はロボットアーム装置400の基台であり、ベース部410からアーム部420が延伸される。また、図2には図示しないが、ベース部410内には、ロボットアーム装置400を統合的に制御する制御部が設けられてもよく、アーム部420の駆動が当該制御部によって制御されてもよい。当該制御部は、例えばCPU(Central Processing Unit)やDSP(Digital Signal Processor)等の各種の信号処理回路によって構成される。
 アーム部420は、複数の関節部421a~421fと、関節部421a~421fによって互いに連結される複数のリンク422a~422cと、アーム部420の先端に設けられる撮像ユニット423を有する。
 リンク422a~422cは棒状の部材であり、リンク422aの一端が関節部421aを介してベース部410と連結され、リンク422aの他端が関節部421bを介してリンク422bの一端と連結され、更に、リンク422bの他端が関節部421c、421dを介してリンク422cの一端と連結される。更に、撮像ユニット423が、アーム部420の先端、すなわち、リンク422cの他端に、関節部421e、421fを介して連結される。このように、ベース部410を支点として、複数のリンク422a~422cの端同士が、関節部421a~421fによって互いに連結されることにより、ベース部410から延伸されるアーム形状が構成される。
 撮像ユニット423は撮影対象の画像を取得するユニットであり、例えば動画、静止画を撮影するカメラ等である。アーム部420の駆動が制御されることにより、撮像ユニット423の位置及び姿勢が制御される。本実施形態においては、撮像ユニット423は、例えば施術部位である患者の体の一部領域を撮影する。ただし、アーム部420の先端に設けられる先端ユニットは撮像ユニット423に限定されず、アーム部420の先端には先端ユニットとして各種の医療用器具が接続されてよい。このように、本実施形態に係るロボットアーム装置400は、医療用器具を備えた医療用ロボットアーム装置であると言える。
 ここで、以下では、図2に示すように座標軸を定義してロボットアーム装置400の説明を行う。また、座標軸に合わせて、上下方向、前後方向、左右方向を定義する。すなわち、床面に設置されているベース部410に対する上下方向をz軸方向及び上下方向と定義する。また、z軸と互いに直交する方向であって、ベース部410からアーム部420が延伸されている方向(すなわち、ベース部410に対して撮像ユニット423が位置している方向)をy軸方向及び前後方向と定義する。更に、y軸及びz軸と互いに直交する方向をx軸方向及び左右方向と定義する。
 関節部421a~421fはリンク422a~422cを互いに回動可能に連結する。関節部421a~421fはアクチュエータを有し、当該アクチュエータの駆動により所定の回転軸に対して回転駆動される回転機構を有する。各関節部421a~421fにおける回転駆動をそれぞれ制御することにより、例えばアーム部420を伸ばしたり、縮めたり(折り畳んだり)といった、アーム部420の駆動を制御することができる。ここで、関節部421a~421fは、下記[2-2.一般化逆動力学について]で後述する全身協調制御及び下記[2-3.理想関節制御について]で後述する理想関節制御によってその駆動が制御される。また、上述したように、本実施形態に係る関節部421a~421fは回転機構を有するため、以下の説明において、関節部421a~421fの駆動制御とは、具体的には、関節部421a~421fの回転角度及び/又は発生トルク(関節部421a~421fが発生させるトルク)が制御されることを意味する。
 本実施形態に係るロボットアーム装置400は、6つの関節部421a~421fを有し、アーム部420の駆動に関して6自由度が実現されている。具体的には、図2に示すように、関節部421a、421d、421fは、接続されている各リンク422a~422cの長軸方向及び接続されている撮像ユニット473の撮影方向を回転軸方向とするように設けられており、関節部421b、421c、421eは、接続されている各リンク422a~422c及び撮像ユニット473の連結角度をy-z平面(y軸とz軸とで規定される平面)内において変更する方向であるx軸方向を回転軸方向とするように設けられている。このように、本実施形態においては、関節部421a、421d、421fは、いわゆるヨーイングを行う機能を有し、関節部421b、421c、421eは、いわゆるピッチングを行う機能を有する。
 このようなアーム部420の構成を有することにより、本実施形態に係るロボットアーム装置400ではアーム部420の駆動に対して6自由度が実現されるため、アーム部420の可動範囲内において撮像ユニット423を自由に移動させることができる。図2では、撮像ユニット423の移動可能範囲の一例として半球を図示している。半球の中心点が撮像ユニット423によって撮影される施術部位の撮影中心であるとすれば、撮像ユニット423の撮影中心を半球の中心点に固定した状態で、撮像ユニット423を半球の球面上で移動させることにより、施術部位を様々な角度から撮影することができる。
 ここで、図3を参照して、図2に示す関節部421a~421fの構成についてより詳細に説明する。なお、ここでは、図3を参照して、関節部421a~421fの構成のうち、関節部421a~421fの回転駆動に主に関係する構成であるアクチュエータの構成について説明する。
 図3は、本開示の一実施形態に係る関節部421a~421fのアクチュエータを、回転軸を通る断面で切断した様子を模式的に示す断面図である。なお、図3では、関節部421a~421fの構成のうち、アクチュエータのみを図示しているが、関節部421a~421fは、他の構成を有してもよい。例えば、関節部421a~421fは、図3に図示する構成以外にも、アクチュエータの駆動を制御するための制御部や、リンク422a~422c及び撮像ユニット423を接続、支持するための支持部材等、アーム部420の駆動に必要な各種の構成を有する。なお、ここまでの説明及び以下の説明において、アーム部の関節部の駆動とは、関節部におけるアクチュエータの駆動を意味していてもよい。
 なお、上述したように、本実施形態においては、関節部421a~421fは、下記[2-3.理想関節制御について]で後述する理想関節制御によってその駆動が制御される。従って、図3に示す関節部421a~421fのアクチュエータは、理想関節制御に対応した駆動を行えるように構成されている。具体的には、関節部421a~421fのアクチュエータは、当該関節部421a~421fにおける回転角度及び回転駆動に伴うトルクを調整できるように構成されている。また、関節部421a~421fのアクチュエータは、回転運動に対する粘性抵抗係数を任意に調整できるように構成されており、例えば外部から加えられる力に対して回転しやすい(すなわち、アーム部420を手動で移動しやすい)状態や回転し難い(すなわち、アーム部420を手動で移動し難い)状態を実現することができる。
 図3を参照すると、本実施形態に係る関節部421a~421fのアクチュエータ430は、モータ424、モータドライバ425、減速機426、エンコーダ427、トルクセンサ428及び駆動軸429を有する。図3に示すように、エンコーダ427、モータ424、減速機426及びトルクセンサ428は、駆動軸429に対して直列にこの順で連結される。
 モータ424は、アクチュエータ430における原動機であり、駆動軸429をその軸周りに回転させる。例えば、モータ424は、ブラシレスDCモータ等の電動モータである。本実施形態においては、モータ424は電流を供給されることによってその回転駆動が制御される。
 モータドライバ425は、モータ424に電流を供給することによりモータ424を回転駆動させるドライバ回路(ドライバIC(Integrated Circuit))であり、モータ424に供給する電流量を調整することにより、モータ424の回転数を制御することができる。また、モータドライバ425は、モータ424に供給する電流量を調整することにより、上述したようなアクチュエータ430の回転運動に対する粘性抵抗係数を調整することができる。
 減速機426は、駆動軸429に接続され、モータ424によって生じた駆動軸429の回転速度を所定の減速比で減速することにより、所定の値を有する回転駆動力(すなわち、トルク)を発生させる。減速機426には、バックラッシレス型の高性能減速機が用いられる。例えば、減速機426は、ハーモニックドライブ(登録商標)であってもよい。減速機426によって生成されたトルクは、減速機426の出力軸に接続されたトルクセンサ428を介して、後段の出力部材(図示せず。例えばリンク422a~422cや撮像ユニット423等の連結部材)に伝達される。
 エンコーダ427は、駆動軸429に接続され、駆動軸429の回転数を検出する。エンコーダによって検出された駆動軸429の回転数と、減速機426の減速比との関係に基づいて、関節部421a~421fの回転角度、回転角速度及び回転角加速度等の情報を得ることができる。
 トルクセンサ428は、減速機426の出力軸に接続され、減速機426によって生成されたトルク、すなわち、アクチュエータ430によって出力されるトルクを検出する。以下の説明では、アクチュエータ430によって出力されるトルクのことを単に発生トルクとも呼称する。
 このように、アクチュエータ430においては、モータ424に供給する電流量を調整することにより、モータ424の回転数を調整することがでる。ここで、減速機426における減速比は、ロボットアーム装置400の用途に応じて適宜設定可能であってよい。従って、減速機426の減速比に応じて、モータ424の回転数を適宜調整することにより、発生トルクを制御することができる。また、アクチュエータ430においては、エンコーダ427によって検出された駆動軸429の回転数に基づいて、関節部421a~421fの回転角度、回転角速度及び回転角加速度等の情報を得ることができ、トルクセンサ428によって、関節部421a~421fにおける発生トルクを検出することができる。
 また、トルクセンサ428は、アクチュエータ430による発生トルクだけでなく、外部から加えられる外トルクも検出することができる。従って、トルクセンサ428によって検出された外トルクに基づいて、モータドライバ425がモータ424に供給する電流量を調整することにより、上述したような回転運動に対する粘性抵抗係数を調整することができ、例えば外部から加えられる力に対して回転しやすい状態や回転し難い状態を実現することができる。
 ここで、図4A及び図4Bを参照して、トルクセンサ428の構成について詳細に説明する。図4Aは、図3に示すトルクセンサ428を、駆動軸429の軸方向から見た様子を模式的に示す概略図である。
 図4Aを参照すると、トルクセンサ428は、外輪部431、内輪部432、梁部433a~433d及び歪み検出素子434a~434dを有する。図4Aに示すように、外輪部431及び内輪部432は同心円状に配置される。本実施形態では、内輪部432が入力側、すなわち、減速機426からの出力軸と接続され、外輪部431が出力側、すなわち、後段の出力部材(図示せず。)と接続される。
 4本の梁部433a~433dは、同心円状に配置された外輪部431と内輪部432との間に配設され、外輪部431と内輪部432とを互いに接続する。図4Aに示すように、梁部433a~433dは、隣り合う梁部433a~433d同士が互いに90度の角度となるように、外輪部431と内輪部432との間に介設される。
 梁部433a~433dのうち、互いに向かい合う、すなわち、互いに180度の角度で設けられる2本には、歪み検出素子434a~434dが設けられる。歪み検出素子434a~434dによって検出された梁部433a~433dの変形量に基づいて、アクチュエータ430の発生トルク及び外トルクを検出することができる。
 図4Aに示す例では、梁部433a~433dのうち、梁部433aに歪み検出素子434a、434bが、梁部433cに歪み検出素子434c、434dが設けられる。また、歪み検出素子434a、434bは梁部433aを挟むように設けられ、歪み検出素子434c、434dは梁部433cを挟むように設けられる。例えば、歪み検出素子434a~434dは歪みゲージであり、梁部433a、433cの表面に貼り付けられることにより、梁部433a、433cの幾何的な変形量を電気抵抗の変化に基づいて検出する。図4Aに示すように4ヶ所に歪み検出素子434a~434dが設けられることにより、検出素子434a~434dがいわゆるホイートストンブリッジを構成する。従って、いわゆる4ゲージ法を用いて歪みを検出することができるため、歪みを検出する軸以外の他軸の干渉や駆動軸429の偏心、温度ドリフト等の影響を低減することができる。
 このように、梁部433a~433dは、歪みを検出するための起歪体の役割を果たす。なお、本実施形態に係る歪み検出素子434a~434dの種類は歪みゲージに限定されず、他の素子が用いられてもよい。例えば、歪み検出素子434a~434dは、磁気特性の変化に基づいて梁部433a~433dの変形量を検出する素子であってもよい。
 また、図3及び図4Aには図示しないが、トルクセンサ428による発生トルク及び外トルクの検出精度を向上させるために、以下に示す構成が適用されてもよい。例えば、梁部433a~433dの外輪部431と接続する部位を他の部位よりも薄肉化することにより、支持モーメントが解放されるため、検出される変形量の線形性が向上されるとともにラジアル荷重による影響が低減される。また、外輪部431及び内輪部432をともにベアリングを介してハウジングで支持することにより、入力軸及び出力軸の双方からの他軸力、モーメントの作用を排除することができる。また、外輪部431に作用する他軸モーメントを低減するために、図3に示すアクチュエータ430の他端、すなわちエンコーダ427が配設される部位に両持ち支持用ベアリングが配設されてもよい。
 以上、図4Aを参照して、トルクセンサ428の構成について説明した。以上説明したように、図4Aに示すトルクセンサ428の構成により、アクチュエータ430の発生トルク及び外トルクの検出において、高精度な検出が可能となる。
 ここで、本実施形態においては、トルクセンサ428の構成は図4Aに示す構成に限定されず、他の構成であってもよい。アクチュエータ430に適用されるトルクセンサについて、トルクセンサ428以外の他の構成の一例を、図4Bを参照して説明する。
 図4Bは、図3に示すアクチュエータ430に適用されるトルクセンサの他の構成例を示す概略図である。図4Bを参照すると、本変形例に係るトルクセンサ428aは、外輪部441、内輪部442、梁部443a~443d及び歪み検出素子444a~444dを有する。なお、図4Bでは、図4Aと同様、トルクセンサ428aを駆動軸429の軸方向から見た様子を模式的に示している。
 トルクセンサ428aにおいて、外輪部441、内輪部442、梁部443a~443d及び歪み検出素子444a~444dの機能及び構成は、図4Aを参照して説明したトルクセンサ428の外輪部431、内輪部432、梁部433a~433d及び歪み検出素子434a~434dの機能及び構成とほぼ同様である。本変形例に係るトルクセンサ428aは、梁部443a~443dと外輪部441との接続部分の構成が異なる。従って、図4Bに示すトルクセンサ428aについては、図4Aに示すトルクセンサ428との相違点である梁部443a~443dと外輪部441との接続部位の構成について主に説明を行い、重複する構成については説明を省略する。
 図4Bを参照すると、トルクセンサ428aの全体図と併せて、梁部443bと外輪部441との接続部位が拡大して図示されている。なお、図4Bでは、梁部443a~443dと外輪部441との4ヶ所の接続部位のうちの1ヶ所である梁部443bと外輪部441との接続部位のみを拡大して図示しているが、他の3ヶ所である梁部443a、443c、443dと外輪部441との接続部位も同様の構成を有している。
 図4Bにおける拡大図を参照すると、梁部443bと外輪部441との接続部位においては、外輪部441に係合凹部が設けられており、梁部443bの先端が係合凹部に係合されることにより両者が接続される。また、当該梁部443bと外輪部441との間には、間隙G1、G2が設けられる。間隙G1は梁部443bが外輪部441に向かって延伸する方向における両者の間隙を表しており、間隙G2は当該方向とは直交する方向における両者の間隙を表している。
 このように、トルクセンサ428aにおいては、梁部443a~443dと外輪部441とが、所定の間隙G1、G2を有して分離して配設される。すなわち、トルクセンサ428aにおいては、外輪部441と内輪部442とが分離している。従って、内輪部442が外輪部441に対して拘束されず動きの自由度を有するため、例えばアクチュエータ430の駆動に際して振動が生じたとしても、振動による歪み成分を内輪部442と外輪部441との間の空隙G1、G2によって吸収することができる。よって、トルクセンサ428aをアクチュエータ430のトルクセンサとして適用することにより、より高精度な発生トルク及び外トルクの検出が実現される。
 なお、図3、図4A及び図4Bに示すような、理想関節制御に対応するアクチュエータ430の構成については、例えば、本願出願人による先行特許出願である特開2009-269102号公報や特開2011-209099号公報を参照することができる。
 以上、図2、図3、図4A及び図4Bを参照して、本実施形態に係るロボットアーム装置400の概略構成について説明した。次に、本実施形態に係るロボットアーム装置400におけるアーム部420の駆動、すなわち、関節部421a~421fの駆動を制御するための全身協調制御及び理想関節制御について説明する。
 [2-2.一般化逆動力学について]
 次に、本実施形態におけるロボットアーム装置400の全身協調制御に用いられる一般化逆動力学の概要について説明する。
 一般化逆動力学は、複数のリンクが複数の関節部によって連結されて構成される多リンク構造体(例えば本実施形態においては図2に示すアーム部420)において、各種の操作空間(Operation Space)における様々な次元に関する運動目的を、各種の拘束条件を考慮しながら、複数の当該関節部に生じさせるトルクに変換する、多リンク構造体の全身協調制御における基本演算である。
 操作空間は、ロボット装置の力制御における重要な概念である。操作空間は、多リンク構造体に作用する力と多リンク構造体の加速度との関係を記述するための空間である。多リンク構造体の駆動制御を位置制御ではなく力制御によって行う際に、多リンク構造体と環境との接し方を拘束条件として用いる場合に操作空間という概念が必要となる。操作空間は、例えば、多リンク構造体が属する空間である、関節空間、デカルト空間、運動量空間等である。
 運動目的は、多リンク構造体の駆動制御における目標値を表すものであり、例えば、駆動制御によって達成したい多リンク構造体の位置、速度、加速度、力、インピーダンス等の目標値である。
 拘束条件は、多リンク構造体の形状や構造、多リンク構造体の周囲の環境及びユーザによる設定等によって定められる、多リンク構造体の位置、速度、加速度、力等に関する拘束条件である。例えば、拘束条件には、発生力、優先度、非駆動関節の有無、垂直反力、摩擦錘、支持多角形等についての情報が含まれる。
 一般化逆動力学においては、数値計算上の安定性と実時間処理可能な演算効率とを両立するため、その演算アルゴリズムは、第1段階である仮想力決定プロセス(仮想力算出処理)と、第2段階である実在力変換プロセス(実在力算出処理)によって構成される。第1段階である仮想力算出処理では、各運動目的の達成に必要な、操作空間に作用する仮想的な力である仮想力を、運動目的の優先度と仮想力の最大値を考慮しながら決定する。第2段階である実在力算出処理では、非駆動関節、垂直反力、摩擦錘、支持多角形等に関する拘束を考慮しながら、上記で得られた仮想力を関節力、外力等の実際の多リンク構造体の構成で実現可能な実在力に変換する。以下、仮想力算出処理及び実在力算出処理について詳しく説明する。なお、以下の仮想力算出処理、実在力算出処理及び後述する理想関節制御の説明においては、理解を簡単にするために、具体例として、図2及び図3に示した本実施形態に係るロボットアーム装置400のアーム部420の構成を例に挙げて説明を行う場合がある。
 (2-2-1.仮想力算出処理)
 多リンク構造体の各関節部におけるある物理量によって構成されるベクトルを一般化変数qと呼ぶ(関節値q又は関節空間qとも呼称する。)。操作空間xは、一般化変数qの時間微分値とヤコビアンJとを用いて、以下の数式(1)で定義される。
Figure JPOXMLDOC01-appb-M000001
 本実施形態では、例えば、qはアーム部420の関節部421a~421fにおける回転角度である。操作空間xに関する運動方程式は、下記数式(2)で記述される。
Figure JPOXMLDOC01-appb-M000002
 ここで、fは操作空間xに作用する力を表す。また、Λ-1は操作空間慣性逆行列、cは操作空間バイアス加速度と呼ばれるものであり、それぞれ下記数式(3)、(4)で表される。
Figure JPOXMLDOC01-appb-M000003
 なお、Hは関節空間慣性行列、τは関節値qに対応する関節力(例えば関節部421a~421fおける発生トルク)、bは重力、コリオリ力、遠心力を表す項である。
 一般化逆動力学においては、操作空間xに関する位置、速度の運動目的は、操作空間xの加速度として表現できることが知られている。このとき、上記数式(1)から、運動目的として与えられた目標値である操作空間加速度を実現するために、操作空間xに作用するべき仮想力fは、下記数式(5)のような一種の線形相補性問題(LCP:Linear Complementary Problem)を解くことによって得られる。
Figure JPOXMLDOC01-appb-M000004
 ここで、LとUはそれぞれ、fの第i成分の負の下限値(-∞を含む)、fの第i成分の正の上限値(+∞を含む)とする。上記LCPは、例えばIterative法、Pivot法、ロバスト加速度制御を応用する方法等を用いて解くことができる。
 なお、操作空間慣性逆行列Λ-1、バイアス加速度cは、定義式である上記数式(3)、(4)の通り算出すると計算コストが大きい。従って、多リンク構造体の一般化力(関節力τ)から一般化加速度(関節加速度)を得る準動力学計算(FWD)を応用することにより、操作空間慣性逆行列Λ-1の算出処理をより高速に算出する方法が提案されている。具体的には、操作空間慣性逆行列Λ-1、バイアス加速度cは、順動力学演算FWDを用いることにより、関節空間q、関節力τ、重力g等の多リンク構造体(例えば、アーム部420及び関節部421a~421f)に作用する力に関する情報から得ることができる。このように、操作空間に関する順動力学演算FWDを応用することにより、関節部の数Nに対してO(N)の計算量で操作空間慣性逆行列Λ-1を算出することができる。
 ここで、運動目的の設定例として、絶対値F以下の仮想力fviで操作空間加速度の目標値(xの2階微分に上付きバーを付して表す)を達成するための条件は、下記数式(6)で表現できる。
Figure JPOXMLDOC01-appb-M000005
 また、上述したように、操作空間xの位置、速度に関する運動目的は、操作空間加速度の目標値として表すことができ、具体的には下記数式(7)で表現される(操作空間xの位置、速度の目標値を、x、xの1階微分に上付きバーを付して表す)。
Figure JPOXMLDOC01-appb-M000006
 その他、分解操作空間の考え方を用いることにより、他の操作空間の線形和で表される操作空間(運動量、デカルト相対座標、連動関節等)に関する運動目的を設定することもできる。なお、競合する運動目的間には優先度を与える必要がある。優先度毎かつ低優先度から順に上記LCPを解き、前段のLCPで得られた仮想力を次段のLCPの既知外力として作用させることができる。
 (2-2-2.実在力算出処理)
 一般化逆動力学の第2段階である実在力算出処理では、上記(2-2-1.仮想力決定プロセス)で得られた仮想力fを、実在の関節力と外力で置換する処理を行う。仮想力による一般化力τ=J を関節部に生じる発生トルクτと外力fとで実現するための条件は、下記数式(8)で表現される。
Figure JPOXMLDOC01-appb-M000007
 ここで、添え字aは駆動関節部の集合(駆動関節集合)を表し、添え字uは非駆動関節部の集合(非駆動関節集合)を表す。すなわち、上記数式(8)の上段は非駆動関節部による空間(非駆動関節空間)の力の釣り合いを表しており、下段は駆動関節部による空間(駆動関節空間)の力の釣合いを表している。Jvu、Jvaは、それぞれ、仮想力fが作用する操作空間に関するヤコビアンの非駆動関節成分、駆動関節成分である。Jeu、Jeaは、外力fが作用する操作空間に関するヤコビアンの非駆動関節成分、駆動関節成分である。Δfは仮想力fのうち、実在力で実現不能な成分を表す。
 上記数式(8)の上段は不定であり、例えば下記数式(9)に示すような2次計画問題(QP:Quadratic Programing Problem)を解くことで、f及びΔfを得ることができる。
 ここで、εは上記数式(8)の上段の両辺の差であり、数式(8)の等式誤差を表す。ξはfとΔfとの連結ベクトルであり、変数ベクトルを表す。Q及びQは、最小化の際の重みを表す正定値対称行列である。また、上記数式(9)の不等式拘束は、垂直反力、摩擦錐、外力の最大値、支持多角形等、外力に関する拘束条件を表現するのに用いられる。例えば、矩形の支持多角形に関する不等式拘束は、下記数式(10)のように表現される。
Figure JPOXMLDOC01-appb-M000009
 ここで、zは接触面の法線方向を表し、x及びyはzに垂直な直交2接線方向を表す。(F,F,F)及び(M,M,M)は、接触点に作用する外力及び外力モーメントである。μ及びμは、それぞれ並進、回転に関する摩擦係数である。(d,d)は支持多角形のサイズを表している。
 上記数式(9)、(10)から、最小ノルム又は最小誤差の解f、Δfが求められる。上記数式(9)から得られたf、Δfを上記数式(8)の下段に代入することにより、運動目的を実現するために必要な関節力τを得ることができる。
 基底が固定され、非駆動関節が無い系の場合は、関節力のみで全ての仮想力を置換可能であり、上記数式(8)において、f=0、Δf=0とすることができる。この場合、上記数式(8)の下段から、関節力τについて以下の数式(11)を得ることができる。
Figure JPOXMLDOC01-appb-M000010
 以上、本実施形態に係る一般化逆動力学を用いた全身協調制御について説明した。上記のように、仮想力算出処理及び実在力算出処理を順に行うことにより、所望の運動目的を達成するための関節力τを得ることができる。すなわち、逆に言えば、算出された関節力τを関節部421a~421fの運動における理論モデルに反映することにより、関節部421a~421fが、所望の運動目的を達成するように駆動される。
 なお、ここまで説明した一般化逆動力学を用いた全身協調制御について、特に、仮想力fの導出過程や、上記LCPを解き仮想力fを求める方法、QP問題の解法等の詳細については、例えば、本願出願人による先行特許出願である特開2009-95959号公報や特開2010-188471号公報を参照することができる。
 [2-3.理想関節制御について]
 次に、本実施形態に係る理想関節制御について説明する。各関節部421a~421fの運動は、下記数式(12)の二次遅れ系の運動方程式によってモデル化される。
Figure JPOXMLDOC01-appb-M000011
 ここで、Iは関節部における慣性モーメント(イナーシャ)、τは関節部421a~421fの発生トルク、τは外部から各関節部421a~421fに作用する外トルク、νは各関節部421a~421fにおける粘性抵抗係数である。上記数式(12)は、関節部421a~421fにおけるアクチュエータ430の運動を表す理論モデルとも言える。
 上記[2-2.一般化逆動力学について]で説明したように、一般化逆動力学を用いた演算により、運動目的及び拘束条件を用いて、当該運動目的を実現するために各関節部421a~421fに作用させるべき実在力であるτを算出することができる。従って、理想的には、算出された各τを上記数式(12)に適用することにより、上記数式(12)に示す理論モデルに従った応答が実現する、すなわち、所望の運動目的が達成されるはずである。
 しかし、実際には、様々な外乱の影響により、関節部421a~421fの運動と上記数式(12)に示すような理論モデルとの間には誤差(モデル化誤差)が生じる場合がある。モデル化誤差は、多リンク構造体の重量、重心、慣性テンソル等のマスプロパティに起因するものと、における関節部421a~421f内部における摩擦や慣性等に起因するものとに大別することができる。このうち、前者のマスプロパティに起因するモデル化誤差は、CAD(Computer Aided Design)データの高精度化や同定手法の適用によって、理論モデル構築時に比較的容易に低減することが可能である。
 一方、後者の関節部421a~421f内部の摩擦や慣性等に起因するモデル化誤差は、例えば関節部421a~421fの減速機426における摩擦等、モデル化が困難な現象に起因しており、理論モデル構築時に無視できないモデル化誤差が残留し得る。また、上記数式(12)におけるイナーシャIや粘性抵抗係数νの値と、実際の関節部421a~421fにおけるこれらの値との間に誤差が生じている可能性がある。これらのモデル化が困難な誤差は、関節部421a~421fの駆動制御において外乱となり得る。従って、このような外乱の影響により、実際には、関節部421a~421fの運動は、上記数式(12)に示す理論モデル通りには応答しない場合がある。よって、一般化逆動力学によって算出された関節力である実在力τを適用しても、制御目標である運動目的が達成されない場合が生じる。本実施形態では、各関節部421a~421fにアクティブな制御系を付加することで、上記数式(12)に示す理論モデルに従った理想応答を行うよう、関節部421a~421fの応答を補正することを考える。具体的には、本実施形態では、関節部421a~421fのトルクセンサ428、428aを用いた摩擦補償型のトルク制御を行うに留まらず、要求される発生トルクτ、外トルクτに対して、イナーシャI及び粘性抵抗係数νに至るまで理論値に従った理想応答を行うことが可能となる。
 本実施形態では、このように、ロボットアーム装置400の関節部421a~421fが上記数式(12)に示すような理想的な応答を行うように関節部の駆動を制御することを、理想関節制御と呼称する。ここで、以下の説明では、当該理想関節制御によって駆動が制御されるアクチュエータのことを、理想的な応答が行われることから仮想アクチュエータ(VA:Virtualized Actuator)とも呼称する。以下、図5を参照して、本実施形態に係る理想関節制御について説明する。
 図5は、本開示の一実施形態に係る理想関節制御について説明するための説明図である。なお、図5では、理想関節制御に係る各種の演算を行う概念上の演算器をブロックで模式的に図示している。
 図5を参照すると、アクチュエータ610は、図3に示すアクチュエータ430の機構を模式的に表しており、モータ(Motor)611、減速機(Reduction Gear)612、エンコーダ(Encoder)613及びトルクセンサ(Torque Sensor)614は、それぞれ、図3に示すモータ424、減速機426、エンコーダ427及びトルクセンサ428(又は図4Bに示すトルクセンサ428a)に対応している。
 ここで、アクチュエータ610が上記数式(12)で表される理論モデルに従った応答を行なうことは、上記数式(12)の右辺が与えられたときに、左辺の回転角加速度が達成されることに他ならない。また、上記数式(12)に示すように、理論モデルには、アクチュエータ610に作用する外トルク項τが含まれている。本実施形態では、理想関節制御を行うために、トルクセンサ614によって外トルクτを測定する。また、エンコーダ613によって測定されたアクチュエータ610の回転角度qに基づいて外乱に起因するトルクの推定値である外乱推定値τを算出するために、外乱オブザーバ620を適用する。
 ブロック631は、上記数式(12)に示す関節部421a~421fの理想的な関節モデル(Ideal Joint Model)に従った演算を行う演算器を表している。ブロック631は、発生トルクτ、外トルクτ、回転角速度(回転角度qの1階微分)を入力として、上記数式(12)の左辺に示す回転角加速度目標値(回転角目標値qrefの2階微分)を出力することができる。
 本実施形態では、上記[2-2.一般化逆動力学について]で説明した方法によって算出された発生トルクτと、トルクセンサ614によって測定された外トルクτが、ブロック631に入力される。一方、微分演算を行う演算器を表すブロック632に、エンコーダ613によって測定された回転角度qが入力されることにより、回転角速度(回転角度qの1階微分)が算出される。上記発生トルクτ及び外トルクτに加えて、ブロック632によって算出された回転角速度がブロック631に入力されることにより、ブロック631によって回転角加速度目標値が算出される。算出された回転角加速度目標値は、ブロック633に入力される。
 ブロック633は、アクチュエータ610の回転角加速度に基づいてアクチュエータ610に生じるトルクを算出する演算器を表す。本実施形態においては、具体的には、ブロック633は、回転角加速度目標値にアクチュエータ610における公称イナーシャ(ノミナルイナーシャ)Jを乗じることにより、トルク目標値τrefを得ることができる。理想の応答においては、アクチュエータ610に当該トルク目標値τrefを生じさせることにより、所望の運動目的が達成されるはずであるが、上述したように、実際の応答には外乱等の影響が生じる場合がある。従って、本実施形態においては、外乱オブザーバ620によって外乱推定値τを算出し、外乱推定値τを用いて当該トルク目標値τrefを補正する。
 外乱オブザーバ620の構成について説明する。図5に示すように、外乱オブザーバ620は、トルク指令値τと、エンコーダ613によって測定された回転角度qから算出される回転角速度に基づいて、外乱推定値τを算出する。ここで、トルク指令値τは、外乱の影響が補正された後の、最終的にアクチュエータ610に生じさせるトルク値である。例えば、外乱推定値τが算出されていない場合には、トルク指令値τはトルク目標値τrefとなる。
 外乱オブザーバ620は、ブロック634とブロック635とから構成される。ブロック634は、アクチュエータ610の回転角速度に基づいてアクチュエータ610に生じるトルクを算出する演算器を表す。本実施形態においては、具体的には、エンコーダ613によって測定された回転角度qから、ブロック632によって算出された回転角速度がブロック634に入力される。ブロック634は、伝達関数Jsによって表される演算を行うことにより、すなわち、当該回転角速度を微分することにより回転角加速度を求め、更に算出された回転角加速度にノミナルイナーシャJを乗じることにより、実際にアクチュエータ610に作用しているトルクの推定値(トルク推定値)を算出することができる。
 外乱オブザーバ620内では、当該トルク推定値とトルク指令値τとの差分が取られることにより、外乱によるトルクの値である外乱推定値τが推定される。具体的には、外乱推定値τは、前周の制御におけるトルク指令値τと、今回の制御におけるトルク推定値との差分であってよい。ブロック634によって算出されるトルク推定値は実際の測定値に基づくものであり、ブロック633によって算出されたトルク指令値τはブロック631に示す関節部421a~421fの理想的な理論モデルに基づくものであるため、両者の差分を取ることによって、上記理論モデルでは考慮されていない外乱の影響を推定することができるのである。
 また、外乱オブザーバ620には、系の発散を防ぐために、ブロック635に示すローパスフィルター(LPF:Low Pass Filter)が設けられる。ブロック635は、伝達関数g/(s+g)で表される演算を行うことにより、入力された値に対して低周波成分のみを出力し、系を安定化させる。本実施形態では、ブロック634によって算出されたトルク推定値とトルク指令値τrefとの差分値は、ブロック635に入力され、その低周波成分が外乱推定値τとして算出される。
 本実施形態では、トルク目標値τrefに外乱オブザーバ620によって算出された外乱推定値τを加算するフィードフォワード制御が行われることにより、最終的にアクチュエータ610に生じさせるトルク値であるトルク指令値τが算出される。そして、トルク指令値τに基づいてアクチュエータ610が駆動される。具体的には、トルク指令値τが対応する電流値(電流指令値)に変換され、当該電流指令値がモータ611に印加されることにより、アクチュエータ610が駆動される。
 以上、図5を参照して説明した構成を取ることにより、本実施形態に係る関節部421a~421fの駆動制御においては、摩擦等の外乱成分があった場合であっても、アクチュエータ610の応答を目標値に追従させることが可能となる。また、関節部421a~421fの駆動制御について、理論モデルが仮定するイナーシャI及び粘性抵抗係数νに従った理想応答を行うことが可能となる。
 なお、以上説明した理想関節制御の詳細については、例えば、本願出願人による先行特許出願である特開2009-269102号公報を参照することができる。
 以上、本実施形態において用いられる一般化逆動力学について説明するとともに、図5を参照して本実施形態に係る理想関節制御について説明した。以上説明したように、本実施形態においては、一般化逆動力学を用いることにより、アーム部420の運動目的を達成するための各関節部421a~421fの駆動パラメータ(例えば関節部421a~421fの発生トルク値)を、拘束条件を考慮して算出する、全身協調制御が行われる。また、図5を参照して説明したように、本実施形態においては、上記一般化逆動力学を用いた全身協調制御により算出された発生トルク値に対して外乱の影響を考慮した補正を行うことにより、関節部421a~421fの駆動制御において理論モデルに基づいた理想的な応答を実現する、理想関節制御が行われる。従って、本実施形態においては、アーム部420の駆動について、運動目的を達成する高精度な駆動制御が可能となる。
 [2-4.ロボットアーム制御システムの構成]
 次に、上記[2-2.一般化逆動力学について]及び上記[2-3.理想関節制御について]で説明した全身協調制御や理想関節制御がロボットアーム装置の駆動制御に適用された、本実施形態に係るロボットアーム制御システムの構成について説明する。
 図6を参照して、本開示の一実施形態に係るロボットアーム制御システムの一構成例について説明する。図6は、本開示の一実施形態に係るロボットアーム制御システムの一構成例を示す機能ブロック図である。なお、図6に示すロボットアーム制御システムでは、ロボットアーム装置のアーム部の駆動の制御に関わる構成について主に図示している。
 図6を参照すると、本開示の一実施形態に係るロボットアーム制御システム1は、ロボットアーム装置10、制御装置20及び表示装置30を備える。本実施形態においては、制御装置20によって、上記[2-2.一般化逆動力学について]で説明した全身協調制御及び上記[2-3.理想関節制御について]で説明した理想関節制御における各種の演算が行われ、その演算結果に基づいてロボットアーム装置10のアーム部の駆動が制御される。また、ロボットアーム装置10のアーム部には後述する撮像部140が設けられており、撮像部140によって撮影された画像が表示装置30の表示画面に表示される。以下、ロボットアーム装置10、制御装置20及び表示装置30の構成について詳細に説明する。なお、本明細書では、ロボットアーム装置10と制御装置20を含めたシステムを単にロボットアーム装置と称する場合がある。
 ロボットアーム装置10は、複数の関節部と複数のリンクから構成される多リンク構造体であるアーム部を有し、当該アーム部を可動範囲内で駆動させることにより、当該アーム部の先端に設けられる先端ユニットの位置及び姿勢の制御を行う。ロボットアーム装置10は、図2に示すロボットアーム装置400に対応している。
 図6を参照すると、ロボットアーム装置10は、アーム制御部110及びアーム部120を有する。また、アーム部120は、関節部130及び撮像部140を有する。
 アーム制御部110は、ロボットアーム装置10を統合的に制御するとともに、アーム部120の駆動を制御する。アーム制御部110は、図2を参照して説明した制御部(図2には図示せず。)に対応している。具体的には、アーム制御部110は駆動制御部111を有し、駆動制御部111からの制御によって関節部130の駆動が制御されることにより、アーム部120の駆動が制御される。より具体的には、駆動制御部111は、関節部130のアクチュエータにおけるモータに対して供給される電流量を制御することにより、当該モータの回転数を制御し、関節部130における回転角度及び発生トルクを制御する。ただし、上述したように、駆動制御部111によるアーム部120の駆動制御は、制御装置20における演算結果に基づいて行われる。従って、駆動制御部111によって制御される、関節部130のアクチュエータにおけるモータに対して供給される電流量は、制御装置20における演算結果に基づいて決定される電流量である。
 アーム部120は、複数の関節部と複数のリンクから構成される多リンク構造体であり、アーム制御部110からの制御によりその駆動が制御される。アーム部120は、図2に示すアーム部420に対応している。アーム部120は、関節部130及び撮像部140を有する。なお、アーム部120が有する複数の関節部の機能及び構成は互いに同様であるため、図6では、それら複数の関節部を代表して1つの関節部130の構成を図示している。
 関節部130は、アーム部120においてリンク間を互いに回動可能に連結するとともに、アーム制御部110からの制御によりその回転駆動が制御されることによりアーム部120を駆動する。関節部130は、図2に示す関節部421a~421fに対応している。また、関節部130は、アクチュエータを有し、当該アクチュエータの構成は、例えば図3、図4A及び図4Bに示す構成と同様である。
 関節部130は、関節駆動部131及び関節状態検出部132を有する。
 関節駆動部131は、関節部130のアクチュエータにおける駆動機構であり、関節駆動部131が駆動することにより関節部130が回転駆動する。関節駆動部131は、駆動制御部111によってその駆動が制御される。例えば、関節駆動部131は、図3に示すモータ424及びモータドライバ425に対応する構成であり、関節駆動部131が駆動することは、モータドライバ425が駆動制御部111からの指令に応じた電流量でモータ424を駆動することに対応している。
 関節状態検出部132は、関節部130の状態を検出する。ここで、関節部130の状態とは、関節部130の運動の状態を意味していてよい。例えば、関節部130の状態には、関節部130の回転角度、回転角速度、回転角加速度、発生トルク等の情報が含まれる。本実施形態においては、関節状態検出部132は、関節部130の回転角度を検出する回転角度検出部133及び関節部130の発生トルク及び外トルクを検出するトルク検出部134を有する。なお、回転角度検出部133及びトルク検出部134は、図3に示すアクチュエータ430のエンコーダ427及び図4A及び図4Bに示すトルクセンサ428、428aに、それぞれ対応している。関節状態検出部132は、検出した関節部130の状態を制御装置20に送信する。
 撮像部140は、アーム部120の先端に設けられる先端ユニットの一例であり、撮影対象の画像を取得する。撮像部140は、図2に示す撮像ユニット423に対応している。具体的には、撮像部140は、撮影対象を動画や静止画の形式で撮影することのできるカメラ等である。より具体的には、撮像部140は、2次元上に配列された複数の受光素子を有し、当該受光素子における光電変換により、撮影対象の画像を表す画像信号を取得することができる。撮像部140は、取得した画像信号を表示装置30に送信する。
 なお、図2に示すロボットアーム装置400において撮像ユニット423がアーム部420の先端に設けられていたように、ロボットアーム装置10においても、実際には撮像部140がアーム部120の先端に設けられている。図6では、撮像部140が複数の関節部130及び複数のリンクを介して最終段のリンクの先端に設けられる様子を、関節部130と撮像部140との間にリンクを模式的に図示することにより表現している。
 なお、本実施形態においては、アーム部120の先端には先端ユニットとして各種の医療用器具が接続され得る。当該医療用器具としては、例えば、メスや鉗子等の各種の施術器具や、超音波検査装置の探触子等の各種の検査装置の一ユニット等、施術に際して用いられる各種のユニットが挙げられる。また、本実施形態では、図6に示す撮像部140や、内視鏡、顕微鏡等の撮像機能を有するユニットも医療用器具に含まれてよい。このように、本実施形態に係るロボットアーム装置10は、医療用器具を備えた医療用ロボットアーム装置であると言える。同様に、本実施形態に係るロボットアーム制御システム1は、医療用ロボットアーム制御システムであると言える。また、アーム部120の先端に、2つの撮像ユニット(カメラユニット)を有するステレオカメラが設けられ、撮像対象を3D画像として表示するように撮影が行われてもよい。
 以上、ロボットアーム装置10の機能及び構成について説明した。次に、制御装置20の機能及び構成について説明する。図6を参照すると、制御装置20は、入力部210、記憶部220及び制御部230を有する。
 制御部230は、制御装置20を統合的に制御するとともに、ロボットアーム装置10におけるアーム部120の駆動を制御するための各種の演算を行う。具体的には、制御部230は、ロボットアーム装置10のアーム部120の駆動を制御するために、全身協調制御及び理想関節制御における各種の演算を行う。以下、制御部230の機能及び構成について詳しく説明するが、全身協調制御及び理想関節制御については、上記[2-2.一般化逆動力学について]及び上記[2-3.理想関節制御について]で既に説明しているため、ここでは詳しい説明は省略する。
 制御部230は、全身協調制御部240及び理想関節制御部250を有する。
 全身協調制御部240は、一般化逆動力学を用いた全身協調制御に関する各種の演算を行う。本実施形態では、全身協調制御部240は、関節状態検出部132によって検出された関節部130の状態に基づいてアーム部120の状態(アーム状態)を取得する。また、全身協調制御部240は、当該アーム状態と、アーム部120の運動目的及び拘束条件と、に基づいて、操作空間におけるアーム部120の全身協調制御のための制御値を、一般化逆動力学を用いて算出する。なお、操作空間とは、例えばアーム部120に作用する力とアーム部120に発生する加速度との関係を記述するための空間である。
 全身協調制御部240は、アーム状態取得部241、演算条件設定部242、仮想力算出部243及び実在力算出部244を有する。
 アーム状態取得部241は、関節状態検出部132によって検出された関節部130の状態に基づいて、アーム部120の状態(アーム状態)を取得する。ここで、アーム状態とは、アーム部120の運動の状態を意味していてよい。例えば、アーム状態には、アーム部120の位置、速度、加速度、力等の情報が含まれる。上述したように、関節状態検出部132は、関節部130の状態として、各関節部130における回転角度、回転角速度、回転角加速度、発生トルク等の情報を取得している。また、後述するが、記憶部220は、制御装置20によって処理される各種の情報を記憶するものであり、本実施形態においては、記憶部220には、アーム部120に関する各種の情報(アーム情報)、例えばアーム部120を構成する関節部130及びリンクの数や、リンクと関節部130との接続状況、リンクの長さ等の情報が格納されていてよい。アーム状態取得部241は、記憶部220から当該アーム情報を取得することができる。従って、アーム状態取得部241は、関節部130の状態とアーム情報とに基づいて、複数の関節部130、複数のリンク及び撮像部140の空間上の位置(座標)(すなわち、アーム部120の形状や撮像部140の位置及び姿勢)や、各関節部130、リンク及び撮像部140に作用している力等の情報をアーム状態として取得することができる。アーム状態取得部241は、取得したアーム情報を演算条件設定部242に送信する。
 演算条件設定部242は、一般化逆動力学を用いた全身協調制御に関する演算における演算条件を設定する。ここで、演算条件とは、運動目的及び拘束条件であってよい。運動目的は、アーム部120の運動に関する各種の情報であってよい。具体的には、運動目的は、撮像部140の位置及び姿勢(座標)、速度、加速度並びに力等の目標値であったり、アーム部120の複数の関節部130及び複数のリンクの位置(座標)、速度、加速度及び力等の目標値であったりしてもよい。また、拘束条件は、アーム部120の運動を制限(拘束)する各種の情報であってよい。具体的には、拘束条件は、アーム部の各構成部材が移動不可能な領域の座標や、移動不可能な速度、加速度の値、発生不可能な力の値等であってよい。また、拘束条件における各種の物理量の制限範囲は、アーム部120の構造的に実現することが不可能であることから設定されてもよいし、ユーザによって適宜設定されてもよい。また、演算条件設定部242は、アーム部120の構造についての物理モデル(例えば、アーム部120を構成するリンクの数や長さ、リンクの関節部130を介した接続状況、関節部130の可動範囲等がモデル化されたもの)を有し、当該物理モデルに、所望の運動条件及び拘束条件が反映された制御モデルを生成することにより、運動条件及び拘束条件を設定してもよい。
 本実施形態においては、運動目的及び拘束条件を適切に設定することにより、アーム部120に所望の動作を行わせることが可能となる。例えば、運動目的として、撮像部140の位置の目標値を設定することにより撮像部140をその目標の位置に移動させることはもちろんのこと、アーム部120が空間上の所定の領域内に侵入しないようにする等、拘束条件によって移動の制約を設けてアーム部120を駆動させることも可能である。
 運動目的の具体例として、例えば、運動目的は、撮像部140の撮影方向が施術部位に固定された状態で、撮像部140が施術部位を頂点とした円錐の面内を移動する、当該円錐の軸を旋回軸とした旋回動作である、ピボット動作であってもよい。また、当該ピボット動作においては、撮像部140と円錐の頂点に当たる点との距離が一定に保たれた状態で旋回動作が行われてもよい。このようなピボット動作を行うことにより、観察部位を等距離からかつ異なる角度から観察できるようになるため、手術を行うユーザの利便性を向上させることができる。
 また、他の具体例として、運動目的は、各関節部130における発生トルクを制御する内容であってもよい。具体的には、運動目的は、アーム部120に作用する重力を打ち消すように関節部130の状態を制御するとともに、更に外部から与えられた力の方向へのアーム部120の移動をサポートするように関節部130の状態を制御するパワーアシスト動作であってもよい。より具体的には、パワーアシスト動作においては、アーム部120の各関節部130における重力による外トルクを打ち消す発生トルクを各関節部130に生じさせるように各関節部130の駆動が制御されることにより、アーム部120の位置及び姿勢が所定の状態で保持される。この状態で更に外部から(例えばユーザから)外トルクが加えられた場合に、与えられた外トルクと同じ方向の発生トルクを各関節部130に生じさせるように各関節部130の駆動が制御される。このようなパワーアシスト動作を行うことにより、ユーザが手動でアーム部120を動かす場合に、ユーザはより小さい力でアーム部120を移動させることができるため、あたかも無重力下でアーム部120を動かしているような感覚をユーザに対して与えることができる。また、上述したピボット動作と当該パワーアシスト動作とを組み合わせることも可能である。
 ここで、本実施形態において、運動目的とは、全身協調制御において実現されるアーム部120の動作(運動)を意味していてもよいし、当該動作における瞬時的な運動目的(すなわち、運動目的における目標値)を意味していてもよい。例えば上記のピボット動作であれば、撮像部140がピボット動作を行うこと自体が運動目的であるが、ピボット動作を行っている最中においては、当該ピボット動作における円錐面内での撮像部140の位置や速度等の値が、瞬時的な運動目的(当該運動目的における目標値)として設定されている。また例えば上記のパワーアシスト動作であれば、外部から加えられた力の方向へのアーム部120の移動をサポートするパワーアシスト動作を行うこと自体が運動目的であるが、パワーアシスト動作を行っている最中においては、各関節部130に加えられる外トルクと同じ方向への発生トルクの値が、瞬時的な運動目的(当該運動目的における目標値)として設定されている。本実施形態における運動目的は、瞬時的な運動目的(例えばある時間におけるアーム部120の各構成部材の位置や速度、力等の目標値)と、瞬時的な運動目的が連続的に達成された結果、経時的に実現されるアーム部120の各構成部材の動作の、双方を含む概念である。全身協調制御部240における全身協調制御のための演算における各ステップでは瞬時的な運動目的がその都度設定され、当該演算が繰り返し行われることにより、最終的に所望の運動目的が達成される。
 なお、本実施形態においては、運動目的が設定される際に、各関節部130の回転運動における粘性抵抗係数も適宜設定されてよい。上述したように、本実施形態に係る関節部130は、アクチュエータ430の回転運動における粘性抵抗係数を適宜調整できるように構成される。従って、運動目的の設定に際して各関節部130の回転運動における粘性抵抗係数も設定することにより、例えば外部から加えられる力に対して回転しやすい状態や回転し難い状態を実現することができる。例えば上述したパワーアシスト動作であれば、関節部130における粘性抵抗係数が小さく設定されることにより、ユーザがアーム部120を移動させる際に要する力がより小さくてよく、ユーザに与えられる無重力感がより助長される。このように、各関節部130の回転運動における粘性抵抗係数は、運動目的の内容に応じて適宜設定されてよい。
 なお、運動目的の具体例については、下記[2-5.運動目的の具体例]で改めて詳しく説明する。
 ここで、本実施形態においては、後述するように、記憶部220には、全身協調制御に関する演算において用いられる運動目的や拘束条件等の演算条件に関するパラメータが格納されていてもよい。演算条件設定部242は、記憶部220に記憶されている拘束条件を、全身協調制御の演算に用いる拘束条件として設定することができる。
 また、本実施形態においては、演算条件設定部242は、複数の方法によって運動目的を設定することができる。例えば、演算条件設定部242は、アーム状態取得部241から送信されるアーム状態に基づいて運動目的を設定してもよい。上述したように、アーム状態には、アーム部120の位置の情報やアーム部120に対して作用する力の情報が含まれる。従って、例えばユーザがアーム部120を手動で移動させようとしている場合には、アーム状態取得部241によって、ユーザがアーム部120をどのように移動させようとしているか、に関する情報もアーム状態として取得される。従って、演算条件設定部242は、取得されたアーム状態に基づいて、ユーザがアーム部120を移動させた位置や速度、力等を瞬時的な運動目的として設定することができる。このように運動目的が設定されることにより、アーム部120の駆動は、ユーザによるアーム部120の移動を追随し、サポートするように制御される。
 また、例えば、演算条件設定部242は、入力部210からユーザによって入力される指示に基づいて運動目的を設定してもよい。後述するが、入力部210は、ユーザが制御装置20にロボットアーム装置10の駆動制御に関する情報や命令等を入力するための入力インターフェースであり、本実施形態においては、ユーザによる入力部210からの操作入力に基づいて、運動目的が設定されてもよい。具体的には、入力部210は、例えばレバー、ペダル等のユーザが操作する操作手段を有し、当該レバー、ペダル等の操作に応じて、アーム部120の各構成部材の位置や速度等が、演算条件設定部242によって瞬時的な運動目的として設定されてもよい。
 更に、例えば、演算条件設定部242は、記憶部220に記憶されている運動目的を、全身協調制御の演算に用いる運動目的として設定してもよい。例えば、空間上の所定の点で撮像部140が静止するという運動目的であれば、当該所定の点の座標を運動目的として予め設定することができる。また、例えば、撮像部140が空間上において所定の軌跡上を移動するという運動目的であれば、当該所定の軌跡を表す各点の座標を運動目的として予め設定することができる。このように、運動目的が予め設定できるものである場合には、当該運動目的が予め記憶部220に記憶されていてもよい。また、例えば上述したピボット動作であれば、運動目的は円錐の面内における位置や速度等を目標値とするものに限られるし、パワーアシスト動作であれば、運動目的は力を目標値とするものに限られる。このように、ピボット動作やパワーアシスト動作のような運動目的が予め設定されている場合には、これらの運動目的における瞬時的な運動目的として設定され得る目標値の範囲や種類等に関する情報が、記憶部220に記憶されていてもよい。演算条件設定部242は、このような運動目的に関する各種の情報も含めて、運動目的として設定することができる。
 なお、演算条件設定部242が、上記のいずれの方法で運動目的を設定するかは、ロボットアーム装置10の用途等に応じてユーザによって適宜設定可能であってよい。また、演算条件設定部242は、また、上記の各方法を適宜組み合わせることにより、運動目的及び拘束条件を設定してもよい。なお、記憶部220に格納されている拘束条件の中に運動目的の優先度が設定されていてもよく、複数の互いに異なる運動目的が存在する場合には、演算条件設定部242は、当該拘束条件の優先度に応じて運動目的を設定してもよい。演算条件設定部242は、アーム状態並びに設定した運動目的及び拘束条件を仮想力算出部243に送信する。
 仮想力算出部243は、一般化逆動力学を用いた全身協調制御に関する演算における仮想力を算出する。仮想力算出部243が行う仮想力の算出処理は、例えば、上記(2-2-1.仮想力算出処理)で説明した一連の処理であってよい。仮想力算出部243は、算出した仮想力fを実在力算出部244に送信する。
 実在力算出部244は、一般化逆動力学を用いた全身協調制御に関する演算における実在力を算出する。実在力算出部244が行う実在力の算出処理は、例えば、上記(2-2-2.実在力算出処理)で説明した一連の処理であってよい。実在力算出部244は、算出した実在力(発生トルク)τを理想関節制御部250に送信する。なお、本実施形態においては、実在力算出部244によって算出された発生トルクτのことを、全身協調制御における関節部130の制御値という意味で、制御値又は制御トルク値とも呼称する。
 理想関節制御部250は、一般化逆動力学を用いた理想関節制御に関する各種の演算を行う。本実施形態では、理想関節制御部250は、実在力算出部244によって算出された発生トルクτに対して外乱の影響を補正することにより、アーム部120の理想的な応答を実現するトルク指令値τを算出する。なお、理想関節制御部250によって行われる演算処理は、上記[2-3.理想関節制御について]で説明した一連の処理に対応している。
 理想関節制御部250は、外乱推定部251及び指令値算出部252を有する。
 外乱推定部251は、トルク指令値τと、回転角度検出部133によって検出された回転角度qから算出される回転角速度に基づいて、外乱推定値τを算出する。なお、ここでいうトルク指令値τは、最終的にロボットアーム装置10に送信されるアーム部120での発生トルクを表す指令値である。このように、外乱推定部251は、図5に示す外乱オブザーバ620に対応する機能を有する。
 指令値算出部252は、外乱推定部251によって算出された外乱推定値τを用いて、最終的にロボットアーム装置10に送信されるアーム部120に生じさせるトルクを表す指令値であるトルク指令値τを算出する。具体的には、指令値算出部252は、上記数式(12)に示す関節部130の理想モデルから算出されるτrefに外乱推定部251によって算出された外乱推定値τを加算することにより、トルク指令値τを算出する。例えば、外乱推定値τが算出されていない場合には、トルク指令値τはトルク目標値τrefとなる。このように、指令値算出部252の機能は、図5に示す外乱オブザーバ620以外の機能に対応している。
 以上説明したように、理想関節制御部250においては、外乱推定部251と指令値算出部252との間で繰り返し情報のやり取りが行われることにより、図5を参照して説明した一連の処理が行われる。理想関節制御部250は算出したトルク指令値τをロボットアーム装置10の駆動制御部111に送信する。駆動制御部111は、送信されたトルク指令値τに対応する電流量を、関節部130のアクチュエータにおけるモータに対して供給する制御を行うことにより、当該モータの回転数を制御し、関節部130における回転角度及び発生トルクを制御する。
 本実施形態に係るロボットアーム制御システム1においては、ロボットアーム装置10におけるアーム部120の駆動制御は、アーム部120を用いた作業が行われている間継続的に行われるため、ロボットアーム装置10及び制御装置20における以上説明した処理が繰り返し行われる。すなわち、ロボットアーム装置10の関節状態検出部132によって関節部130の状態が検出され、制御装置20に送信される。制御装置20では、当該関節部130の状態と、運動目的及び拘束条件とに基づいて、アーム部120の駆動を制御するための全身協調制御及び理想関節制御に関する各種の演算が行われ、演算結果としてのトルク指令値τがロボットアーム装置10に送信される。ロボットアーム装置10では、当該トルク指令値τに基づいてアーム部120の駆動が制御され、駆動中又は駆動後の関節部130の状態が、再び関節状態検出部132によって検出される。
 制御装置20が有する他の構成についての説明を続ける。
 入力部210は、ユーザが制御装置20にロボットアーム装置10の駆動制御に関する情報や命令等を入力するための入力インターフェースである。本実施形態においては、ユーザによる入力部210からの操作入力に基づいて、ロボットアーム装置10のアーム部120の駆動が制御され、撮像部140の位置及び姿勢が制御されてもよい。具体的には、上述したように、ユーザによって入力部210から入力されたアームの駆動の指示に関する指示情報が演算条件設定部242に入力されることにより、演算条件設定部242が当該指示情報に基づいて全身協調制御における運動目的を設定してもよい。このように、ユーザが入力した指示情報に基づく運動目的を用いて全身協調制御が行われることにより、ユーザの操作入力に応じたアーム部120の駆動が実現される。
 具体的には、入力部210は、例えばマウス、キーボード、タッチパネル、ボタン、スイッチ、レバー及びペダル等のユーザが操作する操作手段を有する。例えば入力部210がペダルを有する場合、ユーザは当該ペダルを足で操作することによりアーム部120の駆動を制御することができる。従って、ユーザが患者の施術部位に対して両手を使って処置を行っている場合であっても、足によるペダルの操作によって撮像部140の位置及び姿勢、すなわち、施術部位の撮影位置や撮影角度を調整することができる。
 記憶部220は、制御装置20によって処理される各種の情報を記憶する。本実施形態においては、記憶部220は、制御部230によって行われる全身協調制御及び理想関節制御に関する演算において用いられる各種のパラメータを記憶することができる。例えば、記憶部220は、全身協調制御部240による全身協調制御に関する演算において用いられる運動目的及び拘束条件を記憶していてもよい。記憶部220が記憶する運動目的は、上述したように、例えば撮像部140が空間上の所定の点で静止することのような、予め設定され得る運動目的であってよい。また、拘束条件は、アーム部120の幾何的な構成やロボットアーム装置10の用途等に応じて、ユーザによって予め設定され、記憶部220に格納されていてもよい。また、記憶部220には、アーム状態取得部241がアーム状態を取得する際に用いるアーム部120に関する各種の情報が記憶されていてもよい。更に、記憶部220には、制御部230による全身協調制御及び理想関節制御に関する演算における演算結果や演算過程で算出される各数値等が記憶されてもよい。このように、記憶部220には、制御部230によって行われる各種の処理に関するあらゆるパラメータが格納されていてよく、制御部230は、記憶部220と相互に情報を送受信しながら各種の処理を行うことができる。
 以上、制御装置20の機能及び構成について説明した。なお、本実施形態に係る制御装置20は、例えばPC(Personal Computer)やサーバ等の各種の情報処理装置(演算処理装置)によって構成することができる。次に、表示装置30の機能及び構成について説明する。
 表示装置30は、各種の情報を表示画面上にテキスト、イメージ等様々な形式で表示することにより、当該情報をユーザに対して視覚的に通知する。本実施形態においては、表示装置30は、ロボットアーム装置10の撮像部140によって撮影された画像を表示画面上に表示する。具体的には、表示装置30は、撮像部140によって取得された画像信号に各種の画像処理を施す画像信号処理部(図示せず。)や処理された画像信号に基づく画像を表示画面上に表示させる制御を行う表示制御部(図示せず。)等の機能及び構成を有する。なお、表示装置30は、上記の機能及び構成以外にも、一般的に表示装置が有する各種の機能及び構成を有してもよい。表示装置30は、図1に示す表示装置550に対応している。
 以上、図6を参照して、本実施形態に係るロボットアーム装置10、制御装置20及び表示装置30の機能及び構成について説明した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
 以上説明したように、本実施形態によれば、ロボットアーム装置10における多リンク構造体であるアーム部120が、少なくとも6自由度以上の自由度を有するとともに、当該アーム部120を構成する複数の関節部130のそれぞれの駆動が駆動制御部111によって制御される。そして、当該アーム部120の先端には医療用器具が設けられる。このように、各関節部130の駆動が制御されることにより、より自由度の高いアーム部120の駆動制御が実現され、よりユーザにとって操作性の高い医療用のロボットアーム装置10が実現される。
 より具体的には、本実施形態によれば、ロボットアーム装置10において、関節状態検出部132によって関節部130の状態が検出される。そして、制御装置20において、当該関節部130の状態と、運動目的及び拘束条件とに基づいて、アーム部120の駆動を制御するための一般化逆動力学を用いた全身協調制御に関する各種の演算が行われ、演算結果としてのトルク指令値τが算出される。更に、ロボットアーム装置10において、当該トルク指令値τに基づいてアーム部120の駆動が制御される。このように、本実施形態においては、一般化逆動力学を用いた全身協調制御により、アーム部120の駆動が制御される。従って、力制御によるアーム部120の駆動制御が実現され、よりユーザにとって操作性の高いロボットアーム装置が実現される。また、本実施形態では、全身協調制御において、例えばピボット動作やパワーアシスト動作といった、よりユーザの利便性を向上させる各種の運動目的を実現する制御が可能となる。更に、本実施形態においては、例えばアーム部120を手動で移動させたり、ペダルからの操作入力により移動させたりといった、多様な駆動手段が実現されるため、ユーザの利便性の更なる向上が実現される。
 また、本実施形態においては、アーム部120の駆動制御について、全身協調制御と併せて理想関節制御が適用される。理想関節制御においては、関節部130内部の摩擦や慣性等の外乱成分を推定し、推定した外乱成分を用いたフィードフォワード制御が行われる。従って、摩擦等の外乱成分がある場合であっても、関節部130の駆動について理想的な応答を実現することができる。よって、アーム部120の駆動制御において、振動等の影響がより少ない、高精度の応答性と高い位置決め精度や安定性が実現される。
 更に、本実施形態においては、アーム部120を構成する複数の関節部130のそれぞれが、例えば図3に示すような、理想関節制御に適合した構成を有し、各関節部130における回転角度、発生トルク及び粘性抵抗係数を電流値によって制御することができる。このように、各関節部130の駆動が電流値によって制御され、また、全身協調制御により各関節部130の駆動がアーム部120全体の状態を把握しながら制御されるため、カウンターバランスが不要となり、ロボットアーム装置10の小型化が実現される。
 [2-5.運動目的の具体例]
 次に、本実施形態に係る運動目的の具体例について説明する。上記[2-4.ロボットアーム制御システムの構成]で説明したように、本実施形態においては、全身協調制御によって各種の運動目的が実現される。ここでは、本実施形態に係る運動目的の具体例として、パワーアシスト動作と、ピボット動作について説明する。なお、以下の運動目的の具体例についての説明では、図6に示す機能ブロック図における参照番号を用いて、本実施形態に係るロボットアーム制御システムの構成部材を表す。
 パワーアシスト動作は、アーム部120に作用する重力を打ち消すように関節部130の状態を制御するとともに、更に外部から与えられた力の方向へのアーム部120の移動をサポートするように関節部130の状態を制御する動作である。具体的には、ユーザがアーム部120を手動で動かす際に、ユーザによって加えられた力をサポートするようにアーム部120の駆動を制御する動作である。より具体的には、パワーアシスト動作を実現するために、まず、重力以外の力がアーム部120に作用していない状態における外トルクがトルク検出部134によって検出され、検出された外トルクを打ち消す発生トルクを各関節部130に生じさせるように、瞬時的な運動目的が設定される。この段階で、アーム部120の位置及び姿勢が所定の状態で保持される。この状態で更に外部から(例えばユーザから)外トルクが加えられた場合に、追加的に与えられた外トルクがトルク検出部134によって検出され、検出された追加的な外トルクと同じ方向の発生トルクを各関節部130に生じさせるという瞬時的な運動目的が更に設定される。このような瞬時的な運動目的に従って各関節部130の駆動が制御されることによりパワーアシスト動作が実現される。パワーアシスト動作により、ユーザはより小さい力でアーム部を移動させることができるため、あたかも無重力下でアーム部120を動かしているような感覚を得ることができ、ユーザによるアーム部120の操作性が向上する。
 ピボット動作は、アーム部120の先端に設けられる先端ユニットが、当該先端ユニットの向きが空間上の所定の点に固定された状態で、当該所定の点を頂点とした円錐の面上を移動する、当該円錐の軸を旋回軸とした旋回動作である。具体的に先端ユニットが撮像部140である場合であれば、ピボット動作は、アーム部120の先端に設けられる撮像部140が、撮像部140の撮影方向が空間上の所定の点に固定された状態で、当該所定の点を頂点とした円錐の面上を移動する、当該円錐の軸を旋回軸とした旋回動作である。ピボット動作における円錐の頂点に当たる点としては、例えば施術部位が選択される。また、ピボット動作においては、先端ユニット又は撮像部140と円錐の頂点に当たる点との距離が一定に保たれた状態で旋回動作が行われてもよい。なお、先端ユニットの向き又は撮像部140の撮影方向が空間上の所定の点(例えば施術部位)に固定されることから、ピボット動作はポイントロック動作とも呼ばれる。
 <3.視野の拡大倍率に応じた制御>
 次に、視野の拡大倍率に応じた制御について説明する。本実施形態では、撮像部140により撮像された被写体の画面上の拡大倍率(視野の拡大倍率:以下、単に拡大倍率と称する場合がある)に応じて、ユーザによるロボットアームの操作感を調整する。図7は、視野の拡大倍率に応じてロボットアームの操作感を調整する具体的なシステム1000の構成を示す模式図である。図7に示すシステム1000は、中央演算器(CPU)1100、カメラ1200、操作入力部1300、センサ1400、モータ制御部1500a,1500b,・・・,1500f、エンコーダ1600a,1600b,・・・,1600f、モータ1700a,1700b,・・・,1700f、トルクセンサ1800a,1800b,・・・,1800fを有して構成されている。
 図7に示すカメラ1400は、図6の撮像部140に相当する。また、エンコーダ1600a、モータ1700a、及びトルクセンサ1800aは、関節部421aを構成する。同様に、エンコーダ1600b、モータ1700b、及びトルクセンサ1800bは、関節部421bを構成し、エンコーダ1600f、モータ1700f、及びトルクセンサ1800fは、関節部421fを構成する。
 操作入力部1300は、図6の入力部210に相当する。操作入力部1300は、一例としてリモコンスイッチ、フットスイッチ等のスイッチである。センサ1400は、例えばロボットアーム装置10のアーム部120の先端に装着され、ユーザの操作を検出する6軸センサ等のセンサである。
 また、図7に示す中央演算器1100は、図6の制御部230に対応する。また、各モータ制御部1500a,1500b,・・・,1500fは、図6のアーム制御部110に対応する。
 また、各関節部421a,421b,・・・,421cに含まれるエンコーダ1600a,1600b,・・・,1600fは、図6の回転角度検出部133に対応し、各関節部421a,421b,・・・,421fに含まれるモータ1800a,1800b,・・・,1800fは、図6の関節駆動部131に対応し、各関節部421a,421b,・・・,421fに含まれるトルクセンサ1800a,1800b,・・・,1800fは、図6のトルク検出部134に対応している。
 ロボットアーム装置10において、カメラ1200により撮像された画像の拡大倍率が高い場合は、被写体が大きく拡大されている状態である。このような状態では、操作者はより注意深く拡大された被写体を観察することになるため、ロボットアーム装置10のアーム部120が不用意に動くことは好ましくない。
 このため、本実施形態では、拡大倍率に応じて、各関節部421a,421b,・・・,421fの動きを制御するようにしている。具体的には、拡大倍率に応じて、各関節部421a,421b,・・・,421fの動きの粘性を制御する。また、拡大倍率に応じて、各関節部421a,421b,・・・,421fの動きの速度、操作に対する移動量を制御する。視野の拡大倍率は、カメラ1200から撮像対象(被写体)までの距離情報とカメラ1200のズーム倍率(撮影倍率)とから計算することができる。また、被写体までの距離情報は、カメラ1200から得られるオートフォーカスによる距離情報、ステレオ視による距離情報、アームの姿勢から推定される距離情報、測距センサなどその他のセンサにより測定した距離情報等を用いることができる。例えば、ズーム倍率が最大で、カメラ1200が物体に最も近い場合には、最も遅く動かす制御を行い(最も低い駆動速度、もしくは最も高い粘性の設定とする)、ズーム撮影倍率でもカメラ1200と被写体の距離が離れていて、広い範囲が見えているようであれば、高い駆動速度もしくは低い粘性としても操作性は低下しない。関節を駆動した時に、画面上に映っている物体の大きさに関わらず、その物体の移動速度が常に所定の範囲に入るように駆動速度や粘性を調整することが好適である。
 粘性の制御では、カメラ1200による拡大倍率が高くなるほど、各関節部421a,421b,・・・,421fの動きの粘性を高くするように制御を行う。各関節部421a,421b,・・・,421fの動きの粘性が高くなると、アーム部120の移動に応じた反力が操作者に与えられ、アームの動きが重くなるため、アーム部120の先端の微調整がより行い易くなる。これにより、操作者は、拡大された被写体の映像を表示装置30で確認しながら、被写体に対するカメラ1200の位置を微調整することが可能である。
 以上のような動きを制御するため、カメラ1200から中央演算器1100に対して拡大倍率に関する情報が送られる。中央演算器1100では、演算条件設定部242が、上述した運動目的として拡大倍率に応じた粘性の値を求める。そして、仮想力算出部243、実在力算出部244で上述の処理を行い、理想関節制御部250による処理が行われ、そして、求めた粘性の値に基づいてトルク指令値τを算出し、各モータ制御部1500a,1500b,・・・,1500cへ送る。各モータ制御部1500a,1500b,・・・,1500fは、トルク指令値τに基づいてモータ1700a,1700b,・・・1700fを制御する。上述したように、ロボットアーム装置10のモータドライバ425は、モータ424に供給する電流量を調整することにより、アクチュエータ430の回転運動に対する粘性抵抗係数を調整することができる。
 図8は、中央演算器1100が拡大倍率に応じた粘性を求める際に使用するマップの例を示す模式図である。図8に示すように、拡大倍率が大きくなるほど、粘性の値が大きくなるようにマップが規定される。また、図8に示すように、ロボットアーム装置10が医療手術に用いられる場合などにおいては、術式に応じて異なるマップの特性を規定しても良い。これにより、より高精度なロボットアーム装置10の操作が要求される術式1では、拡大倍率の増加に対する粘性の増加の割合をより高くすることで、ロボットアーム装置10のアーム部120の動きを重くしてより高精度の微調整を行うことが可能となる。なお、図8に示すマップは、制御装置20が備えるメモリに格納されることができる。また、図8では、術式に応じてマップを切り換える例を示したが、操作入力部1300へのユーザの操作入力に応じてマップを切り換えるようにしても良い。これにより、ユーザは、アーム部120の動き(粘性)を好みの状態に設定することができる。
 また、拡大倍率に応じて速度の制御を行う場合は、カメラ1200による拡大倍率が高くなるほど、各関節部421a,421b,・・・,421fの動きの速度が低下するように制御を行う。これにより、拡大倍率が高くなるほど各関節部421a,421b,・・・,421fの動きの速度が低下するため、ロボットアーム装置10のアーム部120のより高精度な微調整が可能となる。
 同様に、拡大倍率に応じて操作に対する移動量の制御を行う場合は、カメラ1200による拡大倍率が高くなるほど、ロボットアーム装置10のアーム部120の先端の移動量が小さくなるように制御を行う。これにより、拡大倍率が高くなるほど各関節部421a,421b,・・・,421fの動きの移動量が低下するため、ロボットアーム10のより高精度な微調整が可能となる。
 拡大倍率に応じた速度、移動量を制御する場合、演算条件設定部242は、上述した運動目的として拡大倍率に応じた速度、移動量を求める。拡大倍率に応じた速度、移動量は、例えば図14に示すマップから求めることができる。図14に示すように、拡大倍率に応じて、速度、移動量は低下する。そして、仮想力算出部243、実在力算出部244で上述の処理を行い、理想関節制御部250による処理が行われ、指令値算出部252からロボットアーム装置10に対してトルク指令値τが出力される。トルク指令値τは、各モータ制御部1500a,1500b,・・・,1500fへ送られる。各モータ制御部1500a,1500b,・・・,1500fは、トルク指令値τに基づいてモータ1700a,1700b,・・・1700fを制御する。なお、移動量とは、例えばユーザが操作入力部1300によりアーム部120をリモコン操作を行った場合に、1回の操作に対応するアーム部120の移動量とすることができる。
 以上のように、本実施形態では、カメラ1400の拡大倍率に応じて粘性や移動速度、
移動量(ユーザの1回の操作に対するアーム部120の移動量)、加速度その他のパラメータを切り替えることで、ユーザ操作によるアーム部120の移動量に応じた反力を操作者に返すことができ、操作性を向上させることができる。従って、拡大倍率が高い時には、より微細な調整が可能になる。また、拡大倍率が低い場合は、アーム部120をより動かし易くなるため、被写体の所望の箇所が表示装置30に表示されるようにアーム部120を迅速に移動させることが可能となる。
 また、アーム部120の姿勢情報を活用して、被写体とアーム部120の先端との距離を一定距離に保つようにするために、一定距離から外れた量に応じて粘性を大きくするなどの制御も可能である。
 拡大倍率に応じた制御は、基本的にユーザからの操作入力が検出された場合に行われる。操作入力の検出は、操作入力部1300に対するユーザの操作を検出することによって(主にリモートコントロール操作)行うことができる。また、操作入力の検出は、ユーザがアーム部120を操作した場合に、トルクセンサ1800a,1800b,・・・,1800fによって検出することができる。また、外力の検知によって、アーム部120を固定している状態から軽い操作力だけで動くモードへの状態切り替えも可能であり、電磁ブレーキ機能を有している場合は、状態切り換えに連動して電磁ブレーキの解除(または作動)を行うこともできる。また、表示装置30の画面のXY方向の操作以外にもZ方向(画面の奥行き方向)の力を検知して、粘性、速度、加速度、または移動量を制御したり、画面に対するXYZ方向のいずれかの操作を検出してフォーカス位置、拡大倍率、又はカメラ位置を変更させることも可能である。
 外力の検出には、各関節部421a,421b,・・・,421fが内蔵するトルクセンサ1800a,1800b,・・・,1800fを用いる検出の他、アーム部120に装着したタッチセンサ、アーム部120の根元や先端に装着した6軸力センサ、近接センサ等による検出を行うこともできる。これらのセンサは、図7に示すセンサ1400に含まれる。
 また、各関節部421a,421b,・・・,421fのエンコーダ1600a,1600b,・・・,1600fを活用して、エンコーダ1600a,1600b,・・・,1600fから検出される位置情報や角速度に基づいて擬似的にアームが操作されたことを検出してもよい。
 また、操作者による操作は、アーム部120を直接動かす操作の他、赤外近接センサなどのセンサによって操作を検出することもできる。また、音声入力、ジェスチャや手振りによる非接触操作も可能である。このように、操作入力部1300は、赤外線近接センサ、音声を検出するセンサ、ジェスチャや手振りなどの非接触操作を検出するセンサ(6軸力センサ)であっても良い。
 操作入力部1300からリモートコントロールで操作情報を入力する場合、メカスイッチやジョグ、アナログジョイスティックなどを操作入力部1300として用いることができる。更に、医療用ナビゲーション等と連携し、アーム部120の目標位置を別途入力する構成などとした場合、アーム部120の先端が目標位置近くに来たら粘性を上げることで、先端が目標位置に近づいたことを操作者へ通知することも可能である。
 また、センサ1400としては、視点、音声、脳波、表情などを検出する様々なセンサを用いることができる。これらのセンサによる検出に基づいて、アーム部120を制御することができる。
 ロボットアーム装置10の先端が体内で使用される場合の臓器との干渉や、ロボットアーム装置10と体外の器具等との干渉等があった場合、アーム部120の移動を停止または鈍くし、アーム部120の反力、粘性を上げることで、操作者に干渉を通知し、安全を図ることも可能である。
 <4.ロボットアーム制御方法の処理手順>
 次に、図9を参照して、本開示の一実施形態に係るロボットアーム制御方法の処理手順について説明する。図9は、本開示の一実施形態に係るロボットアーム制御方法の処理手順を示すフロー図である。なお、以下では、図6に示すロボットアーム制御システム1の構成によって本実施形態に係るロボットアーム制御方法が実現される場合を例に挙げて説明を行う。従って、本実施形態に係るロボットアーム制御方法は医療用ロボットアーム制御方法であると言える。なお、以下の本実施形態に係るロボットアーム制御方法の処理手順についての説明において、図6に示すロボットアーム制御システム1の各構成の機能については、上記[2-4.ロボットアーム制御システムの構成]で既に説明しているため、詳細な説明は省略する。
 図9を参照すると、本実施形態に係るロボットアーム制御方法では、まず、ステップS801で、関節状態検出部132によって関節部130の状態が検出される。ここで、関節部130の状態とは、例えば関節部130における回転角度、発生トルク及び/又は外トルクである。
 次にステップS803で、ステップS801で検出された関節部130の状態に基づいて、アーム状態取得部241によってアーム状態が取得される。アーム状態とは、アーム部120の運動の状態のことであり、例えばアーム部120の各構成部材の位置、速度、加速度やアーム部120の各構成部材に作用する力等であってよい。
 次にステップS805で、ステップS803で取得されたアーム状態に基づいて、演算条件設定部242によって全身協調制御における演算で用いられる運動目的及び拘束条件が設定される。なお、演算条件設定部242はアーム状態に基づいて運動目的を設定しなくてもよく、例えば、入力部210からユーザによって入力されるアーム部120の駆動についての指示情報に基づいて運動目的を設定してもよいし、記憶部220に予め格納されている運動目的を用いてもよい。更に、上記の各方法を適宜組み合わせることにより、運動目的を設定してもよい。また、演算条件設定部242は記憶部220に予め格納されている拘束条件を用いてもよい。
 次にステップS807で、アーム状態、運動目的及び拘束条件に基づいて、一般化逆動力学を用いた全身協調制御についての演算が行われ、制御値τが算出される。なお、ステップS807で行われる処理は、図6に示す仮想力算出部243及び実在力算出部244における一連の処理、すなわち、上記[2-2.一般化逆動力学について]で説明した一連の処理であってよい。
 次にステップS809で、外乱推定値τが算出され、当該外乱推定値τを用いて、理想関節制御についての演算が行われ、制御値τから指令値τが算出される。なお、ステップS809で行われる処理は、図6に示す理想関節制御部250における一連の処理、すなわち、上記[2-3.理想関節制御について]で説明した一連の処理であってよい。
 最後にステップS811で、指令値τに基づいて、駆動制御部111によって関節部130の駆動が制御される。
 以上、図9を参照して、本実施形態に係るロボットアーム制御方法の処理手順について説明した。なお、本実施形態においては、図9に示すステップS801~ステップS811における処理が、アーム部120を用いた作業が行われている間繰り返し行われる。従って、本実施形態においては、アーム部120を用いた作業が行われている間、アーム部120の駆動制御が継続的に行われる。
 次に、図10に基づいて、拡大倍率に応じた制御の処理について説明する。先ず、ステップS10では、一定値以上の操作入力を検出したか否かを判定する。操作入力の検出は、各関節部421a,421b,・・・,421fのトルクセンサ1800a,1800b,・・・,1800fで行われる。また、アーム部120がリモートコントロールされる場合等においては、操作入力の検出は操作入力部1300が行うこともできる。
 ステップS10において、一定値以上の操作入力を検出したことが判定された場合はステップS12へ進み、カメラ1200により撮像された画像の拡大倍率を取得する。具体的には、中央演算器1100は、カメラ1200からズーム倍率を取得し、ズーム倍率と被写体の距離情報とから拡大倍率を取得する。
 次のステップS14では、拡大倍率に応じた粘性、速度、移動量を計算する。上述したように、拡大倍率に応じた粘性、速度、移動量は、拡大倍率とこれらのパラメータとの関係を規定したマップから求めることができる。
 次のステップS16では、力制御によるアーム部120の駆動を開始する。この際、拡大倍率に応じて粘性、速度、又は移動量が制御されるため、拡大倍率が高いほどアーム部の微調整が可能となる。ステップS16の後はステップS10へ戻る。
 また、ステップS10で一定値以上の操作入力を検出していないと判定された場合は、ステップS18へ進む。ステップS18では、アーム部120の姿勢を現状の姿勢に固定する制御を行う。
 以上のように、図10の処理によれば、一定値以上の操作入力を検出した場合は、拡大倍率に応じて粘性、アームの移動速度、またはアームの移動量が制御される。従って、拡大倍率が大きい場合は、粘性を大きくすることが可能となる。また、拡大倍率が大きい場合は、アームの移動速度又は移動量を小さくする制御が可能となる。これにより、拡大倍率が高い場合は、アーム部のより高精度な微調整を行うことが可能となる。
 次に、関節部の状態に基づく関節部の駆動の粘性の制御について説明する。上述したように、本実施形態に係るロボットアーム制御方法では、関節部130の状態が検出される。そして、関節部130の状態に基づいて、アーム状態取得部241によってアーム状態が取得される。アーム状態とは、アーム部120の運動の状態のことであり、例えばアーム部120の各構成部材の位置、速度、加速度やアーム部120の各構成部材に作用する力等であってよい。
 中央演算器1100は、関節部130の状態に基づいて、関節部130の駆動の粘性を制御する。例えば、アーム部120が予め定められた所定の方向に動く場合は、通常の場合よりも粘性を高くしたり、又は粘性を低くする制御を行う。また、アーム部120が予め定められた所定の姿勢の場合は、通常の場合よりも粘性を高くしたり、又は粘性を低くする制御を行う。また、アーム部120が予め定められた所定の速度で動く場合は、通常の場合よりも粘性を高くしたり、又は粘性を低くする制御を行う。
 中央演算器1100では、アーム状態取得部241が関節部130の状態(アーム状態)を取得する。演算条件設定部242は、上述した運動目的として関節部130の状態に応じた粘性の値を求める。そして、仮想力算出部243、実在力算出部244で上述の処理を行い、理想関節制御部250による処理が行われ、そして、求めた粘性の値に基づいてトルク指令値τを算出し、各モータ制御部1500a,1500b,・・・,1500cへ送る。各モータ制御部1500a,1500b,・・・,1500fは、トルク指令値τに基づいてモータ1700a,1700b,・・・1700fを制御する。上述したように、ロボットアーム装置10のモータドライバ425は、モータ424に供給する電流量を調整することにより、アクチュエータ430の回転運動に対する粘性抵抗係数を調整することができる。
 これにより、アーム部120の動きの方向、姿勢、速度に応じて粘性が変化するので、特定の方向の動きや特定の姿勢の場合にアーム部120の動きを軽くしたり、または動きを重くすることができ、操作者のニーズに応じた最適な動きを実現することができる。より詳細には、関節部130の状態から得られる位置情報に基づき特定方向の粘性を変えることで、特定方向の微調整だけをし易くすることができる。例えば、画面に表示されるXY方向に対しては粘性を高く、Z方向に対しては粘性を重くすることで、特定方向の動きは制限しながらXY方向のみの操作をし易くすることができる。また、関節部130の状態から得られる速度情報に基づき、ある速さ以上になった場合は粘性を下げて動かしやすくするように切り替えることで、微小な移動と大きな動きの操作性を操作者が選択できるようにする。また、関節部130の状態から得られる加速度情報に基づき粘性を調整することで、手の力加減に影響されずに一定の速度で動かせるようになり、微妙な力加減などを必要とせずに患部を観察し易くすることができる。また、関節部130の状態から得られる位置情報に基づき患者の患部に向かう方向に対しては粘性を高くして動きを制限することで、安全性を高めながら、他の方向の操作を可能とすることができる。
 関節部130の状態に基づく粘性の制御と、上述した拡大倍率に基づく粘性の制御とは、組み合わせて行うことができる。この場合、中央演算器1100は、関節部130の状態と拡大倍率とに基づいて、関節部130の駆動の粘性を制御する。
 <5.画面内の方向と一致した操作>
 次に、本実施形態に係る、画面内のXY方向と一致させてアーム部120を操作する手法について説明する。本実施形態に係るロボットアーム装置10によれば、関節部421fを回転駆動させると、表示装置30の表示画面に対して被写体を回転させることができる。
 図11(A)は、関節部421fを回転駆動させる前の被写体と表示装置30の枠30aとの位置関係を示している。また、図11(B)は、関節部421fを回転させた後の被写体と表示装置30の枠30aとの位置関係を示している。図11(A)の状態から図11(B)の状態へ関節部421fを回転させることで、被写体に対して表示装置30の枠30aが右回りに回転している。換言すれば、表示装置30の枠30aに対して被写体は左回りに回転している。
 一方、関節部421fが回転する間、関節部421f以外の他の関節部は動作していないものとする。ここで、図11(B)の状態からユーザが操作入力部1300を操作して、リモートコントロールによりアーム部120を動かす場合を想定する。図11(B)中のY軸方向にアームを操作した場合、ロボットアーム装置10が図11(A)から図11(B)への表示枠30aの回転を考慮していないと、ロボットアーム装置10は図11(A)に示すY軸方向に操作が行われたものと認識する。このため、図11(B)のY’軸方向に表示枠30aが移動する。このため、操作者が表示画面上でアーム部120を移動させようとした方向と、実際のアーム部120の移動方向が異なることになり、表示画面を見ながら操作を行う操作者に違和感を与えるとともに、操作性が低下してしまう。
 このため、本実施形態では、画面内の方向と一致したアームの動きを実現する処理を行う。具体的には、被写体に対するカメラ1200の角度位置を取得し、被写体に対するカメラ1200の角度位置が変化した場合は、その変化量を考慮して操作方向を補正する。図11の例では、図11(A)から図11(B)へ移行する際に、カメラ1200が角度θだけ回転し、表示画面の枠30aに対して被写体が角度θだけ回転しているため、ユーザが入力した操作方向に対して、アーム部120が移動する方向を角度θだけ補正する。これにより、図11(B)のY軸方向にユーザが操作した場合に、アーム部120はY軸方向へ動くことになり、アーム部120が移動する方向と表示画面上での操作方向が一致し、操作性を大幅に高めることが可能となる。
 図12は、図11に示した画面内のXY方向と一致させてアーム部を操作する処理を示すフローチャートである。先ず、ステップS20では、カメラ1200の回転角θを検出する。ここでは、図11(B)に示した角度θが求められる。角度θは、関節部421fのエンコーダ1600fから求めることができる。
 次のステップS22では、ユーザが操作入力部1300に入力した操作方向を検出する。図11(B)で説明したように、ユーザは図11(B)の画面上でY軸方向に操作したとしても、ロボットアーム装置10はY’軸方向の操作として認識する。
 次のステップS24では、ユーザが操作入力部1300に入力した操作方向を回転角θで補正する。これにより、図11(B)において、操作方向がY’軸方向からY軸方向へ補正される。次のステップS26では、補正した操作方向へアーム部120を駆動する。
 以上のように、カメラ1200の回転角θを考慮して操作方向を決定することで、ユーザが画面上で指定した操作方向と実際のアーム部120の操作方向を一致させることが可能となる。これにより、ユーザは画面を見ながら直感的に操作を行うことが可能となり、操作性を大幅に高めることが可能となる。
 <6.ハードウェア構成>
 次に、図13を参照しながら、図6に示す、本実施形態に係るロボットアーム装置10及び制御装置20のハードウェア構成について、詳細に説明する。図13は、本開示の一実施形態に係るロボットアーム装置10及び制御装置20のハードウェア構成の一構成例を示す機能ブロック図である。
 ロボットアーム装置10及び制御装置20は、主に、CPU901と、ROM903と、RAM905と、を備える。また、ロボットアーム装置10及び制御装置20は、更に、ホストバス907と、ブリッジ909と、外部バス911と、インターフェース913と、入力装置915と、出力装置917と、ストレージ装置919と、ドライブ921と、接続ポート923と、通信装置925とを備える。
 CPU901は、演算処理装置及び制御装置として機能し、ROM903、RAM905、ストレージ装置919又はリムーバブル記録媒体927に記録された各種プログラムに従って、ロボットアーム装置10及び制御装置20内の動作全般又はその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM905は、CPU901が使用するプログラムや、プログラムの実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。CPU901は、本実施形態においては、例えば、図6に示すアーム制御部110及び制御部230に対応している。
 ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。また、外部バス911には、インターフェース913を介して、入力装置915、出力装置917、ストレージ装置919、ドライブ921、接続ポート923及び通信装置925が接続される。
 入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバー及びペダル等、ユーザが操作する操作手段である。また、入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、ロボットアーム装置10及び制御装置20の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。ロボットアーム装置10及び制御装置20のユーザは、この入力装置915を操作することにより、ロボットアーム装置10及び制御装置20に対して各種のデータを入力したり処理動作を指示したりすることができる。入力装置915は、本実施形態においては、例えば、図6に示す入力部210に対応する。また、本実施形態においては、入力装置915を介したユーザによる操作入力により、アーム部120の駆動における運動目的が設定され、当該運動目的に従って全身協調制御が行われてもよい。
 出力装置917は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置917は、例えば、ロボットアーム装置10及び制御装置20が行った各種処理により得られた結果を出力する。具体的には、表示装置は、ロボットアーム装置10及び制御装置20が行った各種処理により得られた結果を、テキスト又はイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。本実施形態においては、アーム部120の駆動制御に関する各種の情報が、あらゆる形式で出力装置917から出力されてよい。例えば、アーム部120の駆動制御における、アーム部120の各構成部材の移動の軌跡が、グラフの形式で出力装置917の表示画面に表示されてもよい。なお、例えば、図6に示す表示装置30は、出力装置917の表示装置としての機能及び構成と、当該表示装置の駆動を制御するための制御部等の構成を備える装置であってもよい。
 ストレージ装置919は、ロボットアーム装置10及び制御装置20の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ等を格納する。ストレージ装置919は、本実施形態においては、例えば、図6に示す記憶部220に対応する。また、本実施形態においては、ストレージ装置919は、一般化逆動力学を用いた全身協調制御に関する演算における演算条件(運動目的及び拘束条件)を記憶することができ、ロボットアーム装置10及び制御装置20はストレージ装置919に記憶されているこれらの演算条件を用いて全身協調制御に関する演算を行ってもよい。
 ドライブ921は、記録媒体用リーダライタであり、ロボットアーム装置10及び制御装置20に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク又は半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD-DVDメディア又はBlu-ray(登録商標)メディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(CF:CompactFlash)、フラッシュメモリ又はSDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)又は電子機器等であってもよい。本実施形態においては、アーム部120の駆動制御に関する各種の情報が、ドライブ921によって、各種のリムーバブル記録媒体927から読み出され、又は各種のリムーバブル記録媒体927に書き込まれてよい。
 接続ポート923は、機器をロボットアーム装置10及び制御装置20に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS-232Cポート、光オーディオ端子、HDMI(登録商標)(High-Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、ロボットアーム装置10及び制御装置20は、外部接続機器929から直接各種のデータを取得したり、外部接続機器929に各種のデータを提供したりする。本実施形態においては、アーム部120の駆動制御に関する各種の情報が、接続ポート923を介して、各種の外部接続機器929から読み出され、又は各種の外部接続機器929に書き込まれてよい。
 通信装置925は、例えば、通信網(ネットワーク)931に接続するための通信デバイス等で構成された通信インターフェースである。通信装置925は、例えば、有線若しくは無線LAN(Local Area Network)、Bluetooth(登録商標)又はWUSB(Wireless USB)用の通信カード等である。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ又は各種通信用のモデム等であってもよい。この通信装置925は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置925に接続される通信網931は、有線又は無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信又は衛星通信等であってもよい。本実施形態においては、アーム部120の駆動制御に関する各種の情報が、通信装置925によって、通信網931を介して外部の他の機器との間で相互に送受信されてもよい。
 以上、本開示の実施形態に係るロボットアーム装置10及び制御装置20の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。なお、図13では図示しないが、ロボットアーム装置10は、図6に示すアーム部120に対応する各種の構成を当然備える。
 なお、上述のような本実施形態に係るロボットアーム装置10、制御装置20及び表示装置30の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
 <7.まとめ>
 以上説明したように、本実施形態においては、以下の効果を得ることができる。
 以上説明したように、本実施形態によれば、ロボットアーム装置10における多リンク構造体であるアーム部120が、少なくとも6自由度以上の自由度を有するとともに、当該アーム部120を構成する複数の関節部130のそれぞれの駆動が駆動制御部111によって制御される。そして、当該アーム部120の先端には医療用器具が設けられる。このように、各関節部130の駆動が制御されることにより、より自由度の高いアーム部120の駆動制御が実現され、よりユーザにとって操作性の高い医療用のロボットアーム装置10が実現される。
 具体的には、本実施形態によれば、ロボットアーム装置10において、関節状態検出部132によって関節部130の状態が検出される。そして、制御装置20において、当該関節部130の状態と、運動目的及び拘束条件とに基づいて、アーム部120の駆動を制御するための一般化逆動力学を用いた全身協調制御に関する各種の演算が行われ、演算結果としてのトルク指令値τが算出される。更に、ロボットアーム装置10において、当該トルク指令値τに基づいてアーム部120の駆動が制御される。このように、本実施形態においては、一般化逆動力学を用いた全身協調制御により、アーム部120の駆動が制御される。従って、力制御によるアーム部120の駆動制御が実現され、よりユーザにとって操作性の高いロボットアーム装置が実現される。また、本実施形態では、全身協調制御において、例えばピボット動作やパワーアシスト動作といった、よりユーザの利便性を向上させる各種の運動目的を実現する制御が可能となる。更に、本実施形態においては、例えばアーム部120を手動で移動させたり、ペダルからの操作入力により移動させたりといった、多様な駆動手段が実現されるため、ユーザの利便性の更なる向上が実現される。
 また、本実施形態においては、アーム部120の駆動制御について、全身協調制御と併せて理想関節制御が適用される。理想関節制御においては、関節部130内部の摩擦や慣性等の外乱成分を推定し、推定した外乱成分を用いたフィードフォワード制御が行われる。従って、摩擦等の外乱成分がある場合であっても、関節部130の駆動について理想的な応答を実現することができる。よって、アーム部120の駆動制御において、振動等の影響がより少ない、高精度の応答性と高い位置決め精度や安定性が実現される。
 更に、本実施形態においては、アーム部120を構成する複数の関節部130のそれぞれが、例えば図3に示すような、理想関節制御に適合した構成を有し、各関節部130における回転角度、発生トルク及び粘性抵抗係数を電流値によって制御することができる。このように、各関節部130の駆動が電流値によって制御され、また、全身協調制御により各関節部130の駆動がアーム部120全体の状態を把握しながら制御されるため、カウンターバランスが不要となり、ロボットアーム装置10の小型化が実現される。
 このように、本実施形態によれば、上記<1.医療用ロボットアーム装置についての検討>で説明したロボットアーム装置に求められる性能を全て満たすことができる。従って、本実施形態に係るロボットアーム装置を用いた各種の施術において、より効率的に施術を行うことができ、ユーザや患者の疲労や負担をより軽減することが実現される。
 また、本実施形態では、力制御によってロボットアーム装置10のアーム部120が駆動されることにより、万が一駆動中にアーム部120が施術者やスタッフ等に干渉(接触)したとしても、アーム部120が必要以上の力を発生せず、アーム部120が安全に停止する。そして、当該干渉から解放されれば、設定された運動目的に従って所望の位置までアーム部120が移動し、施術が継続される。このように、本実施形態では、ロボットアーム装置10の駆動制御に力制御が用いられることにより、駆動中におけるアーム部120と周囲の物体との干渉に対して、より高い安全性が確保される。
 更に、本実施形態によれば、各関節部のトルクセンサ1800a,1800b,・・・,1800fがユーザの操作を検出することができるため、ロボットアーム装置10のアーム部120のどの部分を操作してもアーム部120を動かすことが可能となる。これにより、手で直接アーム部120を持たずに、腕等で押すような動作であってもアーム部120を動かすことが可能となる。
 また、表示装置30の拡大倍率(拡大率)に合わせた粘性を各関節部に発生させることで、拡大倍率が高い時は粘性を高くして微調整を容易に行うことができるようにし、拡大倍率が低い時は粘性を低くして動かし易くするなどの動作が可能となる。これにより、操作者の直感的な力量を実際のアーム部120の移動量を一致させることができ、表示装置30の拡大視野のみを見ながらの作業であってもアーム部120から操作者へ直感的な反力を返すことができ、操作性を大幅に向上させることが可能となる。
 なお、上述した実施形態では本開示を医療用のロボットアーム装置に適用した例を示したが、本開示は医療用以外の様々な用途のロボットアーム装置に適用することが可能である。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 例えば、上記実施形態では、ロボットアーム装置のアーム部の先端ユニットが撮像ユニットであり、図1に示すように手術時に当該撮像ユニットによって施術部位を撮影する場合について説明したが、本実施形態はかかる例に限定されない。本実施形態に係るロボットアーム制御システム1は、他の先端ユニットを有するロボットアーム装置が他の用途に用いられる場合であっても適用可能である。例えば、先端ユニットは内視鏡や腹腔鏡であってもよいし、超音波検査器や胃カメラ等、他の検査機器であってもよい。
 例えば、腹腔鏡を用いた施術では、ロボットアームで腹腔鏡を操作して患者の体内に腹腔鏡を挿入し、腹腔鏡を操作して施術部位の映像をモニタ上で観察しながら、患者の体内に挿入した鉗子や電気メスを使って処置を行う。このような施術方法においては、例えば施術部位観察用の腹腔鏡はロボットアームによって操作しながら、鉗子や電気メスを施術者が操作することができれば、1人のユーザによって施術を行うことができ、より効率的な施術が可能となる。しかしながら、一般的な既存のバランス型アームにおいては、操作性の観点から、1人のユーザが自身の手による鉗子や電気メスの操作とロボットアームによる腹腔鏡の操作とを同時に行うことは困難であった。よって、既存の方法では、複数名のスタッフが必要であり、1人の施術者が腹腔鏡を操作しながら処置を行うとともに、他の者が鉗子や電気メスを操作することが一般的であった。しかし、本実施形態に係るロボットアーム装置では、上述したように、全身協調制御による高い操作性が実現される。また、理想関節制御により、振動等の影響がより少ない、高精度の応答性と高い安定性が実現される。従って、例えば観察用の腹腔鏡を本実施形態に係るロボットアーム装置によって操作することにより、自身の手による処置用の鉗子や電気メスの操作とロボットアーム装置による観察用の腹腔鏡の操作とを、施術者1人で容易に行うことができる。
 また、本実施形態に係るロボットアーム装置は、医療以外の用途に用いられてもよい。本実施形態に係るロボットアーム装置では、理想関節制御により、高精度の応答性と高い安定性が実現されるため、例えば高い精度が求められる工業部品の加工や組み立て等の作業にも対応可能である。
 また、上記実施形態では、ロボットアーム装置の関節部が回転機構を有し、当該回転機構の回転駆動が制御されることによってアーム部の駆動が制御される場合について説明したが、本実施形態はかかる例に限定されない。例えば、本実施形態に係るロボットアーム装置においては、アーム部を構成するリンクがリンクの延伸方向に伸縮する機構を有し、リンクの長さが可変であってもよい。リンクの長さが可変である場合、例えば関節部における回転に加えてリンクの伸縮も考慮した全身協調制御によって、所望の運動目的を達成するようにアーム部の駆動が制御される。
 また、上記実施形態では、ロボットアーム装置におけるアーム部の自由度が6自由度以上である場合について説明したが、本実施形態はかかる例に限定されない。また、ロボットアーム装置におけるアーム部を構成する複数の関節部が全て理想関節制御に対応するアクチュエータを有する場合について説明したが、本実施形態はかかる例に限定されない。本実施形態においては、ロボットアーム装置の用途に応じて多様な運動目的が設定され得る。従って、設定された運動目的が達成可能であれば、アーム部は、6自由度よりも低い自由度を有してもよいし、アーム部を構成する複数の関節部のうちの一部が一般的な関節機構を有する関節部であってもよい。このように、本実施形態においては、アーム部の構成は、運動目的を達成可能であるように構成されればよく、ロボットアーム装置の用途に応じて適宜構成されてよい。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1) 多リンク構造体を構成する複数のリンクを連結する関節部と、
 前記多リンク構造体に取り付けられた撮像部により撮像された画像の拡大倍率を取得する取得部と、
 前記関節部の状態と前記拡大倍率に基づいて前記関節部の駆動を制御する駆動制御部と、
 を備える、ロボットアーム装置。
(2) 前記駆動制御部は、前記拡大倍率に応じて、前記関節部の駆動の粘性を制御する、前記(1)に記載のロボットアーム装置。
(3) 前記駆動制御部は、前記拡大倍率が大きい程、前記関節部の駆動の粘性を高くする、前記(2)に記載のロボットアーム装置。
(4) 前記駆動制御部は、前記拡大倍率と前記関節部の駆動の粘性との関係を規定した複数の特性から1の特性を選択し、選択した特性に基づいて前記関節部の駆動の粘性を制御する、前記(2)に記載のロボットアーム装置。
(5) 前記駆動制御部は、前記拡大倍率に応じて、前記関節部の駆動速度を制御する、前記(1)に記載のロボットアーム装置。
(6) 前記駆動制御部は、前記拡大倍率が大きい程、前記関節部の駆動速度を低くする、前記(5)に記載のロボットアーム装置。
(7) 前記駆動制御部は、前記拡大倍率に応じて、前記関節部の駆動量を制御する、前記(1)に記載のロボットアーム装置。
(8) 前記駆動制御部は、前記拡大倍率が大きい程、操作に対する前記関節部の駆動量を小さくする、前記(7)に記載のロボットアーム装置。
(9) 前記駆動制御部は、前記関節部の状態と前記撮像部によるズーム倍率に基づいて前記関節部の駆動を制御する、前記(1)~(8)のいずれかに記載のロボットアーム装置。
(10) 前記拡大倍率は、前記撮像部によるズーム倍率と被写体の距離情報とから算出される、前記(1)に記載のロボットアーム装置。
(11) 操作者による操作入力を検出する検出部を備え、
 前記駆動制御部は、前記操作入力が検出された場合に前記関節部の駆動を制御する、前記(1)~(10)のいずれかに記載のロボットアーム装置。
(12) 前記検出部は、前記多リンク構造体に作用する外力を前記操作入力として検出する、前記(11)に記載のロボットアーム装置。
(13) 複数の前記関節部は、前記関節部の状態を検出する関節状態検出部を有し、
 前記関節状態検出部は、
 前記関節部での発生トルク及び前記関節部に外部から加えられる外トルクを検出するトルク検出部と、
 前記関節部の回転角度を検出する回転角度検出部と、
 を少なくとも有する、
 前記(1)に記載のロボットアーム装置。
(14) 制御値及び指令値は、前記関節部での発生トルクである、
 前記(13)に記載のロボットアーム装置。
(15) 前記駆動制御部は、検出された複数の前記関節部の状態に基づいて取得される前記多リンク構造体の状態と、前記多リンク構造体の運動目的及び拘束条件と、を用いて一般化逆動力学によって算出される前記多リンク構造体の全身協調制御のための制御値、に基づいて前記関節部の駆動を制御する、
 前記(1)に記載のロボットアーム装置。
(16) 前記制御値は、前記多リンク構造体に作用する力と前記多リンク構造体に発生する加速度との関係を記述する操作空間において前記運動目的を達成するために作用される仮想的な力である仮想力と、前記拘束条件に基づいて前記仮想力が前記関節部を駆動するための実在の力に変換されることにより求められる実在力と、に基づいて算出される、
 前記(15)に記載のロボットアーム装置。
(17) 前記駆動制御部は、前記制御値に対して外乱の影響を補正することにより算出される指令値、に基づいて前記関節部の駆動を制御する、
 前記(15)に記載のロボットアーム装置。
(18) 前記指令値は、検出された前記関節部の状態に基づいて推定される前記関節部の駆動に対する外乱の影響を表す外乱推定値を用いて、前記制御値を補正することにより算出される、
 前記(17)に記載のロボットアーム装置。
(19) 前記運動目的は、少なくとも、前記多リンク構造体に作用する重力を打ち消すよう前記関節部の状態を制御するとともに、外部から更に与えられた力の方向への前記多リンク構造体の移動をサポートするように前記関節部の状態を制御する動作である、
 前記(15)に記載のロボットアーム装置。
(20) 医療用の装置である、前記(1)~(16)のいずれかに記載のロボットアーム装置。
(21) 多リンク構造体を構成する複数のリンクを連結する関節部、の状態を検出する手段、
 前記多リンク構造体に取り付けられた撮像部により撮像された被写体の画面上の拡大倍率を取得する手段、
 前記関節部の状態と前記拡大倍率に基づいて前記関節部の駆動を制御する手段、
 としてコンピュータを機能させるためのプログラム。
(22) 多リンク構造体を構成する複数のリンクを連結する関節部と、
 前記関節部の状態に基づいて前記関節部の駆動の粘性を制御する駆動制御部と、
 を備える、ロボットアーム装置。
(23) 前記多リンク構造体に取り付けられた撮像部により撮像された被写体の画面上の拡大倍率を取得する取得部をさらに備え、
 前記駆動制御部は、前記拡大倍率に応じて、前記関節部の駆動の粘性を制御する、前記(22)に記載のロボットアーム装置。
(24) 前記駆動制御部は、前記拡大倍率が大きい程、前記関節部の駆動の粘性を高くする、前記(23)に記載のロボットアーム装置。
(25) 前記駆動制御部は、前記拡大倍率と前記関節部の駆動の粘性との関係を規定した複数の特性から1の特性を選択し、選択した特性に基づいて前記関節部の駆動の粘性を制御する、前記(23)に記載のロボットアーム装置。
(26) 医療用の装置である、前記(22)~(25)のいずれかに記載のロボットアーム装置。
(27) 前記関節部の状態は、前記多リンク構造体の姿勢である、前記(22)に記載のロボットアーム装置。
(28) 前記関節部の状態は、前記関節部の駆動速度である、前記(22)に記載のロボットアーム装置。
(29) 前記関節部の状態は、前記関節部の駆動方向である、前記(22)に記載のロボットアーム装置。
(30) 多リンク構造体を構成する複数のリンクを連結する関節部、の状態を検出することと、
 前記多リンク構造体に取り付けられた撮像部により撮像された被写体の画面上の拡大倍率を取得することと、
 前記関節部の状態と前記拡大倍率に基づいて前記関節部の駆動を制御することと、
 を備える、ロボットアーム装置の制御方法。
 1  ロボットアーム制御システム
 10  ロボットアーム装置
 20  制御装置
 30  表示装置
 110  アーム制御部
 111  駆動制御部
 120  アーム部
 130  関節部
 131  関節駆動部
 132  回転角度検出部
 133  トルク検出部
 140  撮像部
 210  入力部
 220  記憶部
 230  制御部
 240  全身協調制御部
 241  アーム状態取得部
 242  演算条件設定部
 243  仮想力算出部
 244  実在力算出部
 250  理想関節制御部
 251  外乱推定部
 252  指令値算出部

Claims (29)

  1.  多リンク構造体を構成する複数のリンクを連結する関節部と、
     前記多リンク構造体に取り付けられた撮像部により撮像された被写体の画面上の拡大倍率を取得する取得部と、
     前記関節部の状態と前記拡大倍率に基づいて前記関節部の駆動を制御する駆動制御部と、
     を備える、ロボットアーム装置。
  2.  前記駆動制御部は、前記拡大倍率に応じて、前記関節部の駆動の粘性を制御する、請求項1に記載のロボットアーム装置。
  3.  前記駆動制御部は、前記拡大倍率が大きい程、前記関節部の駆動の粘性を高くする、請求項2に記載のロボットアーム装置。
  4.  前記駆動制御部は、前記拡大倍率と前記関節部の駆動の粘性との関係を規定した複数の特性から1の特性を選択し、選択した特性に基づいて前記関節部の駆動の粘性を制御する、請求項2に記載のロボットアーム装置。
  5.  前記駆動制御部は、前記拡大倍率に応じて、前記関節部の駆動速度を制御する、請求項1に記載のロボットアーム装置。
  6.  前記駆動制御部は、前記拡大倍率が大きい程、前記関節部の駆動速度を低くする、請求項5に記載のロボットアーム装置。
  7.  前記駆動制御部は、前記拡大倍率に応じて、前記関節部の駆動量を制御する、請求項1に記載のロボットアーム装置。
  8.  前記駆動制御部は、前記拡大倍率が大きい程、操作に対する前記関節部の駆動量を小さくする、請求項7に記載のロボットアーム装置。
  9.  前記駆動制御部は、前記関節部の状態と前記撮像部によるズーム倍率に基づいて前記関節部の駆動を制御する、請求項1に記載のロボットアーム装置。
  10.  前記拡大倍率は、前記撮像部によるズーム倍率と被写体の距離情報とから算出される、請求項1に記載のロボットアーム装置。
  11.  操作者による操作入力を検出する検出部を備え、
     前記駆動制御部は、前記操作入力が検出された場合に前記関節部の駆動を制御する、請求項1に記載のロボットアーム装置。
  12.  前記検出部は、前記多リンク構造体に作用する外力を前記操作入力として検出する、請求項11に記載のロボットアーム装置。
  13.  複数の前記関節部は、前記関節部の状態を検出する関節状態検出部を有し、
     前記関節状態検出部は、
     前記関節部での発生トルク及び前記関節部に外部から加えられる外トルクを検出するトルク検出部と、
     前記関節部の回転角度を検出する回転角度検出部と、
     を少なくとも有する、
     請求項1に記載のロボットアーム装置。
  14.  制御値及び指令値は、前記関節部での発生トルクである、
     請求項13に記載のロボットアーム装置。
  15.  前記駆動制御部は、検出された複数の前記関節部の状態に基づいて取得される前記多リンク構造体の状態と、前記多リンク構造体の運動目的及び拘束条件と、を用いて一般化逆動力学によって算出される前記多リンク構造体の全身協調制御のための制御値、に基づいて前記関節部の駆動を制御する、
     請求項1に記載のロボットアーム装置。
  16.  前記制御値は、前記多リンク構造体に作用する力と前記多リンク構造体に発生する加速度との関係を記述する操作空間において前記運動目的を達成するために作用される仮想的な力である仮想力と、前記拘束条件に基づいて前記仮想力が前記関節部を駆動するための実在の力に変換されることにより求められる実在力と、に基づいて算出される、
     請求項15に記載のロボットアーム装置。
  17.  前記駆動制御部は、前記制御値に対して外乱の影響を補正することにより算出される指令値、に基づいて前記関節部の駆動を制御する、
     請求項15に記載のロボットアーム装置。
  18.  前記指令値は、検出された前記関節部の状態に基づいて推定される前記関節部の駆動に対する外乱の影響を表す外乱推定値を用いて、前記制御値を補正することにより算出される、
     請求項17に記載のロボットアーム装置。
  19.  前記運動目的は、少なくとも、前記多リンク構造体に作用する重力を打ち消すよう前記関節部の状態を制御するとともに、外部から更に与えられた力の方向への前記多リンク構造体の移動をサポートするように前記関節部の状態を制御する動作である、
     請求項15に記載のロボットアーム装置。
  20.  医療用の装置である、請求項1に記載のロボットアーム装置。
  21.  多リンク構造体を構成する複数のリンクを連結する関節部の状態を検出する手段、
     前記多リンク構造体に取り付けられた撮像部により撮像された被写体の画面上の拡大倍率を取得する手段、
     前記関節部の状態と前記拡大倍率に基づいて前記関節部の駆動を制御する手段、
     としてコンピュータを機能させるためのプログラム。
  22.  多リンク構造体を構成する複数のリンクを連結する関節部と、
     前記関節部の状態に基づいて前記関節部の駆動の粘性を制御する駆動制御部と、
     を備える、ロボットアーム装置。
  23.  前記多リンク構造体に取り付けられた撮像部により撮像された被写体の画面上の拡大倍率を取得する取得部をさらに備え、
     前記駆動制御部は、前記拡大倍率に応じて、前記関節部の駆動の粘性を制御する、請求項22に記載のロボットアーム装置。
  24.  前記駆動制御部は、前記拡大倍率が大きい程、前記関節部の駆動の粘性を高くする、請求項23に記載のロボットアーム装置。
  25.  前記駆動制御部は、前記拡大倍率と前記関節部の駆動の粘性との関係を規定した複数の特性から1の特性を選択し、選択した特性に基づいて前記関節部の駆動の粘性を制御する、請求項23に記載のロボットアーム装置。
  26.  医療用の装置である、請求項22に記載のロボットアーム装置。
  27.  前記関節部の状態は、前記多リンク構造体の姿勢である、請求項22に記載のロボットアーム装置。
  28.  前記関節部の状態は、前記関節部の駆動速度である、請求項22に記載のロボットアーム装置。
  29.  前記関節部の状態は、前記関節部の駆動方向である、請求項22に記載のロボットアーム装置。
PCT/JP2015/058568 2014-03-28 2015-03-20 ロボットアーム装置、ロボットアーム装置の制御方法及びプログラム WO2015146850A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2016510305A JP6586079B2 (ja) 2014-03-28 2015-03-20 アーム装置、及びプログラム
US15/126,552 US10369700B2 (en) 2014-03-28 2015-03-20 Robot arm apparatus, robot arm apparatus control method, and program
CN201580015467.6A CN106132346B (zh) 2014-03-28 2015-03-20 机器人手臂设备、机器人手臂设备的控制方法和程序
EP15770077.4A EP3135445B1 (en) 2014-03-28 2015-03-20 Robot arm device
US15/929,134 US10668625B2 (en) 2014-03-28 2019-05-31 Robot arm apparatus, robot arm apparatus control method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014-069790 2014-03-28
JP2014069790 2014-03-28

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/126,552 A-371-Of-International US10369700B2 (en) 2014-03-28 2015-03-20 Robot arm apparatus, robot arm apparatus control method, and program
US15/929,134 Continuation US10668625B2 (en) 2014-03-28 2019-05-31 Robot arm apparatus, robot arm apparatus control method, and program

Publications (1)

Publication Number Publication Date
WO2015146850A1 true WO2015146850A1 (ja) 2015-10-01

Family

ID=54195367

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/058568 WO2015146850A1 (ja) 2014-03-28 2015-03-20 ロボットアーム装置、ロボットアーム装置の制御方法及びプログラム

Country Status (5)

Country Link
US (2) US10369700B2 (ja)
EP (1) EP3135445B1 (ja)
JP (1) JP6586079B2 (ja)
CN (1) CN106132346B (ja)
WO (1) WO2015146850A1 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017169649A1 (ja) * 2016-03-28 2017-10-05 ソニー・オリンパスメディカルソリューションズ株式会社 医療用観察装置、駆動制御方法、医療用観察システム及び支持アーム装置
JP2018047183A (ja) * 2016-09-23 2018-03-29 ソニー・オリンパスメディカルソリューションズ株式会社 医療用観察装置、医療用観察システム、及び制御方法
WO2018088113A1 (ja) * 2016-11-10 2018-05-17 ソニー株式会社 関節駆動用アクチュエータ及び医療用システム
WO2018159328A1 (ja) * 2017-02-28 2018-09-07 ソニー株式会社 医療用アームシステム、制御装置及び制御方法
WO2019188022A1 (ja) * 2018-03-28 2019-10-03 ソニー株式会社 制御装置、制御方法、及びマスタスレーブシステム
CN113023517A (zh) * 2019-12-09 2021-06-25 株式会社东芝 作业支援装置
WO2023014002A1 (ko) * 2021-08-02 2023-02-09 주식회사 로엔서지컬 원격 수술용 엔드 이펙터의 이동 거리 조절 장치 및 그 방법
JP7402782B2 (ja) 2020-10-29 2023-12-21 関西電力送配電株式会社 点検装置

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015142786A1 (en) * 2014-03-17 2015-09-24 Intuitive Surgical Operations, Inc. Constant force spring with active bias
CN106132346B (zh) 2014-03-28 2019-11-26 索尼公司 机器人手臂设备、机器人手臂设备的控制方法和程序
WO2017022310A1 (ja) * 2015-08-04 2017-02-09 ソニー株式会社 制御装置、制御方法及び医療用支持アーム装置
JP6704255B2 (ja) * 2016-01-19 2020-06-03 ソニー・オリンパスメディカルソリューションズ株式会社 医療用観察装置、医療用観察システム及び画揺れ補正方法
US20170259433A1 (en) * 2016-03-11 2017-09-14 Seiko Epson Corporation Robot control device, information processing device, and robot system
JP6915395B2 (ja) * 2017-06-16 2021-08-04 セイコーエプソン株式会社 制御装置、ロボットシステム、テーブル作成方法およびロボット制御方法
JP6633587B2 (ja) * 2017-10-05 2020-01-22 ファナック株式会社 ロボットの構成部材の速度を制限する制御装置
EP3705018A4 (en) * 2017-11-01 2020-10-14 Sony Corporation SURGICAL ARM SYSTEM AND SURGICAL ARM CONTROL SYSTEM
US11161243B2 (en) * 2017-11-10 2021-11-02 Intuitive Surgical Operations, Inc. Systems and methods for controlling a robotic manipulator or associated tool
WO2019148428A1 (en) * 2018-02-01 2019-08-08 Abb Schweiz Ag Vision-based operation for robot
WO2019202982A1 (ja) * 2018-04-19 2019-10-24 富士フイルム株式会社 内視鏡装置、内視鏡操作方法、及びプログラム
JP7124440B2 (ja) * 2018-05-23 2022-08-24 セイコーエプソン株式会社 ロボット制御装置およびロボットシステム
US11094221B2 (en) 2018-06-21 2021-08-17 University Of Utah Research Foundation Visual guidance system and method for posing a physical object in three dimensional space
EP3815740A4 (en) * 2018-06-29 2022-03-23 Sekisui Chemical Co., Ltd. PLASMA RADIATION DEVICE
JP6841802B2 (ja) * 2018-08-31 2021-03-10 ファナック株式会社 ロボットおよびロボットシステム
JP7208752B2 (ja) * 2018-09-26 2023-01-19 ソニー・オリンパスメディカルソリューションズ株式会社 医療用観察システム、医療用観察装置、および制御方法
US10399778B1 (en) * 2018-10-25 2019-09-03 Grey Orange Pte. Ltd. Identification and planning system and method for fulfillment of orders
CN109571475B (zh) * 2018-12-06 2021-06-15 中国科学院长春光学精密机械与物理研究所 一种力触觉控制系统及机器人
WO2020138017A1 (ja) * 2018-12-28 2020-07-02 川崎重工業株式会社 ロボット制御装置、ロボットシステム及びロボット制御方法
US20200231082A1 (en) * 2019-01-21 2020-07-23 Kevin Arnold Morran Remote controlled lighting apparatus
EP3753519A1 (de) * 2019-06-19 2020-12-23 Karl Storz SE & Co. KG Medizinische handhabungsvorrichtung zur steuerung einer handhabungsvorrichtung
EP3753520A1 (de) * 2019-06-19 2020-12-23 Karl Storz SE & Co. KG Medizinische handhabungsvorrichtung zur steuerung einer handhabungsvorrichtung
CN112057170B (zh) * 2019-09-10 2022-02-15 深圳市精锋医疗科技股份有限公司 手术机器人及其控制方法、控制装置
KR102356660B1 (ko) * 2019-11-01 2022-02-07 주식회사 뉴로메카 다자유도 협동 로봇의 마찰 보상 방법
CN113119100B (zh) * 2019-12-30 2022-05-13 深圳市优必选科技股份有限公司 冗余机械臂控制方法、装置、可读存储介质及设备
CA3117643A1 (en) * 2020-05-12 2021-11-12 Soremartec S.A. Operating device
DE102020211132A1 (de) 2020-09-03 2021-09-02 Carl Zeiss Meditec Ag Verfahren zum Betreiben eines Mikroskopiesystems sowie Mikroskopiesystem
CN114869480A (zh) * 2020-12-15 2022-08-09 深圳市精锋医疗科技股份有限公司 手术机器人及其控制装置、控制方法
CN116940285A (zh) * 2020-12-22 2023-10-24 维卡瑞斯外科手术股份有限公司 用于在外科机器人臂的致动器机构中实现多圈旋转构思的系统和方法
CA3177795A1 (en) * 2021-05-14 2022-11-14 Vicarious Surgical Inc. Force estimation and visual feedback in surgical robotics
US20220024035A1 (en) * 2021-05-26 2022-01-27 Ccdata Technology Co., Ltd. Method, device and storage medium for controlling live broadcast
CN114310895B (zh) * 2021-12-31 2022-12-06 达闼科技(北京)有限公司 机器人碰撞检测方法、装置、电子设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08187246A (ja) * 1995-01-10 1996-07-23 Olympus Optical Co Ltd 体腔内手術用マニピュレータ装置
JP2000312684A (ja) * 1999-04-30 2000-11-14 Olympus Optical Co Ltd 医療用マニピュレータ装置
JP2001275931A (ja) * 2000-04-03 2001-10-09 Olympus Optical Co Ltd 医療システム
JP2003517883A (ja) * 1999-12-23 2003-06-03 ヒル−ロム サービシズ,インコーポレイテッド 手術シアターシステム
JP2006167820A (ja) * 2004-12-13 2006-06-29 Toyota Motor Corp ロボットアームの制御方法
JP2009078308A (ja) * 2007-09-25 2009-04-16 Yaskawa Electric Corp ロボットの直接教示装置
JP2009095959A (ja) * 2007-10-19 2009-05-07 Sony Corp 制御システム及び制御方法、並びにロボット装置、並びにロボット装置
JP2010188471A (ja) * 2009-02-18 2010-09-02 Sony Corp ロボット装置及びその制御方法、並びにコンピューター・プログラム
JP2010228064A (ja) * 2009-03-27 2010-10-14 National Institute Of Advanced Industrial Science & Technology 福祉用ロボット装置のロボットアーム操作方法、ロボットアーム操作プログラム、及び、記録媒体
JP2013529559A (ja) * 2010-07-02 2013-07-22 コミサリヤ ア レネルジ アトミク エ ウ エネルジ アルタナティブ 様々な力増加率を有する操作を支援するためのロボット装置
JP2014046417A (ja) * 2012-08-31 2014-03-17 Honda Motor Co Ltd 駆動装置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63229279A (ja) * 1987-03-13 1988-09-26 株式会社日立製作所 マスタ・スレ−ブ・バイラテラルサ−ボ・マニピユレ−タのマスタア−ム制御装置
DE4334069A1 (de) 1993-06-21 1995-04-13 Zeiss Carl Fa Ausbalancierbares Stativ
US5436542A (en) 1994-01-28 1995-07-25 Surgix, Inc. Telescopic camera mount with remotely controlled positioning
US5970340A (en) * 1997-06-24 1999-10-19 Micron Technology, Inc. Method for making semiconductor device incorporating an electrical contact to an internal conductive layer
JP4086765B2 (ja) * 2003-11-28 2008-05-14 ソニー株式会社 ロボット装置
US7072740B2 (en) * 2002-12-16 2006-07-04 Sony Corporation Legged mobile robot
US8160743B2 (en) * 2005-08-16 2012-04-17 Brainlab Ag Anthropomorphic medical robot arm with movement restrictions
JP2009028851A (ja) * 2007-07-27 2009-02-12 Nachi Fujikoshi Corp ロボット制御装置
US8808164B2 (en) * 2008-03-28 2014-08-19 Intuitive Surgical Operations, Inc. Controlling a robotic surgical tool with a display monitor
US8155479B2 (en) * 2008-03-28 2012-04-10 Intuitive Surgical Operations Inc. Automated panning and digital zooming for robotic surgical systems
US9740293B2 (en) * 2009-04-02 2017-08-22 Oblong Industries, Inc. Operating environment with gestural control and multiple client devices, displays, and users
US10642364B2 (en) * 2009-04-02 2020-05-05 Oblong Industries, Inc. Processing tracking and recognition data in gestural recognition systems
ES2608820T3 (es) * 2008-08-15 2017-04-17 Stryker European Holdings I, Llc Sistema y método de visualización del interior de un cuerpo
WO2011036865A1 (ja) * 2009-09-28 2011-03-31 パナソニック株式会社 ロボットアームの制御装置及び制御方法、ロボット、ロボットアームの制御プログラム、及び、ロボットアーム制御用集積電子回路
JP2011209099A (ja) 2010-03-30 2011-10-20 Sony Corp トルクセンサおよびロボット装置
JP2012081568A (ja) 2010-10-14 2012-04-26 Sony Corp ロボットの制御装置及び制御方法、並びにコンピューター・プログラム
JP6305673B2 (ja) * 2011-11-07 2018-04-04 セイコーエプソン株式会社 ロボット制御システム、ロボットシステム及びロボット
US20130218005A1 (en) * 2012-02-08 2013-08-22 University Of Maryland, Baltimore Minimally invasive neurosurgical intracranial robot system and method
JP5766150B2 (ja) * 2012-05-29 2015-08-19 国立大学法人東京工業大学 内視鏡操作システム
US9053042B2 (en) * 2012-06-27 2015-06-09 Intel Corporation Method, system, and device for modifying a secure enclave configuration without changing the enclave measurement
KR102206198B1 (ko) * 2013-07-10 2021-01-22 삼성전자주식회사 수술 로봇 시스템 및 그 제어 방법
KR20150017129A (ko) * 2013-08-06 2015-02-16 삼성전자주식회사 수술 로봇 시스템 및 그 제어 방법
CN106132346B (zh) * 2014-03-28 2019-11-26 索尼公司 机器人手臂设备、机器人手臂设备的控制方法和程序

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08187246A (ja) * 1995-01-10 1996-07-23 Olympus Optical Co Ltd 体腔内手術用マニピュレータ装置
JP2000312684A (ja) * 1999-04-30 2000-11-14 Olympus Optical Co Ltd 医療用マニピュレータ装置
JP2003517883A (ja) * 1999-12-23 2003-06-03 ヒル−ロム サービシズ,インコーポレイテッド 手術シアターシステム
JP2001275931A (ja) * 2000-04-03 2001-10-09 Olympus Optical Co Ltd 医療システム
JP2006167820A (ja) * 2004-12-13 2006-06-29 Toyota Motor Corp ロボットアームの制御方法
JP2009078308A (ja) * 2007-09-25 2009-04-16 Yaskawa Electric Corp ロボットの直接教示装置
JP2009095959A (ja) * 2007-10-19 2009-05-07 Sony Corp 制御システム及び制御方法、並びにロボット装置、並びにロボット装置
JP2010188471A (ja) * 2009-02-18 2010-09-02 Sony Corp ロボット装置及びその制御方法、並びにコンピューター・プログラム
JP2010228064A (ja) * 2009-03-27 2010-10-14 National Institute Of Advanced Industrial Science & Technology 福祉用ロボット装置のロボットアーム操作方法、ロボットアーム操作プログラム、及び、記録媒体
JP2013529559A (ja) * 2010-07-02 2013-07-22 コミサリヤ ア レネルジ アトミク エ ウ エネルジ アルタナティブ 様々な力増加率を有する操作を支援するためのロボット装置
JP2014046417A (ja) * 2012-08-31 2014-03-17 Honda Motor Co Ltd 駆動装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3135445A4 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017169649A1 (ja) * 2016-03-28 2017-10-05 ソニー・オリンパスメディカルソリューションズ株式会社 医療用観察装置、駆動制御方法、医療用観察システム及び支持アーム装置
JPWO2017169649A1 (ja) * 2016-03-28 2019-02-14 ソニー・オリンパスメディカルソリューションズ株式会社 医療用観察装置、駆動制御方法、医療用観察システム及び支持アーム装置
US11160633B2 (en) 2016-03-28 2021-11-02 Sony Olympus Medical Solutions Inc. Medical observation apparatus, driving control method, medical observation system, and support arm apparatus
JP2018047183A (ja) * 2016-09-23 2018-03-29 ソニー・オリンパスメディカルソリューションズ株式会社 医療用観察装置、医療用観察システム、及び制御方法
US11109927B2 (en) 2016-11-10 2021-09-07 Sony Corporation Joint driving actuator and medical system
WO2018088113A1 (ja) * 2016-11-10 2018-05-17 ソニー株式会社 関節駆動用アクチュエータ及び医療用システム
CN109922933A (zh) * 2016-11-10 2019-06-21 索尼公司 关节驱动致动器和医疗系统
WO2018159328A1 (ja) * 2017-02-28 2018-09-07 ソニー株式会社 医療用アームシステム、制御装置及び制御方法
US11696814B2 (en) 2017-02-28 2023-07-11 Sony Corporation Medical arm system, control device, and control method
WO2019188022A1 (ja) * 2018-03-28 2019-10-03 ソニー株式会社 制御装置、制御方法、及びマスタスレーブシステム
CN113023517A (zh) * 2019-12-09 2021-06-25 株式会社东芝 作业支援装置
JP7402782B2 (ja) 2020-10-29 2023-12-21 関西電力送配電株式会社 点検装置
WO2023014002A1 (ko) * 2021-08-02 2023-02-09 주식회사 로엔서지컬 원격 수술용 엔드 이펙터의 이동 거리 조절 장치 및 그 방법
KR20230019747A (ko) * 2021-08-02 2023-02-09 주식회사 로엔서지컬 원격 수술용 엔드 이펙터의 이동 거리 조절 장치 및 그 방법
KR102549114B1 (ko) 2021-08-02 2023-06-29 주식회사 로엔서지컬 원격 수술용 엔드 이펙터의 이동 거리 조절 장치 및 그 방법

Also Published As

Publication number Publication date
JPWO2015146850A1 (ja) 2017-04-13
CN106132346B (zh) 2019-11-26
US10668625B2 (en) 2020-06-02
EP3135445B1 (en) 2021-04-28
US20170080574A1 (en) 2017-03-23
US20190275679A1 (en) 2019-09-12
EP3135445A4 (en) 2017-11-29
US10369700B2 (en) 2019-08-06
JP6586079B2 (ja) 2019-10-02
CN106132346A (zh) 2016-11-16
EP3135445A1 (en) 2017-03-01

Similar Documents

Publication Publication Date Title
JP6586079B2 (ja) アーム装置、及びプログラム
JP6272885B2 (ja) 医療用ロボットアーム装置、医療用ロボットアーム制御システム、医療用ロボットアーム制御方法及びプログラム
US11633245B2 (en) Robot arm apparatus and robot arm control method
JP6555248B2 (ja) 医療用アーム装置、キャリブレーション方法及びプログラム
WO2017169096A1 (ja) 医療用支持アームの制御装置、医療用支持アーム装置の制御方法及び医療用システム
WO2017169082A1 (ja) 制御装置及び制御方法
US11950970B2 (en) Medical support arm system, medical support arm control method, and medical support arm control device
WO2015137140A1 (ja) ロボットアームの制御装置、ロボットアームの制御方法及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15770077

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016510305

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2015770077

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15126552

Country of ref document: US

Ref document number: 2015770077

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE