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

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

Info

Publication number
WO2015137038A1
WO2015137038A1 PCT/JP2015/054018 JP2015054018W WO2015137038A1 WO 2015137038 A1 WO2015137038 A1 WO 2015137038A1 JP 2015054018 W JP2015054018 W JP 2015054018W WO 2015137038 A1 WO2015137038 A1 WO 2015137038A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
joint
arm
control
abnormality
Prior art date
Application number
PCT/JP2015/054018
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 EP15762101.2A priority Critical patent/EP3120979A4/en
Priority to US15/120,616 priority patent/US10299868B2/en
Priority to CN201580012311.2A priority patent/CN106068175B/zh
Priority to JP2016507404A priority patent/JP6512216B2/ja
Publication of WO2015137038A1 publication Critical patent/WO2015137038A1/ja
Priority to US16/288,973 priority patent/US10675106B2/en

Links

Images

Classifications

    • 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
    • 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
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/06Programme-controlled manipulators characterised by multi-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/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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
    • 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
    • A61B2034/301Surgical robots for introducing or steering flexible instruments inserted into the body, e.g. catheters or endoscopes
    • 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/03Automatic limiting or abutting means, e.g. for safety
    • A61B2090/031Automatic limiting or abutting means, e.g. for safety torque limiting
    • 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/03Automatic limiting or abutting means, e.g. for safety
    • A61B2090/033Abutting means, stops, e.g. abutting on tissue or skin
    • A61B2090/034Abutting means, stops, e.g. abutting on tissue or skin abutting on parts of the device itself
    • A61B2090/035Abutting means, stops, e.g. abutting on tissue or skin abutting on parts of the device itself preventing further rotation
    • 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/5025Supports for surgical instruments, e.g. articulated arms with a counter-balancing mechanism
    • 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
    • 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
    • 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/40344Configuration index, control, limits of joint movement
    • 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/41114Compensation for gravity, counter balance gravity
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S901/00Robots
    • Y10S901/02Arm motion controller
    • Y10S901/09Closed loop, sensor feedback controls arm movement

Definitions

  • the present disclosure relates to a robot arm apparatus, a robot arm control method, and a program.
  • a trocar for insertion guide is inserted into a patient's body, and a manipulator having a treatment tool attached to the tip is inserted into the body cavity of the patient through the lumen of the trocar to perform various treatments.
  • a pressure sensor is provided on an outer peripheral wall of a trocar, and a technology is disclosed which switches between a free state in which the manipulator can freely operate and a locked state in which the manipulator is fixed according to the detection value of the pressure sensor.
  • the present disclosure proposes a novel and improved robot arm device, operation determination method, and program that can further improve safety.
  • the drive includes: an arm unit configured by connecting a plurality of links by a joint unit; and a drive control unit that drives the arm unit by controlling the drive of the joint unit;
  • the control unit controls driving of the joint unit in a state where a predetermined restriction is provided to the movement of the arm unit, and the abnormality is determined.
  • a robotic arm device is provided that drives the arm portion to avoid.
  • an arm configured by connecting a plurality of links to each other by a joint, detection of an abnormality in at least one of the joints, and a predetermined restriction on movement of the arm And controlling the driving of the joint portion in a state where the arm portion is provided to drive the arm portion so as to avoid the abnormality.
  • a function of detecting an abnormality of at least one of the joints in an arm configured by connecting a plurality of links to each other by the joints A program is provided which controls driving of the joint in a state where a predetermined restriction is provided to exercise, and realizes a function of driving the arm so as to avoid the abnormality.
  • the arm unit when an abnormality is detected in any of the joint units constituting the arm unit, a restriction is provided to avoid the abnormality, and then the drive of the joint unit is controlled, and the arm unit is controlled. Is driven. Therefore, even if an abnormality occurs in the joint, the arm is driven to avoid the abnormality, for example, the operator and the patient may be harmed by unintended movement of the arm. Situations are avoided.
  • FIG. 18 is an explanatory diagram for describing an exercise purpose and a constraint condition for realizing the pivoting motion shown in FIG.
  • a control method of the robot arm apparatus described in detail of each process a control method called whole body coordinated control may be applied.
  • a control amount of each joint portion is calculated such that the arm portion achieves a predetermined exercise purpose, and the joint portions are cooperatively driven based on the control amount.
  • the drive of the arm unit is controlled.
  • a predetermined constraint condition that restricts the movement (for example, position, speed, force) of the arm may be provided. ⁇ 6.
  • a robot arm apparatus mainly used for medical applications will be described as an example of a preferred embodiment of the present disclosure.
  • the present embodiment is not limited to such an example, and is applicable to other fields such as industrial use.
  • various medical instruments such as an imaging device and a treatment tool are attached to the tip of the arm portion, and the operation device of the patient is observed by the imaging device, or the treatment is performed.
  • the usage method which performs various treatment with respect to the operation part by the tool is assumed. In this case, it is necessary to ensure the safety of both the patient and the operator who performs various operations by operating the robot arm apparatus.
  • the safety for the operator is that the operator himself is not injured, such as an injury or a burn, by the drive of the robot arm device.
  • the operation is interrupted due to the function of the robot arm device being interrupted and the treatment time is increased. It may also include not increasing the burden on
  • the function stop means that the control at the normal time is not performed on the arm unit of the robot arm device, and the arm unit is driving different from the normal time.
  • the arm unit performs an unintended movement of the operator due to, for example, an operator's erroneous operation, or any failure of hardware or software.
  • the operator manipulates the arm to move the medical instrument closer to the patient, the medical instrument approaches the patient with excessive speed and force for some reason, and the medical instrument may injure the patient.
  • the arm portion makes an unintended movement of the operator, the operator himself may be in danger, for example, to collide with the arm portion.
  • a situation where a part of the arm does not operate normally due to a failure may be considered.
  • a situation where a part of the arm does not operate normally due to a failure may be considered.
  • the position and posture of the arm are fixed so as not to move from that state. And the entire arm portion is put into a state of rest, so to speak.
  • the treatment has to be interrupted, which may lead to an increase in treatment time. Therefore, for example, when a failure occurs in the arm, the joint in which the failure occurs is identified, and the movement of the broken joint is fixed, and the drive of the arm is maintained by the other joints. It is required to control the drive of the arm unit to perform such an operation (a partial function stop operation).
  • the selection of the above-mentioned abnormality avoidance operation, partial function stop operation and function stop operation is performed such that the function of the robot arm apparatus is maintained as much as possible, giving priority to continued treatment as it is. Is desirable. For example, when an abnormality is detected in the arm unit, as a measure that can be taken for the abnormality, if both the function stop operation and the partial function stop operation can be selected, the partial function stop operation is selected. Is preferred. Similarly, if both the partial function stop operation and the abnormality avoidance operation can be selected for the detected abnormality, it is preferable to select the abnormality avoidance operation. As a result, the drive of the robot arm device is controlled so that the treatment is continued as much as possible.
  • the robot arm device is required to have the following performance from the viewpoint of safety. That is, that an abnormality avoidance operation can be performed, a partial function stop operation can be performed, a function stop operation can be safely performed, and an abnormality for determining transition to these operations It is possible to execute the detection process properly.
  • FIG. 1 is a functional block diagram showing a schematic configuration of a robot arm control system according to an embodiment of the present disclosure.
  • a robot arm control system 2 includes a robot arm device 10 and a control device 20.
  • various calculations are performed by the control device 20 to drive the robot arm device 10 by the whole body cooperative control, and the drive of the arm unit 120 of the robot arm device 10 is controlled based on the calculation result.
  • a tip unit 145 described later is provided in the arm unit 120 of the robot arm apparatus 10, and various treatments are performed on the patient by the tip unit 145 by controlling the driving of the arm unit 120. .
  • the configurations of the robot arm device 10 and the control device 20 will be described in detail.
  • the robot arm device 10 has an arm portion which is a multi-link structure configured by connecting a plurality of links by a plurality of joints.
  • the robot arm device 10 controls the position and attitude of the tip unit 145 provided at the tip of the arm by driving the arm within the movable range.
  • the robot arm device 10 has an arm unit 120.
  • the arm unit 120 also includes a joint unit 130 and a tip unit 145.
  • the arm unit 120 is a multi-link structure composed of a plurality of joint units 130 and a plurality of links, and the drive of each joint unit 130 is controlled to control the drive thereof. Note that, since the functions and configurations of the plurality of joint units 130 included in the arm unit 120 are the same as each other, FIG. 1 illustrates the configuration of one joint unit 130 as a representative of the plurality of joint units 130.
  • the joint unit 130 rotatably connects links with each other in the arm unit 120, and the rotational drive of the joint unit 130 is controlled by control from a joint control unit 135 described later.
  • the joint unit 130 includes a joint drive unit 131, a joint state detection unit 132, and a joint control unit 135.
  • the joint unit 130 may further include a communication unit that transmits and receives various types of information to and from an external device.
  • a communication unit (not shown) is provided in the control device 20, and the joint unit 130 exchanges various types of information with the control device 20 and other joint units 130 via the communication unit. It can be sent and received mutually.
  • the joint drive unit 131 is a drive mechanism such as a motor that constitutes an actuator of the joint unit 130.
  • the joint drive unit 131 is driven to rotate the joint unit 130.
  • the drive of the joint drive unit 131 is controlled by a drive control unit 111 of a joint control unit 135 described later.
  • the motor constituting the joint drive unit 131 is driven by the amount of current according to the command from the drive control unit 111.
  • the joint state detection unit 132 detects the state of the joint unit 130.
  • the state of the joint unit 130 may mean the driving state of the joint unit 130.
  • the state of the joint unit 130 includes information such as the rotational angle, rotational angular velocity, rotational angular acceleration, generated torque, and external torque of the joint unit 130.
  • the state of the joint unit 130 includes various information when the joint unit 130 is driven, for example, information such as the amount of current supplied to the motor of the actuator and the temperature around the motor, and the joint unit 130 Information such as the communication state in the communication unit for communicating with the joint unit 130 and the control device 20 may be further included.
  • the joint state detection unit 132 is configured by various sensors such as an angle sensor (encoder), a torque sensor, a current sensor, and / or a temperature sensor, for example. And the external torque, the amount of current, the temperature, etc. can be detected.
  • the joint state detection unit 132 transmits the detected state of the joint unit 130 to the control device 20.
  • an abnormality of the joint unit 130 is detected based on the information indicating the state of the joint unit 130.
  • the state (arm state) of the arm portion 120 is acquired based on the information indicating the state of the joint portion 130, and the arm portion 120 achieves the predetermined exercise purpose.
  • the control amount is calculated. For example, among the information indicating the state of the joint unit 130, the amount of current supplied to the motor of the actuator, the temperature around the motor, the rotation angle of the input shaft (motor) and the output shaft, the generated torque, the external torque, Information on the communication state and the like may be mainly used for anomaly detection.
  • the information mainly representing the motion of the joint unit 130 such as the rotation angle, rotational angular velocity, rotational angular acceleration, generated torque and external torque of the joint unit 130 is mainly It may be used to calculate the control amount.
  • the following ⁇ 6 the following ⁇ 6. In order to explain in more detail in whole body coordinated control>, the detailed explanation is omitted here.
  • the joint control unit 135 includes, for example, various processors such as a CPU (Central Processing Unit), and controls the operation of the joint unit 130. Each function of the joint control unit 135 is realized by the processor configuring the joint control unit 135 operating according to a predetermined program. In the present embodiment, the joint control unit 135 has a drive control unit 111 as its function.
  • the joint control unit 135 controls the operation of the configuration provided in the joint unit 130 such as, for example, a communication control unit that controls the operation of the communication unit provided in the joint unit 130 and causes the communication unit to transmit and receive predetermined information. It may further have other functions to do.
  • the drive control unit 111 controls the drive of the arm unit 120 by controlling the drive of the joint unit 130. More specifically, the drive control unit 111 controls the amount of current supplied to the joint drive unit 131 of the joint unit 130, thereby controlling the number of rotations of the motor that constitutes the joint drive unit 131, The rotation angle and the generated torque in the unit 130 are controlled. For example, when the joint unit 130 is provided with a brake mechanism that prevents the rotation thereof, the drive control unit 111 may drive the brake mechanism to stop the rotational drive of the joint unit 130.
  • the drive control of the joint unit 130 by the drive control unit 111 may be performed based on the calculation result in the control device 20.
  • the drive control unit 111 may independently control the drive of each joint unit 130 by so-called position control. As a result, even when communication with the control device 20 is interrupted, drive control such as fixing the rotation angle of the joint unit 130 at a predetermined value is performed in each joint unit 130, for example. An action can be realized.
  • the tip unit 145 is provided at the tip of the arm unit 120, and its position and posture are controlled in accordance with the drive control of the arm unit 120.
  • the tip unit 145 is a variety of medical instruments, such as an imaging device and a treatment tool.
  • the tip unit 145 is an imaging device such as a camera, a microscope, or an endoscope, the usage method for imaging the patient's surgery while driving the arm unit 120 to adjust the position and posture of the imaging device is considered.
  • an image of a surgical part of a patient taken by the imaging device is displayed on the display screen of the display device, and the operator observes the state of the surgical part while referring to the display screen of the display device
  • Various measures can be taken against
  • the tip unit 145 is a treatment tool such as a scalpel or a forceps
  • various known medical instruments may be applied as the tip unit 145.
  • the state in which the tip unit 145 is provided at the tip of the final stage link via the plurality of joints 130 and the plurality of links is schematically illustrated as a link between the joint 130 and the tip unit 145 It is expressed by illustration.
  • the distal end unit 145 is referred to for convenience, but in the present embodiment, the portion where the distal end unit 145 is provided is not limited to the distal end of the arm portion 120.
  • the tip unit 145 may be configured such that the position and posture thereof are controlled in accordance with the drive of the arm unit 120 and various treatments can be performed on the patient.
  • the attachment site of may be optional.
  • the control device 20 includes a storage unit 220 and a control unit 230.
  • the control unit 230 is constituted by various processors such as a CPU, and integrally controls the operation of the control device 20 and performs various calculations for controlling the driving of the arm unit 120 in the robot arm apparatus 10.
  • Each function of the control unit 230 is realized by the processor configuring the control unit 230 operating according to a predetermined program.
  • the control unit 230 performs various calculations in the whole body cooperative control and the ideal joint control.
  • the control unit 230 further has a function of detecting an abnormality in the joint unit 130 based on the detected state of the joint unit 130.
  • the control unit 230 includes a whole body coordination control unit 240, an ideal joint control unit 250, an abnormality detection unit 260, and a calculation condition setting unit 242.
  • the abnormality detection unit 260 detects an abnormality occurring in the joint unit 130 based on various types of information for detecting an abnormality in the joint unit 130.
  • the information for detecting the abnormality of the joint unit 130 includes, for example, information about the state of the joint unit 130 detected by the joint state detection unit 132 and drive control of the joint unit 130 as described later. Information, information on the command value transmitted to the joint unit 130, information on the communication state of the joint unit 130, and the like may be included.
  • the abnormality detection unit 260 has an actuator abnormality detection unit 261, a drive control abnormality detection unit 262, a command value abnormality detection unit 263, and a communication abnormality detection unit 264 as its functions.
  • the actuator abnormality detection unit 261 detects an abnormality in an actuator provided to drive the joint unit 130.
  • the actuator abnormality detection unit 261 includes the amount of current supplied to the motor of the actuator, the temperature around the motor, the rotation angle of the input shaft (motor) and the output shaft, and the generation included in the information indicating the state of the joint unit 130
  • An abnormality in the actuator can be detected based on information such as torque and external torque.
  • the drive control abnormality detection unit 262 detects an abnormality of the joint unit 130 based on the information on drive control of the joint unit 130 transmitted from the drive control unit 111. For example, in the drive control abnormality detection unit 262, although the joint unit 130 is driven although the brake mechanism is driven by the drive control unit 111, or conversely, the joint is generated although the brake mechanism is not driven. When the unit 130 is not driven, an abnormality in the joint unit 130 can be detected.
  • the command value abnormality detection unit 263 detects an abnormality of the joint unit 130 based on the command value transmitted from the control device 20 to the joint unit 130.
  • the command value is a value calculated by the ideal joint control unit 250, and is transmitted from the control device 20 to the drive control unit 111 of the joint unit 130 to finally control the drive of the joint unit 130.
  • Control amount of For example, when the command value abnormality detection unit 263 determines that the command value transmitted to the drive control unit 111 is different from the drive of the joint unit 130 driven based on the command value, the abnormality of the joint unit 130 Can be detected.
  • the communication abnormality detection unit 264 detects an abnormality of the joint unit 130 based on the communication state between the joint unit 130 and the control device 20. For example, when the communication unit of the joint unit 130 and / or the communication unit of the control device 20 do not operate normally and communication between the two is interrupted, the joint unit 130 sends the control device 20 to the control device 20. Information that is necessary for the calculation of the control amount (for example, information representing the state of the joint unit 130) may not be transmitted, or the joint unit 130 may not receive information on the control amount calculated by the control device 20 There is. Therefore, in the communication abnormality detection unit 264, for example, the joint unit where the communication unit does not operate normally and can not receive the control amount calculated by the control device 20 is a joint unit in which an abnormality occurs. It can be detected as 130.
  • various types of information for detecting an abnormality of the joint unit 130 as described above is information that can be acquired for each joint unit 130. . Therefore, the abnormality detection unit 260 can detect the presence or absence of an abnormality for each joint unit 130. In addition, according to which information the abnormality detection unit 260 detects an abnormality, which component of the joint unit 130 the abnormality has occurred in, and also detects the type of the abnormality. Good.
  • the abnormality detection unit 260 transmits information on the detected abnormality to the calculation condition setting unit 242.
  • the abnormality detection process performed by the abnormality detection unit 260 will be described in more detail later in (5-1. Abnormality detection process).
  • the functions of the abnormality detection unit 260 are divided into the actuator abnormality detection unit 261, the drive control abnormality detection unit 262, the command value abnormality detection unit 263, and the communication abnormality detection unit 264. It is divided and illustrated.
  • the information on the command value to be transmitted and / or the information on the communication state between the joint unit 130 and the control device 20 may be comprehensively considered, and an abnormality in the joint unit 130 may be detected.
  • the calculation condition setting unit 242 sets calculation conditions in calculation of control amounts performed by the whole body coordination control unit 240 and the ideal joint control unit 250.
  • the calculation condition setting unit 242 sets the calculation condition according to the type of abnormality of the joint unit 130 detected by the abnormality detection unit 260.
  • the calculation condition setting unit 242 can determine an operation to be performed by the arm unit 120 according to the detected type of abnormality of the joint unit 130, and set the calculation condition corresponding to the operation.
  • the operation performed by the arm unit 120 may be any of the above-described abnormality avoidance operation, partial function stop operation, and function stop operation.
  • the storage unit 220 stores a table in which the type of abnormality, an operation that can be performed when the abnormality occurs, and an operation condition for executing the operation are associated, and the operation condition setting
  • the unit 242 can determine an operation to be performed by the arm unit 120 based on the detection result of the abnormality by the abnormality detection unit 260 and the table, and can set calculation conditions according to the operation.
  • the type of the abnormality and the operation may be associated so that the drive control of the arm unit 120 is continued as much as possible even when an abnormality occurs.
  • the drive of the arm unit 120 is controlled such that the treatment using the robot arm apparatus 10 is continued as much as possible. Become.
  • the calculation condition set by the calculation condition setting unit 242 may include an exercise purpose and a constraint condition.
  • the exercise purpose is various information related to the motion of the arm unit 120, and is, for example, target values such as the position and posture (coordinates), velocity, acceleration, and force of the tip unit 145 and the arm unit 120.
  • the constraint condition is various information that limits (restrains) the movement of the arm unit 120, and, for example, coordinates of an area in which each component of the arm unit 120 can not move, an immovable velocity, and an acceleration And force values that can not be generated.
  • operation condition setting unit 242 determines the operation determined according to the type of abnormality detected by abnormality detection unit 260.
  • An internal model corresponding to may be set as the calculation condition.
  • the calculation condition setting unit 242 provides the information on the set calculation condition to the whole-body coordination control unit 240.
  • the whole body coordination control unit 240 performs various operations related to whole body coordination control using generalized inverse dynamics. Further, the ideal joint control unit 250 performs various calculations on ideal joint control that realizes an ideal response based on a theoretical model. By controlling the drive of the robot arm device 10 based on these calculation results, the robot arm device 10 is driven by force control. In the present embodiment, the whole body coordination control unit 240 and the ideal joint control unit 250 perform various calculations based on the calculation conditions set by the calculation condition setting unit 242, whereby the abnormality detected by the abnormality detection unit 260 is detected. The control amount of each joint unit 130 is calculated such that the arm unit 120 performs the operation determined according to the type. In addition, about the process which the whole body coordination control part 240 and the ideal joint control part 250 perform, the following ⁇ 6. The whole body coordinated control will be described in detail again, and only the outline will be briefly described here.
  • the whole-body coordination control unit 240 is a control amount for driving the joint unit 130 under the calculation condition set by the calculation condition setting unit 242 based on the state of the joint unit 130 detected by the joint state detection unit 132.
  • the whole body coordination control unit 240 can acquire 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 represents geometrical parameters and mechanical parameters of the arm unit 120, and can be expressed as an internal model of the robot arm device 10.
  • the whole-body coordination control unit 240 controls a control value for driving the arm unit 120 so as to achieve the exercise purpose set by the calculation condition setting unit 242 based on the arm state (for example, drive of each joint unit 130).
  • a parameter (for example, a generated torque value of the joint unit 130) can be calculated in consideration of the constraint condition set by the calculation condition setting unit 242.
  • the ideal joint control unit 250 corrects the control value calculated by the whole-body coordination control unit 240 in consideration of the influence of the disturbance to calculate the command value to be used finally to drive the arm unit 120.
  • the command value may be a generated torque value of the joint unit 130 in which the influence of the disturbance is considered.
  • the ideal joint control unit 250 transmits information on the calculated command value to the robot arm apparatus 10.
  • the drive control unit 111 drives each joint unit 130 based on the command value, and in accordance with the restraint condition and exercise purpose set by the calculation condition setting unit 242, that is, the abnormality detected by the abnormality detection unit 260.
  • the arm unit 120 is driven to perform the operation determined in accordance with the type.
  • the storage unit 220 stores various types of information processed by the control device 20.
  • the storage unit 220 can store various types of information used in computations related to whole-body coordinated control and ideal joint control performed by the control unit 230 and information on the result of the computations.
  • the storage unit 220 may store the exercise purpose, the constraint condition, and the internal model used in the calculation regarding the whole body coordination control by the whole body coordination controller 240.
  • the type of abnormality that can be detected in the joint unit 130, an operation that can be performed when the abnormality occurs, and an operation condition for executing the operation are associated.
  • a table may be stored.
  • the storage unit 220 may store various parameters related to various processes performed by the control unit 230.
  • the control unit 230 can perform various processes while mutually exchanging information with the storage unit 220.
  • the abnormality detection unit 260 detects the occurrence of an abnormality for each joint unit 130. Therefore, a portion of the arm 120 where an abnormality has occurred can be accurately detected.
  • the operation condition setting unit 242 determines the operation of the arm unit 120 according to the type of abnormality detected by the abnormality detection unit 260, and the operation condition corresponding to the operation is set. Then, the control amount of each joint unit 130 for driving the arm unit 120 is calculated by the whole-body coordination control unit 240 and the ideal joint control unit 250 based on the calculation condition, so that it corresponds to the type of abnormality.
  • the drive of the arm unit 120 is controlled to perform an operation. Therefore, depending on the type of abnormality, the driving of the arm unit 120 is controlled such that the treatment using the robot arm apparatus 10 is continued as much as possible. Thus, the safety of the patient and the operator can be improved.
  • the abnormality detection unit 260 is provided in the control device 20, and the process of detecting an abnormality in a joint is performed in the control device 20, but the present embodiment is not limited to this example.
  • the joint control unit 135 of each joint unit 130 may have the same function as the abnormality detection unit 260, and detection of an abnormality of the joint unit 130 may be performed by the joint unit 130 itself.
  • the configuration of the robot arm control system 2 is not limited to the example shown in FIG.
  • each process performed in the joint control unit 135 and the control unit 230 illustrated in FIG. 1 may be performed in any of the robot arm device 10 and the control device 20, and communication with the robot arm device 10 and the control device 20 is possible. This may be performed by another information processing apparatus (not shown) connected to the system.
  • the robot arm control system 2 may be configured so that each function shown in FIG. 1 can be executed, and the specific device configuration may be arbitrary.
  • each component of the robot arm control system 2 may be configured using a general-purpose member or circuit, and hardware specialized for the function of each component It may be configured by Further, all functions of each component may be performed by a CPU or the like. Therefore, it is possible to change the configuration to be used as appropriate according to the technical level at which the present embodiment is implemented.
  • a computer program for realizing each function of the robot arm control system 2 according to the present embodiment as described above, and to implement the computer program on a personal computer or the like.
  • a computer readable recording medium in which such a computer program is stored can be provided.
  • the recording medium is, for example, a magnetic disk, an optical disk, a magneto-optical disk, a flash memory or the like.
  • the above computer program may be distributed via, for example, a network without using a recording medium.
  • FIG. 2 is a block diagram showing the hardware configuration of the robot arm control system according to the present embodiment.
  • the block diagram shown in FIG. 2 corresponds to the functional block diagram shown in FIG. 1, and corresponds to the one that illustrates the hardware that constitutes each functional block shown in FIG.
  • FIG. 2 among the configurations shown in FIG. 1, the configuration related to abnormality detection according to the present embodiment is mainly illustrated and the other configurations are omitted for simplicity.
  • FIG. 2 a configuration corresponding to the plurality of joint units 130 of the arm unit 120 of the robot arm device is illustrated.
  • a multi-link structure is configured by linking the links by the joint portions 130, but illustration of the links is omitted in FIG.
  • three joints 130 are illustrated in FIG. 2 as an example, the number of joints 130 is not limited to such an example, and different numbers of joints 130 exist depending on the configuration of the arm 120. You may
  • the communication unit 270 is a communication interface that mutually transmits / receives various information to / from each joint unit 130 of the robot arm apparatus (more specifically, a communication unit 150 of the joint unit 130 described later).
  • the communication unit 270 receives various information transmitted from each joint unit 130 for detecting an abnormality in the joint unit 130. Further, the communication unit 270 transmits information on the control amount of each joint 130 of the arm 120 calculated by the control CPU 280 to each joint 130.
  • the control CPU 280 corresponds to the control unit 230 shown in FIG.
  • the control CPU 280 detects an abnormality of the joint unit 130 based on various information transmitted from each joint unit 130 for detecting an abnormality of the joint unit 130. Further, the type of the detected abnormality is determined, and the operation of the arm unit 120 according to the type of the abnormality is determined. Furthermore, the calculation condition according to the determined operation of the arm unit 120 is set, and the control amount of each joint unit 130 which realizes the operation of the arm unit 120 is calculated based on the calculation condition.
  • Each joint unit 130 includes a communication unit 150, a joint control CPU 160, a motor driver unit 170, and an actuator 180.
  • the communication unit 150 is a communication interface that mutually transmits and receives various information between the communication unit 150 of another joint unit 130 and the communication unit 270 of the control device 20.
  • the communication unit 150 transmits various types of information for detecting an abnormality of the joint unit 130 from each joint unit 130 to the control device 20. Further, the communication unit 150 receives information on the control amount of each joint unit 130 of the arm unit 120 calculated by the control CPU 280.
  • the joint control CPU 160 corresponds to the joint control unit 135 shown in FIG.
  • a control amount for example, a current amount
  • the joint control CPU 160 is transmitted from the joint control CPU 160 to the motor driver unit 170 (this is, for example, the drive control unit shown in FIG. Corresponding to the function of 111).
  • the motor driver unit 170 this is, for example, the drive control unit shown in FIG. Corresponding to the function of 111).
  • Such a configuration for controlling the drive of the actuator 180 in the joint control CPU 160 will be described in detail later with reference to FIGS.
  • information on detected values (for example, current amount, temperature, rotation angle, etc.) by each sensor mounted on the actuator 180 from the actuator 180 to the joint control CPU 160 that is, information indicating the state of the joint unit 130 Is sent.
  • Information indicating the state of the joint unit 130 is transmitted to the control device 20 via the communication unit 150.
  • the joint control CPU 160 in addition to the control amount transmitted from the control device 20, the joint control CPU 160 further detects Drive control can be performed.
  • FIG. 2 shows that information about detection values by the respective sensors of the actuator 180 is transmitted from the communication unit 150 to the control device 20 via the joint control CPU 160, these detection values will be described. The above information may be transmitted directly to the control device 20 via the communication unit 150.
  • the configuration of each sensor mounted on the actuator 180 will be described later in detail with reference to FIG.
  • the motor driver unit 170 is a driver circuit (driver IC (Integrated Circuit)) which rotationally drives the motor by supplying current to the motor of the actuator 180, and adjusts the amount of current supplied to the motor. The rotation speed can be controlled.
  • the motor driver unit 170 drives the motor of the actuator 180 according to the control amount transmitted from the joint control CPU 160.
  • the motor driver unit 170 may be the same as a general driver IC for driving a motor, and thus the detailed description is omitted here.
  • the actuator 180 is driven according to a predetermined control amount by the joint control CPU 160 to drive the joint unit 130 at a predetermined angle and speed.
  • the actuator 180 can have, for example, the configuration shown in FIG. 13 described later.
  • actuator 180 is formed of a motor and a reduction gear, and the rotational speed of the motor driven according to a predetermined control amount is reduced by a reduction gear having a predetermined reduction ratio to obtain a predetermined rotational driving force (torque ) Is generated.
  • the generated torque is transmitted to the subsequent member (for example, the link, the tip unit, etc.), and the subsequent member is driven.
  • the actuator 180 is equipped with a sensor that detects various physical quantities related to its own drive.
  • the actuator 180 is a current sensor that detects the amount of current supplied to the motor, a temperature sensor that detects the temperature of the motor, an angle sensor that detects the rotation angle of the motor and the rotation angle of the output shaft of the reduction gear, the reduction gear The torque sensor etc. which detect the torque in the output shaft of these.
  • These sensors correspond to, for example, the joint state detection unit 132 shown in FIG.
  • the detected values by these sensors are provided to the joint control CPU 160 and the communication unit 150, and are used for drive control of the actuator 180 and abnormality detection of the joint unit 130.
  • FIGS. 3 to 5 illustrate the configuration for driving the actuator 180 in the joint control CPU 160 described above (for example, the configuration corresponding to the drive control unit 111 shown in FIG. 1) in detail and drive the actuator 180.
  • the exchange of information between the joint control CPU 160 and the actuator 180 is illustrated.
  • the joint control CPU 160 drives each joint unit 130 based on the control amount calculated by the control device 20 shown in FIG. 1, but in the present embodiment, the control amount is a command value (torque) represented by torque. It may be any of a command value), a command value (angular velocity command value) expressed by an angular velocity, and a command value (angle command value) expressed by an angle.
  • FIG. 3 is an explanatory diagram for describing driving of the actuator 180 based on a torque command value.
  • FIG. 4 is an explanatory diagram for describing driving of the actuator 180 based on the angular velocity command value.
  • FIG. 5 is an explanatory diagram for describing driving of the actuator 180 based on the angle command value.
  • the torque command value is input to the torque controller 161 of the joint control CPU 160.
  • the torque of the output shaft of the motor 181 of the actuator 180 is detected by the torque sensor 183
  • the rotation angle of the output shaft of the motor 181 is detected by the angle sensor 184.
  • the torque sensor 183 and the angle sensor 184 detect the torque and the rotation angle of the output shaft of the motor 181 via the reduction gear.
  • the torque controller 161 can be provided with a torque detection value detected by the torque sensor 183.
  • the rotation angle detection value detected by the angle sensor 184 is provided to the angular velocity calculator 162 of the joint control CPU 160.
  • the angular velocity calculator 162 calculates the rotational angular velocity at the output shaft of the motor based on the rotational angle detection value, and provides the calculated rotational angular velocity to the torque controller 161.
  • the torque controller 161 can calculate the rotational angular acceleration of the output shaft, that is, the torque based on the rotational angular velocity.
  • the torque controller 161 can measure the current torque based on the torque detection value detected by the torque sensor 183 and / or the rotation angle detection value detected by the angle sensor 184 along with the torque command value. May be provided. Therefore, the torque controller 161 calculates a torque control value based on the difference between the torque command value and the torque measurement value, and provides the torque control value to the current controller 163.
  • the current controller 163 calculates an amount of current (current control value) for realizing the torque control value, and drives the motor 181 by the current control value.
  • the current controller 163 may be provided with the detected angle value detected by the angle sensor 184, and the current controller 163 may perform current control for realizing a torque control value further based on the detected angle value. The value may be calculated.
  • a current corresponding to the current control value is generated by, for example, the motor driver unit 170 shown in FIG. 2, and the current is supplied to the motor 181. , And the motor 181 may be driven.
  • the current value corresponding to the output of the current controller 163 (or the output of the motor driver unit 170) is constantly monitored by the current sensor 182 of the actuator 180. For example, a current different from the target current control value is detected. In this case, the content is fed back to the current controller 163.
  • FIG. 4 when an angular velocity command value is given to the joint control CPU 160 as a control amount, the angular velocity command value is input to the angular velocity controller 164 of the joint control CPU 160.
  • the configuration shown in FIG. 4 corresponds to the configuration shown in FIG. 3 to which the angular velocity controller 164 is added, and thus the detailed description of the same matters will be omitted.
  • the angular velocity calculator 162 calculates the rotational angular velocity at the output shaft of the motor based on the rotational angle detection value detected by the angle sensor 184, and the calculated rotational angular velocity is provided to the angular velocity controller 164. Be done. Then, the angular velocity controller 164 calculates an angular velocity control value based on the difference between the angular velocity command value and the rotational angular velocity calculated by the angular velocity calculator 162, and provides the angular velocity control value to the torque controller 161.
  • the subsequent processing may be the same as the configuration shown in FIG.
  • FIG. 5 when an angle command value is given to the joint control CPU 160 as a control amount, the angle command value is input to the angle controller 165 of the joint control CPU 160.
  • the configuration shown in FIG. 5 corresponds to the configuration in which the angle controller 165 is added to the configuration shown in FIG.
  • the rotation angle detection value detected by the angle sensor 184 is provided to the angle controller 165. Then, the angle controller 165 calculates an angle control value based on the difference between the angle command value and the rotation angle detection value, and provides the angle control value to the angular velocity controller 164.
  • the subsequent processing may be similar to the configuration shown in FIG.
  • the angular velocity controller 164 calculates the angular velocity at the output shaft of the motor calculated by the angular velocity calculator 162 based on the angle control value provided from the angle controller 165 and the detected rotation angle detected by the angle sensor 184, The angular velocity control value can be calculated based on the difference between Then, based on the angular velocity control value and the torque detection value detected by the torque sensor 183 and / or the current torque measurement value based on the rotation angle detection value detected by the angle sensor 184 by the torque controller 161. Torque control value is calculated. Further, the current control value is calculated by the current controller 163 based on the torque control value, and the motor 181 is driven. By the procedure described above, driving of the actuator 180 based on the angle command value is realized.
  • the control amount for driving each joint unit 130 calculated by the control device 20 shown in FIG. 1 may be a torque command value or an angular velocity command value. It may be an angle command value. Even when the command value is expressed by any physical quantity, the motor 181 can be driven according to the command value by appropriately configuring the joint control CPU 160 as shown in FIGS. 3-5, for example. It becomes.
  • FIG. 6 is a block diagram showing a configuration example of a sensor mounted on the actuator 180. As shown in FIG.
  • the actuator 180 includes a motor 181, a reduction gear 185, a current sensor 182, a torque sensor 183, a motor angle sensor 184a, an output shaft angle sensor 184b, and a temperature sensor 187.
  • the motor driver unit 170 and the joint control CPU 160 are also illustrated together with the components of the actuator 180 for the sake of description.
  • the motor 181 is driven by supply of a predetermined current from the motor driver unit 170 under the control of the joint control CPU 160.
  • the actuator 180 the amount of current supplied to the motor 181 by the motor driver unit 170 is detected by the current sensor 182. Further, the rotation angle of the motor 181 being driven is detected by the motor angle sensor 184 a, and the temperature of the motor 181 being driven is detected by the temperature sensor 187.
  • a reduction gear 185 is connected to the rotation shaft of the motor 181, and the rotational speed of the motor 181 is reduced at a predetermined reduction ratio to generate a predetermined torque.
  • the joint unit 130 is driven by transmitting the torque to the member at the subsequent stage.
  • a torque sensor 183 and an output shaft angle sensor 184b are provided on an output shaft 186 that transmits torque from the reduction gear 185 to the member in the subsequent stage.
  • the torque sensor 183 detects the torque of the output shaft 186 (that is, the torque generated by the actuator 180), and the output shaft angle sensor 184b detects the rotation angle of the output shaft 186.
  • FIGS. 3-5 typically illustrate one angle sensor 184, in this embodiment, as shown in FIG. 6, the rotational speed is detected for each of the motor 181 and the output shaft 186.
  • Angle sensors (motor angle sensor 184a and output shaft angle sensor 184b) may be provided.
  • the joint control CPU 160 can drive the actuator 180 based on these detected values.
  • illustration is abbreviate
  • FIG. The control device 20 detects an abnormality of the joint unit 130 based on these detected values.
  • the specific configurations of the current sensor 182, the temperature sensor 187, the torque sensor 183, the motor angle sensor 184a, and the output shaft angle sensor 184b are not limited to specific ones.
  • the well-known sensor of can be used.
  • the current sensor 182 may detect the current based on the voltage drop due to the resistance, or may detect the current based on the change of the magnetic field due to the Hall element.
  • the temperature sensor 187 may use a thermocouple or may use a resistance temperature detector.
  • the torque sensor 183 may use various strain sensors.
  • the motor angle sensor 184a and the output shaft angle sensor 184b may be various rotary encoders.
  • FIG. 7 is a flow chart showing an example of the processing procedure of the robot arm control method according to the present embodiment.
  • Each process shown in FIG. 7 can be realized, for example, by the functional configuration of the robot arm control system 2 shown in FIG.
  • the robot arm control method described here relates to a series of processing procedures when an abnormality is detected in driving of the arm unit 120.
  • a more detailed control method when controlling the drive of the arm unit 120, such as calculation of a control amount, will be described later with reference to FIG.
  • step S101 it is determined whether or not an abnormality is detected in the joint unit 130 while driving the arm unit 120 (step S101).
  • an abnormality detection process may be performed on each of the joint units 130 configuring the arm unit 120, and it may be detected together in which joint unit 130 an abnormality occurs.
  • the process shown in step S101 may be, for example, a process in which the abnormality detection unit 260 shown in FIG. 1 detects an abnormality in the joint unit 130 based on various information for detecting an abnormality in the joint unit 130. .
  • the normal operation is continued in the arm unit 120 as it is (step S103).
  • the normal operation is a state in which the driving of the arm unit 120 is normally controlled, and for example, the power assist operation and the pivot operation described in the following (6-2-5. Specific example of exercise purpose)
  • a variety of procedures may be performed on the patient by the tip unit 145.
  • the joint unit 130 is driven to cancel the gravity acting on the arm unit 120, and the joint unit 130 is driven to support the movement of the arm unit 120 in the direction of the force further applied from the outside.
  • an exercise purpose is set, and the drive of the joint unit 130 is controlled based on the exercise purpose. By performing such control, the operator can operate the arm unit 120 as if being under weightlessness.
  • the tip unit 145 moves on the surface of the cone with the predetermined point at the top, with the direction of the tip unit 145 fixed at the predetermined point in space.
  • a constraint condition is set, and the drive of the joint unit 130 is controlled based on the constraint condition. For example, by providing an imaging device as the tip unit 145 and performing such control, it becomes possible to observe the same point (for example, a surgical site) from different directions and different distances. Further, in the pivoting operation, the distance between a predetermined point (pivot center point) on the space which is the center of the pivoting operation and the tip unit 145 may be kept constant.
  • the drive of the arm unit 120 is controlled so that the tip unit 145 (for example, the imaging device) moves on a hemisphere centered on the pivot center point, with the tip unit 145 facing the pivot center point. It becomes easy to observe a given point from all directions. Also, a power assist operation and a pivot operation may be used in combination.
  • step S101 If an abnormality is detected in step S101, the process proceeds to step S105.
  • step S105 in accordance with the type of the detected abnormality, it is determined whether the abnormality is an abnormality that can be avoided by the abnormality avoidance operation.
  • step S107 the abnormality avoiding operation is performed (step S107).
  • the drive of the joint unit 130 is controlled in a state in which the movement of the arm unit 120 is provided with a predetermined restriction, and the arm unit 120 is driven so as to avoid an abnormality.
  • the predetermined restriction may be, for example, not causing each joint unit 130 to generate a torque equal to or more than a predetermined value, or not rotating each joint unit 130 for a predetermined angle or the like.
  • step S105 If it is determined in step S105 that the abnormality is not an avoidable abnormality, the process proceeds to step S109.
  • step S109 in accordance with the type of the detected abnormality, it is determined whether the abnormality is an abnormality that allows the function of the arm unit 120 to be continued.
  • step S111 If it is determined in step S109 that the function of the arm unit 120 can be continued, a partial function stop operation is performed (step S111).
  • the partial function stop operation the driving of the other joints 130 other than the joint 130 in which the abnormality is detected is controlled, and the arm 120 is driven with the degree of freedom lower than the original degree of freedom.
  • step S113 the function stop operation is performed.
  • the function stop operation the function of the arm unit 120 is safely stopped so that the arm unit 120 does not move unintendedly to harm the operator and the patient.
  • the motions of all the joint units 130 constituting the arm unit 120 are fixed.
  • any one of the abnormality avoiding operation, the partial function stopping operation, and the function stopping operation is executed according to the type of the abnormality. Is selected.
  • the abnormality avoiding operation is performed, the driving of the arm unit 120 is continued in the state in which the abnormality is avoided.
  • the partial function stop operation is performed, the driving of the arm unit 120 is continued with the partial function of the arm unit 120 stopped. Therefore, even when an abnormality is detected, it is possible to continue the treatment using the arm unit 120, and the safety for the patient can be further improved.
  • the function stop operation is performed so that the operator and the patient are not harmed. The function of the arm unit 120 is safely stopped.
  • steps S105 and S109 described above are based on, for example, the type of the abnormality and the abnormality based on the abnormality of the joint unit 130 detected by the abnormality detection unit 260 by the calculation condition setting unit 242 illustrated in FIG. It may be a process in which the operation of the arm unit 120 is determined according to the type of the subject. Further, in the processing shown in steps S107 and S111, for example, the calculation condition setting of the control amount which causes the arm unit 120 to perform the abnormality avoiding operation and the partial function stopping operation is set by the calculation condition setting unit 242 shown in FIG.
  • the drive control unit 111 may control the drive of each joint unit 130 based on the control amount calculated under the calculation condition by the whole-body coordination control unit 240 and the ideal joint control unit 250. Further, the process shown in step S113 may be, for example, a process in which the drive control unit 111 shown in FIG. 1 controls the drive of each joint unit 130 by position control.
  • steps S101, S105, and S109 which one of the abnormality avoidance operation, the partial function stop operation, and the function stop operation is to be executed is selected in stages, for the sake of description. Although the actual processing may not be judged stepwise in this way. For example, the above ⁇ 2.
  • Functional Configuration of Robot Arm Control System> As described above, a table is created in which the type of abnormality and the action that can be performed when the abnormality occurs are associated, and any action is generated based on the table. It may be determined whether to execute.
  • abnormality detection processing As described above with reference to FIGS. 1 and 6, in the present embodiment, based on detection values by various sensors provided in the actuator 180 (that is, the state of the joint unit 130 detected by the joint state detection unit 132). Thus, an abnormality in each joint 130 can be detected.
  • a current sensor 182 a torque sensor 183, a motor angle sensor 184a, an output shaft angle sensor 184b, and a temperature sensor 187 are provided.
  • FIG. 8 is a flowchart showing an example of a processing procedure in abnormality detection processing based on angular velocity.
  • the angular velocity of the motor 181 or the output shaft 186 may be calculated, for example, by the angular velocity calculator 162 shown in FIGS. 3 to 6 based on the detected value of the rotation angle by the motor angle sensor 184a or the output shaft angle sensor 184b.
  • each process illustrated in FIG. 8 may be executed by, for example, the abnormality detection unit 260 illustrated in FIG.
  • step S201 it is determined whether the detected angular velocity exceeds a predetermined threshold (first threshold) (step S201).
  • first threshold value a value that can not normally be detected as an angular velocity may be appropriately set based on an internal model or the like used for drive control of the arm unit 120. Also, the detection of the angular velocity may be performed as needed at a predetermined timing. If it is determined that the detected angular velocity does not exceed the first threshold, detection of the angular velocity at a predetermined timing is continued. On the other hand, when it is determined that the detected angular velocity exceeds the first threshold, the process proceeds to step S203.
  • step S203 measurement of a time during which the detected angular velocity exceeds the first threshold (threshold overtime) is started. Also during measurement of the over-threshold time, the angular velocity is detected as needed, and it is determined as needed whether the detected angular velocity is less than or equal to the first threshold (step S205). If it is determined in step S205 that the detected angular velocity has become equal to or less than the first threshold before the over-threshold time exceeds the predetermined threshold (second threshold). It can be determined that it is a temporary event that the angular velocity indicates an abnormal value larger than the first threshold. Therefore, the measurement of the threshold excess time is ended (step S207), the process returns to step S201, and the detection of the angular velocity is continued.
  • step S205 determines whether the over-threshold time exceeds the second threshold value (in step S205). Step S209). If it is determined that the over-threshold time does not exceed the second threshold, the process returns to step S205 to compare the detected angular velocity with the first threshold and the over-threshold time. The comparison with the second threshold is repeated.
  • step S209 when it is determined that the over-threshold time exceeds the second threshold, the time during which the angular velocity indicates an abnormal value larger than the first threshold continues for a predetermined time or more Means. Therefore, it is determined that the detected value of the angular velocity is abnormal (step S211), and it is determined that an abnormality occurs in the joint unit 130.
  • the process procedure of the abnormality detection process based on the angular velocity of the motor 181 or the output shaft 186 has been described above with reference to FIG. 8 as an example of the abnormality detection process.
  • the processing procedure of abnormality detection processing based on the detected value of angular velocity has been described as an example, but other detected values, for example, detected values such as rotation angle, angular acceleration, torque, current, temperature, etc. Even in the same way, it is possible to detect an abnormality.
  • the joint unit 130 in which the detection value is detected is abnormal. It may be judged that.
  • the abnormality of the joint unit 130 may be detected by a method other than the processing procedure described above.
  • the abnormality detection unit 260 can detect an abnormality based on the following method.
  • an abnormality is detected at the moment when the detected value exceeds a predetermined threshold. It is also good. In such a case, the arm unit 120 may move at an excessive speed, or the arm unit 120 may exert an excessive force on the patient.
  • a strain gauge may be provided on the link of the arm unit 120, and an abnormality may be detected in combination with a value detected by the strain gauge. This is because the detected value by the strain gauge can be an index indicating the pressing force applied to an external object such as the operator and the patient when the arm unit 120 contacts.
  • the abnormality avoiding operation can be suitably performed.
  • an exercise purpose and / or a constraint condition such that the speed or force is equal to or less than a predetermined value is set as a calculation condition, and the drive of the arm unit 120 is controlled so as not to generate excessive speed and force. Be done.
  • the abnormality may be detected by determining whether or not the drive control of the joint unit 130 is stable based on the detected value of the torque by the torque sensor 183. Specifically, frequency analysis is performed on the detected torque value using, for example, fast Fourier transform (FFT), and an abnormal frequency component is detected from the result of the frequency analysis, an abnormality is detected. You may This is because when an abnormal frequency component is detected from the detected torque value, it is indicated that the control is not stable and there is a possibility of oscillation.
  • FFT fast Fourier transform
  • the abnormality for example, calculation conditions are set such that the calculation of the control amount is performed with a lower gain, and the abnormality avoiding operation in which the drive of the arm unit 120 is controlled in a more stable control system is performed. It can be done.
  • a partial function stop operation may be performed in which the arm unit 120 is driven by another joint unit 130 other than the joint unit 130 in which the abnormality is detected.
  • the abnormality of the joint unit 130 may be detected based on the detected value of the rotation angle of the motor 181 and / or the output shaft 186 by the motor angle sensor 184a and / or the output shaft angle sensor 184b.
  • the detection value by the motor angle sensor 184a and the detection value by the output shaft angle sensor 184b should be in a proportional relationship via the reduction gear ratio of the reduction gear 185. Therefore, when the proportional relationship between the detection value by the motor angle sensor 184a and the detection value by the output shaft angle sensor 184b is broken, any of the motor 181, the reduction gear 185, the motor angle sensor 184a and the output shaft angle sensor 184b. There is a possibility that a problem has occurred.
  • the motor 181 does not change the detected value by the motor angle sensor 184a. Or the motor angle sensor 184a may be broken.
  • the motor 181 does not change the value detected by the output shaft angle sensor 184b.
  • the reduction gear 185 and the output shaft angle sensor 184b is broken.
  • a partial function stop operation may be performed in which the arm unit 120 is driven by another joint unit 130 other than the joint unit 130 in which the abnormality is detected.
  • the abnormality of the joint unit 130 may be detected based on the detection value of the current supplied to the motor 181 by the current sensor 182. For example, when the overcurrent is detected by the current sensor 182, if the motor 181 is broken (shorted) or the control is unstable, the overcurrent flows and the overcurrent continues to be applied. The motor 181 may be broken. Further, if a large deviation occurs between the amount of current given as the command value and the detected value of the current by the current sensor 182, a failure of the motor driver unit 170 is suspected. If it is difficult to normally drive the motor 181 when an abnormality based on the detected value of the current is detected as an abnormality of the joint unit 130, desired drive control should be performed on the joint unit 130. Is considered difficult. Therefore, when such an abnormality is detected, a partial function stop operation may be performed in which the arm unit 120 is driven by another joint unit 130 other than the joint unit 130 in which the abnormality is detected.
  • the abnormality of the joint unit 130 may be detected based on the detection value of the temperature around the motor 181 by the temperature sensor 187. For example, when the temperature around the motor 181 is much higher than that of other configurations around the motor driver unit 170 and the like, the temperature sensor 187 or the motor 181 may be broken. If an abnormality based on such a detected temperature value is detected as an abnormality of the joint 130, the motor 181 may perform an abnormal operation, so an abnormality is detected from the viewpoint of safety. It is desirable for the joint 130 to stop driving. Therefore, when such an abnormality is detected, a partial function stop operation may be performed in which the arm unit 120 is driven by another joint unit 130 other than the joint unit 130 in which the abnormality is detected.
  • an abnormality of the joint unit 130 may be detected based on the communication state of the communication unit 150. For example, when the communication by the communication unit 150 is stopped due to any cause, the joint unit 130 can not receive information on the control amount calculated by the control device 20. As a result, drive control based on whole-body coordinated control can not be performed. Therefore, when such an abnormality is detected, a function stop operation of stopping the operation of the arm unit 120 may be performed.
  • the joint unit 130 may be provided with a brake mechanism for stopping the driving of the motor 181.
  • the brake mechanism may control the rotation angle of the motor 181 in a controlled manner, may mechanically stop the driving of the motor 181, or may electrically drive the motor driver unit 170. It may cut off the supply of current to the motor 181. For example, when the detected value of either the motor angle sensor 184a or the output shaft angle sensor 184b changes although the brake mechanism is operated, the brake mechanism is broken and the brake is applied. There may not be a situation occurring.
  • the types of abnormalities that can be detected in the present embodiment have been illustrated.
  • the abnormality detection process according to the present embodiment is not limited to the above-described example, and various types of information for detecting an abnormality (for example, detection values by each sensor of the actuator 180 (a joint detected by the joint state detection unit 132) Other abnormality based on the information on the state of the unit 130, the information on drive control of the joint unit 130, the information on the command value transmitted to the joint unit 130, the information on the communication state of the joint unit 130, etc. May be detected.
  • the transition to these operations is merely an example, and the correspondence between each abnormality and the operation Is not necessarily limited to those described above.
  • it is appropriately set whether to shift to which operation when each abnormality is detected. May be done.
  • the abnormality detection processing according to the present embodiment has been described above.
  • an abnormality is detected for each joint unit 130 based on various types of information for detecting an abnormality. Therefore, it is possible to identify the joint unit 130 in which the abnormality has occurred, and to execute an operation using the joint unit 130 other than the joint unit 130 where the abnormality is detected, such as a partial function stop operation. Become. Further, in the present embodiment, it is possible to detect which component of the joint unit 130 is broken according to what information is used to detect an abnormality. Therefore, for example, it is possible to select an operation to be performed by the arm unit 120 according to the component in which the failure is detected.
  • transition to the function stop operation may be performed.
  • the type of abnormality can be determined in detail, and the operation to be performed by the arm unit 120 can be performed. It becomes possible to select more appropriately.
  • the abnormality avoiding operation the drive of the joint unit 130 is controlled in a state where a predetermined restriction is provided for the movement of the arm unit 120, and the arm unit 120 is driven to avoid the abnormality.
  • the predetermined restriction may be restriction such that the arm unit 120 is driven to avoid the detected abnormality.
  • the predetermined limitation may be a numerical limitation on the torque (generated torque and external torque) at each joint 130 of the arm 120 and the rotational angle, rotational angular velocity, and rotational angular acceleration of each joint 130. This prevents, for example, the arm unit 120 and the tip unit 145 from colliding with the operator or the patient with excessive force and speed.
  • FIGS. 9 and 10 are explanatory diagrams for explaining the abnormality avoiding operation based on the torque in the joint unit 130.
  • FIG. 9 and 10 are explanatory diagrams for explaining the abnormality avoiding operation based on the torque in the joint unit 130.
  • FIG. 9 illustrates how a predetermined treatment is performed on the patient 320 by the arm unit 310 of the robot arm device.
  • a plurality of links 312a to 312f are connected to each other by a plurality of joint units 311a to 311f.
  • the arm unit 310 can be driven by controlling the rotational drive of each of the joint portions 311a to 311f.
  • a distal end unit 313 is provided at the distal end of the arm unit 310, and various treatments are performed on the patient 320 by the distal end unit 313.
  • the tip unit 313 is an endoscope, which is inserted into the body cavity of the patient 320, observes the condition of the affected area in the body cavity, or performs various treatments on the affected area. Can.
  • the tip unit 313 has come in contact with the body (for example, an organ or the like) of the patient 320, for example, due to an erroneous operation by the operator. Due to the contact, the tip unit 313 is loaded with a reaction force F from the body of the patient 320 (that is, a pressing force F is generated in the tip unit 313), and the reaction force F is loaded. Torques ⁇ 1 to ⁇ 6 are loaded to the joint portions 311 a to 311 f.
  • a torque sensor is provided in each of the joints 311a to 311f, and an external torque loaded on each of the joints 311a to 311f can be detected by the torque sensor.
  • each joint 311 a-311 f may be controlled so as not to be performed.
  • the pressing force F by the tip unit 313 a value that does not reach the patient 320 is set as the exercise purpose.
  • no force more than the value set in the tip unit 313 is generated.
  • the external force F can be calculated based on the torques ⁇ 1 to ⁇ 6 of the joint portions 311 a to 311 f.
  • the torques ⁇ 1 to ⁇ 6 of the joint portions 311 a to 311 f are controlled so that the pressing force F by the tip unit 313 does not become equal to or more than the set value. Become. Therefore, in the present embodiment, when a torque value that can make the pressing force F equal to or greater than the set value is detected as the torques ⁇ 1 to ⁇ 6 , an abnormality is detected, and generation of such torque is prevented.
  • An abnormality avoidance operation can be performed by controlling the drive of each joint 311a-311f. Even when the tip unit 313 contacts an organ or the like of the patient 320 by performing the abnormality avoiding operation, the operation can be continued more safely without the organ being compressed by an excessive force. Is possible.
  • a different value may be set for each direction in which the force acts. For example, by setting a smaller value as the upper limit value of the force acting in the movement direction of the arm unit 310, the danger that may occur to the patient can be more appropriately avoided.
  • the arm unit 120 is moved in a state where the operator holds the tip unit 313.
  • the tip unit 313 is in contact with the body of the patient 320 (e.g., an organ, etc.)
  • a strain sensor for detecting a force (stress) at any part of the tip unit 313 closer to the tip than the part held by the operator.
  • the strain sensor can directly measure the reaction force F 2 from the body of the patient 320 (ie, the pressing force F 2 of the tip unit 313).
  • a strain sensor may be provided at a portion of the tip unit 313 held by the operator. By the strain sensor can measure the pressing force F 1 by the operator directly.
  • the abnormality avoiding operation based on the torque in the joint portions 311a to 311f has been described with reference to FIGS. 9 and 10.
  • the example described above describes the abnormality avoiding operation in which the pressing force on the patient 320 by the tip unit 313 is limited to a predetermined value or less, more generally, the arm 310 (including the tip unit 313) contacts
  • the abnormality avoiding operation may be performed on the pressing force applied to the external object. That is, in the present embodiment, the abnormality of the joint portions 311a to 311f is detected based on the torque generated in the joint portions 311a to 311f according to the pressing force applied to the external object when the arm portion 310 contacts.
  • the driving of the joint portions 311a to 311f is controlled, and the arm portion 310 is driven.
  • An anomaly avoidance operation may be performed.
  • the limitation of the pressing force is realized by limiting the torque at the joint portions 311a to 311f.
  • the abnormality avoiding operation may be performed by a method other than the method described above.
  • the following abnormality avoidance operation can be performed.
  • the abnormality avoiding operation may be performed by limiting the rotation angles of the joint portions 311a to 311f to a predetermined range.
  • the abnormality avoiding operation for example, when an abnormality of the joint portions 311a to 311f is detected based on the rotation angles of the joint portions 311a to 311f and the abnormality is detected, the rotation of the arm portion 310 is In a state where the angle is limited to a predetermined range, the driving of the joint portions 311a to 311f is controlled, and the arm portion 310 is driven.
  • the abnormality avoiding operation may be performed by limiting the rotational angular velocity of the joint portions 311a to 311f within a predetermined range.
  • the abnormality avoiding operation for example, when an abnormality in the joint portions 311a to 311f is detected based on the rotational angular velocity of the joint portions 311a to 311f and the abnormality is detected, the rotation relative to the movement of the arm portion 310 is performed. In a state where the angular velocity is limited to a predetermined range, the drive of the joint portions 311a to 311f is controlled, and the arm portion 310 is driven.
  • the rotational angular velocity may be limited to zero.
  • the joints 311a to 311f can only rotate at a very slow speed, thereby further reducing the risk of the arm 310 colliding with the operator or the patient. It becomes.
  • the arm unit 310 generates a force of a predetermined value or more, or a predetermined value or more, based on the torque, the rotation angle, the rotation angular velocity, etc. of the joints 311a to 311f. In order not to exercise at the speed of, the abnormal avoidance operation is performed. Therefore, it is possible to suppress the risk of the arm unit 310 colliding with the patient and the operator.
  • the abnormality avoiding operation based on the torque, the rotation angle, and the rotation angular velocity in the joint portions 311a to 311f has been described, but the present embodiment is not limited to such an example.
  • the abnormality avoiding operation may be performed based on other physical quantities that can represent the motion of the arm unit 310, such as rotational angular acceleration in the joint units 311a to 311f.
  • conditions under which the torques, angles and angular velocities at the joint portions 311a to 311f become the predetermined values or less are provided as the conditions imposed on the motion of the arm portion 310. Is not limited to such an example. Whether or not the value including the boundary is included may be arbitrary, and the condition may be such a condition that the torque, the angle and the angular velocity at the joint portions 311a to 311f become "smaller than a predetermined value".
  • the movement of the joint unit 130 in which the abnormality is detected is fixed so as not to rotate from a predetermined angle.
  • Fixation of the joint unit 130 in which the abnormality is detected may be realized by controllably fixing the rotation angle, or may be realized by a mechanical brake mechanism that stops the driving of the motor. It may be realized by an electrical mechanism that shuts off the current supplied to the motor.
  • the rotation angle may be controlled to a predetermined value for each joint unit 130, so the control is performed as so-called force control by whole body cooperative control.
  • the position control may be performed by the drive control unit 111 of the joint control unit 135 provided in each joint unit 130.
  • the drive control unit 111 can be controlled every 130, such control of the joint 130 by the drive control unit 111 can be suitably performed.
  • the joint unit 130 in which the abnormality is detected may not necessarily be fixed.
  • the drive control unit 111 of the joint unit 130 in which the abnormality is detected makes the viscosity of the joint unit 130 larger than that of the other joint units 130, whereby the joint unit 130 in which the abnormality is detected is autonomous.
  • the movement is fixed, but when an external force equal to or greater than a predetermined value is loaded, control is performed such that the position (angle) to be fixed is changed according to the external force. It is also good.
  • control can be suitably performed, for example, when an abnormality occurs in the communication between the robot arm device 10 and the control device 20 as described above, and full-body coordinated control can not be performed.
  • the joint unit 130 in which the control is performed is in a substantially fixed state, so to speak.
  • the control of the viscosity coefficient as described above may be realized, for example, by adjusting the amount of current supplied to the motor of the joint unit 130 by the drive control unit 111.
  • By performing such control even the joint unit 130 in which an abnormality is detected and the movement is fixed autonomously can change its rotation angle as needed, for example, It is also possible for a person to continue the treatment while moving the arm unit 120 directly.
  • the drive control unit 111 may stop the control of the joint unit 130 in which the abnormality is detected.
  • the joint unit 130 whose control has been stopped is difficult to rotate because the viscosity coefficient is larger (the reaction force is larger) than the other joint units 130, but the joint unit 130 freely rotates in response to an external force equal to or more than a predetermined value. It can act as one rotation part and can be regarded as being in a substantially fixed state.
  • the joint 130 in which an abnormality is detected is fixed or substantially fixed, and the degree of freedom of the joint 130 other than the fixed or substantially fixed joint 130 is
  • the driving of the arm unit 120 is controlled by using it.
  • a constraint condition that the joint unit 130 in which the abnormality is detected is fixed or substantially fixed is set by the calculation condition setting unit 242, and based on the constraint condition, the whole body cooperative control is performed.
  • the driving of the other joint unit 130 may be controlled by performing such calculation. For example, when the arm unit 120 has the required degree of freedom (for example, six degrees of freedom) to perform a desired operation, the constraint conditions as described above are imposed and the degree of freedom is reduced.
  • the position and posture of the arm unit 120 may be limited.
  • the position and orientation of the arm unit 120 can be controlled as much as possible using the remaining degrees of freedom.
  • treatment can be continued, and interruption of treatment or increase in treatment time can prevent the patient from being at risk.
  • one of the above-described process for fixing the joint unit 130 and the process for substantially fixing the joint unit 130 to each of the joint units 130 in which the abnormality is detected For example, it may be appropriately selected and executed according to the type of failure and the like.
  • one joint unit 130 is controllably fixed by the method described above according to the type of the failure, and the other joint units 130 are The control may be substantially fixed, and the other joints 130 may be substantially fixed by stopping control of the actuator in the above-described manner.
  • the process performed on the joint unit 130 in which the abnormality is detected may be different for each joint unit 130. For example, according to the type of failure and the like It may be selected appropriately for each joint portion 130.
  • the arm unit 120 may have redundant degrees of freedom.
  • the partial function stop operation according to the present embodiment may be suitably applied to the arm unit 120 having redundant degrees of freedom.
  • the degree of freedom required for the arm unit 120 to perform a desired operation is N degrees of freedom (N is any positive number).
  • N is any positive number.
  • the arm unit 120 in order to arbitrarily control the position and posture of the arm unit 120 in a three-dimensional space, it is basically required that the arm unit 120 have six or more degrees of freedom.
  • the arm unit 120 has more than N degrees of freedom (for example, N + 1 degrees of freedom), it can be said that the arm unit 120 has redundant degrees of freedom.
  • the arm unit 120 having redundant degrees of freedom a part of the function stopping operation is performed, and even if the degree of freedom is lowered, a desired one is obtained by the joints 130 other than the joint 130 where the abnormality is detected.
  • the degree of freedom of N degrees or more which is the degree of freedom is secured.
  • drive control of the arm unit 120 is continued in a state where a desired degree of freedom is secured. As a result, safer continuation of the treatment becomes possible.
  • the internal model may be switched by the calculation condition setting unit 242.
  • the arm unit 120 having redundant degrees of freedom normally, by virtually fixing the movement of a predetermined joint unit 130, it has virtually the minimum required degree of freedom (for example, N degrees of freedom)
  • the drive control may be performed after being regarded as the arm unit 120.
  • the position of the fixed joint unit 130 may change, so the internal model may also change. Therefore, for example, a plurality of internal models corresponding to the case where each joint unit 130 is fixed are prepared in advance, and an appropriate internal model is selected according to the joint unit 130 in which the abnormality is detected. A stalling operation may be performed.
  • the partial function stop operation according to the present embodiment has been described above.
  • driving of the joint units 130 other than the joint unit 130 in which the abnormality is detected is controlled.
  • driving of the arm unit 120 is performed with the degree of freedom lowered.
  • the driving of the arm unit 120 is continued as much as possible using the remaining degrees of freedom.
  • the procedure can be continued and the risk to the patient can be reduced.
  • the arm unit 120 may have redundant degrees of freedom.
  • the arm unit 120 is originally required to perform a desired operation even if the degree of freedom decreases.
  • the driving of the arm unit 120 can be continued more stably because only freedom can be secured. Therefore, safer continuation of treatment is possible.
  • the motions of all the joint units 130 constituting the arm unit 120 may be fixed.
  • the rotation angles of all the joint units 130 constituting the arm unit 120 are fixed at a predetermined angle (for example, an angle at the moment when the function stop operation is performed).
  • a predetermined angle for example, an angle at the moment when the function stop operation is performed.
  • Fixation of each joint portion 130 may be realized by controllably fixing the rotation angle, may be realized by a mechanical brake mechanism that stops driving of the motor, or may be supplied to the motor. May be realized by an electrical mechanism that interrupts the current flow. Further, in the same manner as the fixation of the joint unit 130 described in the above (5-3. Partial function stopping operation), when the joint unit 130 is controlled in a controlled manner, the control is provided to each joint unit 130 The position control may be performed by the drive control unit 111 of the joint control unit 135. For example, when an abnormality occurs in the communication units 150 and 270 and the communication between the control device 20 and the robot arm device 10 is interrupted, each joint unit 130 receives the control value calculated by the control device 20. Therefore, such control for fixing the angle for each joint unit 130 can be suitably performed by the joint control unit 135.
  • joint unit 130 when the joint unit 130 is fixed in a controlled manner, its rotation is fixed autonomously, but, for example, when an external force equal to or more than a predetermined value is loaded, it rotates according to the external force. Control may be performed such that the fixed position (angle) is changed. By performing such control, it is possible to change the rotation angle of the fixed joint unit 130 as necessary even when the joint unit 130 is fixed. For example, while the operator directly moves the arm unit 120 It will also be possible to continue the treatment.
  • the robot arm device 10 may further include a power storage device such as a battery.
  • a power storage device such as a battery.
  • the joint portion 130 be fixed by the mechanical brake mechanism in the case where an abnormality such as the interruption of the power supply occurs.
  • the motor of each joint unit 130 can not be driven to maintain the position and posture of the arm unit 120, so that the arm unit when each joint unit 130 is mechanically fixed.
  • the robot arm apparatus 10 may be provided with a counterbalance for supporting the arm unit 120.
  • the function stop operation according to the present embodiment has been described above.
  • the motions of all the joint units 130 that constitute the arm unit 120 are fixed. Therefore, it is possible to prevent the operator and the patient from being in danger by unintended movement of the arm unit 120 simultaneously with, for example, a malfunction.
  • the fixation of the joint unit 130 may be performed by position control by the joint control unit 135 for each joint unit 130.
  • the rotation of each joint unit 130 is autonomously fixed, but, for example, when an external force equal to or greater than a predetermined value is loaded, the position (angle) at which it rotates and is fixed according to the external force. Since it is possible to perform control such that is changed, it is possible for the operator to continue the treatment while directly moving the arm unit 120, thereby further improving the safety of the patient.
  • the occurrence of an abnormality and the type of the abnormality can be accurately detected for each joint unit 130. Further, according to the type of the abnormality, any operation of the abnormality avoiding operation, the partial function stopping operation and the function stopping operation is performed so that the driving of the arm unit 120 is continued as much as possible while securing the safety. The choice is made. Thus, according to the present embodiment, the above ⁇ 1.
  • position control and force control are known as a control method of the robot apparatus and each joint.
  • position control for example, a command value such as an angle is given to an actuator of the joint unit, and drive of the joint unit is controlled to follow the command value.
  • force control a target value of force to be applied to the work target is given as the entire robot apparatus, and drive of the joint (for example, torque generated by the joint) is controlled to realize the force indicated by the target value. Be done.
  • position control is sometimes referred to as "hard control” because it is difficult to respond flexibly to external forces, and it performs tasks while performing physical interactions with various external worlds (for example, human-physical interaction).
  • force control is a control method that is particularly suitable for a robot device that performs physical interaction, because it can realize "soft control” in force order while the system configuration becomes complicated, and a control method with better usability. It can be said.
  • a balance type arm (support arm) provided with various medical units (tip unit) at the tip of the arm part Attempts have been made to use
  • various imaging devices having an imaging function such as a microscope, an endoscope, and a camera are provided at the tip of the arm portion of the balance type arm, and a practitioner (user) observes an image of a surgical site photographed by the imaging device. The method of doing various treatment is proposed.
  • the balance type arm needs to have a counter balance weight (also referred to as a counter weight or a balancer) to balance the force when moving the arm portion, the device tends to be large. is there. From the viewpoint of securing a working space at the time of treatment, further miniaturization of the device used for the treatment is required, and it is difficult to meet such a requirement with a commonly proposed balance type arm Met.
  • a counter balance weight also referred to as a counter weight or a balancer
  • a medical robot arm apparatus whose drive is controlled by position control has also been proposed as an apparatus replacing the balance type arm.
  • the position and orientation of the imaging unit provided as an arm unit and a tip unit by the user are more intuitively controlled. Higher operability was required.
  • the robot arm device capable of performing drive control of an arm portion with higher stability and higher operability.
  • the robot arm device has the above-mentioned ⁇ 1.
  • the following performances are required.
  • FIG. 11 is an explanatory diagram for describing an application example when the robot arm device according to an embodiment of the present disclosure is used for medical use.
  • FIG. 11 schematically shows the state of treatment using the robot arm apparatus according to the present embodiment.
  • a doctor who is a practitioner (user) 520 uses a surgical instrument 521 such as a scalpel, forceps, forceps, etc. to operate on the treatment table 530 (patient).
  • a surgical instrument 521 such as a scalpel, forceps, forceps, etc.
  • the term "treatment” is a generic term for various medical treatments such as surgery and examination, which the doctor who is the user 520 performs on the patient who is the treatment target 540.
  • 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 various other operations such as an endoscope may be used. It may be an examination etc.
  • a robot arm apparatus 510 is provided beside the treatment table 530.
  • the robot arm device 510 includes a base portion 511 which is a base and an arm portion 512 extending from the base portion 511.
  • the arm unit 512 includes a plurality of joints 513 a, 513 b, and 513 c, a plurality of links 514 a and 514 b connected by the joints 513 a and 513 b, and an imaging unit 515 provided at the tip of the arm 512.
  • the arm 512 has three joints 513a to 513c and two links 514a and 514b, but in actuality, the positions of the arm 512 and the imaging unit 515, and
  • the number and shape of the joints 513a to 513c and the links 514a and 514b, the direction of the drive shaft of the joints 513a to 513c, and the like may be appropriately set so as to realize the desired degree of freedom in consideration of the degree of freedom of the posture. .
  • the joint units 513a to 513c have a function of rotatably connecting the links 514a and 514b to each other, and the drive of the arm unit 512 is controlled by driving the rotation of the joint units 513a to 513c.
  • the position of each component of the robot arm device 510 means the position (coordinates) in a space defined for drive control
  • the posture of each component is a drive. It means the orientation (angle) with respect to any axis in the space defined for control.
  • driving (or drive control) of the arm unit 512 means driving (or drive control) of the joints 513a to 513c and driving (or drive control) of the joints 513a to 513c. It means that the position and posture of each component of the arm unit 512 are changed (change is controlled).
  • an imaging unit 515 is provided at the tip of an arm 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 robot arm apparatus 510 shoots the posture and position of the arm unit 512 and the imaging unit 515 so that the imaging unit 515 provided at the tip of the arm unit 512 captures an image of the treatment site of the operation target 540. Is controlled.
  • the tip unit provided at the tip of the arm unit 512 is not limited to the imaging unit 515, and may be various medical instruments.
  • the robot arm apparatus 510 is a medical robot arm apparatus provided with a medical instrument.
  • a stereo camera having two imaging units may be provided at the tip of the arm unit 512, and imaging may be performed so as to display an imaging target as a three-dimensional image (3D image).
  • a robot arm device 510 provided with an imaging unit 515 for photographing a treatment site and a camera unit such as the stereo camera as a tip unit is also referred to as a robot arm device for a video microscope.
  • a display device 550 such as a monitor or a display is installed.
  • the photographed image of the treatment site photographed 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 photographed image of the treatment site displayed on the display screen of the display device 550.
  • the robot arm device 510 is required to have the following performance, for example.
  • the robot arm device 510 is required to secure a work space in surgery. While the user 520 is performing various treatments on the treatment target 540, if 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 surgery Leading to a decrease in Also, although not shown in FIG. 11, at an actual operation site, a plurality of other doctors who perform various support tasks such as handing the tool to the user 520 and confirming various vital signs of the patient 540 Since a nurse or the like is generally present around the user 520 and the patient 540, and there are other devices and the like for performing the support work, 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 has a request to observe the same operation site from various positions and angles while performing treatment on the operation site.
  • the angle at which the treatment site is observed it is necessary to change the angle of the imaging unit 515 with respect to the treatment site, but at this time the imaging direction of the imaging unit 515 remains fixed at the treatment site (that is, the same site). It is more desirable that only the shooting angle changes.
  • the imaging unit 515 moves in the plane of the cone with the treatment site at the top, pivoting operation with the axis of the cone as the pivot axis (
  • the robot arm device 510 is required to have a more flexible operability such as the pivoting motion).
  • the pivoting operation is also referred to as a point lock operation.
  • the imaging unit 515 in order to change the position and angle of the imaging unit 515, it is conceivable to move the imaging unit 515 to a desired position and angle, for example, by the user 520 manually moving the arm unit 512. Therefore, it is desirable that the movement of the imaging unit 515, the above-mentioned pivoting movement, and the like have operability that can be easily performed with one hand, for example.
  • the imaging center of the captured image captured by the imaging unit 515 is changed from the site being treated to another site (for example, the site to be subjected to the next treatment)
  • another site for example, the site to be subjected to the next treatment
  • various methods of driving the arm unit 512 such as a method of controlling the
  • the robot arm device 510 is required to have high operability that meets the intuition and desires of the user 520, for example, to realize easy pivoting movement and manual movement described above.
  • the robot arm device 510 is required to have stability in drive control of the arm unit 512.
  • the stability to the drive control of the arm unit 512 may be the stability of the position and posture of the tip unit when the arm unit 512 is driven.
  • the stability to the drive control of the arm unit 512 includes smooth movement of the tip unit when the arm unit 512 is driven and suppression of vibration (vibration suppression). For example, when the tip unit is the imaging unit 515 as in the example shown in FIG. 11, if the position and the attitude of the imaging unit 515 are not stable, the captured image displayed on the display screen of the display device 550 is not stable. May cause the user to feel uncomfortable.
  • a stereo camera having two imaging units (camera units) is provided as a tip unit, and a three-dimensional image generated based on an image captured by the stereo camera
  • a method of use may be envisaged in which the 3D image is displayed on the display 550.
  • the 3D image is displayed, if the position or posture of the stereo camera is unstable, so-called 3D sickness of the user may be induced.
  • the observation range captured by the imaging unit 515 may be expanded to about ⁇ 15 mm depending on the site to be operated and the content of the operation.
  • the imaging unit 515 when the imaging unit 515 enlarges and captures an image in a narrow range, a slight vibration of the imaging unit 515 appears as a large shaking or blurring of a captured image. Therefore, high positioning accuracy of about 1 mm is required for driving control of the arm unit 512 and the imaging unit 515. As described above, in the drive control of the arm unit 512, high-accuracy response and high positioning accuracy are required.
  • the inventors examined a general existing balance type arm and a robot arm device by position control from the viewpoint of the above three performances.
  • a counterbalance weight both counterweight and balancer
  • a counterbalance weight is usually used to balance the force when moving the arm part. Since it is provided inside the base portion etc., it is difficult to miniaturize the size of the device of the balance type arm, and it can not be said that the performance is satisfied.
  • the present inventors have studied the above-mentioned ⁇ 1.
  • the various performances obtained from the viewpoint of the safety described in the discussion on the safety of the robot arm device it has been found that the above three requirements for the performance exist.
  • the present inventors considered the robot arm apparatus, the robot arm control system, the robot arm control method, and the program according to the embodiments described below as a result of examining the configuration further satisfying the three performances described above.
  • an embodiment conceived by the present inventors will be described in detail.
  • the drive of a plurality of joints provided in the robot arm device is controlled by whole-body cooperative control using generalized inverse dynamics. Furthermore, ideal joint control that realizes an ideal response to a command value by correcting the influence of disturbance is applied to drive control of the joint.
  • the distal end unit of the arm unit of the robot arm device is an imaging unit, and as illustrated in FIG.
  • 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 another application.
  • FIG. 12 is a schematic view showing an appearance of a robot arm apparatus according to an embodiment of the present disclosure.
  • a robot arm apparatus 400 includes a base unit 410 and an arm unit 420.
  • the base portion 410 is a base of the robot arm device 400, and the arm portion 420 is extended from the base portion 410.
  • a control unit that integrally controls the robot arm apparatus 400 may be provided in the base unit 410, and the driving of the arm unit 420 may be controlled by the control unit.
  • the control unit is composed of, for example, various signal processing circuits such as a central processing unit (CPU) and a digital signal processor (DSP).
  • the arm unit 420 includes a plurality of joints 421a to 421f, a plurality of links 422a to 422c mutually connected by the joints 421a to 421f, and an imaging unit 423 provided at the tip of the arm 420.
  • the links 422a to 422c are rod-like members, one end of the link 422a is connected to the base portion 410 via the joint portion 421a, the other end of the link 422a is connected to one end of the link 422b via the joint portion 421b, The other end of the link 422b is connected to one end of the link 422c via the joints 421c and 421d. Furthermore, the imaging unit 423 is connected to the tip of the arm 420, that is, the other end of the link 422c via the joints 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, whereby an arm shape extended from the base portion 410 is configured.
  • the imaging unit 423 is a unit that acquires an image of an imaging target, 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 posture of the imaging unit 423 are controlled. In the present embodiment, the imaging unit 423 captures, for example, a partial region of the patient's body, which is a treatment site.
  • 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 a tip unit.
  • the robot arm apparatus 400 according to the present embodiment can be said to be a medical robot arm apparatus provided with a medical instrument.
  • the robot arm apparatus 400 will be described by defining coordinate axes as shown in FIG. Also, according to the coordinate axes, the vertical direction, the longitudinal direction, and the horizontal direction are defined. That is, the vertical direction with respect to the base portion 410 installed on the floor surface is defined as the z-axis direction and the vertical direction. In addition, a direction perpendicular to the z axis and a direction in which the arm unit 420 is extended from the base unit 410 (that is, a direction in which the imaging unit 423 is positioned with respect to the base unit 410) It defines as the front and back direction. Furthermore, directions orthogonal to the y-axis and z-axis are defined as x-axis direction and left-right direction.
  • the joints 421a to 421f pivotally connect the links 422a to 422c to each other.
  • the joint portions 421a to 421f have an actuator, and have a rotation mechanism that is rotationally driven about a predetermined rotation axis by driving the actuator.
  • By controlling the rotational drive in each of the joint portions 421a to 421f it is possible to control the drive of the arm portion 420, such as extending or contracting (folding) the arm portion 420, for example.
  • joints 421a to 421f are ideal joints described later in (6-2-3. Ideal joint control) and whole body coordinated control described later in (6-2-2. Generalized inverse dynamics) (described later). The control controls the drive.
  • the drive control of the joints 421a to 421f specifically refers to the joints 421a to 421f. It means that the rotation angle and / or the generated torque (torques generated by the joints 421a to 421f) are controlled.
  • the robot arm apparatus 400 has six joint portions 421a to 421f, and six degrees of freedom are realized with respect to driving of the arm portion 420. Specifically, as shown in FIG. 12, with the joints 421a, 421d, and 421f, the long axis direction of each of the connected links 422a to 422c and the imaging direction of the connected imaging unit 473 are taken as the rotational axis direction.
  • the joint portions 421b, 421c, and 421e are connected in the yz plane (a plane defined by the y-axis and the z-axis) with respect to the connection angle of each of the connected links 422a to 422c and the imaging unit 473.
  • the x axis direction which is the direction to be changed, is set as the rotation axis direction.
  • the joints 421a, 421d, and 421f have a function of performing so-called yawing
  • the joints 421b, 421c, and 421e have a function of performing so-called pitching.
  • the robot arm apparatus 400 achieves six degrees of freedom with respect to the drive of the arm unit 420. Therefore, the imaging unit within the movable range of the arm unit 420 You can move the 423 freely.
  • a hemisphere is illustrated as an example of the movable range of the imaging unit 423. Assuming that the central 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 with the imaging center of the imaging unit 423 fixed at the central point of the hemisphere. By doing this, the treatment site can be photographed from various angles.
  • the configuration of the joints 421a to 421f shown in FIG. 12 will be described in more detail with reference to FIG.
  • the configuration of an actuator that is mainly related to rotational driving of the joint portions 421a to 421f will be described.
  • the actuator shown in FIG. 13 may correspond to the actuator 180 shown in FIGS.
  • FIG. 13 is a cross-sectional view schematically showing a state in which the actuators of the joint portions 421a to 421f according to an embodiment of the present disclosure are cut at a cross section passing through the rotation axis.
  • the joint portions 421a to 421f may have other configurations.
  • the joint units 421 a to 421 f may be, for example, a control unit for controlling the drive of the actuator, or a support member for connecting and supporting the links 422 a to 422 c and the imaging unit 423. It has various configurations necessary for driving the arm unit 420.
  • driving of the joint of the arm may mean driving of an actuator in the joint.
  • the drive of the joints 421a to 421f is controlled by the ideal joint control described later in (6-2-3. Ideal joint control). Therefore, the actuators of the joint portions 421a to 421f shown in FIG. 13 are configured to be able to drive corresponding to the ideal joint control. Specifically, the actuators of the joint portions 421a to 421f are configured to be able to adjust the rotation angle of the joint portions 421a to 421f and the torque associated with the rotational drive.
  • the actuators of the joint portions 421a to 421f are configured to be able to arbitrarily adjust the viscous drag coefficient with respect to rotational movement, and for example, are easy to rotate with respect to externally applied force (that is, the arm portion 420 is manually operated A state in which movement is easy) and a state in which rotation is difficult (that is, it is difficult to manually move the arm portion 420) can be realized.
  • the actuator 430 of the joints 421a to 421f includes a motor 424, a motor driver 425, a reduction gear 426, an encoder 427, a torque sensor 428, and a drive shaft 429.
  • the encoder 427, the motor 424, the reduction gear 426 and the torque sensor 428 are connected in series to the drive shaft 429 in this order.
  • the motor 424, the motor driver 425, the reduction gear 426, the encoder 427 and the torque sensor 428 correspond to the motor 181, the motor driver unit 170, the reduction gear 185, the motor angle sensor 184a and the torque sensor 183 shown in FIG. It may be.
  • Motor 424 is the prime mover in actuator 430 and rotates drive shaft 429 about its axis.
  • the motor 424 is an electric motor such as a brushless DC motor.
  • the rotational driving of the motor 424 is controlled by being supplied with an electric current.
  • the motor driver 425 is a driver circuit (driver IC (Integrated Circuit)) that rotationally drives the motor 424 by supplying a current to the motor 424, and adjusts the amount of current supplied to the motor 424 to rotate the motor 424. You can control the number. In addition, the motor driver 425 can adjust the viscous drag coefficient with respect to the rotational movement of the actuator 430 as described above by adjusting the amount of current supplied to the motor 424.
  • driver IC Integrated Circuit
  • the reduction gear 426 is connected to the drive shaft 429 and generates a rotational drive force (i.e., torque) having a predetermined value by decelerating the rotational speed of the drive shaft 429 generated by the motor 424 at a predetermined reduction ratio.
  • a rotational drive force i.e., torque
  • the reduction gear 426 may be a harmonic drive (registered trademark).
  • the torque generated by the reduction gear 426 is output via a torque sensor 428 connected to the output shaft of the reduction gear 426 (not shown, for example, connecting members such as the links 422 a to 422 c and the imaging unit 423) Transmitted to
  • the encoder 427 is connected to the drive shaft 429 and detects the number of rotations of the 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 reduction gear 426, information such as the rotational angle, rotational angular velocity and rotational angular acceleration of the joints 421a to 421f can be obtained.
  • the encoder 427 is provided on the drive shaft 429, that is, the rotation shaft of the motor 424, but the present embodiment is not limited to this example.
  • an encoder for detecting the rotation angle of the output shaft may be further provided downstream of the reduction gear 426.
  • the torque sensor 428 is connected to the output shaft of the reduction gear 426 and detects the torque generated by the reduction gear 426, that is, the torque output by the actuator 430.
  • the torque output by the actuator 430 is also 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 gear ratio of the reduction gear 426 may be appropriately set according to the application of the robot arm device 400. Therefore, the generated torque can be controlled by appropriately adjusting the number of rotations of the motor 424 in accordance with the reduction gear ratio of the reduction gear 426.
  • information such as the rotation angle, rotation angular velocity, and rotation angular acceleration of the joint portions 421a to 421f can be obtained. Thus, it is possible to detect the generated torque at the joint portions 421a to 421f.
  • the torque sensor 428 can detect not only the torque generated by the actuator 430 but also an external torque applied from the outside. Therefore, by adjusting the amount of current supplied to the motor 424 by the motor driver 425 based on the external torque detected by the torque sensor 428, it is possible to adjust the viscous drag coefficient for the rotational movement as described above, for example It is possible to realize a state in which it is easy to rotate or a state in which it is difficult to rotate with respect to a force applied from the outside.
  • FIG. 14A is a schematic view schematically showing the torque sensor 428 shown in FIG. 13 as 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 disposed concentrically.
  • the inner ring portion 432 is connected to the input side, ie, the output shaft from the reduction gear 426, and the outer ring portion 431 is connected to the output side, ie, an output member (not shown) at the subsequent stage.
  • the four beam portions 433a to 433d are disposed 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. 14A, the beam portions 433a to 433d are interposed between the outer ring portion 431 and the inner ring portion 432 such that adjacent beam portions 433a to 433d form an angle of 90 degrees with each other.
  • Strain detection elements 434a to 434d are provided on two of the beam portions 433a to 433d facing each other, that is, provided at an angle of 180 degrees.
  • the generated torque and the external torque of the actuator 430 can be detected based on the amount of deformation of the beam portions 433a to 433d detected by the strain detection elements 434a to 434d.
  • strain detection elements 434a and 434b are provided to the beam portion 433a, and strain detection elements 434c and 434d are provided to the beam portion 433c.
  • the strain detection elements 434a and 434b are provided to sandwich the beam portion 433a, and the strain detection elements 434c and 434d are provided 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 to detect the amount of geometric deformation of the beam portions 433a and 433c based on a change in electrical resistance. As shown in FIG.
  • the detection elements 434a to 434d constitute a so-called Wheatstone bridge. Therefore, since distortion can be detected using a so-called four-gauge method, it is possible to reduce the influence of interference of the other axes other than the axis for detecting distortion, eccentricity of the drive shaft 429, temperature drift and the like.
  • the beam portions 433a to 433d play a role of a strain generating body for detecting distortion.
  • the types of 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 the amount of deformation of the beam portions 433a to 433d based on a change in magnetic characteristics.
  • the configuration described below may be applied.
  • the support moment is released by thinning the portions of the beam portions 433a to 433d connected to the outer ring portion 431 compared to other portions, so that the linearity of the detected deformation is improved and the radial load is improved.
  • a double-supported bearing may be provided 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. 14A. As described above, the configuration of the torque sensor 428 shown in FIG. 14A enables highly accurate detection in detection of the generated torque and the external torque of the actuator 430.
  • the configuration of the torque sensor 428 is not limited to the configuration shown in FIG. 14A, and may be another configuration.
  • a torque sensor applied to the actuator 430 an example of another configuration other than the torque sensor 428 will be described with reference to FIG. 14B.
  • FIG. 14B is a schematic view showing another configuration example of the torque sensor applied to the actuator 430 shown in FIG.
  • the torque sensor 428a according to the present modification includes an outer ring 441, an inner ring 442, beams 443a to 443d, and strain detection elements 444a to 444d.
  • FIG. 14B schematically shows the torque sensor 428a as viewed in the axial direction of the drive shaft 429, as in FIG. 14A.
  • 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 functions and configurations of the beam portions 433a to 433d and the strain detection elements 434a to 434d are substantially the same.
  • the torque sensor 428a according to the present 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. 14B, the configuration of the connection portion between the beam portions 443a to 443d and the outer ring portion 441, which is the difference from the torque sensor 428 shown in FIG. The explanation 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. 14B 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 shown enlarged.
  • the other three connection portions between the beam portions 443a, 443c and 443d and the outer ring portion 441 have the same configuration.
  • the outer ring portion 441 is provided with an engagement recess, and the tip end of the beam portion 443b is engaged with the engagement recess As a result, both are connected. Further, 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 two in the direction in which the beam portion 443b extends toward the outer ring portion 441, and the gap G2 represents the gap in the direction orthogonal to the direction.
  • the beam portions 443a to 443d and the outer ring portion 441 are separately disposed 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. Therefore, since the inner ring portion 442 is not restrained with respect to the outer ring portion 441 and has freedom of movement, distortion components due to the vibration can be obtained by combining the inner ring portion 442 and the outer ring portion 441 even if vibration occurs when driving the actuator 430, for example. Can be absorbed by the gaps G1, G2 between them. Therefore, by applying the torque sensor 428a as a torque sensor of the actuator 430, more accurate detection of the generated torque and the external torque is realized.
  • the configuration of the actuator 430 corresponding to the ideal joint control as shown in FIGS. 13, 14A and 14B is, for example, Japanese Patent Application Laid-Open Nos. 2009-269102 and 2011, which are prior patent applications by the applicant of the present application. No. 209099 can be referred to.
  • the generalized inverse dynamics is an operation space (Operation Space) in a multi-link structure (for example, an arm 420 shown in FIG. 12 in the present embodiment) configured by connecting a plurality of links by a plurality of joints.
  • Operaation Space Operation Space
  • the operation space is an important concept in force control of a robot device.
  • the operation space is a space for describing the relationship between the force acting on the multilink structure and the acceleration of the multilink structure.
  • the operation space is, for example, a joint space, a Cartesian space, a momentum space or the like, which is a space to which the multilink structure belongs.
  • the exercise purpose represents a target value in drive control of the multilink structure, and is, for example, a target value such as position, velocity, acceleration, force, impedance, etc. of the multilink structure to be achieved by drive control.
  • the constraint conditions are constraints on the position, velocity, acceleration, force, and the like of the multilink structure, which are determined by the shape and structure of the multilink structure, the environment around the multilink structure, and settings by the user.
  • the constraint conditions include information on generated force, priority, presence / absence of non-drive joint, vertical reaction force, friction weight, support polygon and the like.
  • the computing algorithm is the first stage virtual force determination process (virtual force calculation process), and It consists of the real force conversion process (real force calculation process) which is two steps.
  • the virtual force which is a virtual force acting on the operation space, necessary for achieving each exercise purpose is taken into consideration while considering the priority of the exercise purpose and the maximum value of the imaginary force. decide.
  • the virtual force obtained above is used as the actual force such as joint force and external force, taking into consideration constraints on non-drive joints, vertical reaction forces, friction weights, support polygons, etc. Convert to realism that can be realized by the configuration of the link structure.
  • a vector constituted by certain physical quantities at each joint of the multilink structure is called 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 equation (1) using the time derivative value of the generalized variable q and the Jacobian J.
  • q is the rotation angle of the joint portions 421a to 421f of the arm portion 420.
  • equation (2) The equation of motion with respect to the operation space x is described by the following equation (2).
  • f represents a force acting on the operation space x.
  • ⁇ 1 is an operation space inertia inverse matrix
  • c is a 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 at joints 421a to 421f)
  • b is a term representing gravity, Coriolis force, and centrifugal force.
  • the LCP can be solved using, for example, the Iterative method, Pivot method, a method applying robust acceleration control, or the like.
  • the operation space inertia inverse matrix ⁇ ⁇ 1 and the bias acceleration c have large calculation costs when calculated according to the equations (3) and (4), which are definition equations. Therefore, calculation processing of the operation space inertia inverse matrix ⁇ -1 is applied by applying quasi-dynamics calculation (FWD) to obtain generalized acceleration (joint acceleration) from generalized force (joint force ⁇ ) of multi-link structure
  • FWD quasi-dynamics calculation
  • the multi-link structure such as the joint space q, the joint force ⁇ , the gravity g, etc.
  • the movement purpose relating to the position and velocity of the operation space x can be expressed as a target value of the operation space acceleration, and is specifically expressed by the following equation (7) (position of the operation space x
  • the target value of the velocity is expressed by superposing the first derivative of x and x with a superscript bar).
  • the concept of the decomposition operation space it is also possible to set the exercise purpose regarding the operation space (momentum, Cartesian relative coordinates, interlocking joint, etc.) represented by the linear sum of other operation spaces.
  • the operation space momentum, Cartesian relative coordinates, interlocking joint, etc.
  • the LCP can be solved in order of priority and from low priority, and the virtual force obtained by the LCP in the previous stage can be applied as a known external force of the LCP in the next stage.
  • the suffix a represents a set of drive joints (drive joint set), and the suffix u represents a set of non-drive joints (non-drive joint). That is, the upper part of the equation (8) represents the balance of the force of the space (non-driven joint space) by the non-driven joint, and the lower part represents the balance of the force of the space (drive joint space) by the driven joint.
  • J vu and J va are respectively a non-driven joint component of Jacobian and a driven joint component related to the operation space on which the virtual force f v acts.
  • J eu and J ea are non-driven joint components and driving joint components of the Jacobian relating to the operation space in which the external force fe acts.
  • ⁇ f v represents a component of the virtual force f v that can not be realized by real force.
  • Equation (8) The upper part of the equation (8) is undefined.
  • fe and ⁇ f v can be obtained by solving a quadratic programming problem (QP) as shown in the following equation (9).
  • is the difference between the upper and lower sides of the equation (8) and represents the equation error of the equation (8).
  • is a connection vector of fe and ⁇ f v and represents a variable vector.
  • Q 1 and Q 2 are positive definite symmetric matrices that represent weights at minimization.
  • the inequality constraint of the equation (9) is used to express a constraint condition regarding 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 a rectangular support polygon is expressed as the following equation (10).
  • z represents the normal direction of the contact surface
  • x and y represent orthogonal two-tangent directions perpendicular to z.
  • (F x, F y, F z) and (M x, M y, M z) is the external force and external force moment acting on the contact point.
  • ⁇ t and ⁇ r are friction coefficients related to translation and rotation, respectively.
  • (D x , d y ) represents the size of the support polygon.
  • I a is the moment of inertia (inertia) at the joints
  • ⁇ a is the generated torque of the joints 421 a to 421 f
  • ⁇ e is the external torque acting on the joints 421 a to 421 f from the outside
  • ⁇ a is each joint It is a viscous drag coefficient at 421a to 421f.
  • the above equation (12) can also be said to be a theoretical model that represents the motion of the actuator 430 at the joints 421a to 421f.
  • each operation is carried out using Generalized Inverse Dynamics to realize the purpose of the exercise using exercise purposes and restraint conditions. It is possible to calculate ⁇ a which is an actual force to be applied to the joint portions 421a to 421f. Therefore, ideally, by applying each calculated ⁇ a to the above equation (12), a response according to the theoretical model shown in the above equation (12) is realized, that is, the desired exercise purpose is achieved. It should be done.
  • an error may occur between the motions of the joint portions 421a to 421f and the theoretical model as shown in the above equation (12).
  • the modeling errors can be roughly classified into those due to mass properties such as weight, center of gravity, inertia tensor of multi-link structure, and causes due to friction, inertia, etc. inside joints 421 a to 421 f. .
  • the modeling error caused by the former mass property can be relatively easily reduced at the time of constructing a theoretical model by improving the accuracy of CAD (Computer Aided Design) data and applying the identification method.
  • modeling errors caused by friction, inertia, etc. in the latter joint portions 421a to 421f are caused by phenomena such as friction in the reduction gear 426 of the joint portions 421a to 421f, which are difficult to model.
  • a modeling error that can not be ignored during model construction may remain.
  • an error occurs between the value of inertia I a and viscosity resistance coefficient [nu a in the equation (12), and these values in the actual joints 421a ⁇ 421f.
  • the motions of the joint portions 421a to 421f may not respond according to the theoretical model shown in the above equation (12). Therefore, even when the real force ⁇ a , which is a joint force calculated by the generalized inverse dynamics, is applied, there may be a case where the exercise purpose which is the control target is not achieved.
  • the responses of the joint portions 421a to 421f are corrected to perform an ideal response according to the theoretical model shown in the above equation (12). Think about it.
  • ideal joint control is performed to control the drive of the joint unit so that the joint units 421a to 421f of the robot arm apparatus 400 perform an ideal response as shown in the above equation (12). It is called.
  • an actuator whose drive is controlled by the ideal joint control is also referred to as a virtualized actuator (VA) because an ideal response is performed.
  • VA virtualized actuator
  • FIG. 15 is an explanatory diagram for describing ideal joint control according to an embodiment of the present disclosure. Note that FIG. 15 schematically illustrates, in block form, a conceptual computing unit that performs various computations related to ideal joint control.
  • the actuator 610 schematically represents the mechanism of the actuator 430 shown in FIG. 13, and includes a motor (Motor) 611, a reduction gear (Reduction Gear) 612, an encoder (Encoder) 613 and a torque sensor (Torque).
  • the Sensor) 614 corresponds to the motor 424, the reduction gear 426, the encoder 427, and the torque sensor 428 (or the torque sensor 428a shown in FIG. 14B) shown in FIG. 13, respectively.
  • the response of the actuator 610 according to the theoretical model represented by the equation (12) means that the rotational angular acceleration of the left side is achieved when the right side of the equation (12) is given. It is nothing but Further, as shown in the above equation (12), the theoretical model includes the external torque term ⁇ e acting on the actuator 610. In this embodiment, the external torque ⁇ e is measured by the torque sensor 614 in order to perform ideal joint control. Further, in order to calculate the estimated disturbance value tau d is an estimate of the torque due to the disturbance on the basis of the rotation angle q of the actuator 610 as measured by the encoder 613 applies a disturbance observer 620.
  • a block 631 represents a computing unit that performs computations according to the ideal joint model of the joints 421a to 421f shown in the equation (12).
  • a block 631 receives the generated torque ⁇ a , the external torque ⁇ e , and the rotational angular velocity (first derivative of the rotational angle q) as input, and outputs a rotational angular acceleration target value (rotational target value q ref shown on the left side of the equation (12) Second-order derivative) can be output.
  • the generated torque ⁇ a calculated by the method described above (for 6-2-2. Generalized inverse dynamics) and the external torque ⁇ e measured by the torque sensor 614 are shown in block 631. It is input.
  • the rotational angular velocity (first-order derivative of the rotational angle q) is calculated by inputting the rotational angle q measured by the encoder 613 to a block 632 representing an arithmetic unit that performs differential operation.
  • the rotation angle acceleration target value by the block 631 is calculated.
  • the calculated rotational angular acceleration target value is input to block 633.
  • Block 633 represents a computing unit that calculates the 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 of the actuator 610.
  • the desired motion purpose should be achieved by causing the actuator 610 to generate the torque target value ⁇ ref , but as described above, the actual response is affected by disturbances and the like.
  • the disturbance estimated value ⁇ d is calculated by the disturbance observer 620, and the torque target value ⁇ ref is corrected using the disturbance estimated value ⁇ d .
  • the disturbance observer 620 The configuration of the disturbance observer 620 will be described. As shown in FIG. 15, the disturbance observer 620, and the torque command value tau, based on the rotational angular velocities calculated from the rotation angle q measured by the encoder 613, and calculates the estimated disturbance value tau d.
  • the torque command value ⁇ is a torque value to be finally generated in the actuator 610 after the influence of the disturbance is corrected. For example, if the disturbance estimated value tau d is not calculated, the torque command value tau is the torque target value tau ref.
  • the disturbance observer 620 is composed of a block 634 and a block 635.
  • a block 634 represents a computing unit that calculates the 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.
  • a block 634 performs a calculation represented by the transfer function J n s, that is, obtains a rotational angular acceleration by differentiating the rotational angular velocity, and further multiplies the calculated rotational angular acceleration by the nominal inertia J n.
  • the estimated value (torque estimated value) of the torque actually acting on the actuator 610 can be calculated.
  • the disturbance estimated value tau d is the value of the torque due to the disturbance is estimated.
  • the estimated disturbance value tau d is the torque command value tau before circumference of the control may be a difference between the estimated torque value in the present control.
  • the torque estimated value calculated by block 634 is based on the actual measured value, and the torque command value ⁇ calculated by block 633 is based on the ideal theoretical model of the joints 421a to 421f shown in block 631. Therefore, by taking the difference between the two, it is possible to estimate the influence of the disturbance which is not considered in the above theoretical model.
  • the disturbance observer 620 is provided with a low pass filter (LPF: Low Pass Filter) shown in block 635 in order to prevent the system from diverging.
  • LPF Low Pass Filter
  • the block 635 outputs only the low frequency component to the input value by performing the operation represented by the transfer function g / (s + g) to stabilize the system.
  • the difference between the estimated torque value calculated by block 634 and the torque command value ⁇ ref is input to block 635, and the low frequency component thereof is calculated as the estimated disturbance value ⁇ d .
  • a torque command value which is a torque value to be finally generated in the actuator 610 by performing feedforward control in which the disturbance estimated value ⁇ d calculated by the disturbance observer 620 is added to the torque target value ⁇ ref. ⁇ is calculated. Then, the actuator 610 is driven based on the torque command value ⁇ . Specifically, torque command value ⁇ is converted into a corresponding current value (current command value), and application of the current command value to motor 611 drives actuator 610.
  • 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 of the joints 421a to 421f for example, the joints 421a to 421f
  • Whole-body coordinated control is performed in which the generated torque value is calculated in consideration of the constraint condition.
  • correction is performed in consideration of the influence of disturbance on the generated torque value calculated by whole body cooperative control using the above-mentioned generalized inverse dynamics.
  • FIG. 16 is a functional block diagram showing a configuration example of a robot arm control system according to an embodiment of the present disclosure.
  • the configuration related to the control of the drive of the arm unit of the robot arm apparatus 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 whole-body coordinated control described in the above (6-2-2. Generalized inverse dynamics) and the ideal described in the above (6-2-3. Ideal joint control).
  • Various calculations in joint control are performed, and the drive of the arm unit of the robot arm apparatus 10 is controlled based on the calculation result.
  • an imaging unit 140 described later is provided in an arm unit of the robot arm device 10, and an image captured by the imaging unit 140 is displayed on the display screen of the display device 30.
  • the robot arm control system 1 shown in FIG. 16 corresponds to the robot arm control system 2 described with reference to FIG. 1, and the robot arm control system 2 is not shown in FIG.
  • the functional configuration relating to the drive control of the robot arm device 10 is illustrated again in detail.
  • the robot arm device 10 has an arm portion which is a multi-link structure composed of a plurality of joint portions and a plurality of links, and is provided at the tip of the arm portion by driving the arm portion within a movable range. Control the position and attitude of the tip unit.
  • the robot arm device 10 corresponds to the robot arm device 400 shown in FIG.
  • the robot arm apparatus 10 includes an arm control unit 110 and an arm unit 120.
  • the arm unit 120 also includes a joint unit 130 and an imaging unit 140.
  • the arm control unit 110 controls the robot arm apparatus 10 in an integrated manner and controls the drive of the arm unit 120.
  • the arm control unit 110 corresponds to the control unit (not shown in FIG. 12) described with reference to FIG.
  • the arm control unit 110 has a drive control unit 111, and the drive of the joint unit 130 is controlled by the control of the drive control unit 111, whereby the drive of the arm unit 120 is controlled.
  • 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 the 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.
  • the amount of current supplied to the motor in the actuator of the joint unit 130 controlled by the drive control unit 111 is the amount of current determined based on the calculation result in the control device 20.
  • the joint control unit 135 may be provided in each joint unit 130, and the drive of the joint unit 130 may be controlled by the joint control unit 135.
  • the arm unit 120 is a multi-link structure composed of a plurality of joints and a plurality of links, and the drive thereof is controlled by the control of the arm control unit 110.
  • the arm unit 120 corresponds to the arm unit 420 shown in FIG.
  • the arm unit 120 has a joint unit 130 and an imaging unit 140.
  • the structure of one joint part 130 is shown in figure as a representative of these joint parts.
  • the joint unit 130 pivotally connects the links with each other in the arm unit 120, and drives the arm unit 120 by the control of its rotational drive under the control of the arm control unit 110.
  • the joint 130 corresponds to the joints 421a to 421f shown in FIG.
  • the joint unit 130 also has an actuator, and the configuration of the actuator is the same as that shown in, for example, FIGS. 13, 14A and 14B.
  • the joint unit 130 includes a joint drive unit 131 and a joint state detection unit 132.
  • the joint drive unit 131 is a drive mechanism in an actuator of the joint unit 130, and the joint drive unit 131 drives the joint unit 130 to rotate.
  • the drive of the joint drive unit 131 is controlled by the drive control unit 111.
  • the joint drive unit 131 has a configuration corresponding to the motor 424 and the motor driver 425 shown in FIG. 13, and driving the joint drive unit 131 means that the current according to the command from the drive control unit 111 It corresponds to driving the motor 424 by an amount.
  • the joint state detection unit 132 detects the state of the joint unit 130.
  • the state of the joint unit 130 may mean the state of movement of the joint unit 130.
  • the state of the joint unit 130 includes information such as the rotational angle, rotational angular velocity, rotational angular acceleration, and generated torque of the joint unit 130.
  • the joint state detection unit 132 has 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. 13 and the torque sensors 428 and 428a shown in FIGS. 14A and 14B, respectively.
  • the joint state detection unit 132 transmits the detected state of the joint unit 130 to the control device 20.
  • the rotation is a function of mainly acquiring information representing the motion of the arm unit 120 as an example of the function of the joint state detection unit 132.
  • the angle detection unit 133 and the torque detection unit 134 are illustrated.
  • the joint state detection unit 132 may be configured by each sensor provided in the actuator 180 shown in FIG.
  • the rotation angle detection unit 133 may be configured by a motor angle sensor 184a and an output shaft angle sensor 184b shown in FIG.
  • the torque detection unit 134 may be configured by a torque sensor 183 shown in FIG.
  • the joint state detection unit 132 further has a function of detecting another physical quantity corresponding to each sensor of the actuator 180, such as a function of detecting current supplied to the motor and a function of detecting the temperature around the motor. You may
  • the imaging unit 140 is an example of a tip unit (corresponding to the tip unit 145 shown in FIG. 1) provided at the tip of the arm unit 120, and acquires an image to be photographed.
  • 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 capture 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 in two dimensions, and can obtain 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 image pickup unit 140 is actually provided at the tip of the arm section 120 in the robot arm apparatus 10 as in the case where the imaging unit 423 is provided at the tip of the arm section 420. ing.
  • a link is schematically illustrated between the joint unit 130 and the imaging unit 140 in which the imaging unit 140 is provided at the tip of the final link via the plurality of joint units 130 and the plurality of links. It is expressed by.
  • the tip unit provided at the tip of the arm unit 120 is not limited to the imaging unit 140.
  • various medical instruments may be connected to the tip of the arm unit 120 as a tip unit.
  • the medical instrument include various treatment instruments such as a scalpel and forceps, and units of various inspection apparatuses such as a probe of an ultrasonic examination apparatus, and various units used in the treatment.
  • a unit having an imaging function such as an imaging unit 140 shown in FIG. 16 or an endoscope or a microscope 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 is a medical robot arm control system.
  • the robot arm apparatus 10 shown in FIG. 16 is a robot arm apparatus for a video microscope provided with a unit having an imaging function as a tip unit.
  • a stereo camera having two imaging units (camera units) may be provided at the tip of the arm unit 120, and imaging may be performed so as to display an imaging target as a 3D image.
  • control device 20 includes an input unit 210, a storage unit 220, and a control unit 230.
  • the control unit 230 integrally controls the control device 20 and performs various calculations for controlling the drive of the arm unit 120 in the robot arm apparatus 10. Specifically, in order to control driving of the arm unit 120 of the robot arm apparatus 10, the control unit 230 performs various calculations in whole body cooperative control and ideal joint control.
  • the function and configuration of the control unit 230 will be described in detail below, but with regard to whole-body coordinated control and ideal joint control, the above (6-2-2. Generalized Inverse Dynamics) and the above (6-2-3. Ideal) will be described. Since the joint control has already been described, the detailed description will be omitted here.
  • the control unit 230 includes a whole body coordination control unit 240, an ideal joint control unit 250, and an abnormality detection unit 260.
  • the whole body coordination control unit 240 performs various operations related to whole body coordination control using generalized inverse dynamics.
  • the whole-body coordination control unit 240 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 whole-body coordination control unit 240 generalizes the control value for whole-body coordination control of the arm unit 120 in the operation space based on the arm state and the exercise purpose and restraint condition of the arm unit 120. Calculated using The operation space is, for example, a space for describing the relationship between the force acting on the arm unit 120 and the acceleration generated in the arm unit 120.
  • the whole body coordination control unit 240 includes an arm state acquisition unit 241, a calculation condition setting unit 242, a virtual force calculation unit 243, and an actual force calculation unit 244.
  • the calculation condition setting unit 242 is illustrated as one function not included in the whole-body coordination control unit 240 for convenience, but these have similar functions. It is.
  • 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 the state of movement of the arm unit 120.
  • the arm state includes information such as the position, velocity, acceleration, and force of the arm unit 120.
  • the joint state detection unit 132 acquires, as the state of the joint unit 130, information such as the rotation angle, the rotation angular velocity, the rotation angular acceleration, and the generated torque in each joint unit 130.
  • the storage unit 220 stores various types of information processed by the control device 20. In the present embodiment, the storage unit 220 stores various types of information (arm information on the arm unit 120).
  • the arm state acquisition unit 241 can acquire the arm information from the storage unit 220. Therefore, based on the state of the joint unit 130 and the arm information, the arm state acquisition unit 241 determines the positions (coordinates) of the plurality of joint units 130, the plurality of links, and the imaging unit 140 in space (that is, Information such as the shape, the position and orientation of the imaging unit 140, and the forces acting on each joint unit 130, link, and imaging 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 in 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 movement of the arm unit 120.
  • the exercise purpose is the position and orientation (coordinates) of the imaging unit 140, target values such as velocity, acceleration, and force, or the positions (coordinates of the plurality of joint units 130 of the arm unit 120 and the plurality of links And may be target values such as speed, acceleration, and force.
  • the constraint condition may be various types of information that restricts (restrains) the motion of the arm unit 120.
  • the constraint condition may be coordinates of a region in which each component of the arm portion can not move, a velocity that can not move, a value of acceleration, a value of a force that can not be generated, or the like.
  • the restriction ranges of various physical quantities under the constraint conditions may be set because it is impossible to structurally realize the arm unit 120, or may be set appropriately by the user.
  • the calculation condition setting unit 242 may be a physical model of the structure of the arm unit 120 (for example, the number and length of links constituting the arm unit 120, connection status via the joint unit 130 of the link, movement of the joint unit 130). Range and the like are modeled, and the motion condition and the constraint condition are generated by generating a control model in which the desired motion condition and the constraint condition are reflected in the physical model. It may be set.
  • 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 restraint condition. For example, by setting a target value of the position of the imaging unit 140 as an exercise purpose, it goes without saying that the imaging unit 140 is moved to the target position, but the arm unit 120 does not intrude into a predetermined area in space. It is also possible to drive the arm unit 120 by providing a movement constraint according to the constraint condition, such as.
  • the purpose of exercise is that the imaging unit 140 moves in the plane of a cone with the treatment site at the top with the imaging direction of the imaging unit 140 fixed to the treatment site. It may be a pivoting operation which is a pivoting operation with the axis as a pivoting axis.
  • a pivoting motion may be realized in which the imaging unit 140 moves on the surface of a cone whose apex is the predetermined point.
  • the turning operation may be performed in a state in which the distance between the imaging unit 140 and the point corresponding to the apex of the cone is kept constant.
  • the exercise purpose may be to control the generated torque in each joint unit 130.
  • the movement purpose controls the state of the joint unit 130 so as to cancel the gravity acting on the arm unit 120, and further supports the movement of the arm unit 120 in the direction of the externally applied force.
  • It may be a power assist operation that controls the state of the joint unit 130. More specifically, in the power assist operation, the drive of each joint unit 130 is controlled so that each joint unit 130 generates a generation 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 unit 130 is controlled to generate generated torque in each joint unit 130 in the same direction as the applied external torque.
  • Ru 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 as to move the arm unit 120 under weightlessness It can give the user a sense of presence. Moreover, it is also possible to combine the pivoting operation described above and the power assist operation.
  • the term “exercise purpose” may mean the movement (exercise) of the arm unit 120 realized in the whole-body coordinated control, or the instantaneous exercise purpose in the movement (ie, the exercise purpose). It may mean the target value in
  • the imaging unit 140 itself performs the pivoting movement for exercise purpose, but while the pivoting operation is performed, the imaging unit 140 in the conical surface in the pivoting operation is The values such as the position and the speed are set as an instantaneous exercise purpose (a target value for the exercise purpose).
  • performing the power assist operation to support the movement of the arm unit 120 in the direction of the externally applied force is the exercise purpose itself, 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 130 is set as an instantaneous exercise purpose (a target value for the exercise purpose).
  • the exercise purpose in the present embodiment is continuously achieved with an instantaneous exercise purpose (for example, a target value of position, velocity, force, etc. of each component of the arm unit 120 at a certain time) and an instantaneous exercise purpose.
  • an instantaneous exercise purpose for example, a target value of position, velocity, force, etc. of each component of the arm unit 120 at a certain time
  • an instantaneous exercise purpose is set each time, and the desired exercise purpose is finally achieved by repeatedly performing the calculation.
  • the viscous drag coefficient in the rotational movement of each joint unit 130 may be appropriately set.
  • the joint unit 130 according to the present embodiment is configured such that the viscous drag coefficient in the rotational movement of the actuator 430 can be appropriately adjusted. Therefore, by setting the viscous drag coefficient in the rotational movement of each joint unit 130 when setting the purpose of exercise, it is possible to realize, for example, a state in which rotation is easy or a state in which rotation is difficult with respect to externally applied force.
  • the viscous drag coefficient at the joint unit 130 is set small, so that the force required for the user to move the arm unit 120 may be smaller, and the weightlessness given to the user is Promoted more.
  • the viscous drag coefficient in the rotational movement of each joint unit 130 may be appropriately set according to the content of the purpose of the movement.
  • the storage unit 220 may store parameters regarding calculation conditions such as exercise purpose and restraint conditions used in calculations regarding whole-body coordinated control.
  • the calculation condition setting unit 242 can set the restriction condition stored in the storage unit 220 as a restriction condition used for the calculation of the whole-body coordinated 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 is trying 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 an arm state. Ru. Therefore, based on the acquired arm state, the calculation condition setting unit 242 can set the position, the speed, the force, and the like at which the user moved the arm unit 120 as an instantaneous exercise purpose. By thus setting the exercise purpose, the drive of the arm unit 120 is controlled to follow and support the movement of the arm unit 120 by the user.
  • the calculation condition setting unit 242 may set an exercise purpose based on an instruction input by the user from the input unit 210.
  • the input unit 210 is an input interface for the user to input information, commands and the like related to drive control of the robot arm apparatus 10 to the control device 20.
  • the input unit 210 from the user The exercise purpose may be set based on the operation input.
  • the input unit 210 has, for example, operation means operated by the user, such as a lever and a pedal, and the positions, speeds, and the like of the respective constituent members of the arm unit 120 correspond to the operation of the lever and the pedal.
  • And may be set by the calculation condition setting unit 242 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 coordinated control. For example, if it is an exercise purpose that the imaging unit 140 is stopped at a predetermined point in space, the coordinates of the predetermined point can be set in advance as the exercise purpose. Also, for example, in the case of an exercise purpose where the imaging unit 140 moves on a predetermined trajectory in space, the coordinates of each point representing the predetermined trajectory can be set in advance as the exercise purpose. As described above, when the exercise purpose can be set in advance, the exercise purpose may be stored in the storage unit 220 in advance.
  • the movement purpose is limited to the position or velocity in the plane of the cone as the target value
  • the movement purpose is the force as the target value Limited to
  • the information on the range, the type, and the like of the target value that can be set as the instantaneous exercise purpose in these exercise purposes is It may be stored in the storage unit 220.
  • the calculation condition setting unit 242 can set various kinds of information regarding such exercise purpose as the exercise purpose.
  • the calculation condition setting unit 242 may be able to appropriately set by the user according to the application of the robot arm apparatus 10 or the like by which method the exercise purpose is set.
  • the calculation condition setting unit 242 may also set the exercise purpose and the restraint condition by appropriately combining the above-described 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 goals, the calculation condition setting unit 242 determines the constraint 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 restraint condition to the virtual force calculation unit 243.
  • the virtual force calculation unit 243 calculates a virtual force in an operation related to whole-body cooperative control using generalized inverse dynamics.
  • the calculation process of the virtual force performed by the virtual force calculation unit 243 may be, for example, a series of processes described in the above (6-2-2-1. Virtual force calculation process).
  • 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 real force in calculation relating to whole-body coordinated control using generalized inverse dynamics.
  • the calculation process of the real force performed by the real force calculation unit 244 may be, for example, the series of processes described in the above (6-2-2-2. Real force calculation process).
  • the real force calculation unit 244 transmits the calculated real force (generated torque) ⁇ a to the ideal joint control unit 250.
  • the torque generated tau a calculated by actual force calculation section 244 in the sense that the control value of the joint portion 130 in the systemic cooperative control, also referred to as the control value or the control torque value.
  • the ideal joint control unit 250 performs various operations on ideal joint control that realizes an ideal response based on a theoretical model.
  • the ideal joint control unit 250 corrects the influence of the disturbance with respect to 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. Calculate the value ⁇ .
  • the arithmetic processing performed by the ideal joint control unit 250 corresponds to the series of processing described above (for ideal joint control).
  • the ideal joint control unit 250 includes a disturbance estimation unit 251 and a command value calculation unit 252.
  • Disturbance estimation section 251 and the torque command value tau based on the rotational angular velocities calculated from the rotation angle q detected by the rotation angle detecting unit 133 calculates an estimated disturbance value tau d.
  • the torque command value ⁇ mentioned here is a command value that represents the generated torque at the arm unit 120 that is ultimately transmitted to the robot arm device 10.
  • the disturbance estimation unit 251 has a function corresponding to the disturbance observer 620 shown in FIG.
  • the command value calculation unit 252 uses the disturbance estimated value ⁇ d calculated by the disturbance estimation unit 251 to finally generate a torque command that is a command value representing a torque to be generated in the arm unit 120 and transmitted to the robot arm apparatus 10. Calculate the value ⁇ . Specifically, 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 shown in the equation (12). The torque command value ⁇ is calculated. For example, if the disturbance estimated value tau d is not calculated, the torque command value tau is the torque target value tau ref. As described above, the function of the command value calculation unit 252 corresponds to the function other than the disturbance observer 620 shown in FIG.
  • the information is repeatedly exchanged between the disturbance estimation unit 251 and the command value calculation unit 252, so that the series of processes described with reference to FIG. To be 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 controlling the supply of the current amount corresponding to the transmitted torque command value ⁇ to the motor in the actuator of the joint unit 130. Control the rotation angle and generated torque at
  • the drive control of the arm unit 120 in the robot arm apparatus 10 is continuously performed while the work using the arm unit 120 is performed. And the processing described above in the control device 20 is repeatedly performed. 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.
  • various calculations related to whole-body coordinated control and ideal joint control for controlling the drive of the arm unit 120 are performed based on the state of the joint unit 130 and the exercise purpose and restraint condition, and the calculation result
  • the torque command value ⁇ as is transmitted to the robot arm device 10.
  • the drive 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.
  • the abnormality detection unit 260 detects an abnormality occurring in the joint unit 130 based on various types of information for detecting an abnormality in the joint unit 130.
  • Information on the abnormality detected by the abnormality detection unit 260 is provided, for example, to the calculation condition setting unit 242 or stored in the storage unit 220.
  • the calculation condition setting unit 242 determines and determines an operation (abnormal avoidance operation, partial function stopping operation and function stopping operation) to be performed by the arm unit 120 according to the type of the abnormality based on the information on the abnormality.
  • Calculation conditions for example, exercise purpose, restraint condition and internal model
  • the virtual force calculation unit 243 and the actual force calculation unit 244 perform various types of calculation processing based on the calculation conditions set in this manner, whereby the selected abnormality avoidance operation, partial function stop operation and function stop operation are performed. A control value that achieves any of the pivoting motions will be calculated.
  • the input unit 210 is an input interface for the user to input information, commands, and the like related to drive control of the robot arm apparatus 10 to the control device 20.
  • the drive of the arm unit 120 of the robot arm apparatus 10 may be controlled based on the operation input from the input unit 210 by the user, and the position and orientation of the imaging unit 140 may be controlled.
  • the instruction condition setting unit 242 inputs instruction information related to an instruction for driving the arm input from the input unit 210 by the user to the operation condition setting unit 242, so that the operation condition setting unit 242 generates the instruction information.
  • the exercise purpose in whole body coordinated control may be set based on it. As described above, the whole body cooperative control is performed using the exercise purpose based on the instruction information input by the user, whereby the driving of the arm unit 120 according to the user's operation input is realized.
  • 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 user can control the driving of the arm unit 120 by operating the pedal with the foot. Therefore, even when the user performs treatment with both hands on the treatment site of the patient, the position and posture of the imaging unit 140 by the operation of the pedal with the foot, that is, the imaging position and imaging angle of the treatment site 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 the calculation regarding the whole body cooperative control and the ideal joint control performed by the control unit 230.
  • the storage unit 220 may store an exercise purpose, a constraint condition, and an internal model used in an operation related to whole-body coordination control by the whole-body coordination control unit 240.
  • the exercise purpose stored in the storage unit 220 may be, as described above, an exercise purpose that may be preset, such as, for example, the imaging unit 140 being stopped at a predetermined point in space.
  • the constraint conditions may be preset by the user and stored in the storage unit 220 according to the geometric configuration of the arm unit 120, the application of the robot arm apparatus 10, and the like.
  • the storage unit 220 may also store various types of information regarding the arm unit 120 used when the arm state acquisition unit 241 acquires the arm state. Furthermore, the storage unit 220 may store the calculation result in the calculation regarding the whole body cooperative control and the ideal joint control by the control unit 230, each numerical value calculated in the calculation process, and the like. As described above, the storage unit 220 may store all the parameters related to various processes performed by the control unit 230. The control unit 230 performs various processes while mutually exchanging information with the storage unit 220. be able to.
  • control device 20 The function and configuration of the control device 20 have been described above.
  • the control device 20 according to the present embodiment can be configured by, for example, various information processing devices (arithmetic processing devices) such as a PC (Personal Computer) and a server.
  • various information processing devices such as a PC (Personal Computer) and a server.
  • PC Personal Computer
  • display device 30 Next, the function and configuration of the display device 30 will be described.
  • the display device 30 visually notifies the user of the information by displaying various information on the display screen in various formats such as texts and images.
  • the display device 30 displays an image captured by the imaging unit 140 of the robot arm device 10 on the display screen.
  • the display device 30 performs an image signal processing unit (not shown) that performs various image processing on the image signal acquired by the imaging unit 140, and an image based on the processed image signal on the display screen. 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 the display device generally has, 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. Further, all functions of each component may be performed by a CPU or the like. Therefore, it is possible to change the configuration to be used as appropriate according to the technical level at which the present embodiment is implemented.
  • the arm unit 120 which is the multi-link structure in the robot arm device 10 has at least six degrees of freedom or more, and a plurality of arm units 120 constituting the arm unit 120.
  • the drive control unit 111 controls the drive of each of the joint units 130.
  • a medical instrument is provided at the tip of the arm 120.
  • the drive control of the arm unit 120 with a higher degree of freedom is realized, and the medical robot arm device 10 with higher operability for the user is realized. .
  • the state of the joint unit 130 is detected by the joint state detection unit 132.
  • various calculations related to whole-body cooperative control using generalized inverse dynamics for controlling the drive of the arm unit 120 based on the state of the joint unit 130 and the exercise purpose and the constraint condition. Is performed to calculate a torque command value .tau.
  • the drive of the arm unit 120 is controlled based on the torque command value ⁇ .
  • the drive of the arm unit 120 is controlled by whole-body coordinated control using generalized inverse dynamics.
  • ideal joint control is applied together with whole-body cooperative control.
  • disturbance components such as friction and inertia inside the joint unit 130 are estimated, and feedforward control using the estimated disturbance components is performed. Therefore, even when there is a disturbance component such as friction, an ideal response can be realized for the drive of the joint unit 130. Therefore, in the drive control of the arm unit 120, highly accurate response and high positioning accuracy and stability with less influence of vibration and the like are realized.
  • each of the plurality of joint units 130 constituting the arm unit 120 has a configuration adapted to the ideal joint control as shown in, for example, FIG.
  • the generated torque and the viscous drag coefficient can be controlled by the current value.
  • the drive of each joint unit 130 is controlled by the current value, and the drive of each joint unit 130 is controlled while grasping the entire state of the arm unit 120 by the whole body coordinated control, so that the counterbalance becomes unnecessary.
  • the miniaturization of the robot arm device 10 is realized.
  • the power assist operation controls the state of the joint unit 130 so as to cancel the gravity acting on the arm unit 120, and further supports the movement of the arm unit 120 in the direction of the externally applied force.
  • the externally applied external torque is detected by the torque detection unit 134 and is generated in the same direction as the detected additional external torque.
  • An instantaneous exercise objective of causing torque to be generated in each joint 130 is further set.
  • the power assist operation is realized by controlling the drive of each joint unit 130 in accordance with such an instantaneous exercise purpose.
  • the power assist operation allows the user to move the arm portion with a smaller force, so that a feeling as if the arm portion 120 is being moved under weightlessness can be obtained, and the operability of the arm portion 120 by the user is improved. improves.
  • the tip unit provided at the tip of the arm unit 120 moves on the surface of a cone with the predetermined point at the top, with the direction of the tip unit fixed at the predetermined point in space.
  • the pivoting operation is the pivoting axis of the cone.
  • the imaging unit 140 provided at the tip of the arm unit 120 has the imaging direction of the imaging unit 140 fixed at a predetermined point in space. In the state, it is a pivoting motion with the axis of the cone as a pivot axis, which moves on the surface of the cone with the predetermined point as the apex.
  • a treatment site is selected as a point that hits the apex of the cone in the pivoting motion.
  • the pivoting operation may be performed in a state in which the distance between the tip unit or the imaging unit 140 and the point on the apex of the cone is kept constant.
  • the pivoting operation is also referred to as a point locking operation.
  • FIG. 17 is an explanatory diagram for describing a pivoting operation which is a specific example of an arm operation according to an embodiment of the present disclosure.
  • FIG. 18 is an explanatory view for explaining an exercise purpose and a constraint condition for realizing the pivoting motion shown in FIG.
  • the treatment site on the patient 750 is set at the top of the pivoting movement. It referred the vertex a pivot point P i.
  • the imaging unit 713 that is a unit corresponding to the imaging unit 140 in FIG. 16 is illustrated.
  • the imaging unit 713 in the pivoting operation, can move only on the circumference of the bottom of the cone A, that is, the distance between the imaging unit 713 and the pivot point P i is constant.
  • the movement purpose and constraint conditions may be set so that the imaging unit 713 moves in the plane of the cone A in a maintained state.
  • the shape of the cone A that is, the angle ⁇ of the apex of the cone A, and the distance between the pivot point P i and the imaging unit 713 may be appropriately set by the user.
  • the distance between the pivot point P i and the imaging unit 713 is adjusted to the focal length of the optical system in the imaging unit 713.
  • the imaging unit 713 may be able to move the position of the movable cone while the pivot point P i is fixed.
  • the pivot of cone A is substantially perpendicular to the treatment site
  • the pivot of cone B is substantially horizontal to the treatment site.
  • the movement purpose and the constraint condition may be set so that the cone performing the pivoting motion can be rotated approximately 90 degrees while the pivot point P i is fixed.
  • FIG. 17 shows an example in which the movement purpose and the restraint condition are set so that the imaging unit 713 can move only on the circumference of the bottom surface of the cone A, but in the present embodiment
  • Such pivoting movement is not limited to such an example.
  • the movement purpose and constraint conditions are set so that the distance between the pivot point P i and the imaging unit 713 can freely move. May be By applying such a pivoting motion, only the distance between the imaging unit 713 and the treatment site can be changed while the angle is fixed. Therefore, the focal length (focus) of the imaging unit 713 should be appropriately adjusted. As a result, it becomes possible to observe the treatment site that meets the needs of the user, such as observing the treatment site in an enlarged or reduced size.
  • the arm unit 710 includes a plurality of joint units 711a, 711b, and 711c and a plurality of links 712a, 712b, and 712c, and the driving thereof is controlled by the whole body cooperative control and the ideal joint control according to the present embodiment.
  • the arm portion 710 and its constituent members have the same configuration as the arm portion 420 and its constituent members according to the present embodiment shown in FIG.
  • the arm coordinate system with zero point at the origin O A is the fulcrum of the arm portion 710, a spatial coordinate system with zero point at the origin O S in space.
  • the motion of the arm unit 710 is managed by an arm coordinate system.
  • the arm coordinate system and the space coordinate system are defined such that coordinate conversion to the mutual coordinate system is possible.
  • P w be the imaging center viewed from the space coordinate system. Further, in the arm coordinate system from the joint portion 711c for connecting the image pickup unit 713 and the link 712c, a position apart by the focal length f of the imaging unit 713 itself length D and the image sensing unit 713 and the pivot point P i.
  • the arm portion 710 is driven in a state where the pivot point P i and the imaging center P w match, providing the motion objects and constraints. That is, the constraint so as to fix the pivot point P i to the imaging center P w in the spatial coordinate system in the arm coordinate system provided in the arm coordinate system.
  • the motion object such as coordinates or as an imaging unit 713 is located on a conical surface whose apex pivot points P i (i.e. imaging center P w)
  • the imaging unit 713 faces the pivot point P i imaging
  • the attitude of the unit 713 is set.
  • the orientation of the imaging unit 713 is always the imaging center P w
  • the distance between the imaging unit 713 and the imaging center P w is kept at the focal distance f while facing the pivot point P i . Therefore, the pivoting operation in a state where the distance between the imaging unit 713 and the imaging center P w is kept constant is realized.
  • the pivot operation is performed while changing the distance between the imaging unit 713 and the imaging center P w (or the pivot point P i )
  • the above-described setting method of the pivot point P i may be changed.
  • a position separated by an arbitrary distance from the length D of the imaging unit 713 itself from the joint 711c is a pivot point Pi , and the arbitrary distance is a variable parameter. Good.
  • pivoting operation and the power assist operation described above may be used in combination.
  • the pivoting motion and the power assist motion are used in combination, for example, when the user manually moves the imaging unit 140, the user feels as if the imaging unit 140 is moved under weightlessness with less force.
  • the imaging unit 140 can be moved, and the moving position of the imaging unit 140 is limited within the plane of the cone. Therefore, the operability of movement of the imaging unit 140 at the time of pivoting operation is improved.
  • the power assist operation and the pivot operation have been described above as specific examples of the exercise purpose according to the present embodiment.
  • the exercise purpose according to the present embodiment is not limited to such an example. In the present embodiment, for example, the following exercise purposes can also be realized.
  • the coordinates of the imaging unit 140 may be set as an exercise purpose such that the position of the imaging unit 140 is fixed at a predetermined point.
  • the exercise purpose and the constraint condition are set so that the joint unit 130 and the link are also fixed at a predetermined position and do not move.
  • the movement purpose and the constraint condition are set so that the position of the imaging unit 140 is fixed although the joint unit 130 and the link move in response to the given external force. In the latter case, for example, when moving the arm unit 120 as it interferes with work, the position and posture of the other constituent members of the arm unit 120 are moved while the captured image by the imaging unit 140 is fixed. More flexible control is realized.
  • an exercise purpose and restraint conditions are set so that an operation of stopping the driving of the arm unit 120 is realized immediately. It is also good. By performing such an operation, it is possible to reduce the risk when the arm unit 120 collides with a person or a thing.
  • the contact of the arm unit 120 with a human or a thing may be detected by, for example, a change in external torque applied to the joint unit 130 by the joint state detection unit 132.
  • an exercise purpose may be set so that the imaging unit 140 moves on a predetermined trajectory in space.
  • the coordinates of each point representing the predetermined trajectory may be set as the exercise purpose.
  • the movable range of the imaging unit 140 is limited to the trajectory.
  • the speed of the imaging unit 140, the time to pass each point, and the like are set as exercise purposes, so that the imaging unit 140 can set a predetermined trajectory at a predetermined timing. It can also be an automated drive that moves automatically.
  • the drive control according to such an exercise setting is effective, for example, when the robot arm device 10 automatically and repeatedly performs a predetermined operation.
  • the exercise purpose and the constraint condition may be set such that an operation in which the arm unit 120 does not intrude into a predetermined area in space is realized.
  • the user performs surgery while viewing the display screen. Therefore, if the arm unit 120 is located in the area between the user and the display screen, it may block the user's view, leading to a decrease in the efficiency of the operation. Therefore, for example, by setting the area between the user and the display screen as the entry prohibited area of the arm unit 120, the efficiency of the surgery can be improved.
  • the freedom of the arm 120 be more than 6 degrees of freedom. This is because, since it is possible to use more than six degrees of freedom as redundant degrees of freedom, it is possible to cope with the above-mentioned intrusion-prevented region etc while securing the six degrees of freedom drive.
  • the configuration of a robot arm apparatus provided with an arm unit having more than six degrees of freedom will be described in detail with reference to FIG.
  • FIG. 19 is a schematic view showing the appearance of a modification having redundant degrees of freedom in a robot arm apparatus according to an embodiment of the present disclosure. Also in FIG. 19, the same coordinate axis as the direction defined in FIG. 12 is shown.
  • a robot arm apparatus 450 includes a base 460 and an arm 470.
  • the arm unit 470 further includes a plurality of joints 471 a to 471 g, a plurality of links 472 a to 472 d mutually connected by the joints 471 a to 471 g, and an imaging unit 473 provided at the tip of the arm 470.
  • the robot arm apparatus 450 shown in FIG. 19 corresponds to a configuration in which the degree of freedom of the arm portion 470 is increased by one with respect to the robot arm apparatus 400 described with reference to FIG.
  • the functions and configurations of the base 460, the individual joints 471a to 471g and the links 472a to 472d, and the imaging unit 473 are the same as those of the base 410 of the robot arm apparatus 400 described with reference to FIG.
  • the functions and configurations of the units 421a to 421f, the links 422a to 422c, and the imaging unit 423 are the same as those of the units 421a to 421f and the imaging unit 423.
  • the configuration of the arm unit 470 which is the difference from the robot arm apparatus 400 will be mainly described.
  • the robot arm device 450 has seven joint portions 471a to 471g, and seven degrees of freedom are realized with respect to driving of the arm portion 470.
  • one end of the link 472a is connected to the base 460, and the other end of the link 472a is connected to one end of the link 472b via the joint 421a.
  • the other end of the link 422b is connected to one end of the link 472c via the joints 471b and 471c.
  • the other end of the link 472c is connected to one end of the link 472d through the joints 471d and 471e, and the other end of the link 472d is connected to the imaging unit 473 through the joints 471f and 471g.
  • the ends of the plurality of links 472a to 472d are connected to each other by the joints 471a to 471g with the base portion 460 as a fulcrum, whereby an arm portion 470 extended from the base portion 460 is configured.
  • the long axis direction of each of the connected links 472b to 472d and the imaging direction of the connected imaging unit 473 are taken as the rotation axis direction.
  • the joints 471b, 471d, and 471f rotate in the x-axis direction, which is the direction in which the connection angles of the connected links 472c to 472d and the imaging unit 473 are changed in the yz plane. It is provided to be a direction.
  • the joints 471a, 471c, 471e, and 471g have a function of performing so-called yawing
  • the joints 471b, 471d, and 471f have a function of performing so-called pitching
  • the robot arm apparatus 450 realizes seven degrees of freedom with respect to the drive of the arm unit 470, so that the imaging unit is within the movable range of the arm unit 470. 473 can be moved freely in space and has redundant degrees of freedom.
  • a hemisphere is illustrated as an example of the movable range of the imaging unit 473 as in FIG. 12. Assuming that the central point of the hemisphere is the imaging center of the treatment site imaged by the imaging unit 473, the imaging unit 473 is moved on the spherical surface of the hemisphere with the imaging center of the imaging unit 473 fixed at the central point of the hemisphere.
  • the robot arm apparatus 450 can limit the trajectory of the arm unit 470 as well as the movement of the imaging unit 473 on the hemisphere by further having one redundant degree of freedom, and the intrusion described above Restraint conditions such as prohibited areas can be easily coped with.
  • the intrusion prevention area for example, the drive of the arm unit 470 is controlled so that the arm unit 470 does not exist between the monitor on which the image captured by the imaging unit 473 is displayed and the practitioner and the staff. And prevent the practitioner and staff from seeing the monitor.
  • an intrusion prevention area it is possible to control the drive of the arm unit 470 so that the arm unit 470 moves while avoiding interference (contact) with the practitioner, the staff, and other surrounding devices. Become.
  • FIG. 20 is a flowchart showing 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. 16 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. And the detailed description will be omitted.
  • step S801 the state of the joint unit 130 is detected by the joint state detection unit 132.
  • the state of the joint unit 130 is, for example, a rotation angle at the joint unit 130, a generated torque, and / or an external torque.
  • the arm state acquisition unit 241 acquires an arm state based on the state of the joint unit 130 detected in step S801.
  • the arm state refers to the state of motion of the arm unit 120, and may be, for example, the position, velocity, acceleration, or force acting on each component of the arm unit 120.
  • step S805 based on the arm state acquired in step S803, the operation condition setting unit 242 sets an exercise purpose and a constraint condition used in the calculation in the whole-body coordinated control.
  • the calculation condition setting unit 242 does not have to set the exercise purpose based on the arm state, and for example, sets the exercise purpose based on the instruction information on the drive of the arm unit 120 input by the user from the input unit 210
  • the exercise purpose stored in advance in the storage unit 220 may be used. Furthermore, the exercise purpose may be set by appropriately combining the above-described methods.
  • the calculation condition setting unit 242 may use a constraint condition stored in advance in the storage unit 220.
  • step S 807 based on the arm state, the exercise purpose, and the restraint condition, calculation for whole-body coordinated control using generalized inverse dynamics is performed, and the control value ⁇ a is calculated.
  • the process performed in step S 807 has been described in the series of processes in virtual force calculation unit 243 and actual force calculation unit 244 shown in FIG. 16, that is, in the above (6-2-2. Generalized inverse dynamics). It may be a series of processes.
  • step S809 the calculated disturbance estimated value tau d is, by using the estimated disturbance value tau d, calculation of ideal joint control is performed, the command value tau is calculated from the control value tau a.
  • the process performed in step S 809 may be a series of processes in the ideal joint control unit 250 shown in FIG. 16, that is, a series of processes described in the above (6-2-3. Ideal joint control).
  • step S811 the drive control unit 111 controls the drive of the joint unit 130 based on the command value ⁇ .
  • the arm unit 120 which is the multi-link structure in the robot arm device 10 has at least six degrees of freedom or more, and a plurality of arm units 120 constituting the arm unit 120.
  • the drive control unit 111 controls the drive of each of the joint units 130.
  • a medical instrument is provided at the tip of the arm 120.
  • the drive control of the arm unit 120 with a higher degree of freedom is realized, and the medical robot arm device 10 with higher operability for the user is realized. .
  • the state of the joint unit 130 is detected by the joint state detection unit 132.
  • various calculations related to whole-body cooperative control using generalized inverse dynamics for controlling the drive of the arm unit 120 based on the state of the joint unit 130 and the exercise purpose and the constraint condition. Is performed to calculate a torque command value .tau.
  • the drive of the arm unit 120 is controlled based on the torque command value ⁇ .
  • the drive of the arm unit 120 is controlled by whole-body coordinated control using generalized inverse dynamics.
  • ideal joint control is applied together with whole-body cooperative control.
  • disturbance components such as friction and inertia inside the joint unit 130 are estimated, and feedforward control using the estimated disturbance components is performed. Therefore, even when there is a disturbance component such as friction, an ideal response can be realized for the drive of the joint unit 130. Therefore, in the drive control of the arm unit 120, highly accurate response and high positioning accuracy and stability with less influence of vibration and the like are realized.
  • each of the plurality of joint units 130 constituting the arm unit 120 has a configuration adapted to the ideal joint control as shown in, for example, FIG.
  • the generated torque and the viscous drag coefficient can be controlled by the current value.
  • the drive of each joint unit 130 is controlled by the current value, and the drive of each joint unit 130 is controlled while grasping the entire state of the arm unit 120 by the whole body coordinated control, so that the counterbalance becomes unnecessary.
  • the miniaturization of the robot arm device 10 is realized.
  • the present embodiment it is possible to satisfy all the performances required for the robot arm device described in the above (6-1. Examination of medical robot arm device). Therefore, in various treatments using the robot arm apparatus according to the present embodiment, the treatment can be performed more efficiently, and it is realized that the fatigue and burden of the user and the patient can be further reduced.
  • the arm unit 120 of the robot arm apparatus 10 is driven by force control, and even if the arm unit 120 interferes (contacts) the practitioner or staff during the operation, the arm unit 120 The arm unit 120 is safely stopped without generating an excessive force. Then, when released from the interference, the arm unit 120 moves to a desired position according to the set exercise purpose, and the treatment is continued.
  • force control for drive control of the robot arm apparatus 10 higher safety is ensured against interference between the arm unit 120 and surrounding objects during driving. .
  • the distal end unit of the arm unit of the robot arm apparatus is the imaging unit, and as shown in FIG. 11, the case where the operation unit is imaged by the imaging unit at the time of surgery was described. Is not limited to such an example.
  • 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 another application.
  • the tip unit may be an endoscope or a laparoscope, or may be another inspection device such as an ultrasonic examination device or a gastroscope.
  • a laparoscope is inserted into a patient's body, and while observing an image taken by the laparoscope, various kinds of surgical instruments such as forceps and an electric knife are inserted. The action is taken.
  • various kinds of surgical instruments such as forceps and an electric knife are inserted.
  • the action is taken.
  • the operation can be performed by one user, which is more efficient. Treatment becomes possible.
  • the robot arm apparatus which concerns on this embodiment may be used for uses other than a medical treatment.
  • the robot arm apparatus according to the present embodiment high accuracy response and high stability are realized by the ideal joint control, so that it is possible to cope with, for example, processing or assembly of industrial parts that require high accuracy. is there.
  • the joint of the robot arm apparatus has the rotation mechanism, and the drive of the arm is controlled by controlling the rotational drive of the rotation mechanism.
  • the robot arm apparatus according to the present embodiment has a mechanism (for example, one driven by oil pressure or one driving a ball screw) in which the link constituting the arm unit expands and contracts in the extension direction of the link.
  • the length may be variable.
  • the drive of the arm unit is controlled to achieve a desired exercise purpose by whole-body coordinated control in which the extension and contraction of the link are taken into consideration in addition to the rotation at the joint.
  • the said embodiment demonstrated the case where the freedom degree of the arm part in a robot arm apparatus is 6 or more degrees of freedom, this embodiment is not limited to this example.
  • the case has been described where the plurality of joints constituting the arm in the robot arm apparatus all have an actuator corresponding to the ideal joint control, the present embodiment is not limited to such an example.
  • various exercise purposes may be set according to the application of the robot arm device. Therefore, the arm may have a degree of freedom lower than 6 degrees of freedom, as long as the set exercise purpose can be achieved, and some of the joints constituting the arm are generally Joint having a typical joint mechanism may be used.
  • the configuration of the arm unit may be configured to be able to achieve an exercise purpose, and may be appropriately configured according to the application of the robot arm device.
  • FIG. 21 is a functional block diagram showing an example of a hardware configuration of the robot arm apparatus 10 and the control apparatus 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. , A connection port 923, and a communication device 925.
  • the CPU 901 functions as an arithmetic processing unit and a control unit, and according to various programs recorded in the ROM 903, the RAM 905, the storage unit 919 or the removable recording medium 927, the entire operation in the robot arm unit 10 and the control unit 20 or a part thereof. 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 appropriately change in the execution of the programs, and the like. These are mutually connected 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, the joint control unit 135, and the control unit 230 illustrated in FIGS. 1 and 16 in the present embodiment.
  • the host bus 907 is connected to an external bus 911 such as a peripheral component interconnect / interface (PCI) bus via the bridge 909. Further, to the external bus 911, 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 via an interface 913.
  • PCI peripheral component interconnect / interface
  • the input device 915 is an operation unit operated by the user, such as a mouse, a keyboard, a touch panel, a button, a switch, a lever, and a pedal. Further, the input device 915 may be, for example, a remote control means (so-called remote control) using infrared rays or other radio waves, or a mobile phone or PDA 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, for example, an input control circuit that generates an input signal based on the information input by the user using the above-described operation means, and outputs the generated input signal to the CPU 901.
  • the user of the robot arm device 10 and the control device 20 can input various data to the robot arm device 10 and the control device 20 and instruct processing operations by operating the input device 915.
  • the input device 915 corresponds to, for example, the input unit 210 shown in FIG. 16 in the present embodiment.
  • the exercise purpose in the drive of the arm unit 120 may be set by the operation input by the user via the input device 915, and the whole body cooperative control may be performed according to the exercise purpose.
  • the output device 917 is configured of a device capable of visually or aurally notifying the user of the acquired information.
  • Such devices include display devices such as CRT display devices, liquid crystal display devices, plasma display devices, EL display devices and lamps, audio output devices such as speakers and headphones, and printer devices.
  • the output device 917 outputs, for example, results obtained by various processes performed by the robot arm device 10 and the control device 20.
  • the display device displays the results obtained by the various processes performed by the robot arm device 10 and the control device 20 in text or image.
  • the audio output device converts an audio signal composed of reproduced audio data, acoustic data and the like into an analog signal and outputs it.
  • various pieces of information regarding drive control of the arm unit 120 may be output from the output device 917 in any form.
  • a locus of movement of each component of the arm unit 120 in 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. 16 may be a device including the function and configuration of the output device 917 as a display device, and the configuration of a control unit for controlling the driving of the display device.
  • the storage device 919 is a device for data storage configured as an example of a storage unit of the robot arm device 10 and the control device 20.
  • the storage device 919 is configured of, for example, a magnetic storage unit device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, a magneto-optical storage device, or the like.
  • the storage device 919 stores programs executed by the CPU 901, various data, and the like.
  • the storage device 919 corresponds to, for example, the storage unit 220 illustrated in FIGS. 1 and 16 in the present embodiment.
  • the storage device 919 can store the calculation conditions (exercise purpose and restraint condition) in calculation related to whole-body coordinated control using generalized inverse dynamics, and the robot arm device 10 and the control device 20 may use these computing conditions stored in the storage device 919 to perform computations regarding whole-body coordinated control.
  • 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 out information recorded in a removable recording medium 927 such as a mounted magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, and outputs the information to the RAM 905.
  • the drive 921 can also write a record on a removable recording medium 927 such as a mounted magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the removable recording medium 927 is, for example, a DVD medium, an HD-DVD medium, a Blu-ray (registered trademark) medium, or the like.
  • the removable recording medium 927 may be Compact Flash (registered trademark) (CF: Compact Flash), a flash memory, an SD memory card (Secure Digital memory card), or the like.
  • the removable recording medium 927 may be, for example, an IC card (Integrated Circuit card) equipped with a non-contact IC chip, an electronic device, or the like.
  • various information regarding drive control of the arm unit 120 may be read from the various removable recording media 927 by the drive 921 or may be written to the various removable recording media 927.
  • the connection port 923 is a port for directly connecting the device to the robot arm device 10 and the control device 20.
  • Examples of the connection port 923 include a Universal Serial Bus (USB) port, an IEEE 1394 port, and a Small Computer System Interface (SCSI) port.
  • USB Universal Serial Bus
  • SCSI Small Computer System Interface
  • the connection port 923 there are an RS-232C port, an optical audio terminal, a high-definition multimedia interface (HDMI (registered trademark)) port, and the like.
  • HDMI registered trademark
  • 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 may be written to various external connection devices 929.
  • the communication device 925 is, for example, a communication interface configured of a communication device or the like for connecting to a communication network (network) 931.
  • the communication device 925 is, for example, a communication card for a 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 Asymmetric Digital Subscriber Line (ADSL), a modem for various communications, or the like.
  • the communication device 925 can transmit and receive signals and the like according to a predetermined protocol such as TCP / IP, for example, with the Internet or another communication device.
  • the communication device 925 corresponds to, for example, the communication units 150 and 270 shown in FIG. 2 in the present embodiment.
  • the communication network 931 connected to the communication device 925 is configured by a network or the like connected by wire or wireless, and may be, for example, the Internet, home LAN, infrared communication, radio wave communication, satellite communication, etc. .
  • each joint unit 130 of the robot arm device 10 and the arm unit 120 use the communication device 925 to perform various types of information for detecting an abnormality and various types of information regarding drive control of the arm unit 120. , May mutually transmit and receive.
  • various types of information regarding drive control of the arm unit 120 may be mutually transmitted and received by the communication device 925 via the communication network 931 with other external devices.
  • a computer program for realizing the functions of the robot arm apparatus 10, the control apparatus 20, and the display apparatus 30 according to the present embodiment as described above can be prepared and implemented on a personal computer or the like.
  • a computer readable recording medium in which such a computer program is stored can be provided.
  • the recording medium is, for example, a magnetic disk, an optical disk, a magneto-optical disk, a flash memory or the like.
  • the above computer program may be distributed via, for example, a network without using a recording medium.
  • An arm unit configured by connecting a plurality of links by a joint unit, and a drive control unit that drives the arm unit by controlling the drive of the joint unit, the drive control unit includes: When an abnormality is detected in at least one of the joint units, the drive of the joint unit is controlled in a state where a predetermined restriction is placed on the movement of the arm unit to avoid the abnormality.
  • a robot arm device for driving the arm unit includes:
  • An abnormality in the joint is detected based on a torque generated in the joint according to a pressing force applied to an external object by the contact of the arm, and the drive control unit detects the arm
  • the robot arm device according to (1) wherein the drive of the joint unit is controlled to drive the arm unit in a state where the pressing force is limited to a predetermined range with respect to the movement of the arm.
  • a sensor for detecting the force acting on the tip unit is further provided, and based on the torque generated in the joint unit according to the force acting on the tip unit and the force detected by the sensor, The robot arm device according to (3), wherein an abnormality of the joint portion is detected.
  • the abnormality of the joint unit is detected based on the rotation angle of the joint unit, and the drive control unit restricts the rotation angle of the joint unit to a predetermined range with respect to the movement of the arm unit
  • the robot arm device according to (1) wherein in the state, the drive of the joint unit is controlled to drive the arm unit.
  • the abnormality of the joint is detected based on the rotational angular velocity of the joint, and the drive controller limits the rotational angular velocity of the joint to a predetermined range with respect to the movement of the arm.
  • the robot arm device according to (1) wherein in the state, the drive of the joint unit is controlled to drive the arm unit.
  • the joint unit has a joint state detection unit that detects the state of the joint unit, and an abnormality of the joint unit is determined based on the state of the joint unit detected by the joint state detection unit.
  • the robot arm device according to any one of (1) to (6).
  • the state of the joint is determined by the rotational angle of the motor, the rotational angle of the output shaft, the torque of the output shaft, the current supplied to the motor, and the surrounding of the motor in an actuator provided for driving the joint.
  • the robot arm device including at least one of temperatures.
  • the drive control unit controls the drive of the joint in a state in which the movement of the arm is provided with a predetermined restriction according to the type of the abnormality detected in the joint, and the abnormality is An abnormality avoiding operation for driving the arm unit so as to avoid the problem, and a drive of other joint units other than the joint unit where the abnormality is detected to control the arm unit so as to reduce the degree of freedom of the arm unit.
  • the robot arm device controls (10)
  • the drive control unit controls the drive of the joint unit based on the state of the arm unit acquired based on the detected states of the plurality of joint units, (1) to (9)
  • the robot arm device according to any one of the above.
  • the drive control unit controls the drive of the joint unit based on the state of the arm unit and a control value for cooperative control of the arm unit based on the movement purpose and restraint condition of the arm unit.
  • the robot arm device according to (10).
  • the control value is a virtual force that is a virtual force applied to achieve the movement purpose in the operation space that describes the relationship between the force acting on the arm part and the acceleration generated on the arm part (11), wherein the force is calculated based on the force and the actual force obtained by converting the virtual force to a real force for driving the joint based on the constraint condition Robot arm device.
  • the command value is calculated by correcting the control value using a disturbance estimated value representing the influence of disturbance on the drive of the joint estimated based on the detected state of the joint.
  • the robot arm device according to (13).
  • the drive control unit is configured to generate a force that compensates for gravity acting on the arm unit and a force that supports movement of the arm unit in the direction of a force further applied from the outside.
  • the robot arm device according to any one of (11) to (14), which controls driving.
  • the drive control unit drives the joint unit so that the tip unit provided at the tip of the arm unit performs a pivoting motion to move on the surface of a conical body whose apex is a predetermined point in space.
  • the robot arm device according to any one of (11) to (14), which controls.
  • (17) The robot arm device according to (16), wherein in the pivoting operation, the distance between the tip unit and the predetermined point is kept constant.
  • a function of detecting abnormality of at least one of the joints in an arm configured by connecting a plurality of links to each other by a joint to a processor of a computer, and a predetermined restriction on movement of the arm

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Surgery (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Biomedical Technology (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

【課題】安全性をより向上させることを可能にする。 【解決手段】複数のリンクが関節部(130)によって互いに連結されて構成されるアーム部(120)と、前記関節部(130)の駆動を制御することにより前記アーム部(120)を駆動させる駆動制御部(111)と、を備え、前記駆動制御部(111)は、前記関節部(130)の少なくともいずれかに異常が検出された場合に、前記アーム部(120)の運動に対して所定の制限が設けられた状態で前記関節部(130)の駆動を制御して、当該異常を回避するように前記アーム部(120)を駆動させる、ロボットアーム装置(10)を提供する。

Description

ロボットアーム装置、ロボットアーム制御方法及びプログラム
 本開示は、ロボットアーム装置、ロボットアーム制御方法及びプログラムに関する。
 近年、医療の分野においては、各種の施術(例えば、検査や手術)を行う際に、アーム部の先端に各種の医療用器具を取り付け、当該ロボットアーム装置の駆動を制御することにより、患者の術部を観察したり、患者の術部に対して各種の処置を行ったりするものが考えられている。このようなロボットアーム装置においては、例えばアーム部の先端に取り付けられた医療用器具を患者に接触させて、又は、患者の体腔内に挿入して、各種の施術を行うものがある。そのため、医療用器具によって患者が傷付けられることがないよう、安全性を考慮したロボットアーム装置の駆動制御が求められている。
 例えば、特許文献1には、挿入ガイド用トラカールを患者の体内に刺入し、先端に処置具が取り付けられたマニピュレータを当該トラカールの内腔を通して患者の体腔内に挿入して各種の処置を行うロボット装置において、トラカールの外周壁に圧力センサを設け、当該圧力センサの検出値に応じてマニピュレータを自由に動作可能なフリー状態とマニピュレータを固定するロック状態とを切り換える技術が開示されている。
特開2003-79638号公報
 しかしながら、特許文献1に記載の技術では、例えばロック状態に切り換えられた場合には、マニピュレータの動きがその状態で固定されてしまうため、そのまま処置を続行することが困難であり、一旦処置を中断する必要がある。一方、ロボットアーム装置を用いて患者に対して行われる施術の中には、例えば患部の切除を伴う手術等、処置を中断することが患者に対して危険を及ぼす可能性があるものがある。このように、施術の内容によっては、異常が検出された場合であっても、マニピュレータの動きを固定することが患者にとって必ずしも安全な処理ではない恐れがある。また、異常が検出された場合のロボットアーム装置の駆動制御では、患者の安全のみならず、術者の安全も考慮される必要がある。例えば、異常が検出された際にロボットアーム装置のアーム部が意図せぬ動きをするような事態が生じれば、当該アーム部との衝突等によって術者及び患者に危害が及ぶ恐れがある。
 上記事情に鑑みれば、ロボットアーム装置においては、より安全にその駆動を制御することが求められていた。そこで、本開示では、安全性をより向上させることが可能な、新規かつ改良されたロボットアーム装置、動作判断方法及びプログラムを提案する。
 本開示によれば、複数のリンクが関節部によって互いに連結されて構成されるアーム部と、前記関節部の駆動を制御することにより前記アーム部を駆動させる駆動制御部と、を備え、前記駆動制御部は、前記関節部の少なくともいずれかに異常が検出された場合に、前記アーム部の運動に対して所定の制限が設けられた状態で前記関節部の駆動を制御して、当該異常を回避するように前記アーム部を駆動させる、ロボットアーム装置が提供される。
 また、本開示によれば、複数のリンクが関節部によって互いに連結されて構成されるアーム部における、少なくともいずれかの前記関節部の異常を検出することと、前記アーム部の運動に所定の制限が設けられた状態で前記関節部の駆動を制御して、当該異常を回避するように前記アーム部を駆動させることと、を含む、ロボットアーム制御方法が提供される。
 また、本開示によれば、コンピュータのプロセッサに、複数のリンクが関節部によって互いに連結されて構成されるアーム部における、少なくともいずれかの前記関節部の異常を検出する機能と、前記アーム部の運動に所定の制限が設けられた状態で前記関節部の駆動を制御して、当該異常を回避するように前記アーム部を駆動させる機能と、を実現させる、プログラムが提供される。
 本開示によれば、アーム部を構成する関節部のいずれかに異常が検出された場合に、当該異常を回避するような制限が設けられた上で、関節部の駆動が制御され、アーム部が駆動される。従って、関節部に異常が生じた場合であっても、当該異常を回避するようにアーム部が駆動されるため、例えばアーム部の意図せぬ動きによって術者及び患者に対して危害が及ぶような事態が回避される。
 以上説明したように本開示によれば、安全性をより向上させることが可能となる。なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の一実施形態に係るロボットアーム制御システムの概略構成を示す機能ブロック図である。 本実施形態に係るロボットアーム制御システムのハードウェア構成を示すブロック図である。 トルク指令値に基づくアクチュエータの駆動について説明するための説明図である。 角速度指令値に基づくアクチュエータの駆動について説明するための説明図である。 角度指令値に基づくアクチュエータの駆動について説明するための説明図である。 アクチュエータに搭載されるセンサの一構成例を示すブロック図である。 本実施形態に係るロボットアーム制御方法の処理手順の一例を示すフロー図である。 角速度に基づく異常検出処理における処理手順の一例を示すフロー図である。 関節部におけるトルクに基づく異常回避動作について説明するための説明図である。 関節部におけるトルクに基づく異常回避動作について説明するための説明図である。 本開示の一実施形態に係るロボットアーム装置が医療用に用いられる場合の一適用例について説明するための説明図である。 本開示の一実施形態に係るロボットアーム装置の外観を示す概略図である。 本開示の一実施形態に係る関節部のアクチュエータを、回転軸を通る断面で切断した様子を模式的に示す断面図である。 図13に示すトルクセンサを、駆動軸の軸方向から見た様子を模式的に示す概略図である。 図13に示すアクチュエータに適用されるトルクセンサの他の構成例を示す概略図である。 本開示の一実施形態に係る理想関節制御について説明するための説明図である。 本開示の一実施形態に係るロボットアーム制御システムの一構成例を示す機能ブロック図である。 本開示の一実施形態に係るアーム動作の一具体例であるピボット動作について説明するための説明図である。 図17に示すピボット動作を実現するための運動目的及び拘束条件について説明するための説明図である。 本開示の一実施形態に係るロボットアーム装置における冗長自由度を有する変形例の外観を示す概略図である。 本開示の一実施形態に係るロボットアーム制御方法の処理手順を示すフロー図である。 本開示の一実施形態に係るロボットアーム装置及び制御装置のハードウェア構成の一構成例を示す機能ブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.ロボットアーム装置の安全性についての検討
 2.ロボットアーム制御システムの機能構成
 3.ロボットアーム制御システムのハードウェア構成
 4.動作判断方法の処理手順
 5.各処理の詳細について
  5-1.異常検出処理
  5-2.異常回避動作
  5-3.一部機能停止動作
  5-4.機能停止動作
 6.全身協調制御について
  6-1.医療用ロボットアーム装置についての検討
  6-2.本開示の一実施形態
   6-2-1.ロボットアーム装置の外観
   6-2-2.一般化逆動力学について
    6-2-2-1.仮想力算出処理
    6-2-2-2.実在力算出処理
   6-2-3.理想関節制御について
   6-2-4.ロボットアーム制御システムの構成
   6-2-5.運動目的の具体例
  6-3.ロボットアーム制御方法の処理手順
  6-4.全身協調制御に係るロボットアーム装置のまとめ
 7.ハードウェア構成
 8.補足
 本明細書では、まず、<1.ロボットアーム装置の安全性についての検討>において、本開示をより明確なものとするために、安全性の観点からロボットアーム装置に求められる性能について検討するとともに、本発明者らが本開示に想到するに至った背景について説明する。次に、<2.ロボットアーム制御システムの機能構成>、<3.ロボットアーム制御システムのハードウェア構成>、<4.ロボットアーム制御方法の処理手順>及び<5.各処理の詳細について>において、上述した安全性の観点から本発明者らが想到した、好適な一実施形態に係るロボットアーム装置の制御システムの構成及びロボットアーム装置の制御方法について説明する。
 ここで、本実施形態では、<2.ロボットアーム制御システムの機能構成>から<5.各処理の詳細について>で説明するロボットアーム装置の制御方式として、全身協調制御と呼ばれる制御方式が適用され得る。本実施形態に係る全身協調制御では、アーム部が所定の運動目的を実現するような各関節部の制御量が算出され、当該制御量に基づいて各関節部が協調して駆動されることにより、アーム部の駆動が制御される。また、各関節部の制御量が算出される際に、アーム部の運動(例えば、位置や速度、力)を制限する所定の拘束条件が設けられてもよい。<6.全身協調制御について>では、医療用ロボットアーム装置を例に挙げて、このような全身協調制御を実現するための制御システムの構成や、制御方法について説明する。なお、本実施形態では、全身協調制御を用いることにより、上述した安全性以外にも、医療用ロボットアーム装置に求められる多様な性能を満たすことが可能となる。そこで、<6.全身協調制御について>では、上述した安全性の観点だけでなく、ロボットアーム装置の全身協調制御についてより広い見地から説明を行う。
 なお、以下の説明では、本開示の好適な一実施形態として、主に医療用途に用いられるロボットアーム装置を例に挙げて説明を行う。ただし、本実施形態はかかる例に限定されず、例えば工業用等、他の分野に対しても適用可能である。
 <1.ロボットアーム装置の安全性についての検討>
 まず、本開示の好適な一実施形態について説明するに先立ち、医療用ロボットアーム装置を例に挙げ、安全性の観点からロボットアーム装置に求められる性能について説明する。
 ロボットアーム装置が医療用途に用いられる場合には、そのアーム部の先端に撮像装置や処置具等の各種の医療用器具が取り付けられ、当該撮像装置によって患者の術部を観察したり、当該処置具によって術部に対して各種の処置を行ったりする使用方法が想定される。この場合、患者と、ロボットアーム装置を操作して各種の施術を行う術者と、双方の安全性が確保される必要がある。ここで、術者にとっての安全とは、ロボットアーム装置の駆動によって、術者自身が怪我や火傷等の傷害を受けないことであると考えられる。一方、患者にとっての安全には、ロボットアーム装置の駆動によって怪我や火傷等の傷害を受けないことに加えて、ロボットアーム装置の機能停止等により施術が中断され、施術時間が増加する等、患者に対する負担を増大させないことも含まれ得る。ここで、機能停止とは、ロボットアーム装置のアーム部に対して通常時の制御が行われておらず、アーム部が通常時とは異なる駆動をしている状態を意味する。
 危険が生じ得る状況としては、まず、例えば術者の誤操作やハードウェア又はソフトウェアの何らかの不具合等に起因して、アーム部が術者の意図せぬ動きをした場合が考えられる。例えば、術者がアーム部を操作して医療用器具を患者に近付ける際に、何らかの原因により、過大な速度及び力で、医療用器具が患者に接近してしまい、医療用器具によって患者が傷付けられる状況が考えられる。また、アーム部が術者の意図せぬ動きをした場合には、アーム部と衝突する等、術者自身が危険にさらされる可能性もある。術者及び患者に対する安全性の観点から、このような誤操作に起因する又は何らかの不具合による意図せぬアーム部の動きを異常と判断し、当該異常を回避する動作(異常回避動作)を行うように、アーム部の駆動を制御することが求められる。
 また、危険が生じ得る他の状況としては、故障によりアーム部の一部が正常に動作しない状況が考えられる。例えば上記特許文献1に記載されているように、一般的なロボットアーム装置では、アーム部のいずれかの部位で異常を検出した場合、その状態から移動しないようにアーム部の位置及び姿勢が固定され、アーム部全体がいわば静止状態にされる。しかしながら、ロボットアーム装置が静止状態となってしまうと、施術を中断せざるを得ず、施術時間の増加を招きかねない。従って、例えばアーム部に故障が生じた場合に、故障が生じている関節部を特定するとともに、故障している関節部の動きを固定し、それ以外の関節部によってアーム部の駆動を維持するような動作(一部機能停止動作)を行うように、アーム部の駆動を制御することが求められる。
 また、停電等の非常事態が発生した場合や、アーム部に深刻な故障が生じた場合には、一部機能停止動作では対応できず、アーム部の機能を完全に停止させなくてはいけない状況が生じ得る。この場合、例えば停止したアーム部が術者及び患者に危害を加えないように、より安全にアーム部の機能が停止されることが望ましい。また、患者の負荷を軽減する観点からは、アーム部の機能を停止しつつも、例えば術者による手作業による施術に円滑に移行できるような機構が設けられることが好ましい。例えば、機能停止と同時にアーム部が意図せぬ動きをしたり、停止したアーム部がその後の作業の妨げになったりすることを防ぐ必要がある。このように、アーム部の機能を停止する動作(機能停止動作)をより安全に行うように、アーム部の駆動を制御することが求められる。
 また、上述した異常回避動作、一部機能停止動作及び機能停止動作の選択は、施術がそのまま継続されることを優先して、可能な限りロボットアーム装置の機能が維持されるように行われることが望ましい。例えば、アーム部において異常が検出された場合に、当該異常に対して取り得る措置として、機能停止動作及び一部機能停止動作の双方が選択可能であるならば一部機能停止動作が選択されることが好ましい。同様に、検出された異常に対して一部機能停止動作及び異常回避動作の双方が選択可能であるならば、異常回避動作が選択されることが好ましい。これにより、可能な限り施術が継続されるようにロボットアーム装置の駆動が制御されることとなる。このような動作の選択を行うためには、アーム部において異常が検出された際に、異常が生じている部位や、異常の種類を的確に検出し、どの動作に移行すべきかを適切に判断することが求められる。医療用ロボットアーム装置には、このような的確な異常検出機能も求められることとなる。
 以上説明したように、安全性の観点からロボットアーム装置には、以下の性能が求められる。すなわち、異常回避動作を実行可能であること、一部機能停止動作を実行可能であること、機能停止動作を安全に実行可能であること、及び、これらの動作への移行を判断するための異常検出処理を的確に実行可能であることである。
 本発明者らは、これらの性能を満たす技術について鋭意検討した結果、以下に示す本開示の好適な一実施形態に想到した。以下、本開示の好適な一実施形態について詳細に説明する。
 <2.ロボットアーム制御システムの機能構成>
 図1を参照して、本開示の一実施形態に係るロボットアーム制御システムの機能構成について説明する。図1は、本開示の一実施形態に係るロボットアーム制御システムの概略構成を示す機能ブロック図である。
 図1を参照すると、本実施形態に係るロボットアーム制御システム2は、ロボットアーム装置10及び制御装置20を備える。本実施形態では、制御装置20によってロボットアーム装置10を全身協調制御によって駆動するための各種の演算が行われ、当該演算結果に基づいてロボットアーム装置10のアーム部120の駆動が制御される。また、ロボットアーム装置10のアーム部120には後述する先端ユニット145が設けられており、アーム部120の駆動が制御されることにより、当該先端ユニット145によって患者に対して各種の施術が行われる。以下、ロボットアーム装置10及び制御装置20の構成について詳細に説明する。
 ロボットアーム装置10は、複数のリンクが複数の関節部によって連結されて構成される多リンク構造体であるアーム部を有する。ロボットアーム装置10は、当該アーム部を可動範囲内で駆動させることにより、当該アーム部の先端に設けられ先端ユニット145の位置及び姿勢の制御を行う。
 図1を参照すると、ロボットアーム装置10はアーム部120を有する。また、アーム部120は、関節部130及び先端ユニット145を有する。
 アーム部120は、複数の関節部130と複数のリンクから構成される多リンク構造体であり、各関節部130の駆動が制御されることによりその駆動が制御される。なお、アーム部120が有する複数の関節部130の機能及び構成は互いに同様であるため、図1では、それら複数の関節部130を代表して1つの関節部130の構成を図示している。
 関節部130は、アーム部120においてリンク間を互いに回動可能に連結するとともに、後述する関節制御部135からの制御によりその回転駆動が制御される。関節部130は、関節駆動部131、関節状態検出部132及び関節制御部135を有する。また、簡単のため図示は省略するが、関節部130は、外部の機器との間で各種の情報を互いに送受信する通信部を更に備えてもよい。制御装置20にも同様に通信部(図示せず。)が設けられており、関節部130は、制御装置20及び他の関節部130との間で、当該通信部を介して各種の情報を相互に送受信することができる。
 関節駆動部131は、関節部130のアクチュエータを構成するモータ等の駆動機構である。関節駆動部131が駆動することにより関節部130が回転駆動する。関節駆動部131は、後述する関節制御部135の駆動制御部111によってその駆動が制御される。例えば、駆動制御部111からの指令に応じた電流量によって、関節駆動部131を構成するモータが駆動されることとなる。
 関節状態検出部132は、関節部130の状態を検出する。ここで、関節部130の状態とは、関節部130の駆動状態を意味していてよい。例えば、関節部130の状態には、関節部130の回転角度、回転角速度、回転角加速度、発生トルク、外トルク等の情報が含まれる。また、関節部130の状態には、関節部130が駆動する際における各種の情報、例えば、アクチュエータのモータに供給される電流量及びモータの周囲の温度等の情報や、関節部130が他の関節部130や制御装置20と互いに通信するための通信部における通信状態等の情報が更に含まれてよい。本実施形態においては、関節状態検出部132は、例えば角度センサ(エンコーダ)、トルクセンサ、電流センサ及び/又は温度センサ等の各種のセンサによって構成されており、関節部130の回転角度、発生トルク及び外トルク、電流量、温度等を検出することができる。
 関節状態検出部132は、検出した関節部130の状態を制御装置20に送信する。制御装置20では、これら関節部130の状態を示す情報に基づいて、関節部130の異常が検出される。また、制御装置20では、関節部130の状態を示す情報に基づいて、アーム部120の状態(アーム状態)が取得され、アーム部120が所定の運動目的を達成するような各関節部130の制御量が算出される。例えば、関節部130の状態を示す情報の中でも、アクチュエータのモータに供給される電流量、モータの周囲の温度、入力軸(モータ)及び出力軸の回転角度、発生トルク、外トルク、通信部の通信状態等についての情報は、主に異常検出に用いられてよい。また、例えば、関節部130の状態を示す情報の中でも、関節部130の回転角度、回転角速度、回転角加速度、発生トルク及び外トルク等の主に関節部130の運動を表す情報は、主に制御量の演算に用いられてよい。なお、制御量の演算については、下記<6.全身協調制御>で改めて詳しく説明するため、ここではその詳細な説明は省略する。
 関節制御部135は、例えばCPU(Central Processing Unit)等の各種のプロセッサによって構成され、関節部130の動作を制御する。関節制御部135を構成するプロセッサが所定のプログラムに従って動作することにより、関節制御部135の各機能が実現される。本実施形態では、関節制御部135は、その機能として、駆動制御部111を有する。なお、関節制御部135は、例えば、関節部130に設けられる通信部の動作を制御し、当該通信部に所定の情報を送受信させる通信制御部等、関節部130に設けられる構成の動作を制御するための他の機能を更に有してもよい。
 駆動制御部111は、関節部130の駆動を制御することにより、アーム部120の駆動を制御する。より具体的には、駆動制御部111は、関節部130の関節駆動部131に対して供給される電流量を制御することにより、関節駆動部131を構成するモータの回転数を制御し、関節部130における回転角度及び発生トルクを制御する。また、例えば関節部130に、その回転を妨げるブレーキ機構が設けられている場合には、駆動制御部111は、当該ブレーキ機構を駆動させ、関節部130の回転駆動を停止させてもよい。ここで、上述したように、駆動制御部111による関節部130の駆動制御は、制御装置20における演算結果に基づいて行われ得る。
 また、下記(5-4.機能停止動作)で説明するが、機能停止動作が実行される場合には、制御装置20と関節部130との通信が遮断される等、制御装置20における演算結果が関節部130に送信されない状況も考えられる。制御装置20との通信が遮断されることにより、全身協調制御が実行できなくなり、いわゆる力制御は行われなくなるが、機能停止動作では、例えば各関節部130の動きを固定するような制御が実行される必要がある。従って、本実施形態では、駆動制御部111によって、いわゆる位置制御によって関節部130ごとにその駆動が独自に制御されてよい。これにより、制御装置20との通信が遮断された場合であっても、例えば関節部130の回転角度を所定の値で固定する等の駆動制御が各関節部130において行われることとなり、機能停止動作が実現され得る。
 先端ユニット145は、アーム部120の先端に設けられ、アーム部120の駆動制御に伴って、その位置及び姿勢が制御される。本実施形態では、先端ユニット145は各種の医療用器具であり、例えば撮像装置や処置具等である。先端ユニット145がカメラや顕微鏡、内視鏡等の撮像装置である場合には、アーム部120を駆動させて当該撮像装置の位置及び姿勢を調整しながら患者の術部を撮影する使用方法が考えられる。例えば、撮像装置によって撮影された患者の術部の画像が表示装置の表示画面に表示され、術者は、当該表示装置の表示画面を参照しながら、術部の様子を観察したり、術部に対して各種の処置を行ったりすることができる。また、先端ユニット145がメスや鉗子等の処置具である場合には、アーム部120を駆動させて当該処置具によって患者の術部に対して所定の処置を行う使用方法が考えられる。これらの例に限定されず、先端ユニット145としては公知の各種の医療用器具が適用されてよい。
 なお、図1では、先端ユニット145が複数の関節部130及び複数のリンクを介して最終段のリンクの先端に設けられる様子を、関節部130と先端ユニット145との間にリンクを模式的に図示することにより表現している。また、図1に示す例では便宜的に先端ユニット145と称しているが、本実施形態では、先端ユニット145が設けられる部位はアーム部120の先端に限定されない。本実施形態では、先端ユニット145は、アーム部120の駆動に伴ってその位置及び姿勢が制御され、患者に対して各種の施術を実行可能なように構成されればよく、そのアーム部120への取り付け部位は任意であってよい。
 以上、ロボットアーム装置10の機能及び構成について説明した。次に、制御装置20の機能及び構成について説明する。図1を参照すると、制御装置20は、記憶部220及び制御部230を有する。
 制御部230は、例えばCPU等の各種のプロセッサによって構成され、制御装置20の動作を統合的に制御するとともに、ロボットアーム装置10におけるアーム部120の駆動を制御するための各種の演算を行う。制御部230を構成するプロセッサが所定のプログラムに従って動作することにより、制御部230の各機能が実現される。本実施形態では、制御部230は、ロボットアーム装置10のアーム部120の駆動を制御するために、全身協調制御及び理想関節制御における各種の演算を行う。また、制御部230は、検出された関節部130の状態に基づいて、当該関節部130での異常を検出する機能を更に有する。
 制御部230の機能構成について詳しく説明する。制御部230は、全身協調制御部240、理想関節制御部250、異常検出部260及び演算条件設定部242を有する。
 異常検出部260は、関節部130の異常を検出するための各種の情報に基づいて、関節部130に生じた異常を検出する。ここで、関節部130の異常を検出するための情報には、例えば、関節状態検出部132によって検出された関節部130の状態についての情報や、後述するような関節部130の駆動制御についての情報、関節部130に送信される指令値についての情報、関節部130の通信状態についての情報等が含まれてよい。例えば、異常検出部260は、その機能として、アクチュエータ異常検出部261、駆動制御異常検出部262、指令値異常検出部263及び通信異常検出部264を有する。
 アクチュエータ異常検出部261は、関節部130を駆動するために設けられるアクチュエータにおける異常を検出する。例えば、アクチュエータ異常検出部261は、関節部130の状態を示す情報に含まれる、アクチュエータのモータに供給される電流量、モータの周囲の温度、入力軸(モータ)及び出力軸の回転角度、発生トルク、外トルク等の情報に基づいて、アクチュエータにおける異常を検出することができる。
 駆動制御異常検出部262は、駆動制御部111から送信される関節部130の駆動制御についての情報に基づいて、関節部130の異常を検出する。例えば、駆動制御異常検出部262は、駆動制御部111によってブレーキ機構が駆動されているにもかかわらず関節部130が駆動していたり、逆に、ブレーキ機構が駆動されていないにもかかわらず関節部130が駆動していなかったりした場合に、関節部130の異常を検出することができる。
 指令値異常検出部263は、制御装置20から関節部130に送信される指令値に基づいて、関節部130の異常を検出する。ここで、指令値とは、理想関節制御部250によって算出される値であり、制御装置20から関節部130の駆動制御部111に送信される、最終的に関節部130の駆動を制御するための制御量である。例えば、指令値異常検出部263は、駆動制御部111に送信された指令値と、当該指令値に基づいて駆動された関節部130の駆動とが乖離している場合に、関節部130の異常を検出することができる。
 通信異常検出部264は、関節部130と制御装置20との間の通信状態に基づいて、関節部130の異常を検出する。例えば、関節部130の通信部及び/又は制御装置20の通信部が正常に動作しておらず、両者の間での通信が遮断されている場合には、関節部130から制御装置20に対して制御量の演算に必要な情報(例えば関節部130の状態を表す情報)が送信されなかったり、制御装置20によって算出された制御量についての情報を関節部130が受信できなかったりする可能性がある。従って、通信異常検出部264は、例えば、通信部が正常に動作しておらず、制御装置20によって算出された制御量を受信することができない関節部130を、異常が発生している関節部130として検出することができる。
 ここで、上述したような関節部130の異常を検出するための各種の情報(関節状態検出部132によって取得される関節部130の状態についての情報や、関節部130の駆動制御についての情報、制御装置20から関節部130に送信される指令値についての情報及び/又は関節部130と制御装置20との間の通信状態についての情報等)は、関節部130ごとに取得され得る情報である。従って、異常検出部260は、関節部130ごとに異常の有無を検出することができる。また、異常検出部260は、いずれの情報に基づいて異常を検出したかに応じて、関節部130のどの構成部材において異常が生じているかや、当該異常の種類も、併せて検出してもよい。
 異常検出部260は、検出した異常についての情報を、演算条件設定部242に送信する。なお、異常検出部260によって行われる異常検出処理については、下記(5-1.異常検出処理)で改めて詳しく説明する。
 なお、図1に示す例では、説明のため便宜的に、異常検出部260の機能を、アクチュエータ異常検出部261、駆動制御異常検出部262、指令値異常検出部263及び通信異常検出部264に分割して図示している。しかしながら、本実施形態では、異常検出部260によって、関節状態検出部132によって取得される関節部130の状態についての情報や、関節部130の駆動制御についての情報、制御装置20から関節部130に送信される指令値についての情報及び/又は関節部130と制御装置20との間の通信状態についての情報等が総合的に考慮され、関節部130における異常が検出されてよい。
 演算条件設定部242は、全身協調制御部240及び理想関節制御部250によって行われる制御量の演算における演算条件を設定する。本実施形態では、演算条件設定部242は、異常検出部260によって検出された関節部130の異常の種類に応じて演算条件を設定する。具体的には、演算条件設定部242は、検出された関節部130の異常の種類に応じてアーム部120に行わせる動作を判断し、当該動作に対応する演算条件を設定することができる。ここで、アーム部120に行わせる動作とは、上述した異常回避動作、一部機能停止動作及び機能停止動作のいずれかであってよい。
 例えば、記憶部220に、異常の種類と、当該異常が生じた場合に実行可能な動作と、当該動作を実行するための演算条件と、が関連付けられたテーブルが記憶されており、演算条件設定部242は、異常検出部260による異常の検出結果と当該テーブルとに基づいて、アーム部120に行わせる動作を判断するとともに、当該動作に応じた演算条件を設定することができる。当該テーブルでは、異常が発生した場合であっても、できるだけアーム部120の駆動制御が継続されるように、異常の種類と動作とが関連付けられていてよい。このようなテーブルに基づいてアーム部120に行わせる動作が判断されることにより、ロボットアーム装置10を用いた施術が可能な限り継続されるように、アーム部120の駆動が制御されることとなる。
 なお、例えばアーム部120の全体構成や制御量の演算に用いられる制御モデル(内部モデル)等の条件が異なれば、同一の異常が発生した場合であっても、異なる動作を実行可能となることが考えられる。従って、上記テーブルにおいては、これらの条件を加味した上で異常の種類と動作との関連付けが行われてよい。当該テーブルの具体的な構成は、ロボットアーム装置10の設計者等によって適宜設定されてよい。
 具体的には、演算条件設定部242によって設定される演算条件には、運動目的及び拘束条件が含まれてよい。運動目的とは、アーム部120の運動に関する各種の情報であり、例えば、先端ユニット145及びアーム部120の位置及び姿勢(座標)、速度、加速度並びに力等の目標値である。また、拘束条件とは、アーム部120の運動を制限(拘束)する各種の情報であり、例えば、アーム部120の各構成部材が移動不可能な領域の座標や、移動不可能な速度、加速度の値、発生不可能な力の値等であってよい。また、アーム部120に行わせる動作に応じて複数の内部モデルが用意されている場合には、演算条件設定部242は、異常検出部260によって検出された異常の種類に応じて判断された動作に対応する内部モデルを演算条件として設定してもよい。演算条件設定部242は、設定した演算条件についての情報を、全身協調制御部240に提供する。
 全身協調制御部240は、一般化逆動力学を用いた全身協調制御に関する各種の演算を行う。また、理想関節制御部250は、理論モデルに基づいた理想的な応答を実現する理想関節制御に関する各種の演算を行う。これらの演算結果に基づいてロボットアーム装置10の駆動が制御されることにより、ロボットアーム装置10が力制御によって駆動されることとなる。本実施形態では、全身協調制御部240及び理想関節制御部250が、演算条件設定部242によって設定された演算条件に基づいて各種の演算を行うことにより、異常検出部260によって検出された異常の種類に応じて判断された動作をアーム部120が行うような、各関節部130の制御量が算出されることとなる。なお、全身協調制御部240及び理想関節制御部250が行う処理については、下記<6.全身協調制御について>で改めて詳しく説明することとし、ここでは概要のみを簡単に説明する。
 全身協調制御部240は、関節状態検出部132によって検出された関節部130の状態に基づいて、演算条件設定部242によって設定された演算条件の下で、関節部130を駆動するための制御量を演算する。具体的には、全身協調制御部240は、関節状態検出部132によって検出された関節部130の状態に基づいて、アーム部120の状態(アーム状態)を取得することができる。アーム状態は、アーム部120の幾何学的パラメータ及び力学的パラメータを表すものであり、ロボットアーム装置10の内部モデルとして表現され得る。そして、全身協調制御部240は、当該アーム状態に基づいて、演算条件設定部242によって設定された運動目的を達成するようにアーム部120を駆動するための制御値(例えば各関節部130の駆動パラメータ(例えば関節部130の発生トルク値))を、演算条件設定部242によって設定された拘束条件を考慮して算出することができる。
 理想関節制御部250は、全身協調制御部240により算出された制御値に対して外乱の影響を考慮した補正を行うことにより、最終的にアーム部120を駆動するために用いられる指令値を算出する。例えば、当該指令値は、外乱の影響が考慮された関節部130の発生トルク値であってよい。理想関節制御部250は、算出した指令値についての情報を、ロボットアーム装置10に送信する。当該指令値に基づいて、駆動制御部111が各関節部130を駆動させることにより、演算条件設定部242によって設定された拘束条件及び運動目的に従って、すなわち、異常検出部260によって検出された異常の種類に応じて判断された動作を行うように、アーム部120が駆動されることとなる。
 記憶部220は、制御装置20によって処理される各種の情報を記憶する。本実施形態においては、記憶部220は、制御部230によって行われる全身協調制御及び理想関節制御に関する演算において用いられる各種の情報及び当該演算の結果についての情報を記憶することができる。例えば、記憶部220は、全身協調制御部240による全身協調制御に関する演算において用いられる運動目的、拘束条件及び内部モデルを記憶していてもよい。また、例えば、記憶部220には、関節部130において検出され得る異常の種類と、当該異常が生じた場合に実行可能な動作と、当該動作を実行するための演算条件と、が関連付けられたテーブルが記憶されていてもよい。記憶部220には、制御部230によって行われる各種の処理に関するあらゆるパラメータが格納されていてよく、制御部230は、記憶部220と相互に情報を送受信しながら各種の処理を行うことができる。
 以上、図1を参照して、本実施形態に係るロボットアーム制御システム2の構成について説明した。以上説明したように、本実施形態では、異常検出部260によって関節部130ごとに異常の発生が検出される。従って、アーム部120のうちで異常が発生した部位が的確に検出され得る。また、本実施形態では、演算条件設定部242によって、異常検出部260によって検出された異常の種類に応じたアーム部120の動作が判断され、当該動作に対応する演算条件が設定される。そして、全身協調制御部240及び理想関節制御部250によって、当該演算条件に基づいて、アーム部120を駆動するための各関節部130の制御量が演算されることにより、異常の種類に応じた動作を行うようにアーム部120の駆動が制御される。従って、異常の種類に応じて、できるだけロボットアーム装置10を用いた施術が継続されるように、アーム部120の駆動が制御されることとなる。よって、患者及び術者の安全性を向上させることができる。
 なお、図1に示す例では、異常検出部260が制御装置20に設けられ、関節部の異常を検出する処理が制御装置20において行われていたが、本実施形態はかかる例に限定されない。例えば、各関節部130の関節制御部135が、異常検出部260と同様の機能を有し、関節部130の異常の検出が関節部130自身によって行われてもよい。
 また、ロボットアーム制御システム2の構成は、図1に示す例に限定されない。例えば、図1に示す関節制御部135及び制御部230において行われる各処理は、ロボットアーム装置10及び制御装置20のいずれにおいて行われてもよいし、ロボットアーム装置10及び制御装置20と通信可能に接続された図示しない他の情報処理装置によって行われてもよい。本実施形態では、図1に示す各機能が実行可能なようにロボットアーム制御システム2が構成されればよく、その具体的な装置構成は任意であってよい。
 また、以上説明した、本実施形態に係るロボットアーム制御システム2の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
 また、上述のような本実施形態に係るロボットアーム制御システム2の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
 <3.ロボットアーム制御システムのハードウェア構成>
 次に、図2を参照して、本実施形態に係るロボットアーム制御システムのハードウェア構成について説明する。図2は、本実施形態に係るロボットアーム制御システムのハードウェア構成を示すブロック図である。なお、図2に示すブロック図は、図1に示す機能ブロック図に対応するものであり、図1に示す各機能ブロックを構成するハードウェアを図示したものに対応する。また、図2では、簡単のため、図1に示す構成の中でも、本実施形態に係る異常検出に関係する構成について主に図示し、その他の構成については図示を省略している。
 また、図2を参照すると、ロボットアーム装置のアーム部120の複数の関節部130に対応する構成が図示されている。実際には、各関節部130によってリンク同士が連結されることにより、多リンク構造体が構成されるが、図2ではリンクについては図示を省略している。また、図2では、一例として、関節部130を3つ図示しているが、関節部130の数はかかる例に限定されず、アーム部120の構成に応じて異なる数の関節部130が存在してよい。
 (制御装置)
 図2を参照すると、制御装置20が有する構成として、通信ユニット270及び制御用CPU280が図示されている。通信ユニット270は、ロボットアーム装置の各関節部130(より詳細には後述する関節部130の通信ユニット150)との間で各種の情報を相互に送受信する通信インターフェースである。本実施形態では、通信ユニット270によって、各関節部130から送信される、関節部130の異常を検出するための各種の情報が受信される。また、通信ユニット270によって、制御用CPU280によって演算されたアーム部120の各関節部130の制御量についての情報が、各関節部130に送信される。
 制御用CPU280は、図1に示す制御部230に対応する。制御用CPU280では、各関節部130から送信される、関節部130の異常を検出するための各種の情報に基づいて、関節部130の異常が検出される。また、検出された異常の種類が判断され、当該異常の種類に応じたアーム部120の動作が判断される。更に、判断されたアーム部120の動作に応じた演算条件が設定され、当該演算条件に基づいて、当該アーム部120の動作を実現するような各関節部130の制御量が演算される。
 (関節部)
 各関節部130は、通信ユニット150、関節制御用CPU160、モータドライバユニット170及びアクチュエータ180を有する。通信ユニット150は、他の関節部130の通信ユニット150及び制御装置20の通信ユニット270との間で各種の情報を相互に送受信する通信インターフェースである。本実施形態では、通信ユニット150によって、関節部130の異常を検出するための各種の情報が、各関節部130から制御装置20に送信される。また、通信ユニット150によって、制御用CPU280によって演算されたアーム部120の各関節部130の制御量についての情報が受信される。
 関節制御用CPU160は、図1に示す関節制御部135に対応する。例えば、関節制御用CPU160からモータドライバユニット170に対して、アクチュエータ180のモータを駆動するための制御量(例えば電流量)が伝達される(これは、例えば、上述した図1に示す駆動制御部111の機能に対応する)。このような、関節制御用CPU160における、アクチュエータ180の駆動を制御するための構成については、図3-図5を参照して詳しく後述する。
 また、アクチュエータ180から関節制御用CPU160に対して、アクチュエータ180に搭載される各センサによる検出値(例えば、電流量、温度、回転角度等)についての情報、すなわち、関節部130の状態を示す情報が送信される。関節部130の状態を示す情報は、通信ユニット150を介して制御装置20に送信される。また、図3-図5を参照して後述するように、関節制御用CPU160では、制御装置20から送信される制御量に加えて、アクチュエータ180の各センサによる検出値に更に基づいてアクチュエータ180の駆動制御が行われ得る。なお、図2では、アクチュエータ180の各センサによる検出値についての情報が関節制御用CPU160を介して、通信ユニット150から制御装置20に送信されるように図示されているが、これらの検出値についての情報は、通信ユニット150を介して直接制御装置20に送信されてもよい。また、アクチュエータ180に搭載される各センサの構成については、図6を参照して詳しく後述する。
 モータドライバユニット170は、アクチュエータ180のモータに電流を供給することにより当該モータを回転駆動させるドライバ回路(ドライバIC(Integrated Circuit))であり、モータに供給する電流量を調整することにより、モータの回転数を制御することができる。モータドライバユニット170は、関節制御用CPU160から送信される制御量に応じて、アクチュエータ180のモータを駆動する。なお、モータドライバユニット170としては、一般的なモータ駆動用のドライバICと同様のものが用いられてよいため、ここでは詳細な説明は省略する。
 アクチュエータ180は、関節制御用CPU160によって所定の制御量に従って駆動されることにより、関節部130を所定の角度及び速度で駆動させる。アクチュエータ180は、例えば後述する図13に示す構成を有することができる。例えば、アクチュエータ180は、モータ及び減速機によって構成され、所定の制御量に従って駆動されたモータの回転速度が、所定の減速比を有する減速機によって減速されることにより、所定の回転駆動力(トルク)が生成される。生成されたトルクが後段の部材(例えばリンクや先端ユニット等)に伝達され、当該後段の部材が駆動することとなる。
 また、上述したように、アクチュエータ180は、自身の駆動に関する各種の物理量を検出するセンサを搭載している。例えば、アクチュエータ180は、モータに供給されている電流量を検出する電流センサ、モータの温度を検出する温度センサ、モータの回転角度及び減速機の出力軸の回転角度を検出する角度センサ、減速機の出力軸におけるトルクを検出するトルクセンサ等を有する。これらのセンサは、例えば、図1に示す関節状態検出部132に対応する。これらのセンサによる検出値が、関節制御用CPU160及び通信ユニット150に提供され、アクチュエータ180の駆動制御や関節部130の異常検出に用いられることとなる。
 (アクチュエータの駆動について)
 ここで、図3-図5を参照して、関節制御用CPU160における、アクチュエータ180の駆動を制御するための構成について詳細に説明する。図3-図5では、上述した関節制御用CPU160におけるアクチュエータ180を駆動するための構成(例えば、図1に示す駆動制御部111に対応する構成)を詳細に図示するとともに、アクチュエータ180を駆動する際における、関節制御用CPU160とアクチュエータ180との間の情報のやり取りが図示されている。
 関節制御用CPU160は、図1に示す制御装置20によって演算された制御量に基づいて各関節部130を駆動させるが、本実施形態では、当該制御量は、トルクで表現された指令値(トルク指令値)、角速度で表現された指令値(角速度指令値)及び角度で表現された指令値(角度指令値)のいずれであってもよい。図3は、トルク指令値に基づくアクチュエータ180の駆動について説明するための説明図である。また、図4は、角速度指令値に基づくアクチュエータ180の駆動について説明するための説明図である。また、図5は、角度指令値に基づくアクチュエータ180の駆動について説明するための説明図である。
 まず、図3を参照して、トルク指令値に基づくアクチュエータ180の駆動について説明する。図3に示すように、制御量としてトルク指令値が関節制御用CPU160に与えられた場合、当該トルク指令値は関節制御用CPU160のトルク制御器161に入力される。ここで、アクチュエータ180のモータ181の出力軸のトルクがトルクセンサ183によって検出され、モータ181の出力軸の回転角度が角度センサ184によって検出されるようになっている。なお、図3では図示を省略しているが、実際には、トルクセンサ183及び角度センサ184は、モータ181における減速機を介した出力軸のトルク及び回転角度を検出する。トルク制御器161には、トルクセンサ183によって検出されたトルク検出値が提供され得る。
 また、角度センサ184によって検出された回転角度検出値は、関節制御用CPU160の角速度演算器162に提供される。角速度演算器162は、回転角度検出値に基づいてモータの出力軸における回転角速度を算出し、算出した回転角速度をトルク制御器161に対して提供する。トルク制御器161は、当該回転角速度に基づいて、出力軸の回転角加速度、すなわちトルクを算出することができる。
 このように、トルク制御器161には、トルク指令値とともに、トルクセンサ183によって検出されたトルク検出値及び/又は角度センサ184によって検出された回転角度検出値に基づいて、現状でのトルク測定値が提供され得る。従って、トルク制御器161は、トルク指令値とトルク測定値との差分に基づいてトルク制御値を算出し、当該トルク制御値を電流制御器163に提供する。電流制御器163は、当該トルク制御値を実現するための電流量(電流制御値)を算出し、当該電流制御値によってモータ181を駆動する。また、電流制御器163には、角度センサ184によって検出された角度検出値が提供されてもよく、電流制御器163は、当該角度検出値に更に基づいてトルク制御値を実現するための電流制御値を算出してもよい。なお、図3では図示を省略しているが、実際には、例えば図2に示すモータドライバユニット170によって当該電流制御値に対応する電流が生成され、当該電流がモータ181に供給されることにより、モータ181が駆動されてよい。
 以上説明した手順により、トルク指令値に基づくアクチュエータ180の駆動が実現される。なお、電流制御器163の出力(又はモータドライバユニット170の出力)に当たる電流値は、アクチュエータ180の電流センサ182によって常時モニタされており、例えば目的としている電流制御値と乖離した電流が検出された場合には、その内容が電流制御器163にフィードバックされるようになっている。
 次に、図4を参照して、角速度指令値に基づくアクチュエータ180の駆動について説明する。図4に示すように、制御量として角速度指令値が関節制御用CPU160に与えられた場合、当該角速度指令値は関節制御用CPU160の角速度制御器164に入力される。なお、図4に示す構成は、図3に示す構成に対して角速度制御器164が追加されたものに対応するため、重複する事項については詳細な説明は省略する。
 図4に示す構成では、角度センサ184によって検出された回転角度検出値に基づいて角速度演算器162によってモータの出力軸における回転角速度が算出され、算出された回転角速度が、角速度制御器164に提供される。そして、角速度制御器164は、角速度指令値と角速度演算器162によって算出された回転角速度との差分に基づいて角速度制御値を算出し、当該角速度制御値をトルク制御器161に提供する。以降の処理は、図3に示す構成と同様であってよい。トルク制御器161によって、角速度制御値と、トルクセンサ183によって検出されたトルク検出値及び/又は角度センサ184によって検出された回転角度検出値に基づく現状でのトルク測定値と、に基づいて、トルク制御値が算出される。そして、電流制御器163によって、当該トルク制御値に基づいて電流制御値が算出され、モータ181が駆動される。以上説明した手順により、角速度指令値に基づくアクチュエータ180の駆動が実現される。
 次に、図5を参照して、角度指令値に基づくアクチュエータ180の駆動について説明する。図5に示すように、制御量として角度指令値が関節制御用CPU160に与えられた場合、当該角度指令値は関節制御用CPU160の角度制御器165に入力される。なお、図5に示す構成は、図4に示す構成に対して角度制御器165が追加されたものに対応するため、重複する事項については詳細な説明は省略する。
 図5に示す構成では、角度センサ184によって検出された回転角度検出値が、角度制御器165に提供される。そして、角度制御器165は、角度指令値と回転角度検出値との差分に基づいて角度制御値を算出し、当該角度制御値を角速度制御器164に提供する。以降の処理は、図4に示す構成と同様であってよい。角速度制御器164は、角度制御器165から提供された角度制御値と、角度センサ184によって検出された回転角度検出値に基づいて角速度演算器162によって算出されたモータの出力軸における回転角速度と、の差分に基づいて角速度制御値を算出することができる。そして、トルク制御器161によって、当該角速度制御値と、トルクセンサ183によって検出されたトルク検出値及び/又は角度センサ184によって検出された回転角度検出値に基づく現状でのトルク測定値と、に基づいて、トルク制御値が算出される。更に、電流制御器163によって、当該トルク制御値に基づいて電流制御値が算出され、モータ181が駆動される。以上説明した手順により、角度指令値に基づくアクチュエータ180の駆動が実現される。
 以上、図3-図5を参照して、関節制御用CPU160における、アクチュエータ180の駆動を制御するための構成について説明した。以上説明したように、本実施形態では、図1に示す制御装置20によって演算された各関節部130を駆動するための制御量は、トルク指令値であってもよいし、角速度指令値であってもよいし、角度指令値であってもよい。指令値がいずれの物理量によって表現されている場合であっても、例えば図3-図5に示すように関節制御用CPU160を適宜構成することにより、モータ181を当該指令値に従って駆動することが可能となる。
 (アクチュエータの各センサの構成)
 上述したように、本実施形態では、アクチュエータ180に各種のセンサが搭載される。ここでは、図6を参照して、アクチュエータ180に搭載されるセンサの構成について説明する。図6は、アクチュエータ180に搭載されるセンサの一構成例を示すブロック図である。
 図6を参照すると、アクチュエータ180は、モータ181、減速機185、電流センサ182、トルクセンサ183、モータ角度センサ184a、出力軸角度センサ184b及び温度センサ187を有する。なお、図6では、説明のため、アクチュエータ180の各構成とともに、モータドライバユニット170及び関節制御用CPU160も図示している。
 上述したように、モータ181は、関節制御用CPU160からの制御により、モータドライバユニット170から所定の電流が供給されることにより駆動される。アクチュエータ180では、モータドライバユニット170によってモータ181に供給される電流量が電流センサ182によって検出される。また、駆動中のモータ181の回転角度がモータ角度センサ184aによって検出され、駆動中のモータ181の温度が温度センサ187によって検出される。
 モータ181の回転軸には減速機185が連結されており、モータ181の回転速度が所定の減速比によって減速されることにより、所定のトルクが発生される。当該トルクが後段の部材に伝達されることにより関節部130が駆動することとなる。アクチュエータ180では、減速機185から当該後段の部材にトルクを伝達する出力軸186に、トルクセンサ183及び出力軸角度センサ184bが設けられる。トルクセンサ183によって出力軸186のトルク(すなわち、アクチュエータ180による発生トルク)が検出され、出力軸角度センサ184bによって出力軸186の回転角度が検出される。なお、図3-図5では、代表的に1つの角度センサ184を図示していたが、本実施形態では、図6に示すように、モータ181と出力軸186のそれぞれに、回転速度を検出する角度センサ(モータ角度センサ184a及び出力軸角度センサ184b)が設けられてよい。
 本実施形態では、アクチュエータ180が駆動している間、電流センサ182、温度センサ187、トルクセンサ183、モータ角度センサ184a及び出力軸角度センサ184bの検出値が、関節制御用CPU160に随時提供される。図3-図5を参照して説明したように、関節制御用CPU160は、これらの検出値に基づいて、アクチュエータ180を駆動させることができる。また、図6では図示を省略しているが、これらの各センサの検出値が通信ユニット150を介して制御装置20に送信され得る。制御装置20では、これらの検出値に基づいて関節部130の異常が検出されることとなる。
 以上、図6を参照して、アクチュエータ180に搭載される各センサの構成について説明した。なお、本実施形態では、電流センサ182、温度センサ187、トルクセンサ183、モータ角度センサ184a及び出力軸角度センサ184bの具体的な構成は特定のものに限定されず、これらのセンサとしては、各種の公知のセンサを用いることができる。例えば、電流センサ182は、抵抗による電圧降下に基づいて電流を検出するものであってもよいし、ホール素子による磁界の変化に基づいて電流を検出するものであってもよい。また、例えば、温度センサ187は、熱電対を利用するものであってもよいし、測温抵抗体を利用するものであってもよい。また、例えば、トルクセンサ183は各種の歪センサを用いたものであってよい。また、例えば、モータ角度センサ184a及び出力軸角度センサ184bは、各種のロータリエンコーダであってよい。
 <4.ロボットアーム制御方法の処理手順>
 次に、図7を参照して、本実施形態に係るロボットアーム制御方法の処理手順について説明する。図7は、本実施形態に係るロボットアーム制御方法の処理手順の一例を示すフロー図である。なお、図7に示す各処理は、例えば図1に示すロボットアーム制御システム2の機能構成によって実現され得る。また、ここで説明するロボットアーム制御方法は、アーム部120の駆動において異常を検出した際における一連の処理手順に関するものである。例えば制御量の演算等、アーム部120の駆動を制御する際のより詳細な制御方法については、図10を参照して後述する。
 図7を参照すると、本実施形態に係るロボットアーム制御方法では、まず、アーム部120の駆動中に、関節部130において異常が検出されたかどうかが判断される(ステップS101)。ステップS101に示す処理では、アーム部120を構成する関節部130のそれぞれに対して異常の検出処理が行われてよく、いずれの関節部130において異常が発生しているかも併せて検出され得る。ステップS101に示す処理は、例えば、図1に示す異常検出部260によって、関節部130の異常を検出するための各種の情報に基づいて、関節部130の異常が検出される処理であってよい。
 ステップS101において異常が検出されなかった場合には、アーム部120において、そのまま通常動作が続行される(ステップS103)。ここで、通常動作とは、アーム部120の駆動が正常に制御されている状態であり、例えば下記(6-2-5.運動目的の具体例)で説明するパワーアシスト動作やピボット動作等が行われ、先端ユニット145によって患者に対して各種の施術が行われ得る。
 パワーアシスト動作では、アーム部120に作用する重力を打ち消すように関節部130が駆動するとともに、外部から更に与えられた力の方向へのアーム部120の移動をサポートするように関節部130が駆動するように、運動目的が設定され、当該運動目的に基づいて関節部130の駆動が制御される。このような制御を行うことにより、術者はあたかも無重力下にあるかのようにアーム部120を操作することができる。
 また、ピボット動作では、先端ユニット145が、当該先端ユニット145の向きが空間上の所定の点に固定された状態で、当該所定の点を頂点とした円錐体の面上を移動するように、拘束条件が設定され、当該拘束条件に基づいて関節部130の駆動が制御される。例えば先端ユニット145として撮像装置を設け、このような制御を行うことにより、同一の点(例えば術部)を異なる方向、異なる距離から観察することが可能となる。また、ピボット動作では、ピボット動作の中心となる空間上の所定の点(ピボット中心点)と、先端ユニット145との距離が一定に保たれてもよい。これにより、先端ユニット145(例えば撮像装置)が、ピボット中心点を向いた状態で、当該ピボット中心点を中心とする半球上を移動するように、アーム部120の駆動が制御されることとなり、所定の点をあらゆる方向から観察することが容易に行えるようになる。また、パワーアシスト動作とピボット動作とが組み合わされて用いられてもよい。
 ステップS101において異常が検出された場合には、ステップS105に進む。ステップS105では、検出された異常の種類に応じて、当該異常が異常回避動作によって回避可能な異常かどうかが判断される。
 ステップS105において回避可能な異常であると判断された場合には、異常回避動作が実行される(ステップS107)。異常回避動作では、アーム部120の運動に所定の制限が設けられた状態で関節部130の駆動が制御され、異常を回避するようにアーム部120が駆動される。所定の制限とは、例えば、各関節部130に所定の値以上のトルクを生じさせないことや、各関節部130を所定の角度以上回転させないこと等であってよい。
 ステップS105において回避可能な異常ではないと判断された場合には、ステップS109に進む。ステップS109では、検出された異常の種類に応じて、当該異常がアーム部120の機能の継続が可能な異常かどうかが判断される。
 ステップS109においてアーム部120の機能の継続が可能であると判断された場合には、一部機能停止動作が実行される(ステップS111)。一部機能停止動作では、異常が検出された関節部130以外の他の関節部130の駆動を制御して、本来の自由度よりも自由度を下げた状態でアーム部120が駆動される。
 ステップS109においてアーム部120の機能の継続が可能でないと判断された場合には、ステップS113に進む。ステップS113では、機能停止動作が実行される。機能停止動作では、アーム部120が意図せぬ動きをして術者及び患者に危害が加えられることがないように、安全にアーム部120の機能が停止される。例えば、機能停止動作では、アーム部120を構成する全ての関節部130の動きが固定される。
 以上、図7を参照して、本実施形態に係るロボットアーム制御方法の処理手順について説明した。以上説明したように、本実施形態では、関節部130に異常が検出された場合に、当該異常の種類に応じて、異常回避動作、一部機能停止動作及び機能停止動作のいずれの動作を実行するかが選択される。異常回避動作が実行された場合には、異常が回避された状態でアーム部120の駆動が継続される。また、一部機能停止動作が実行された場合には、アーム部120の一部の機能が停止された状態でアーム部120の駆動が継続される。従って、異常が検出された場合であっても、アーム部120を用いた施術を継続することが可能となり、患者にとっての安全性をより向上させることができる。また、全身協調制御によるアーム部120の駆動制御を継続することが困難な異常が検出された場合には、機能停止動作が実行され、術者及び患者に危害が加えられることがないように、安全にアーム部120の機能が停止されることとなる。
 なお、上述したステップS105、S109に示す処理は、例えば、図1に示す演算条件設定部242によって、異常検出部260によって検出された関節部130の異常に基づいて、当該異常の種類及び当該異常の種類に応じたアーム部120の動作が判断される処理であってよい。また、ステップS107、S111に示す処理は、例えば、図1に示す演算条件設定部242によって、アーム部120に異常回避動作及び一部機能停止動作を行わせるような制御量の演算条件がそれぞれ設定され、全身協調制御部240及び理想関節制御部250によって当該演算条件の下で算出された制御量に基づいて、駆動制御部111によって各関節部130の駆動が制御される処理であってよい。また、ステップS113に示す処理は、例えば、図1に示す駆動制御部111によって、位置制御によって関節部130ごとにその駆動が制御される処理であってよい。
 また、図7では、説明のため、ステップS101、S105、S109に示すように、異常回避動作、一部機能停止動作及び機能停止動作のいずれの動作を実行するかが段階的に選択されるように図示しているが、実際の処理はこのように段階的に判断が行われなくてもよい。例えば、上記<2.ロボットアーム制御システムの機能構成>で説明したように、異常の種類と、当該異常が生じた際に実行可能な動作と、が関連付けられたテーブルが作成され、当該テーブルに基づいていずれの動作を実行するかが判断されてもよい。
 <5.各処理の詳細について>
 次に、図7に示す処理手順の中でも、ステップS101の異常検出処理、ステップS107の異常回避動作、ステップS111の一部機能停止動作及びステップS113の機能停止動作のそれぞれについて詳細に説明する。
 (5-1.異常検出処理)
 まず、本実施形態に係る異常検出処理について説明する。図1及び図6を参照して上述したように、本実施形態では、アクチュエータ180に備えられる各種のセンサによる検出値(すなわち、関節状態検出部132によって検出される関節部130の状態)に基づいて、各関節部130の異常が検出され得る。当該センサとしては、例えば、電流センサ182、トルクセンサ183、モータ角度センサ184a、出力軸角度センサ184b及び温度センサ187が設けられる。
 異常検出処理の一例として、図8を参照して、モータ181又は出力軸186の角速度に基づく異常検出処理の処理手順について説明する。図8は、角速度に基づく異常検出処理における処理手順の一例を示すフロー図である。なお、モータ181又は出力軸186の角速度は、例えば図3-図6に示す角速度演算器162によって、モータ角度センサ184a又は出力軸角度センサ184bによる回転角度の検出値に基づいて算出されてよい。また、図8に示す各処理は、例えば図1に示す異常検出部260によって実行され得る。
 図8を参照すると、本実施形態に係る異常検出処理では、まず、検出された角速度が所定のしきい値(第1のしきい値)を超えたかどうかが判断される(ステップS201)。当該第1のしきい値としては、アーム部120の駆動制御に用いられている内部モデル等に基づいて、通常であれば角速度として検出され得ないような値が適宜設定され得る。また、角速度の検出は、所定のタイミングで随時行われてよい。検出された角速度が第1のしきい値を超えていないと判断された場合には、所定のタイミングでの角速度の検出がそのまま続行される。一方、検出された角速度が第1のしきい値を超えたと判断された場合には、ステップS203に進む。
 ステップS203では、検出された角速度が第1のしきい値を超過している時間(しきい値超過時間)の測定が開始される。しきい値超過時間の測定中にも、角速度が随時検出され、検出された角速度が第1のしきい値以下かどうかが随時判断される(ステップS205)。ステップS205において、しきい値超過時間が所定のしきい値(第2のしきい値)を超える前に、検出された角速度が第1のしきい値以下になったと判断された場合には、角速度が第1のしきい値よりも大きい異常値を示したのは一時的な事象であると判断することができる。従って、しきい値超過時間の測定を終了し(ステップS207)、ステップS201に戻り、角速度の検出が続行される。
 一方、ステップS205において、検出された角速度が第1のしきい値以下ではないと判断された場合には、しきい値超過時間が第2のしきい値を超えているかどうかが判断される(ステップS209)。しきい値超過時間が第2のしきい値を超えていないと判断された場合には、ステップS205に戻り、検出された角速度と第1のしきい値との比較及びしきい値超過時間と第2のしきい値との比較が繰り返し行われる。ステップS209において、しきい値超過時間が第2のしきい値を超えたと判断された場合には、角速度が第1のしきい値よりも大きい異常値を示した時間が一定時間以上継続したことを意味している。従って、角速度の検出値が異常であると判断され(ステップS211)、関節部130に異常が生じていると判断されることとなる。
 以上、異常検出処理の一例として、図8を参照して、モータ181又は出力軸186の角速度に基づく異常検出処理の処理手順について説明した。なお、図8では、一例として、角速度の検出値に基づく異常の検出処理の処理手順について説明したが、他の検出値、例えば回転角度、角加速度、トルク、電流及び温度等の検出値に対しても、同様の手順に従って異常を検出することが可能である。以上説明したように、本実施形態では、各センサからの検出値が所定のしきい値を超えた時間が一定時間以上継続した場合に、当該検出値が検出された関節部130が異常であると判断されてよい。
 また、本実施形態では、以上説明した処理手順以外の方法によって関節部130の異常が検出されてもよい。例えば、異常検出部260は、以下のような方法に基づいて、異常を検出することができる。
 例えば、角加速度、角速度及びトルクに関しては、異常値が検出されている時間が一定時間を超えない場合であっても、検出値が所定のしきい値を超えた瞬間に、異常が検出されてもよい。このような場合には、アーム部120が過大な速度で移動したり、アーム部120によって患者に対して過大な力が負荷されたりする恐れがあるからである。また、例えばアーム部120のリンクに歪みゲージを設け、当該歪みゲージによる検出値も併せて異常が検出されてもよい。当該歪みゲージによる検出値は、アーム部120が接触することにより、術者及び患者等の外部の物体に与えられる押圧力を示す指標となり得るからである。なお、この種の異常が検出された場合には、好適に異常回避動作が行われ得る。当該異常回避動作では、例えば速度や力が所定の値以下になるような運動目的及び/又は拘束条件が演算条件として設定され、過大な速度及び力を生じさせないようにアーム部120の駆動が制御される。
 また、例えば、トルクセンサ183によるトルクの検出値に基づいて、関節部130の駆動制御が安定しているかどうかが判断されることにより異常が検出されてもよい。具体的には、例えば高速フーリエ変換(FFT:Fast Fourier Transform)を用いてトルクの検出値に対する周波数解析を行い、当該周波数解析の結果から異常な周波数成分が検出された場合に、異常が検出されてよい。トルクの検出値から異常な周波数成分が検出された場合には、制御が安定しておらず、発振する可能性があることを示しているからである。当該異常が検出された場合には、例えばより低いゲインで制御量の演算が行われるような演算条件が設定され、より安定的な制御系においてアーム部120の駆動が制御される異常回避動作が行われ得る。一方、ゲインを下げてもなお制御が安定しない場合には、異常が検出された関節部130以外の他の関節部130によってアーム部120を駆動させる、一部機能停止動作が行われてよい。
 また、例えば、モータ角度センサ184a及び/又は出力軸角度センサ184bによるモータ181及び/又は出力軸186の回転角度の検出値に基づいて、関節部130の異常が検出されてもよい。例えば、モータ角度センサ184aによる検出値と出力軸角度センサ184bによる検出値とは、減速機185の減速比を介した比例関係にあるはずである。従って、モータ角度センサ184aによる検出値と出力軸角度センサ184bによる検出値との間の比例関係が崩れた場合には、モータ181、減速機185、モータ角度センサ184a及び出力軸角度センサ184bのいずれかが故障している可能性がある。また、例えば、電流センサ182によってモータ181に対して所定の値の電流が供給されていることが検出されているにもかかわらず、モータ角度センサ184aによる検出値が変化しない場合には、モータ181又はモータ角度センサ184aが故障している可能性がある。同様に、電流センサ182によってモータ181に対して所定の値の電流が供給されていることが検出されているにもかかわらず、出力軸角度センサ184bによる検出値が変化しない場合には、モータ181、減速機185及び出力軸角度センサ184bのいずれかが故障している可能性がある。このように、関節部130の異常として、モータ181、減速機185、モータ角度センサ184a及び出力軸角度センサ184bのいずれかの故障が検出された場合には、関節部130に対して所望の駆動制御を行うことは難しいと考えられる。従って、このような異常が検出された場合には、異常が検出された関節部130以外の他の関節部130によってアーム部120を駆動させる、一部機能停止動作が行われてよい。
 また、例えば、電流センサ182によるモータ181に供給される電流の検出値に基づいて、関節部130の異常が検出されてもよい。例えば、電流センサ182によって過電流が検出された場合には、モータ181が故障(ショート)している、又は、制御が不安定なために過電流が流れておりそのまま過電流が印加され続けるとモータ181が故障してしまう恐れがある。また、指令値として与えられている電流量と電流センサ182による電流の検出値との間に大幅な乖離が生じている場合には、モータドライバユニット170の故障が疑われる。関節部130の異常として、このような電流の検出値に基づく異常が検出された場合には、モータ181を正常に駆動することが難しいため、関節部130に対して所望の駆動制御を行うことは困難であると考えられる。従って、このような異常が検出された場合には、異常が検出された関節部130以外の他の関節部130によってアーム部120を駆動させる、一部機能停止動作が行われてよい。
 また、例えば、温度センサ187によるモータ181の周囲の温度の検出値に基づいて、関節部130の異常が検出されてもよい。例えば、モータドライバユニット170等の周囲の他の構成に対してモータ181の周囲の温度が格段に高い場合には、当該温度センサ187又はモータ181が故障している可能性がある。関節部130の異常として、このような温度の検出値に基づく異常が検出された場合には、モータ181が異常な動作を行う可能性があるため、安全性の観点から、異常が検出された関節部130は駆動を停止することが望ましい。従って、このような異常が検出された場合には、異常が検出された関節部130以外の他の関節部130によってアーム部120を駆動させる、一部機能停止動作が行われてよい。
 また、例えば、通信ユニット150の通信状態に基づいて、関節部130の異常が検出されてもよい。例えば、何らかの原因により通信ユニット150による通信が停止している場合には、関節部130が、制御装置20によって算出された制御量についての情報を受信することができなくなるため、関節部130に対して全身協調制御に基づく駆動制御を行うことができなくなる。従って、このような異常が検出された場合には、アーム部120の動作を停止させる機能停止動作が行われてよい。
 また、本実施形態では、関節部130に、モータ181の駆動を停止するようなブレーキ機構が設けられてもよい。当該ブレーキ機構は、制御的にモータ181の回転角度を固定するものであってもよいし、機械的にモータ181の駆動を停止させるものであってもよいし、電気回路的にモータドライバユニット170からモータ181への電流の供給を遮断するものであってもよい。例えば、当該ブレーキ機構を作動させているにもかかわらず、モータ角度センサ184a及び出力軸角度センサ184bのいずれかの検出値が変化した場合には、当該ブレーキ機構が故障しており、ブレーキが掛からない状況が発生している可能性がある。逆に、当該ブレーキ機構を解除し、外力を加えて関節部130を動かそうとしているにもかかわらず、モータ角度センサ184a及び出力軸角度センサ184bのいずれかの検出値が変化しない場合には、当該ブレーキ機構が故障しており、意図せずブレーキが掛かってしまう状況が発生している可能性がある。関節部130の異常として、このようなブレーキ機構の故障が検出された場合には、アーム部120を駆動させた際に意図せぬ動きをしてしまい、術者及び患者が危険にさらされる恐れがある。従って、このようなブレーキ機構に関する異常が検出された場合には、アーム部120の動作を停止させる機能停止動作が行われてよい。
 以上、本実施形態において検出され得る異常の種類について例示した。ただし、本実施形態に係る異常検出処理は上述した例に限定されず、異常を検出するための各種の情報(例えば、アクチュエータ180の各センサによる検出値(関節状態検出部132によって検出された関節部130の状態)についての情報、関節部130の駆動制御についての情報、関節部130に送信される指令値についての情報、関節部130の通信状態についての情報等)に基づいて、他の異常が検出されてもよい。また、上記では、各異常が検出された際にアーム部120が移行し得る動作についても説明しているが、これらの動作への移行はあくまで例示であって、各異常と動作との対応関係は、必ずしも上述したものに限定されない。各異常が検出された際にいずれの動作に移行するかは、アーム部120の全体構成やアーム部120の駆動制御に用いられている内部モデル等、制御に関する各種の条件に応じて、適宜設定されてよい。
 以上、本実施形態に係る異常検出処理について説明した。以上説明したように、本実施形態によれば、異常を検出するための各種の情報に基づいて、関節部130ごとに異常が検出される。従って、異常が発生している関節部130を特定することができ、例えば一部機能停止動作等、異常が検出された関節部130以外の関節部130を用いた動作を実行することが可能となる。また、本実施形態では、どのような情報に基づいて異常が検出されたかに応じて、関節部130のいずれの構成部材が故障しているかが検出され得る。従って、例えば、故障が検出された構成部材に応じて、アーム部120に行わせる動作を選択することが可能となる。例えば、故障が検出された構成部材が、関節部130の駆動制御を行うために必須な部材であったり、安全性を確保するために重要な部材であれば、機能停止動作に移行することが好ましい。このように、本実施形態では、関節部130ごとに、いずれの構成部材が故障したかまで検出可能であるため、異常の種類を詳細に判断することができ、アーム部120に行わせる動作をより適切に選択することが可能となる。
 (5-2.異常回避動作)
 次に、本実施形態に係る異常回避動作について説明する。異常回避動作では、アーム部120の運動に対して所定の制限が設けられた状態で関節部130の駆動が制御され、当該異常を回避するようにアーム部120が駆動される。当該所定の制限とは、検出された異常を回避するようにアーム部120が駆動するような制限であってよい。例えば、当該所定の制限は、アーム部120の各関節部130におけるトルク(発生トルク及び外トルク)や各関節部130の回転角度、回転角速度及び回転角加速度に対する数値的な制限であり得る。これにより、例えばアーム部120や先端ユニット145が術者や患者に過大な力及び速度で衝突することが回避される。
 異常回避動作の一例として、図9及び図10を参照して、関節部130におけるトルクに基づく異常回避動作について説明する。図9及び図10は、関節部130におけるトルクに基づく異常回避動作について説明するための説明図である。
 図9では、ロボットアーム装置のアーム部310によって、患者320に対して所定の処置が行われる様子が図示されている。図9を参照すると、アーム部310は、複数のリンク312a~312fが、複数の関節部311a~311fによって互いに連結されて構成されている。各関節部311a~311fの回転駆動が制御されることにより、アーム部310が駆動され得る。アーム部310の先端には、先端ユニット313が設けられており、当該先端ユニット313によって患者320に対して各種の処置が行われる。図9に示す例では、先端ユニット313は内視鏡であり、患者320の体腔内に挿入され、当該体腔内の患部の様子を観察したり、患部に対して各種の処置を行ったりすることができる。
 ここで、図9に示すように、例えば術者による誤操作により、先端ユニット313が患者320の身体(例えば臓器等)に接触してしまったとする。当該接触により、先端ユニット313には、患者320の身体からの反力Fが負荷される(すなわち、先端ユニット313に押圧力Fが発生する)とともに、当該反力Fが負荷された影響により、各関節部311a~311fにトルクτ~τが負荷されることとなる。一方、本実施形態では、各関節部311a~311fにトルクセンサが設けられており、トルクセンサにより各関節部311a~311fに負荷された外トルクが検出され得る。
 本実施形態では、例えばトルクセンサによって所定のしきい値以上のトルクが検出された場合に異常を検出し、異常回避動作として、各関節部311a~311fにおいて当該しきい値よりも大きいトルクが検出されないように、各関節部311a~311fの駆動が制御されてよい。具体的には、先端ユニット313による押圧力Fとして、患者320に危険が及ばないような値が運動目的として設定される。これにより、先端ユニット313において設定した値以上の力が発生しないこととなる。ここで、全身協調制御では、各関節部311a~311fのトルクτ~τに基づいて外力Fが算出され得る。従って、上記のような運動目的を設定することにより、各関節部311a~311fのトルクτ~τが、先端ユニット313による押圧力Fが設定した値以上にならないように制御されることとなる。よって、本実施形態では、押圧力Fが設定した値以上になり得るようなトルク値がトルクτ~τとして検出された場合に異常を検出し、そのようなトルクの発生を防ぐように各関節部311a~311fの駆動が制御されることにより、異常回避動作が行われ得る。このような異常回避動作が行われることにより、先端ユニット313が患者320の臓器等に接触した場合であっても、臓器が過大な力によって圧迫されることなく、より安全に施術を続行することが可能となる。
 また、押圧力Fの上限値を設定する際には、その力が作用する方向ごとに異なる値が設定されてもよい。例えば、アーム部310の動作方向に作用する力の上限値としてより小さな値を設定することにより、患者に対して生じ得る危険をより適切に回避することができる。
 一方、図10に示すように、本実施形態では、先端ユニット313を術者が把持した状態でアーム部120を移動させる場合が考えられる。この場合、先端ユニット313が患者320の身体(例えば臓器等)に接触したとすると、先端ユニット313には、患者320の身体からの反力Fと、術者による押圧力Fとが、逆方向に作用し得るため、先端ユニット313が患者320の身体に過大な力で押圧されているにもかかわらず、各関節部311a~311fにおけるトルクτ~τにはそのことが反映されないという事態が生じ得る。本実施形態では、このような事態を避けるために、例えば先端ユニット313の、術者が把持している部位よりも先端に近いいずれかの部位に、力(応力)を検出するための歪みセンサが設けられてよい。当該歪みセンサにより、患者320の身体からの反力F(すなわち、先端ユニット313による押圧力F)を直接測定することができる。あるいは、先端ユニット313の術者によって把持される部位に歪みセンサが設けられてもよい。当該歪みセンサにより、術者による押圧力Fを直接測定することができる。各関節部311a~311fにおけるトルクτ~τから、押圧力Fと外力Fとの合力を算出することができるため、当該合力と歪センサによる測定値とに基づいて、押圧力Fと外力Fとの切り分けを行うことができる。従って、先端ユニット313による押圧力Fとして、患者320に危険が及ばないような値を運動目的として設定することにより、図9を参照して説明した場合と同様に、異常回避動作を行うことが可能となる。
 以上、異常回避動作の一例として、図9及び図10を参照して、関節部311a~311fにおけるトルクに基づく異常回避動作について説明した。上述した例では、先端ユニット313による患者320への押圧力が所定の値以下に制限される異常回避動作について説明したが、より一般的に、アーム部310(先端ユニット313を含む)が接触することにより外部の物体に与えられる押圧力を対象として異常回避動作が行われてよい。つまり、本実施形態では、アーム部310が接触することにより外部の物体に与えられる押圧力に応じて関節部311a~311fに生じるトルクに基づいて関節部311a~311fの異常が検出され、当該異常が検出された場合に、アーム部310の運動に対して当該押圧力が所定の範囲に制限された状態で、関節部311a~311fの駆動が制御され、アーム部310が駆動されることにより、異常回避動作が行われ得る。また、押圧力の制限は、関節部311a~311fにおけるトルクを制限することにより実現される。このように、押圧力(関節部311a~311fにおけるトルク)に制限(例えば上限値)を設けて異常回避動作を行うことにより、上述したような先端ユニット313の衝突だけでなく、例えば、アーム部310のリンク間に術者の指が強く挟まれる事態や、アーム部310自体が術者又は患者に過大な速度や力で衝突する事態も回避することができる。
 ここで、本実施形態では、以上説明した方法以外の方法によって異常回避動作が行われてもよい。例えば、本実施形態では、以下のような異常回避動作が実行可能である。
 例えば、関節部311a~311fの回転角度が所定の範囲に制限されることにより、異常回避動作が行われてもよい。当該異常回避動作では、例えば、関節部311a~311fの異常が、関節部311a~311fの回転角度に基づいて検出され、当該異常が検出された場合に、アーム部310の運動に対して当該回転角度が所定の範囲に制限された状態で、関節部311a~311fの駆動が制御され、アーム部310が駆動される。このような異常回避動作を行うことにより、関節部311a~311fが所定の方向に所定の角度以上回転しないようにその運動を制限することが可能となるため、例えばアーム部120に侵入禁止領域を設けるような駆動制御を行うことが可能となる。
 また、例えば、関節部311a~311fの回転角速度が所定の範囲に制限されることにより、異常回避動作が行われてもよい。当該異常回避動作では、例えば、関節部311a~311fの異常が、関節部311a~311fの回転角速度に基づいて検出され、当該異常が検出された場合に、アーム部310の運動に対して当該回転角速度が所定の範囲に制限された状態で、関節部311a~311fの駆動が制御され、アーム部310が駆動される。このような異常回避動作を行うことにより、関節部311a~311fが所定の値以上の角速度で回転しないようにその運動を制限することが可能となるため、アーム部310が術者又は患者に衝突することによる危険性が回避され得る。また、関節部311a~311fの回転角速度に基づく異常回避動作においては、当該回転角速度がゼロに制限されてもよい。回転角速度がゼロに制限された場合、関節部311a~311fは極遅い速度でしか回転することができなくなるため、アーム部310が術者又は患者に衝突することによる危険性が更に抑制されることとなる。
 以上、本実施形態に係る異常回避動作について説明した。以上説明したように、本実施形態によれば、関節部311a~311fにおけるトルクや回転角度、回転角速度等に基づいて、アーム部310が所定の値以上の力を発生させたり、所定の値以上の速度で運動したりしないように、異常回避動作が行われる。従って、患者及び術者に対してアーム部310が衝突することによる危険性を抑制することが可能となる。
 なお、以上の説明では、関節部311a~311fにおけるトルク、回転角度及び回転角速度に基づく異常回避動作について説明したが、本実施形態はかかる例に限定されない。関節部311a~311fにおける回転角加速度等、アーム部310の運動を表し得る他の物理量に基づいて異常回避動作が行われてもよい。また、以上の説明では、アーム部310の運動に課せられる条件として、関節部311a~311fにおけるトルク、角度及び角速度が所定の値「以下」となるような条件を設けていたが、本実施形態はかかる例に限定されない。境界となる値を含むかどうかは任意であってよく、当該条件は、関節部311a~311fにおけるトルク、角度及び角速度が所定の値「よりも小さく」なるような条件であってもよい。
 (5-3.一部機能停止動作)
 次に、本実施形態に係る一部機能停止動作について説明する。一部機能停止動作では、関節部130のいずれかに異常が検出された場合に、異常が検出された関節部130以外の他の関節部130の駆動が制御され、自由度を下げた状態でアーム部120が駆動される。
 ここで、本実施形態に係る一部機能停止動作では、異常が検出された関節部130は、所定の角度から回転しないようにその動きが固定されることが好ましい。これにより、異常が検出された関節部130によってアーム部120が意図せぬ動きをすることが防止されるため、アーム部120が術者及び患者に危害を加える可能性を低減させることができる。異常が検出された関節部130の固定は、制御的に回転角度を固定することにより実現されてもよいし、モータの駆動を停止するような機械的なブレーキ機構によって実現されてもよいし、モータに供給される電流を遮断するような電気的な機構によって実現されてもよい。
 なお、制御的に関節部130が固定される場合には、関節部130ごとにその回転角度が所定の値に制御されればよいので、当該制御は、全身協調制御によっていわゆる力制御として行われなくてもよく、各関節部130に設けられる関節制御部135の駆動制御部111によって位置制御として行われてもよい。例えば、図1に示すロボットアーム装置10と制御装置20との間の通信に異常が発生している場合等、全身協調制御を行うことは不可能であるが、各駆動制御部111によって関節部130ごとにその駆動が制御可能である場合には、このような駆動制御部111による制御的な関節部130の固定が好適に実行され得る。
 ただし、本実施形態では、異常が検出された関節部130は必ずしも固定されなくてもよい。例えば、異常が検出された関節部130の駆動制御部111が、当該関節部130の粘性係数を他の関節部130よりも大きくすることにより、異常が検出された関節部130に対して、自律的にはその動きが固定されているが、所定の値以上の外力が負荷された場合には当該外力に応じて回転し、固定される位置(角度)が変更されるような制御を行ってもよい。このような制御は、例えば、上述したような、ロボットアーム装置10と制御装置20との間の通信に異常が発生し、全身協調制御を行うことが不可能な場合に好適に実行され得る。当該制御が行われている関節部130は、いわば略固定された状態であると言うことができる。なお、上記のような粘性係数の制御は、例えば駆動制御部111によって、関節部130のモータに供給する電流量が調整されることによって実現され得る。このような制御を行うことにより、異常が検出され自律的には動きが固定されている関節部130であっても、必要に応じてその回転角度を変更することが可能となるため、例えば術者が直接アーム部120を移動させながら施術を続行することも可能となる。
 また、例えば、関節部130のアクチュエータに異常が発生した場合には、アクチュエータの駆動制御(すなわち、関節部130の駆動制御)を正常に行うことが困難となるため、上記のように駆動制御部111によって制御的に関節部130を固定することが難しくなる。従って、このような場合には、駆動制御部111は、異常が検出された関節部130の制御を停止してもよい。制御が停止された関節部130は、他の関節部130よりも粘性係数が大きく(反力が大きく)回転し難いが、所定の値以上の外力に応じて自由に回転する、制御対象ではない一つの回転部位として振る舞うことができ、略固定された状態であるとみなすことができる。これは、制御が停止されることにより、関節部130のアクチュエータに設けられる減速機の摩擦力により、関節部130の動きがほぼ固定されることにより実現され得る。制御が停止された場合であっても、当該関節部130の回転角度は関節部130の状態として検出され、当該関節部130の回転角度まで含めてアーム状態が取得され得る。従って、自由に回転可能な関節部130を有することが反映されたアーム部120の内部モデルを適宜設定することにより、他の関節部130によってアーム部120の駆動を制御することが可能となる。
 このように、本実施形態に係る一部機能停止動作では、例えば異常が検出された関節部130が固定又は略固定され、固定又は略固定された関節部130以外の関節部130の自由度を用いてアーム部120の駆動が制御されることとなる。具体的な処理としては、例えば、異常が検出された関節部130が固定される又は略固定されるという拘束条件が演算条件設定部242によって設定され、当該拘束条件に基づいて、全身協調制御に係る演算が行われることにより、他の関節部130の駆動が制御されてよい。例えば、アーム部120が所望の動作を行うために必要なだけの自由度(例えば6自由度)を有している場合には、上記のような拘束条件が課され、自由度が低下することにより、アーム部120の位置及び姿勢が制限されてしまう可能性はある。しかしながら、本実施形態では、残りの自由度を用いて可能な限りアーム部120の位置及び姿勢が制御され得る。従って、施術を続行することができ、施術の中断又は施術時間の増加により患者が危険にさらされることを防止することができる。
 なお、複数の関節部130において異常が検出された場合には、異常が検出された関節部130の各々に対して、上述した、関節部130を固定する処理及び略固定する処理のいずれかが、例えば故障の種類等に応じて適宜選択されて実行されてよい。例えば、複数の関節部130において異常が検出された場合には、その故障の種類に応じて、ある関節部130は上述した方法により制御的に固定され、他の関節部130は上述した方法により制御的に略固定され、更に他の関節部130は上述した方法によりアクチュエータに対する制御が停止されることにより略固定されてもよい。このように、一部機能停止動作を実現するために、異常が検出された関節部130に対して実行される処理は、関節部130ごとに異なっていてもよく、例えば故障の種類等に応じて関節部130ごとに適宜選択され得る。
 ここで、本実施形態では、アーム部120は冗長自由度を有してもよい。本実施形態に係る一部機能停止動作は、冗長自由度を有するアーム部120に対しても好適に適用され得る。
 アーム部120における冗長自由度の概念について説明する。例えば、アーム部120が所望の動作を行うために必要な自由度がN自由度であったとする(Nは任意の正の数)。例えば、一般的に、3次元空間上においてアーム部120の位置及び姿勢を任意に制御するためには、原理上、アーム部120が6自由度以上の自由度を有することが求められる。ここで、アーム部120がN自由度よりも多い自由度(例えばN+1自由度)を有する場合には、当該アーム部120は冗長自由度を有していると言える。
 例えば、冗長自由度を有するアーム部120においては、一部機能停止動作が行われ、自由度が下がった場合であっても、異常が検出された関節部130以外の関節部130によって、所望の自由度であるN自由度以上の自由度が確保されることとなる。このように、冗長自由度を有するアーム部120においては、一部機能停止動作が行われた場合であっても、所望の自由度が確保された状態でアーム部120の駆動制御が継続されることとなり、施術のより安全な継続が可能となる。
 なお、冗長自由度を有するアーム部120において一部機能停止動作が行われる場合における具体的な処理としては、例えば、演算条件設定部242によって内部モデルが切り換えられてもよい。冗長自由度(例えばN+1自由度)を有するアーム部120においては、通常時には、所定の関節部130の動きを固定することにより、仮想的に最低限必要な自由度(例えばN自由度)を有するアーム部120とみなした上で、その駆動制御が行われる場合がある。この場合、異常が検出された関節部130を固定して一部機能停止動作を行おうとすると、固定される関節部130の位置が変化し得るため、その内部モデルも変化し得る。従って、例えば各関節部130が固定された場合に応じた複数の内部モデルが予め用意されており、異常が検出された関節部130に応じて適切な内部モデルが選択されることにより、一部機能停止動作が実行されてよい。
 以上、本実施形態に係る一部機能停止動作について説明した。以上説明したように、本実施形態に係る一部機能停止動作では、関節部130のいずれかに異常が検出された場合に、異常が検出された関節部130以外の関節部130の駆動が制御されることにより、自由度を下げた状態でアーム部120の駆動が行われる。これにより、自由度が低下することによりアーム部120の位置及び姿勢が制限される可能性はあるものの、残りの自由度を用いて可能な限りアーム部120の駆動が継続される。従って、施術を続行することができ、患者に対する危険性を低減することが可能となる。
 また、本実施形態では、アーム部120は冗長自由度を有してもよい。冗長自由度を有するアーム部120に対して一部機能停止動作が行われる場合には、自由度が低下した場合であっても、アーム部120が所望の動作を行うために本来必要とされるだけの自由度が確保され得るため、アーム部120の駆動がより安定的に継続される。従って、施術のより安全な継続が可能となる。
 (5-4.機能停止動作)
 次に、本実施形態に係る機能停止動作について説明する。機能停止動作では、アーム部120の機能が停止されることとなるが、例えば各関節部130の駆動制御が全く行われないようにその機能が停止されると、各関節部130が重力に任せて自由に回転してしまうと、患者の上にアーム部120が落下する等の危険が生じ得る。従って、本実施形態に係る機能停止動作では、より安全にアーム部120の機能が停止される。
 本実施形態に係る機能停止動作では、アーム部120を構成する全ての関節部130の動きが固定されてよい。例えば、アーム部120を構成する全ての関節部130の回転角度が、所定の角度(例えば機能停止動作が行われた瞬間における角度)で固定される。これにより、アーム部120の位置及び姿勢が固定され、アーム部120が意図せぬ動きをして術者及び患者を傷付けることを防止することができる。
 各関節部130の固定は、制御的に回転角度を固定することにより実現されてもよいし、モータの駆動を停止するような機械的なブレーキ機構によって実現されてもよいし、モータに供給される電流を遮断するような電気的な機構によって実現されてもよい。また、上記(5-3.一部機能停止動作)で説明した関節部130の固定と同様に、制御的に関節部130が固定される場合には、当該制御は、各関節部130に設けられる関節制御部135の駆動制御部111によって位置制御として行われてもよい。例えば、通信ユニット150、270に異常が発生し、制御装置20とロボットアーム装置10との通信が遮断された場合には、制御装置20によって算出された制御値を各関節部130が受信することができないため、このような、関節制御部135によって関節部130ごとにその角度を固定する制御が好適に行われ得る。
 また、制御的に関節部130が固定される場合には、自律的にはその回転が固定されているが、例えば所定の値以上の外力が負荷された場合には当該外力に応じて回転し、固定される位置(角度)が変更されるような制御が行われてもよい。このような制御を行うことにより、固定されている関節部130であっても、必要に応じてその回転角度を変更することが可能となるため、例えば術者が直接アーム部120を移動させながら施術を続行することも可能となる。
 ここで、ロボットアーム装置10は、バッテリ等の蓄電装置を更に備えてもよい。蓄電装置を備えることにより、例えば停電等、電源が遮断されるような異常が生じた場合であっても、上述したような制御的及び電気的な関節部130の固定を行うことが可能となる。ただし、蓄電装置の性能によっては、制御的及び電気的な関節部130の固定を長時間実行することは難しい可能性がある。従って、安全性の観点からは、電源が遮断されるような異常が生じた場合には、機械的なブレーキ機構によって関節部130が固定されることがより好ましい。
 また、電源が遮断された場合には、アーム部120の位置及び姿勢を保つように各関節部130のモータが駆動され得ないため、各関節部130が機械的に固定された際のアーム部120の重心の位置によっては、そのバランスを保てない恐れがある。従って、ロボットアーム装置10に、アーム部120を支持するためのカウンターバランスが設けられてもよい。カウンターバランスを適切に設けることにより、アーム部120の重心が不安定な場合であっても、そのバランスを保つことができ、より安全な機能停止が実現され得る。
 以上、本実施形態に係る機能停止動作について説明した。以上説明したように、本実施形態に係る機能停止動作では、アーム部120を構成する全ての関節部130の動きが固定される。従って、例えば機能停止と同時にアーム部120が意図せぬ動きをして、術者及び患者に危険が及ぶことが防止され得る。また、関節部130の固定は、関節部130ごとに、関節制御部135による位置制御によって実行されてよい。この場合には、各関節部130の回転が自律的には固定されるが、例えば所定の値以上の外力が負荷された場合には当該外力に応じて回転し、固定される位置(角度)が変更されるような制御を行うことが可能となるため、術者が直接アーム部120を移動させながら施術を続行することが可能となり、患者の安全性が更に向上する。
 以上、本実施形態に係る異常検出処理、異常回避動作、一部機能停止動作及び機能停止動作の詳細について、それぞれ説明した。以上説明したように、本実施形態では、関節部130ごとに、異常の発生及び異常の種類が的確に検出され得る。また、当該異常の種類に応じて、安全性を確保しつつ、可能な限りアーム部120の駆動が継続されるように、異常回避動作、一部機能停止動作及び機能停止動作のいずれの動作を行うかが選択される。このように、本実施形態によれば、上記<1.ロボットアーム装置の安全性についての検討>で説明した、安全性の観点からロボットアーム装置に求められる諸性能(異常回避動作を実行可能であること、一部機能停止動作を実行可能であること、機能停止動作を安全に実行可能であること、及び、これらの動作への移行を判断するための異常検出処理を的確に実行可能であること)が満足され得る。従って、術者及び患者の双方の安全を確保しつつ、可能な限りアーム部120を駆動させて施術を継続させることができる。また、深刻な異常によりアーム部120を停止する場合であっても、より安全にアーム部120の機能を停止することができる。
 <6.全身協調制御について>
 以下では、本実施形態に係る全身協調制御を実現するための制御システムの構成や、制御方法について説明する。上述したように、以上説明したロボットアーム制御システム2や、ロボットアーム制御方法は、医療用のロボットアーム装置に対して好適に適用されることにより、安全性を向上させることができる。そこで、以下では、医療用ロボットアーム装置を例に挙げて、ロボットアーム装置の全身協調制御の一実施形態について説明を行う。
 なお、以上の説明では、主に安全性の観点から医療用ロボットアーム装置に求められる諸性能について説明した。しかしながら、医療用ロボットアーム装置においては、安全性以外にも、多様な観点から多様な性能が求められる。従って、以下では、医療用ロボット装置に求められる他の性能をいくつか挙げ、本実施形態に係る全身協調制御によって、それらの諸性能も満足される点についても説明を行う。
 (6-1.医療用ロボットアーム装置についての検討)
 まず、本開示をより明確なものとするために、本発明者らが以下に説明する実施形態に想到するに至った背景について説明する。
 近年、医療分野や工業分野においては、より正確により素早く作業を行うために、ロボット装置が広く用いられている。ここで、ロボット装置及び各関節部の制御方式としては、位置制御と力制御とが知られている。位置制御では、関節部のアクチュエータに、例えば角度等の指令値が与えられ、当該指令値に追随するように関節部の駆動が制御される。一方、力制御では、ロボット装置全体として作業対象に加えるべき力の目標値が与えられ、当該目標値が示す力を実現するように関節部の駆動(例えば関節部によって発生されるトルク)が制御される。
 一般的に、制御上の簡便さやシステムの構成のしやすさから、位置制御によって駆動されるロボット装置が広く用いられている。しかしながら、位置制御は、外力に柔軟に応じることが困難であるため、俗に「硬い制御」と呼ばれることがあり、多様な外界との物理インタラクション(例えば、対人物理インタラクション)を行いながらタスクを遂行するロボット装置には適していない。一方、力制御は、システム構成は複雑化する反面、力オーダーでの「柔らかい制御」が実現できるため、特に対人物理インタラクションを行うロボット装置に適した制御方法であり、よりユーザビリティに優れた制御方法と言える。
 例えば、力制御が適用されたロボット装置の一例としては、本願出願人と同一出願人による先行出願である「特開2010-188471号公報」を参照することができる。当該特許文献には、対向する2輪の車輪からなる移動機構と複数の関節部を有する腕部を備えたロボット装置において、当該車輪及び当該関節部の駆動を全体として協調させて制御する(全身協調制御を行う)ロボット装置が開示されている。
 一方、近年、医療分野においては、各種の施術(例えば、手術や検査)を行う際に、アーム部の先端に様々な医療用のユニット(先端ユニット)が設けられたバランス型アーム(支持アームとも呼称する。)を用いる試みが行われている。例えば、バランス型アームのアーム部の先端に顕微鏡や内視鏡、カメラ等の撮像機能を有する様々な撮像装置を設け、施術者(ユーザ)が当該撮像装置によって撮影された術部の画像を観察しながら各種の施術を行う方法が提案されている。
 しかしながら、バランス型アームは、アーム部を移動させた際の力の均衡を取るためのカウンターバランス用ウェイト(カウンターウェイト又はバランサーとも呼称する。)を備える必要があるため、装置が大型化する傾向がある。施術時の作業空間の確保の観点からは、施術に用いられる装置にはより一層の小型化が求められており、一般的に提案されているバランス型アームではこのような要請に応えることが困難であった。また、バランス型アームにおいては、アーム部の駆動の一部のみ、例えば先端ユニットを平面上(2次元上)で移動させるための2軸の駆動のみが電動駆動となっており、アーム部及び先端ユニットの移動には施術者自身や周囲の医療スタッフによる手動での位置決めが必要となる。従って、一般的なバランス型アームでは、撮影時の安定性(例えば先端ユニットの位置決めの精度や制振等)の確保や、例えば視点を患者の体の所定の部位に固定した状態で様々な方向から観察する等の観察の自由度の確保が困難であった。
 特に、アーム部に取り付けられた撮像装置によって術部を観察する際には、視点を術部に固定したまま、異なる距離や異なる角度から当該術部を観察したいという要望がある。このような観察は、撮像装置にピボット動作を行わせることにより実現され得るが、バランス型アームによってピボット動作を行うためには、上記特許文献1に記載されているような複雑な機械的構成が必要となり、高い操作性を得ることは難しい。
 このような状況に鑑みて、バランス型アームに代わる装置として、位置制御によって駆動が制御される医療用のロボットアーム装置も提案されている。しかしながら、施術の更なる効率化及びユーザの負担軽減のために、ロボットアーム装置の駆動制御には、ユーザによってアーム部及び先端ユニットとして設けられる撮像ユニットの位置や姿勢をより直感的に制御することができる、より高い操作性が求められていた。位置制御によって駆動が制御されるロボットアーム装置では、このようなユーザの要望に応えることが困難であった。
 そこで、より安定性が高く、より操作性の高いアーム部の駆動制御を行うことが可能なロボットアーム装置を実現することにより、ユーザの負担をより軽減することが望まれていた。また、医療用に用いられるという観点から、ロボットアーム装置には、上記<1.ロボットアーム装置の安全性についての検討>で説明した安全性の観点から求められる諸性能に加えて、以下のような性能が求められる。
 図11を参照して、本開示の一実施形態に係るロボットアーム装置が医療用に用いられる場合の一適用例について説明するとともに、医療用ロボットアーム装置に求められる諸性能について説明する。図11は、本開示の一実施形態に係るロボットアーム装置が医療用に用いられる場合の一適用例について説明するための説明図である。
 図11は、本実施形態に係るロボットアーム装置を用いた施術の様子を模式的に表している。具体的には、図11を参照すると、施術者(ユーザ)520である医師が、例えばメス、鑷子、鉗子等の手術用の器具521を使用して、施術台530上の施術対象(患者)540に対して手術を行っている様子が図示されている。なお、以下の説明においては、施術とは、手術や検査等、ユーザ520である医師が施術対象540である患者に対して行う各種の医療的な処置の総称であるとする。また、図11に示す例では、施術の一例として手術の様子を図示しているが、ロボットアーム装置510が用いられる施術は手術に限定されず、他の各種の施術、例えば内視鏡を用いた検査等であってもよい。
 施術台530の脇には本実施形態に係るロボットアーム装置510が設けられる。ロボットアーム装置510は、基台であるベース部511と、ベース部511から延伸するアーム部512を備える。アーム部512は、複数の関節部513a、513b、513cと、関節部513a、513bによって連結される複数のリンク514a、514bと、アーム部512の先端に設けられる撮像ユニット515を有する。図11に示す例では、簡単のため、アーム部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の先端には先端ユニットとして各種の医療用器具が接続される。図11に示す例では、先端ユニットの一例としてアーム部512の先端に撮像ユニット515が設けられている。撮像ユニット515は、撮影対象の画像(撮影画像)を取得するユニットであり、例えば動画や静止画を撮影できるカメラ等である。図11に示すように、アーム部512の先端に設けられた撮像ユニット515が施術対象540の施術部位の様子を撮影するように、ロボットアーム装置510によってアーム部512及び撮像ユニット515の姿勢や位置が制御される。なお、アーム部512の先端に設けられる先端ユニットは撮像ユニット515に限定されず、各種の医療用器具であってよい。当該医療用器具としては、例えば、内視鏡や顕微鏡、上述した撮像ユニット515等の撮像機能を有するユニットや、各種の施術器具、検査装置等、施術に際して用いられる各種のユニットが挙げられる。このように、本実施形態に係るロボットアーム装置510は、医療用器具を備えた医療用ロボットアーム装置であると言える。また、アーム部512の先端に、2つの撮像ユニット(カメラユニット)を有するステレオカメラが設けられ、撮像対象を3次元画像(3D画像)として表示するように撮影が行われてもよい。なお、先端ユニットとして、施術部位を撮影するための撮像ユニット515や当該ステレオカメラ等のカメラユニットが設けられるロボットアーム装置510のことをビデオ顕微鏡用ロボットアーム装置とも呼称する。
 また、ユーザ520と対向する位置には、モニタやディスプレイ等の表示装置550が設置される。撮像ユニット515によって撮影された施術部位の撮影画像は、表示装置550の表示画面に表示される。ユーザ520は、表示装置550の表示画面に表示される施術部位の撮影画像を見ながら各種の処置を行う。
 このように、本実施形態においては、医療分野において、ロボットアーム装置510によって施術部位の撮影を行いながら手術を行うことが提案される。ここで、手術を含む各種の施術においては、より施術を効率的に行うことにより、ユーザ520及び患者540の疲労や負担を軽減することが求められる。このような要求を満たすために、ロボットアーム装置510には、例えば以下のような性能が求められると考えられる。
 まず、1点目として、ロボットアーム装置510には、手術における作業空間を確保することが求められる。ユーザ520が施術対象540に対して各種の処置を行っている最中に、アーム部512や撮像ユニット515が施術者の視界を妨げたり、処置を行う手の動きを妨げたりすると、手術の効率の低下につながる。また、図11では図示していないが、実際の手術現場では、ユーザ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を駆動した際の先端ユニットのスムーズな移動や振動の抑制(制振)も含まれる。例えば、図11に示す例のように先端ユニットが撮像ユニット515である場合に、もしも撮像ユニット515の位置や姿勢が安定しないと、表示装置550の表示画面に表示される撮影画像が安定せず、ユーザに不快感を与えかねない。特に、ロボットアーム装置510が手術に用いられる際には、先端ユニットとして2つの撮像ユニット(カメラユニット)を有するステレオカメラが設けられ、当該ステレオカメラによる撮影画像に基づいて生成される3次元画像(3D画像)が表示装置550に表示される使用方法が想定され得る。このように3D画像が表示される場合に、当該ステレオカメラの位置や姿勢が不安定であると、ユーザのいわゆる3D酔いを誘発する可能性がある。また、手術を行う部位や手術の内容によっては、撮像ユニット515によって撮影される観察範囲はφ15mm程度にまで拡大されることがある。このように撮像ユニット515が狭い範囲を拡大して撮影している場合には、撮像ユニット515の僅かな振動が撮像画像の大きな揺れやブレとなって表れる。従って、アーム部512及び撮像ユニット515の駆動制御には、許容範囲1mm程度の高い位置決め精度が要求される。このように、アーム部512の駆動制御においては、高精度の応答性と高い位置決め精度が求められる。
 本発明者らは、上記の3つの性能の観点から、一般的な既存のバランス型アームや位置制御によるロボットアーム装置について検討を行った。
 まず、1点目の手術の作業空間の確保に関しては、一般的なバランス型アームでは、通常、アーム部を移動させた際の力の均衡を取るためのカウンターバランス用ウェイト(カウンターウェイト又はバランサーとも呼称する。)がベース部の内部等に設けられるため、バランス型アームの装置の大きさを小型化することが難しく、当該性能を満たしているとは言い難い。
 また、2点目の高い操作性に関しては、一般的なバランス型アームでは、アーム部の駆動の一部のみ、例えば撮像ユニットを平面上(2次元上)で移動させるための2軸の駆動のみが電動駆動となっており、アーム部及び撮像ユニットの移動には手動による位置決めが必要となるため、高い操作性が実現できるとは言い難い。また、一般的な位置制御によるロボットアーム装置において、アーム部の駆動の制御、すなわち撮像ユニットの位置及び姿勢の制御に用いられる位置制御は、外力に柔軟に応じることが困難であるため、俗に「硬い制御」と呼ばれることがあり、要求されているようなユーザの直感に合った操作性を実現するには適していない。
 また、3点目のアーム部の駆動制御における安定性に関しては、一般的に、アーム部の関節部には、摩擦や慣性等のモデル化することが困難な因子が存在する。一般的なバランス型アームや位置制御によるロボットアーム装置においては、関節部の駆動制御においてこれらの因子が外乱となって表れてしまうことにより、理論上適切な制御値(例えば関節部のモータに印加する電流値)を与えた場合であっても所望の駆動(例えば関節部のモータにおける所望の角度の回転)が実現しないことがあり、要求されているようなアーム部の駆動制御における高い安定性を実現することは困難である。
 以上説明したように、本発明者らは、医療用途に用いられるロボットアーム装置について検討した結果、ロボットアーム装置に関して、上記<1.ロボットアーム装置の安全性についての検討>で説明した安全性の観点から求められる諸性能に加えて、上述したような3点の性能に対する要求が存在するとの知見を得た。しかしながら、一般的な既存のバランス型アームや位置制御によるロボットアーム装置では、これらの性能を満たすことは困難であると考えられる。本発明者らは、上述した3点の性能を更に満たす構成について検討した結果、以下に説明する実施形態に係るロボットアーム装置、ロボットアーム制御システム、ロボットアーム制御方法及びプログラムに想到した。以下では、本発明者らが想到した一実施形態について詳細に説明する。
 (6-2.本開示の一実施形態)
 以下では、本開示の一実施形態に係るロボットアーム制御システムについて説明する。本実施形態に係るロボットアーム制御システムにおいては、ロボットアーム装置に設けられる複数の関節部の駆動を、一般化逆動力学を用いた全身協調制御により制御する。更に、外乱の影響を補正することにより指令値に対する理想的な応答を実現する理想関節制御を当該関節部の駆動制御に適用する。
 以下の本実施形態の説明では、まず、(6-2-1.ロボットアーム装置の外観)で、本実施形態に係るロボットアーム装置の外観を示すとともに、ロボットアーム装置の概略構成について説明する。次いで、(6-2-2.一般化逆動力学について)及び(6-2-3.理想関節制御について)で、本実施形態に係るロボットアーム装置の制御に用いられる一般化逆動力学と理想関節制御の概要について説明する。次いで、(6-2-4.ロボットアーム制御システムの構成)で、本実施形態に係るロボットアーム装置を制御するためのシステムの構成について機能ブロック図を用いて説明する。最後に、(6-2-5.運動目的の具体例)で、本実施形態に係るロボットアーム装置における、一般化逆動力学を用いた全身協調制御の具体例について説明する。
 なお、以下の説明では、本開示の一実施形態として、ロボットアーム装置のアーム部の先端ユニットが撮像ユニットであり、図11に示すように手術時に当該撮像ユニットによって施術部位を撮影する場合について説明するが、本実施形態はかかる例に限定されない。本実施形態に係るロボットアーム制御システムは、他の先端ユニットを有するロボットアーム装置が他の用途に用いられる場合であっても適用可能である。
 (6-2-1.ロボットアーム装置の外観)
 まず、図12を参照して、本開示の一実施形態に係るロボットアーム装置の概略構成について説明する。図12は、本開示の一実施形態に係るロボットアーム装置の外観を示す概略図である。
 図12を参照すると、本実施形態に係るロボットアーム装置400は、ベース部410及びアーム部420を備える。ベース部410はロボットアーム装置400の基台であり、ベース部410からアーム部420が延伸される。また、図12には図示しないが、ベース部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は、医療用器具を備えた医療用ロボットアーム装置であると言える。
 ここで、以下では、図12に示すように座標軸を定義してロボットアーム装置400の説明を行う。また、座標軸に合わせて、上下方向、前後方向、左右方向を定義する。すなわち、床面に設置されているベース部410に対する上下方向をz軸方向及び上下方向と定義する。また、z軸と互いに直交する方向であって、ベース部410からアーム部420が延伸されている方向(すなわち、ベース部410に対して撮像ユニット423が位置している方向)をy軸方向及び前後方向と定義する。更に、y軸及びz軸と互いに直交する方向をx軸方向及び左右方向と定義する。
 関節部421a~421fはリンク422a~422cを互いに回動可能に連結する。関節部421a~421fはアクチュエータを有し、当該アクチュエータの駆動により所定の回転軸に対して回転駆動される回転機構を有する。各関節部421a~421fにおける回転駆動をそれぞれ制御することにより、例えばアーム部420を伸ばしたり、縮めたり(折り畳んだり)といった、アーム部420の駆動を制御することができる。ここで、関節部421a~421fは、下記(6-2-2.一般化逆動力学について)で後述する全身協調制御及び下記(6-2-3.理想関節制御について)で後述する理想関節制御によってその駆動が制御される。また、上述したように、本実施形態に係る関節部421a~421fは回転機構を有するため、以下の説明において、関節部421a~421fの駆動制御とは、具体的には、関節部421a~421fの回転角度及び/又は発生トルク(関節部421a~421fが発生させるトルク)が制御されることを意味する。
 本実施形態に係るロボットアーム装置400は、6つの関節部421a~421fを有し、アーム部420の駆動に関して6自由度が実現されている。具体的には、図12に示すように、関節部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を自由に移動させることができる。図12では、撮像ユニット423の移動可能範囲の一例として半球を図示している。半球の中心点が撮像ユニット423によって撮影される施術部位の撮影中心であるとすれば、撮像ユニット423の撮影中心を半球の中心点に固定した状態で、撮像ユニット423を半球の球面上で移動させることにより、施術部位を様々な角度から撮影することができる。
 ここで、図13を参照して、図12に示す関節部421a~421fの構成についてより詳細に説明する。なお、ここでは、図13を参照して、関節部421a~421fの構成のうち、関節部421a~421fの回転駆動に主に関係する構成であるアクチュエータの構成について説明する。図13に示すアクチュエータは、図2及び図6等に示すアクチュエータ180に対応するものであってよい。
 図13は、本開示の一実施形態に係る関節部421a~421fのアクチュエータを、回転軸を通る断面で切断した様子を模式的に示す断面図である。なお、図13では、関節部421a~421fの構成のうち、アクチュエータのみを図示しているが、関節部421a~421fは、他の構成を有してもよい。例えば、関節部421a~421fは、図13に図示する構成以外にも、アクチュエータの駆動を制御するための制御部や、リンク422a~422c及び撮像ユニット423を接続、支持するための支持部材等、アーム部420の駆動に必要な各種の構成を有する。なお、ここまでの説明及び以下の説明において、アーム部の関節部の駆動とは、関節部におけるアクチュエータの駆動を意味していてもよい。
 なお、上述したように、本実施形態においては、関節部421a~421fは、下記(6-2-3.理想関節制御について)で後述する理想関節制御によってその駆動が制御される。従って、図13に示す関節部421a~421fのアクチュエータは、理想関節制御に対応した駆動を行えるように構成されている。具体的には、関節部421a~421fのアクチュエータは、当該関節部421a~421fにおける回転角度及び回転駆動に伴うトルクを調整できるように構成されている。また、関節部421a~421fのアクチュエータは、回転運動に対する粘性抵抗係数を任意に調整できるように構成されており、例えば外部から加えられる力に対して回転しやすい(すなわち、アーム部420を手動で移動しやすい)状態や回転し難い(すなわち、アーム部420を手動で移動し難い)状態を実現することができる。
 図13を参照すると、本実施形態に係る関節部421a~421fのアクチュエータ430は、モータ424、モータドライバ425、減速機426、エンコーダ427、トルクセンサ428及び駆動軸429を有する。図13に示すように、エンコーダ427、モータ424、減速機426及びトルクセンサ428は、駆動軸429に対して直列にこの順で連結される。なお、モータ424、モータドライバ425、減速機426、エンコーダ427及びトルクセンサ428は、図6に示すモータ181、モータドライバユニット170、減速機185、モータ角度センサ184a及びトルクセンサ183にそれぞれ対応するものであってよい。
 モータ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の回転角度、回転角速度及び回転角加速度等の情報を得ることができる。なお、図13に示す例では、駆動軸429、すなわち、モータ424の回転軸にエンコーダ427が設けられているが、本実施形態はかかる例に限定されない。図6に示す構成例のように、減速機426の後段に、出力軸の回転角度を検出するためのエンコーダが更に設けられてもよい。
 トルクセンサ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に供給する電流量を調整することにより、上述したような回転運動に対する粘性抵抗係数を調整することができ、例えば外部から加えられる力に対して回転しやすい状態や回転し難い状態を実現することができる。
 ここで、図14A及び図14Bを参照して、トルクセンサ428の構成について詳細に説明する。図14Aは、図13に示すトルクセンサ428を、駆動軸429の軸方向から見た様子を模式的に示す概略図である。
 図14Aを参照すると、トルクセンサ428は、外輪部431、内輪部432、梁部433a~433d及び歪み検出素子434a~434dを有する。図14Aに示すように、外輪部431及び内輪部432は同心円状に配置される。本実施形態では、内輪部432が入力側、すなわち、減速機426からの出力軸と接続され、外輪部431が出力側、すなわち、後段の出力部材(図示せず。)と接続される。
 4本の梁部433a~433dは、同心円状に配置された外輪部431と内輪部432との間に配設され、外輪部431と内輪部432とを互いに接続する。図14Aに示すように、梁部433a~433dは、隣り合う梁部433a~433d同士が互いに90度の角度となるように、外輪部431と内輪部432との間に介設される。
 梁部433a~433dのうち、互いに向かい合う、すなわち、互いに180度の角度で設けられる2本には、歪み検出素子434a~434dが設けられる。歪み検出素子434a~434dによって検出された梁部433a~433dの変形量に基づいて、アクチュエータ430の発生トルク及び外トルクを検出することができる。
 図14Aに示す例では、梁部433a~433dのうち、梁部433aに歪み検出素子434a、434bが、梁部433cに歪み検出素子434c、434dが設けられる。また、歪み検出素子434a、434bは梁部433aを挟むように設けられ、歪み検出素子434c、434dは梁部433cを挟むように設けられる。例えば、歪み検出素子434a~434dは歪みゲージであり、梁部433a、433cの表面に貼り付けられることにより、梁部433a、433cの幾何的な変形量を電気抵抗の変化に基づいて検出する。図14Aに示すように4ヶ所に歪み検出素子434a~434dが設けられることにより、検出素子434a~434dがいわゆるホイートストンブリッジを構成する。従って、いわゆる4ゲージ法を用いて歪みを検出することができるため、歪みを検出する軸以外の他軸の干渉や駆動軸429の偏心、温度ドリフト等の影響を低減することができる。
 このように、梁部433a~433dは、歪みを検出するための起歪体の役割を果たす。なお、本実施形態に係る歪み検出素子434a~434dの種類は歪みゲージに限定されず、他の素子が用いられてもよい。例えば、歪み検出素子434a~434dは、磁気特性の変化に基づいて梁部433a~433dの変形量を検出する素子であってもよい。
 また、図13及び図14Aには図示しないが、トルクセンサ428による発生トルク及び外トルクの検出精度を向上させるために、以下に示す構成が適用されてもよい。例えば、梁部433a~433dの外輪部431と接続する部位を他の部位よりも薄肉化することにより、支持モーメントが解放されるため、検出される変形量の線形性が向上されるとともにラジアル荷重による影響が低減される。また、外輪部431及び内輪部432をともにベアリングを介してハウジングで支持することにより、入力軸及び出力軸の双方からの他軸力、モーメントの作用を排除することができる。また、外輪部431に作用する他軸モーメントを低減するために、図13に示すアクチュエータ430の他端、すなわちエンコーダ427が配設される部位に両持ち支持用ベアリングが配設されてもよい。
 以上、図14Aを参照して、トルクセンサ428の構成について説明した。以上説明したように、図14Aに示すトルクセンサ428の構成により、アクチュエータ430の発生トルク及び外トルクの検出において、高精度な検出が可能となる。
 ここで、本実施形態においては、トルクセンサ428の構成は図14Aに示す構成に限定されず、他の構成であってもよい。アクチュエータ430に適用されるトルクセンサについて、トルクセンサ428以外の他の構成の一例を、図14Bを参照して説明する。
 図14Bは、図13に示すアクチュエータ430に適用されるトルクセンサの他の構成例を示す概略図である。図14Bを参照すると、本変形例に係るトルクセンサ428aは、外輪部441、内輪部442、梁部443a~443d及び歪み検出素子444a~444dを有する。なお、図14Bでは、図14Aと同様、トルクセンサ428aを駆動軸429の軸方向から見た様子を模式的に示している。
 トルクセンサ428aにおいて、外輪部441、内輪部442、梁部443a~443d及び歪み検出素子444a~444dの機能及び構成は、図14Aを参照して説明したトルクセンサ428の外輪部431、内輪部432、梁部433a~433d及び歪み検出素子434a~434dの機能及び構成とほぼ同様である。本変形例に係るトルクセンサ428aは、梁部443a~443dと外輪部441との接続部分の構成が異なる。従って、図14Bに示すトルクセンサ428aについては、図14Aに示すトルクセンサ428との相違点である梁部443a~443dと外輪部441との接続部位の構成について主に説明を行い、重複する構成については説明を省略する。
 図14Bを参照すると、トルクセンサ428aの全体図と併せて、梁部443bと外輪部441との接続部位が拡大して図示されている。なお、図14Bでは、梁部443a~443dと外輪部441との4ヶ所の接続部位のうちの1ヶ所である梁部443bと外輪部441との接続部位のみを拡大して図示しているが、他の3ヶ所である梁部443a、443c、443dと外輪部441との接続部位も同様の構成を有している。
 図14Bにおける拡大図を参照すると、梁部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のトルクセンサとして適用することにより、より高精度な発生トルク及び外トルクの検出が実現される。
 なお、図13、図14A及び図14Bに示すような、理想関節制御に対応するアクチュエータ430の構成については、例えば、本願出願人による先行特許出願である特開2009-269102号公報や特開2011-209099号公報を参照することができる。
 以上、図12、図13、図14A及び図14Bを参照して、本実施形態に係るロボットアーム装置400の概略構成について説明した。次に、本実施形態に係るロボットアーム装置400におけるアーム部420の駆動、すなわち、関節部421a~421fの駆動を制御するための全身協調制御及び理想関節制御について説明する。
 (6-2-2.一般化逆動力学について)
 次に、本実施形態におけるロボットアーム装置400の全身協調制御に用いられる一般化逆動力学の概要について説明する。
 一般化逆動力学は、複数のリンクが複数の関節部によって連結されて構成される多リンク構造体(例えば本実施形態においては図12に示すアーム部420)において、各種の操作空間(Operation Space)における様々な次元に関する運動目的を、各種の拘束条件を考慮しながら、複数の当該関節部に生じさせるトルクに変換する、多リンク構造体の全身協調制御における基本演算である。
 操作空間は、ロボット装置の力制御における重要な概念である。操作空間は、多リンク構造体に作用する力と多リンク構造体の加速度との関係を記述するための空間である。多リンク構造体の駆動制御を位置制御ではなく力制御によって行う際に、多リンク構造体と環境との接し方を拘束条件として用いる場合に操作空間という概念が必要となる。操作空間は、例えば、多リンク構造体が属する空間である、関節空間、デカルト空間、運動量空間等である。
 運動目的は、多リンク構造体の駆動制御における目標値を表すものであり、例えば、駆動制御によって達成したい多リンク構造体の位置、速度、加速度、力、インピーダンス等の目標値である。
 拘束条件は、多リンク構造体の形状や構造、多リンク構造体の周囲の環境及びユーザによる設定等によって定められる、多リンク構造体の位置、速度、加速度、力等に関する拘束条件である。例えば、拘束条件には、発生力、優先度、非駆動関節の有無、垂直反力、摩擦錘、支持多角形等についての情報が含まれる。
 一般化動力学においては、数値計算上の安定性と実時間処理可能な演算効率とを両立するため、その演算アルゴリズムは、第1段階である仮想力決定プロセス(仮想力算出処理)と、第2段階である実在力変換プロセス(実在力算出処理)によって構成される。第1段階である仮想力算出処理では、各運動目的の達成に必要な、操作空間に作用する仮想的な力である仮想力を、運動目的の優先度と仮想力の最大値を考慮しながら決定する。第2段階である実在力算出処理では、非駆動関節、垂直反力、摩擦錘、支持多角形等に関する拘束を考慮しながら、上記で得られた仮想力を関節力、外力等の実際の多リンク構造体の構成で実現可能な実在力に変換する。以下、仮想力算出処理及び実在力算出処理について詳しく説明する。なお、以下の仮想力算出処理、実在力算出処理及び後述する理想関節制御の説明においては、理解を簡単にするために、具体例として、図12及び図13に示した本実施形態に係るロボットアーム装置400のアーム部420の構成を例に挙げて説明を行う場合がある。
 (6-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の既知外力として作用させることができる。
 (6-2-2-2.実在力算出処理)
 一般化逆動力学の第2段階である実在力算出処理では、上記(6-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を得ることができる。
Figure JPOXMLDOC01-appb-M000008
 ここで、εは上記数式(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号公報を参照することができる。
 (6-2-3.理想関節制御について)
 次に、本実施形態に係る理想関節制御について説明する。各関節部421a~421fの運動は、下記数式(12)の二次遅れ系の運動方程式によってモデル化される。
Figure JPOXMLDOC01-appb-M000011
 ここで、Iは関節部における慣性モーメント(イナーシャ)、τは関節部421a~421fの発生トルク、τは外部から各関節部421a~421fに作用する外トルク、νは各関節部421a~421fにおける粘性抵抗係数である。上記数式(12)は、関節部421a~421fにおけるアクチュエータ430の運動を表す理論モデルとも言える。
 上記(6-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)とも呼称する。以下、図15を参照して、本実施形態に係る理想関節制御について説明する。
 図15は、本開示の一実施形態に係る理想関節制御について説明するための説明図である。なお、図15では、理想関節制御に係る各種の演算を行う概念上の演算器をブロックで模式的に図示している。
 図15を参照すると、アクチュエータ610は、図13に示すアクチュエータ430の機構を模式的に表しており、モータ(Motor)611、減速機(Reduction Gear)612、エンコーダ(Encoder)613及びトルクセンサ(Torque Sensor)614は、それぞれ、図13に示すモータ424、減速機426、エンコーダ427及びトルクセンサ428(又は図14Bに示すトルクセンサ428a)に対応している。
 ここで、アクチュエータ610が上記数式(12)で表される理論モデルに従った応答を行なうことは、上記数式(12)の右辺が与えられたときに、左辺の回転角加速度が達成されることに他ならない。また、上記数式(12)に示すように、理論モデルには、アクチュエータ610に作用する外トルク項τが含まれている。本実施形態では、理想関節制御を行うために、トルクセンサ614によって外トルクτを測定する。また、エンコーダ613によって測定されたアクチュエータ610の回転角度qに基づいて外乱に起因するトルクの推定値である外乱推定値τを算出するために、外乱オブザーバ620を適用する。
 ブロック631は、上記数式(12)に示す関節部421a~421fの理想的な関節モデル(Ideal Joint Model)に従った演算を行う演算器を表している。ブロック631は、発生トルクτ、外トルクτ、回転角速度(回転角度qの1階微分)を入力として、上記数式(12)の左辺に示す回転角加速度目標値(回転角目標値qrefの2階微分)を出力することができる。
 本実施形態では、上記(6-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の構成について説明する。図15に示すように、外乱オブザーバ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が駆動される。
 以上、図15を参照して説明した構成を取ることにより、本実施形態に係る関節部421a~421fの駆動制御においては、摩擦等の外乱成分があった場合であっても、アクチュエータ610の応答を目標値に追従させることが可能となる。また、関節部421a~421fの駆動制御について、理論モデルが仮定するイナーシャI及び粘性抵抗係数νに従った理想応答を行うことが可能となる。
 なお、以上説明した理想関節制御の詳細については、例えば、本願出願人による先行特許出願である特開2009-269102号公報を参照することができる。
 以上、本実施形態において用いられる一般化逆動力学について説明するとともに、図15を参照して本実施形態に係る理想関節制御について説明した。以上説明したように、本実施形態においては、一般化逆動力学を用いることにより、アーム部420の運動目的を達成するための各関節部421a~421fの駆動パラメータ(例えば関節部421a~421fの発生トルク値)を、拘束条件を考慮して算出する、全身協調制御が行われる。また、図15を参照して説明したように、本実施形態においては、上記一般化逆動力学を用いた全身協調制御により算出された発生トルク値に対して外乱の影響を考慮した補正を行うことにより、関節部421a~421fの駆動制御において理論モデルに基づいた理想的な応答を実現する、理想関節制御が行われる。従って、本実施形態においては、アーム部420の駆動について、運動目的を達成する高精度な駆動制御が可能となる。
 (6-2-4.ロボットアーム制御システムの構成)
 次に、上記(6-2-2.一般化逆動力学について)及び上記(6-2-3.理想関節制御について)で説明した全身協調制御や理想関節制御がロボットアーム装置の駆動制御に適用された、本実施形態に係るロボットアーム制御システムの構成について説明する。
 図16を参照して、本開示の一実施形態に係るロボットアーム制御システムの一構成例について説明する。図16は、本開示の一実施形態に係るロボットアーム制御システムの一構成例を示す機能ブロック図である。なお、図16に示すロボットアーム制御システムでは、ロボットアーム装置のアーム部の駆動の制御に関わる構成について主に図示している。
 図16を参照すると、本開示の一実施形態に係るロボットアーム制御システム1は、ロボットアーム装置10、制御装置20及び表示装置30を備える。本実施形態においては、制御装置20によって、上記(6-2-2.一般化逆動力学について)で説明した全身協調制御及び上記(6-2-3.理想関節制御について)で説明した理想関節制御における各種の演算が行われ、その演算結果に基づいてロボットアーム装置10のアーム部の駆動が制御される。また、ロボットアーム装置10のアーム部には後述する撮像部140が設けられており、撮像部140によって撮影された画像が表示装置30の表示画面に表示される。以下、ロボットアーム装置10、制御装置20及び表示装置30の構成について詳細に説明する。なお、図16に示すロボットアーム制御システム1は、図1を参照して説明したロボットアーム制御システム2に対応するものであり、ロボットアーム制御システム2に対して、図1では図示を省略していた、ロボットアーム装置10の駆動制御に関する機能構成を改めて詳細に図示したものである。
 ロボットアーム装置10は、複数の関節部と複数のリンクから構成される多リンク構造体であるアーム部を有し、当該アーム部を可動範囲内で駆動させることにより、当該アーム部の先端に設けられる先端ユニットの位置及び姿勢の制御を行う。ロボットアーム装置10は、図12に示すロボットアーム装置400に対応している。
 図16を参照すると、ロボットアーム装置10は、アーム制御部110及びアーム部120を有する。また、アーム部120は、関節部130及び撮像部140を有する。
 アーム制御部110は、ロボットアーム装置10を統合的に制御するとともに、アーム部120の駆動を制御する。アーム制御部110は、図12を参照して説明した制御部(図12には図示せず。)に対応している。具体的には、アーム制御部110は駆動制御部111を有し、駆動制御部111からの制御によって関節部130の駆動が制御されることにより、アーム部120の駆動が制御される。より具体的には、駆動制御部111は、関節部130のアクチュエータにおけるモータに対して供給される電流量を制御することにより、当該モータの回転数を制御し、関節部130における回転角度及び発生トルクを制御する。ただし、上述したように、駆動制御部111によるアーム部120の駆動制御は、制御装置20における演算結果に基づいて行われる。従って、駆動制御部111によって制御される、関節部130のアクチュエータにおけるモータに対して供給される電流量は、制御装置20における演算結果に基づいて決定される電流量である。ただし、本実施形態では、図1に示すように、各関節部130に関節制御部135が設けられ、当該関節制御部135によって、関節部130の駆動が制御されてもよい。
 アーム部120は、複数の関節部と複数のリンクから構成される多リンク構造体であり、アーム制御部110からの制御によりその駆動が制御される。アーム部120は、図12に示すアーム部420に対応している。アーム部120は、関節部130及び撮像部140を有する。なお、アーム部120が有する複数の関節部の機能及び構成は互いに同様であるため、図16では、それら複数の関節部を代表して1つの関節部130の構成を図示している。
 関節部130は、アーム部120においてリンク間を互いに回動可能に連結するとともに、アーム制御部110からの制御によりその回転駆動が制御されることによりアーム部120を駆動する。関節部130は、図12に示す関節部421a~421fに対応している。また、関節部130は、アクチュエータを有し、当該アクチュエータの構成は、例えば図13、図14A及び図14Bに示す構成と同様である。
 関節部130は、関節駆動部131及び関節状態検出部132を有する。
 関節駆動部131は、関節部130のアクチュエータにおける駆動機構であり、関節駆動部131が駆動することにより関節部130が回転駆動する。関節駆動部131は、駆動制御部111によってその駆動が制御される。例えば、関節駆動部131は、図13に示すモータ424及びモータドライバ425に対応する構成であり、関節駆動部131が駆動することは、モータドライバ425が駆動制御部111からの指令に応じた電流量でモータ424を駆動することに対応している。
 関節状態検出部132は、関節部130の状態を検出する。ここで、関節部130の状態とは、関節部130の運動の状態を意味していてよい。例えば、関節部130の状態には、関節部130の回転角度、回転角速度、回転角加速度、発生トルク等の情報が含まれる。本実施形態においては、関節状態検出部132は、関節部130の回転角度を検出する回転角度検出部133及び関節部130の発生トルク及び外トルクを検出するトルク検出部134を有する。なお、回転角度検出部133及びトルク検出部134は、図13に示すアクチュエータ430のエンコーダ427及び図14A及び図14Bに示すトルクセンサ428、428aに、それぞれ対応している。関節状態検出部132は、検出した関節部130の状態を制御装置20に送信する。
 なお、図16では、全身協調制御における制御量の演算処理について説明するために、関節状態検出部132の機能の一例として、主にアーム部120の運動を表す情報を取得する機能である、回転角度検出部133及びトルク検出部134を図示している。ただし、本実施形態では、関節状態検出部132は、図6に示すアクチュエータ180に設けられる各センサによって構成されてよい。例えば、回転角度検出部133は、図6に示すモータ角度センサ184a及び出力軸角度センサ184bによって構成されてよい。また、トルク検出部134は、図6に示すトルクセンサ183によって構成されてよい。関節状態検出部132は、例えば、モータに供給される電流を検出する機能やモータの周囲の温度を検出する機能等、アクチュエータ180の各センサに対応する、他の物理量を検出する機能を更に有してもよい。
 撮像部140は、アーム部120の先端に設けられる先端ユニット(図1に示す先端ユニット145に対応する。)の一例であり、撮影対象の画像を取得する。撮像部140は、図12に示す撮像ユニット423に対応している。具体的には、撮像部140は、撮影対象を動画や静止画の形式で撮影することのできるカメラ等である。より具体的には、撮像部140は、2次元上に配列された複数の受光素子を有し、当該受光素子における光電変換により、撮影対象の画像を表す画像信号を取得することができる。撮像部140は、取得した画像信号を表示装置30に送信する。
 なお、図12に示すロボットアーム装置400において撮像ユニット423がアーム部420の先端に設けられていたように、ロボットアーム装置10においても、実際には撮像部140がアーム部120の先端に設けられている。図16では、撮像部140が複数の関節部130及び複数のリンクを介して最終段のリンクの先端に設けられる様子を、関節部130と撮像部140との間にリンクを模式的に図示することにより表現している。
 なお、アーム部120の先端に設けられる先端ユニットは、撮像部140に限定されない。本実施形態では、アーム部120の先端には先端ユニットとして各種の医療用器具が接続され得る。当該医療用器具としては、例えば、メスや鉗子等の各種の施術器具や、超音波検査装置の探触子等の各種の検査装置の一ユニット等、施術に際して用いられる各種のユニットが挙げられる。また、本実施形態では、図16に示す撮像部140や、内視鏡、顕微鏡等の撮像機能を有するユニットも医療用器具に含まれてよい。このように、本実施形態に係るロボットアーム装置10は、医療用器具を備えた医療用ロボットアーム装置であると言える。同様に、本実施形態に係るロボットアーム制御システム1は、医療用ロボットアーム制御システムであると言える。なお、図16に示すロボットアーム装置10は、撮像機能を有するユニットを先端ユニットとして備えるビデオ顕微鏡用ロボットアーム装置であるとも言える。また、アーム部120の先端に、2つの撮像ユニット(カメラユニット)を有するステレオカメラが設けられ、撮像対象を3D画像として表示するように撮影が行われてもよい。
 以上、ロボットアーム装置10の機能及び構成について説明した。次に、制御装置20の機能及び構成について説明する。図16を参照すると、制御装置20は、入力部210、記憶部220及び制御部230を有する。
 制御部230は、制御装置20を統合的に制御するとともに、ロボットアーム装置10におけるアーム部120の駆動を制御するための各種の演算を行う。具体的には、制御部230は、ロボットアーム装置10のアーム部120の駆動を制御するために、全身協調制御及び理想関節制御における各種の演算を行う。以下、制御部230の機能及び構成について詳しく説明するが、全身協調制御及び理想関節制御については、上記(6-2-2.一般化逆動力学について)及び上記(6-2-3.理想関節制御について)で既に説明しているため、ここでは詳しい説明は省略する。
 制御部230は、全身協調制御部240、理想関節制御部250及び異常検出部260を有する。
 全身協調制御部240は、一般化逆動力学を用いた全身協調制御に関する各種の演算を行う。本実施形態では、全身協調制御部240は、関節状態検出部132によって検出された関節部130の状態に基づいてアーム部120の状態(アーム状態)を取得する。また、全身協調制御部240は、当該アーム状態と、アーム部120の運動目的及び拘束条件と、に基づいて、操作空間におけるアーム部120の全身協調制御のための制御値を、一般化逆動力学を用いて算出する。なお、操作空間とは、例えばアーム部120に作用する力とアーム部120に発生する加速度との関係を記述するための空間である。
 全身協調制御部240は、アーム状態取得部241、演算条件設定部242、仮想力算出部243及び実在力算出部244を有する。ここで、上述した図1では、説明のため、便宜的に、演算条件設定部242を、全身協調制御部240に含まれない一機能として図示していたが、これらは同様の機能を有するものである。
 アーム状態取得部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の向きが空間上の所定の点に固定される(すなわち、撮像部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の回転運動における粘性抵抗係数は、運動目的の内容に応じて適宜設定されてよい。
 なお、運動目的の具体例については、下記(6-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が行う仮想力の算出処理は、例えば、上記(6-2-2-1.仮想力算出処理)で説明した一連の処理であってよい。仮想力算出部243は、算出した仮想力fを実在力算出部244に送信する。
 実在力算出部244は、一般化逆動力学を用いた全身協調制御に関する演算における実在力を算出する。実在力算出部244が行う実在力の算出処理は、例えば、上記(6-2-2-2.実在力算出処理)で説明した一連の処理であってよい。実在力算出部244は、算出した実在力(発生トルク)τを理想関節制御部250に送信する。なお、本実施形態においては、実在力算出部244によって算出された発生トルクτのことを、全身協調制御における関節部130の制御値という意味で、制御値又は制御トルク値とも呼称する。
 理想関節制御部250は、理論モデルに基づいた理想的な応答を実現する理想関節制御に関する各種の演算を行う。本実施形態では、理想関節制御部250は、実在力算出部244によって算出された発生トルクτに対して外乱の影響を補正することにより、アーム部120の理想的な応答を実現するトルク指令値τを算出する。なお、理想関節制御部250によって行われる演算処理は、上記(6-2-3.理想関節制御について)で説明した一連の処理に対応している。
 理想関節制御部250は、外乱推定部251及び指令値算出部252を有する。
 外乱推定部251は、トルク指令値τと、回転角度検出部133によって検出された回転角度qから算出される回転角速度に基づいて、外乱推定値τを算出する。なお、ここでいうトルク指令値τは、最終的にロボットアーム装置10に送信されるアーム部120での発生トルクを表す指令値である。このように、外乱推定部251は、図15に示す外乱オブザーバ620に対応する機能を有する。
 指令値算出部252は、外乱推定部251によって算出された外乱推定値τを用いて、最終的にロボットアーム装置10に送信されるアーム部120に生じさせるトルクを表す指令値であるトルク指令値τを算出する。具体的には、指令値算出部252は、上記数式(12)に示す関節部130の理想モデルから算出されるτrefに外乱推定部251によって算出された外乱推定値τを加算することにより、トルク指令値τを算出する。例えば、外乱推定値τが算出されていない場合には、トルク指令値τはトルク目標値τrefとなる。このように、指令値算出部252の機能は、図15に示す外乱オブザーバ620以外の機能に対応している。
 以上説明したように、理想関節制御部250においては、外乱推定部251と指令値算出部252との間で繰り返し情報のやり取りが行われることにより、図15を参照して説明した一連の処理が行われる。理想関節制御部250は算出したトルク指令値τをロボットアーム装置10の駆動制御部111に送信する。駆動制御部111は、送信されたトルク指令値τに対応する電流量を、関節部130のアクチュエータにおけるモータに対して供給する制御を行うことにより、当該モータの回転数を制御し、関節部130における回転角度及び発生トルクを制御する。
 本実施形態に係るロボットアーム制御システム1においては、ロボットアーム装置10におけるアーム部120の駆動制御は、アーム部120を用いた作業が行われている間継続的に行われるため、ロボットアーム装置10及び制御装置20における以上説明した処理が繰り返し行われる。すなわち、ロボットアーム装置10の関節状態検出部132によって関節部130の状態が検出され、制御装置20に送信される。制御装置20では、当該関節部130の状態と、運動目的及び拘束条件とに基づいて、アーム部120の駆動を制御するための全身協調制御及び理想関節制御に関する各種の演算が行われ、演算結果としてのトルク指令値τがロボットアーム装置10に送信される。ロボットアーム装置10では、当該トルク指令値τに基づいてアーム部120の駆動が制御され、駆動中又は駆動後の関節部130の状態が、再び関節状態検出部132によって検出される。
 異常検出部260は、関節部130の異常を検出するための各種の情報に基づいて、関節部130に生じた異常を検出する。ここで、異常検出部260の機能については、上記<2.ロボットアーム制御システムの機能構成>で詳しく説明しているため、ここでは、その詳細な説明は省略する。異常検出部260によって検出された異常についての情報は、例えば演算条件設定部242に提供され、あるいは記憶部220に記憶される。演算条件設定部242は、当該異常についての情報に基づいて、当該異常の種類に応じたアーム部120に行わせる動作(異常回避動作、一部機能停止動作及び機能停止動作)を判断し、判断した動作に対応する演算条件(例えば、運動目的、拘束条件および内部モデル)を設定する。このようにして設定された演算条件に基づいて、仮想力算出部243及び実在力算出部244が各種の演算処理を行うことにより、選択された異常回避動作、一部機能停止動作及び機能停止動作ピボット動作のいずれかを実現するような制御値が算出されることとなる。
 制御装置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は、図11に示す表示装置550に対応している。
 以上、図16を参照して、本実施形態に係るロボットアーム装置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のそれぞれが、例えば図13に示すような、理想関節制御に適合した構成を有し、各関節部130における回転角度、発生トルク及び粘性抵抗係数を電流値によって制御することができる。このように、各関節部130の駆動が電流値によって制御され、また、全身協調制御により各関節部130の駆動がアーム部120全体の状態を把握しながら制御されるため、カウンターバランスが不要となり、ロボットアーム装置10の小型化が実現される。
 (6-2-5.運動目的の具体例)
 次に、本実施形態に係る運動目的の具体例について説明する。上記(6-2-4.ロボットアーム制御システムの構成)で説明したように、本実施形態においては、全身協調制御によって各種の運動目的が実現される。ここでは、本実施形態に係る運動目的の具体例として、パワーアシスト動作と、ピボット動作について説明する。なお、以下の運動目的の具体例についての説明では、図16に示す機能ブロック図における参照番号を用いて、本実施形態に係るロボットアーム制御システムの構成部材を表す。
 パワーアシスト動作は、アーム部120に作用する重力を打ち消すように関節部130の状態を制御するとともに、更に外部から与えられた力の方向へのアーム部120の移動をサポートするように関節部130の状態を制御する動作である。具体的には、ユーザがアーム部120を手動で動かす際に、ユーザによって加えられた力をサポートするようにアーム部120の駆動を制御する動作である。より具体的には、パワーアシスト動作を実現するために、まず、重力以外の力がアーム部120に作用していない状態における外トルクがトルク検出部134によって検出され、検出された外トルクを打ち消す発生トルクを各関節部130に生じさせるように、瞬時的な運動目的が設定される。この段階で、アーム部120の位置及び姿勢が所定の状態で保持される。この状態で更に外部から(例えばユーザから)外トルクが加えられた場合に、追加的に与えられた外トルクがトルク検出部134によって検出され、検出された追加的な外トルクと同じ方向の発生トルクを各関節部130に生じさせるという瞬時的な運動目的が更に設定される。このような瞬時的な運動目的に従って各関節部130の駆動が制御されることによりパワーアシスト動作が実現される。パワーアシスト動作により、ユーザはより小さい力でアーム部を移動させることができるため、あたかも無重力下でアーム部120を動かしているような感覚を得ることができ、ユーザによるアーム部120の操作性が向上する。
 ピボット動作は、アーム部120の先端に設けられる先端ユニットが、当該先端ユニットの向きが空間上の所定の点に固定された状態で、当該所定の点を頂点とした円錐の面上を移動する、当該円錐の軸を旋回軸とした旋回動作である。具体的に先端ユニットが撮像部140である場合であれば、ピボット動作は、アーム部120の先端に設けられる撮像部140が、撮像部140の撮影方向が空間上の所定の点に固定された状態で、当該所定の点を頂点とした円錐の面上を移動する、当該円錐の軸を旋回軸とした旋回動作である。ピボット動作における円錐の頂点に当たる点としては、例えば施術部位が選択される。また、ピボット動作においては、先端ユニット又は撮像部140と円錐の頂点に当たる点との距離が一定に保たれた状態で旋回動作が行われてもよい。なお、先端ユニットの向き又は撮像部140の撮影方向が空間上の所定の点(例えば施術部位)に固定されることから、ピボット動作はポイントロック動作とも呼ばれる。
 ピボット動作について、図17及び図18を参照してより詳細に説明する。図17は、本開示の一実施形態に係るアーム動作の一具体例であるピボット動作について説明するための説明図である。図18は、図17に示すピボット動作を実現するための運動目的及び拘束条件について説明するための説明図である。
 図17を参照すると、患者750上における施術部位がピボット動作における頂点に設定されている。当該頂点をピボット点Pと呼称する。図17では、簡単のため、本実施形態に係るロボットアーム装置10のうち、図16における撮像部140に対応するユニットである撮像ユニット713のみを図示している。図17に示すように、ピボット動作においては、撮像ユニット713が円錐Aの底面の円周上に限り移動することができるように、すなわち、撮像ユニット713とピボット点Pとの距離が一定に保たれた状態で撮像ユニット713が円錐Aの面内を移動するように、運動目的及び拘束条件が設定されてもよい。また、円錐Aの形状、すなわち、円錐Aの頂点の角度θや、ピボット点Pと撮像ユニット713との距離は、ユーザによって適宜設定されてよい。例えば、ピボット点Pと撮像ユニット713との距離は撮像ユニット713における光学系の焦点距離に調整される。このようなピボット動作を適用することにより、施術部位を等距離からかつ異なる角度から観察できるようになるため、手術を行うユーザの利便性を向上させることができる。
 また、ピボット動作においては、円錐A及び円錐Bのように、ピボット点Pを固定したまま撮像ユニット713が移動可能な円錐の位置を移動させることができてもよい。図17に示す例では、円錐Aの旋回軸は施術部位に対して略垂直であり、円錐Bの旋回軸は施術部位に対して略水平である。このように、例えばピボット動作を行う円錐を、円錐A、Bのように、ピボット点Pを固定したまま略90度回転できるように、運動目的及び拘束条件が設定されてもよい。このようなピボット動作を適用することにより、施術部位を更に多くの方向から観察できるようになるため、ユーザの利便性を更に向上させることができる。
 なお、図17に示す例では、撮像ユニット713が円錐Aの底面の円周上に限り移動することができるように運動目的及び拘束条件が設定される例を示しているが、本実施形態に係るピボット動作はかかる例に限定されない。例えば、ピボット点Pの位置及び円錐A、Bの頂点の角度θは固定したまま、ピボット点Pと撮像ユニット713との距離は自由に移動できるように、運動目的及び拘束条件が設定されてもよい。このようなピボット動作を適用することにより、角度は固定したまま撮像ユニット713と施術部位との距離だけを変えることができるようになるため、撮像ユニット713の焦点距離(フォーカス)を適宜調整することにより施術部位を拡大又は縮小して観察する等、よりユーザの要求に応える施術部位の観察が可能となる。
 次に、図18を参照して、図17に示したようなピボット動作を実現するための運動目的及び拘束条件について詳しく説明する。図18を参照すると、撮像ユニット713を有するアーム部710がピボット点Pを基点としてピボット動作を行っている様子が図示されている。なお、図18では、撮像ユニット713とピボット点Pとの距離が一定に保たれた状態でのピボット動作を例に挙げて説明を行う。アーム部710は、複数の関節部711a、711b、711cと複数のリンク712a、712b、712cを有し、本実施形態に係る全身協調制御及び理想関節制御によってその駆動が制御されているとする。例えば、アーム部710及びその構成部材は、図12に示した本実施形態に係るアーム部420及びその構成部材と同様の構成を有する。
 ここで、アーム部710の支点である原点Oを零点とするアーム座標系と、空間上の原点Oを零点とする空間座標系を考える。アーム部710の運動はアーム座標系で管理されている。なお、アーム座標系及び空間座標系は、相互の座標系への座標変換が可能であるように定義される。
 空間座標系から見た撮像中心をPとする。また、アーム座標系において、撮像ユニット713とリンク712cとを接続する関節部711cから、撮像ユニット713自体の長さDと撮像ユニット713の焦点距離fだけ離れた位置をピボット点Pとする。
 この状態で、ピボット点Pと撮像中心Pとが一致した状態でアーム部710が駆動されるように、運動目的及び拘束条件を設ける。すなわち、アーム座標系におけるピボット点Pを空間座標系における撮像中心Pに固定するような拘束をアーム座標系において設ける。また、運動目的として、撮像ユニット713がピボット点P(すなわち撮像中心P)を頂点とする円錐の面上に位置するような座標や、撮像ユニット713がピボット点Pを向くような撮像ユニット713の姿勢が設定される。このような拘束条件及び運動目的の下で全身協調制御が行われることにより、アーム部710の動作によって撮像ユニット713の位置及び姿勢が変化したとしても、撮像ユニット713の向きは常に撮像中心P(すなわち、ピボット点P)を向いたまま、かつ、撮像ユニット713と撮像中心Pとの距離が焦点距離fに保たれたままとなる。従って、撮像ユニット713と撮像中心Pとの距離が一定に保たれた状態でのピボット動作が実現される。撮像ユニット713と撮像中心P(又はピボット点P)との距離を変化させながらピボット動作を行う際には、上述したピボット点Pの設定方法を変更すればよい。具体的には、例えば、アーム座標系において、関節部711cから撮像ユニット713自体の長さDと任意の距離だけ離れた位置をピボット点Pとし、当該任意の距離を可変なパラメータとすればよい。
 なお、上述したピボット動作とパワーアシスト動作とが組み合わされて用いられてもよい。ピボット動作とパワーアシスト動作とが組み合わされて用いられる場合、例えばユーザが手動で撮像部140を移動させる際に、ユーザは無重力下で撮像部140を移動させているような感覚でより少ない力で撮像部140を移動させることができるとともに、撮像部140の移動位置は円錐の面内に制限される。従って、ピボット動作時における撮像部140の移動の操作性が向上する。
 以上、本実施形態に係る運動目的の具体例として、パワーアシスト動作及びピボット動作について説明した。なお、本実施形態に係る運動目的はかかる例に限定されない。本実施形態では、例えば以下のような運動目的も実現可能である。
 例えば、撮像部140の位置が所定の点で固定されるように、撮像部140の座標が運動目的として設定されてもよい。この場合、例えばアーム部120の撮像部140以外の構成部材に外部から力が与えられた際に、関節部130及びリンクも所定の位置で固定され移動しないように運動目的及び拘束条件を設定することも可能であるし、関節部130及びリンクは与えられた外力に応じて移動するものの撮像部140の位置は固定されるように運動目的及び拘束条件を設定することも可能である。後者の場合、例えば、アーム部120が作業の妨げとなり移動させようとする際に、撮像部140による撮影画像は固定されたままアーム部120の他の構成部材の位置及び姿勢を移動させるといった、より自由度の高い制御が実現される。
 また、例えば、駆動中にアーム部120がヒトやモノとの接触を検出した場合に、即座にアーム部120の駆動を停止する動作が実現されるように、運動目的及び拘束条件が設定されてもよい。このような動作を行うことにより、アーム部120がヒトやモノに衝突する際の危険性を低減することができる。なお、アーム部120がヒトやモノと接触したことは、例えば関節状態検出部132によって関節部130に加えられた外トルクの変化によって検出されてもよい。
 また、例えば、撮像部140が空間上において所定の軌跡上を移動するように運動目的が設定されてもよい。具体的には、当該所定の軌跡を表す各点の座標が運動目的として設定されてもよい。このように運動目的が設定されることにより、撮像部140の移動可能範囲が当該軌跡上に制限される。更に、当該軌跡を表す各点の座標と併せて、撮像部140の速度や各点を通過する時間等が運動目的として設定されることにより、撮像部140が所定の軌跡上を所定のタイミングで自動的に移動するオートメーション化された駆動を行うこともできる。このような運動設定に従った駆動制御は、例えばロボットアーム装置10が所定の作業を自動的に繰り返し行う場合に有効である。
 また、例えば、空間上の所定の領域内にアーム部120が侵入しない動作が実現されるように、運動目的及び拘束条件が設定されてもよい。図11を参照して説明したように、本実施形態においてはユーザが表示画面を見ながら手術を行う。従って、ユーザと表示画面との間の領域にアーム部120が位置すると、ユーザの視界を遮ることとなり、手術の効率低下につながる恐れがある。従って、例えばユーザと表示画面の間の領域をアーム部120の侵入禁止領域として設定することにより、手術の効率化を図ることができる。
 ここで、このようにアーム部120に侵入禁止領域を設定する場合には、アーム部120の自由度が6自由度よりも多いことが好ましい。何故ならば、6自由度よりも多い自由度を冗長自由度として利用することができるため、6自由度の駆動を確保しつつ、上記のような侵入禁止領域等にも対応できるからである。このような6自由度よりも多い自由度を有するアーム部を備えるロボットアーム装置の構成について、図19を参照して詳しく説明する。
 図19は、本開示の一実施形態に係るロボットアーム装置における冗長自由度を有する変形例の外観を示す概略図である。なお、図19においても、図12で定義した方向と同一の座標軸を図示している。
 図19を参照すると、本変形例に係るロボットアーム装置450は、ベース部460及びアーム部470を備える。また、アーム部470は、複数の関節部471a~471gと、関節部471a~471gによって互いに連結される複数のリンク472a~472dと、アーム部470の先端に設けられる撮像ユニット473を有する。ここで、図19に示すロボットアーム装置450は、図12を参照して説明したロボットアーム装置400に対してアーム部470の自由度が1つ増加した構成に対応している。従って、ベース部460、個々の関節部471a~471g及びリンク472a~472d、並びに、撮像ユニット473の機能及び構成は、図12を参照して説明したロボットアーム装置400のベース部410、個々の関節部421a~421f及びリンク422a~422c、並びに、撮像ユニット423の機能及び構成と同様であるため、詳細な説明は省略する。以下では、ロボットアーム装置400との相違点であるアーム部470の構成について主に説明する。
 本実施形態に係るロボットアーム装置450は、7つの関節部471a~471gを有し、アーム部470の駆動に関して7自由度が実現されている。具体的には、リンク472aの一端がベース部460と連結され、リンク472aの他端が関節部421aを介してリンク472bの一端と連結される。また、リンク422bの他端が関節部471b、471cを介してリンク472cの一端と連結される。更に、リンク472cの他端が関節部471d、471eを介してリンク472dの一端と連結され、472dの他端が関節部471f、471gを介して撮像ユニット473と連結される。このように、ベース部460を支点として、複数のリンク472a~472dの端同士が、関節部471a~471gによって互いに連結されることにより、ベース部460から延伸されるアーム部470が構成される。
 また、図19に示すように、関節部471a、471c、471e、471gは、接続されている各リンク472b~472dの長軸方向及び接続されている撮像ユニット473の撮影方向を回転軸方向とするように設けられており、関節部471b、471d、471fは、接続されている各リンク472c~472d及び撮像ユニット473の連結角度をy-z平面内において変更する方向であるx軸方向を回転軸方向とするように設けられている。このように、本変形例においては、関節部471a、471c、471e、471gは、いわゆるヨーイングを行う機能を有し、関節部471b、471d、471fは、いわゆるピッチングを行う機能を有する。
 このようなアーム部470の構成を有することにより、本実施形態に係るロボットアーム装置450ではアーム部470の駆動に対して7自由度が実現されるため、アーム部470の可動範囲内において撮像ユニット473を空間内で自由に移動させることができるとともに、冗長自由度を有する。図19では、図12と同様に、撮像ユニット473の移動可能範囲の一例として半球を図示している。半球の中心点が撮像ユニット473によって撮影される施術部位の撮影中心であるとすれば、撮像ユニット473の撮影中心を半球の中心点に固定した状態で、撮像ユニット473を半球の球面上で移動させることにより、施術部位をあらゆる角度から撮影することができる。本実施形態に係るロボットアーム装置450は、更に1つの冗長自由度を有することにより、このような撮像ユニット473の半球上の移動とともに、アーム部470の軌道を制限することができ、上述した侵入禁止領域のような拘束条件にも容易に対応することができる。侵入禁止領域を設定することにより、例えば、撮像ユニット473によって撮影された画像が表示されるモニタと施術者及びスタッフとの間にアーム部470が存在しないようにアーム部470の駆動を制御することができ、施術者及びスタッフによるモニタの視認が妨げられることを防ぐことができる。また、侵入禁止領域を設定することにより、施術者及びスタッフや周囲の他の機器との干渉(接触)を避けてアーム部470が移動するようにアーム部470の駆動を制御することが可能となる。
 (6-3.ロボットアーム制御方法の処理手順)
 次に、図20を参照して、本開示の一実施形態に係るロボットアーム制御方法の処理手順について説明する。図20は、本開示の一実施形態に係るロボットアーム制御方法の処理手順を示すフロー図である。なお、以下では、図16に示すロボットアーム制御システム1の構成によって本実施形態に係るロボットアーム制御方法が実現される場合を例に挙げて説明を行う。従って、本実施形態に係るロボットアーム制御方法は医療用ロボットアーム制御方法であると言える。なお、以下の本実施形態に係るロボットアーム制御方法の処理手順についての説明において、図16に示すロボットアーム制御システム1の各構成の機能については、上記(6-2-4.ロボットアーム制御システムの構成)で既に説明しているため、詳細な説明は省略する。
 図20を参照すると、本実施形態に係るロボットアーム制御方法では、まず、ステップS801で、関節状態検出部132によって関節部130の状態が検出される。ここで、関節部130の状態とは、例えば関節部130における回転角度、発生トルク及び/又は外トルクである。
 次にステップS803で、ステップS801で検出された関節部130の状態に基づいて、アーム状態取得部241によってアーム状態が取得される。アーム状態とは、アーム部120の運動の状態のことであり、例えばアーム部120の各構成部材の位置、速度、加速度やアーム部120の各構成部材に作用する力等であってよい。
 次にステップS805で、ステップS803で取得されたアーム状態に基づいて、演算条件設定部242によって全身協調制御における演算で用いられる運動目的及び拘束条件が設定される。なお、演算条件設定部242はアーム状態に基づいて運動目的を設定しなくてもよく、例えば、入力部210からユーザによって入力されるアーム部120の駆動についての指示情報に基づいて運動目的を設定してもよいし、記憶部220に予め格納されている運動目的を用いてもよい。更に、上記の各方法を適宜組み合わせることにより、運動目的を設定してもよい。また、演算条件設定部242は記憶部220に予め格納されている拘束条件を用いてもよい。
 次にステップS807で、アーム状態、運動目的及び拘束条件に基づいて、一般化逆動力学を用いた全身協調制御についての演算が行われ、制御値τが算出される。なお、ステップS807で行われる処理は、図16に示す仮想力算出部243及び実在力算出部244における一連の処理、すなわち、上記(6-2-2.一般化逆動力学について)で説明した一連の処理であってよい。
 次にステップS809で、外乱推定値τが算出され、当該外乱推定値τを用いて、理想関節制御についての演算が行われ、制御値τから指令値τが算出される。なお、ステップS809で行われる処理は、図16に示す理想関節制御部250における一連の処理、すなわち、上記(6-2-3.理想関節制御について)で説明した一連の処理であってよい。
 最後にステップS811で、指令値τに基づいて、駆動制御部111によって関節部130の駆動が制御される。
 以上、図20を参照して、本実施形態に係るロボットアーム制御方法の処理手順について説明した。なお、本実施形態においては、図20に示すステップS801~ステップS811における処理が、アーム部120を用いた作業が行われている間繰り返し行われる。従って、本実施形態においては、アーム部120を用いた作業が行われている間、アーム部120の駆動制御が継続的に行われる。
 (6-4.全身協調制御に係るロボットアーム装置のまとめ)
 以上説明したように、本実施形態においては、以下の効果を得ることができる。
 以上説明したように、本実施形態によれば、ロボットアーム装置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のそれぞれが、例えば図13に示すような、理想関節制御に適合した構成を有し、各関節部130における回転角度、発生トルク及び粘性抵抗係数を電流値によって制御することができる。このように、各関節部130の駆動が電流値によって制御され、また、全身協調制御により各関節部130の駆動がアーム部120全体の状態を把握しながら制御されるため、カウンターバランスが不要となり、ロボットアーム装置10の小型化が実現される。
 このように、本実施形態によれば、上記(6-1.医療用ロボットアーム装置についての検討)で説明したロボットアーム装置に求められる性能を全て満たすことができる。従って、本実施形態に係るロボットアーム装置を用いた各種の施術において、より効率的に施術を行うことができ、ユーザや患者の疲労や負担をより軽減することが実現される。
 また、本実施形態では、力制御によってロボットアーム装置10のアーム部120が駆動されることにより、万が一駆動中にアーム部120が施術者やスタッフ等に干渉(接触)したとしても、アーム部120が必要以上の力を発生せず、アーム部120が安全に停止する。そして、当該干渉から解放されれば、設定された運動目的に従って所望の位置までアーム部120が移動し、施術が継続される。このように、本実施形態では、ロボットアーム装置10の駆動制御に力制御が用いられることにより、駆動中におけるアーム部120と周囲の物体との干渉に対して、より高い安全性が確保される。
 なお、例えば、上記実施形態では、ロボットアーム装置のアーム部の先端ユニットが撮像ユニットであり、図11に示すように手術時に当該撮像ユニットによって施術部位を撮影する場合について説明したが、本実施形態はかかる例に限定されない。本実施形態に係るロボットアーム制御システム1は、他の先端ユニットを有するロボットアーム装置が他の用途に用いられる場合であっても適用可能である。例えば、先端ユニットは内視鏡や腹腔鏡であってもよいし、超音波検査器や胃カメラ等、他の検査機器であってもよい。
 例えば、腹腔鏡を用いた施術では、患者の体内に腹腔鏡を挿入し、当該腹腔鏡によって撮影された映像を観察しながら、別途挿入される鉗子や電気メス等の術具を用いて各種の処置が行われる。このような施術方法においては、例えば腹腔鏡をロボットアームによって操作しながら、処置用の術具を施術者が直接操作することができれば、1人のユーザによって施術を行うことができ、より効率的な施術が可能となる。しかしながら、一般的な既存のバランス型アームにおいては、操作性の観点から、1人のユーザが、自身の手による術具の操作とロボットアームによる腹腔鏡の操作とを同時に行うことは困難であった。よって、既存の方法では、複数名のスタッフが必要であり、1人の施術者がロボットアームによって腹腔鏡を操作しながら、他の者が術具を用いた処置を行うことが一般的であった。しかし、本実施形態に係るロボットアーム装置では、上述したように、全身協調制御による高い操作性が実現される。また、理想関節制御により、振動等の影響がより少ない、高精度の応答性と高い安定性が実現される。従って、本実施形態によれば、ロボットアーム装置による観察用の腹腔鏡の操作と、自身の手による術具の操作とを、施術者1人で容易に行うことが可能となる。
 また、本実施形態に係るロボットアーム装置は、医療以外の用途に用いられてもよい。本実施形態に係るロボットアーム装置では、理想関節制御により、高精度の応答性と高い安定性が実現されるため、例えば高い精度が求められる工業部品の加工や組み立て等の作業にも対応可能である。
 また、上記実施形態では、ロボットアーム装置の関節部が回転機構を有し、当該回転機構の回転駆動が制御されることによってアーム部の駆動が制御される場合について説明したが、本実施形態はかかる例に限定されない。例えば、本実施形態に係るロボットアーム装置においては、アーム部を構成するリンクがリンクの延伸方向に伸縮する機構(例えば油圧で駆動するものやボールねじを駆動するもの等)を有し、リンクの長さが可変であってもよい。リンクの長さが可変である場合、例えば関節部における回転に加えてリンクの伸縮も考慮した全身協調制御によって、所望の運動目的を達成するようにアーム部の駆動が制御される。
 また、上記実施形態では、ロボットアーム装置におけるアーム部の自由度が6自由度以上である場合について説明したが、本実施形態はかかる例に限定されない。また、ロボットアーム装置におけるアーム部を構成する複数の関節部が全て理想関節制御に対応するアクチュエータを有する場合について説明したが、本実施形態はかかる例に限定されない。本実施形態においては、ロボットアーム装置の用途に応じて多様な運動目的が設定され得る。従って、設定された運動目的が達成可能であれば、アーム部は、6自由度よりも低い自由度を有してもよいし、アーム部を構成する複数の関節部のうちの一部が一般的な関節機構を有する関節部であってもよい。このように、本実施形態においては、アーム部の構成は、運動目的を達成可能であるように構成されればよく、ロボットアーム装置の用途に応じて適宜構成されてよい。
 <7.ハードウェア構成>
 次に、図21を参照しながら、図1及び図16に示す、本実施形態に係るロボットアーム装置10及び制御装置20のハードウェア構成について、詳細に説明する。図21は、本開示の一実施形態に係るロボットアーム装置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は、本実施形態においては、例えば、図1及び図16に示すアーム制御部110、関節制御部135及び制御部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は、本実施形態においては、例えば、図16に示す入力部210に対応する。また、本実施形態においては、入力装置915を介したユーザによる操作入力により、アーム部120の駆動における運動目的が設定され、当該運動目的に従って全身協調制御が行われてもよい。
 出力装置917は、取得した情報をユーザに対して視覚的又は聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置及びランプ等の表示装置や、スピーカ及びヘッドホン等の音声出力装置や、プリンタ装置等がある。出力装置917は、例えば、ロボットアーム装置10及び制御装置20が行った各種処理により得られた結果を出力する。具体的には、表示装置は、ロボットアーム装置10及び制御装置20が行った各種処理により得られた結果を、テキスト又はイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。本実施形態においては、アーム部120の駆動制御に関する各種の情報が、あらゆる形式で出力装置917から出力されてよい。例えば、アーム部120の駆動制御における、アーム部120の各構成部材の移動の軌跡が、グラフの形式で出力装置917の表示画面に表示されてもよい。なお、例えば、図16に示す表示装置30は、出力装置917の表示装置としての機能及び構成と、当該表示装置の駆動を制御するための制御部等の構成を備える装置であってもよい。
 ストレージ装置919は、ロボットアーム装置10及び制御装置20の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス又は光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ等を格納する。ストレージ装置919は、本実施形態においては、例えば、図1及び図16に示す記憶部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は、本実施形態においては、例えば、図2に示す通信ユニット150、270に対応する。また、通信装置925に接続される通信網931は、有線又は無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信又は衛星通信等であってもよい。本実施形態においては、ロボットアーム装置10の各関節部130とアーム部120とが、通信装置925を介して、異常を検出するための各種の情報やアーム部120の駆動制御に関する各種の情報を、互いに送受信してもよい。また、アーム部120の駆動制御に関する各種の情報が、通信装置925によって、通信網931を介して外部の他の機器との間で相互に送受信されてもよい。
 以上、本開示の実施形態に係るロボットアーム装置10及び制御装置20の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。なお、図21では図示しないが、ロボットアーム装置10は、図1及び図16に示すアーム部120に対応する各種の構成を当然備える。
 なお、上述のような本実施形態に係るロボットアーム装置10、制御装置20及び表示装置30の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。また、このようなコンピュータプログラムが格納された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
 <8.補足>
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)複数のリンクが関節部によって互いに連結されて構成されるアーム部と、前記関節部の駆動を制御することにより前記アーム部を駆動させる駆動制御部と、を備え、前記駆動制御部は、前記関節部の少なくともいずれかに異常が検出された場合に、前記アーム部の運動に対して所定の制限が設けられた状態で前記関節部の駆動を制御して、当該異常を回避するように前記アーム部を駆動させる、ロボットアーム装置。
(2)前記アーム部が接触することにより外部の物体に与えられる押圧力に応じて前記関節部に生じるトルクに基づいて、前記関節部の異常が検出され、前記駆動制御部は、前記アーム部の運動に対して前記押圧力が所定の範囲に制限された状態で、前記関節部の駆動を制御して前記アーム部を駆動させる、前記(1)に記載のロボットアーム装置。
(3)前記押圧力は、前記アーム部の先端に設けられる先端ユニットによって外部の物体に与えられる力である、前記(2)に記載のロボットアーム装置。
(4)前記先端ユニットに作用する力を検出するセンサが更に備えられ、前記先端ユニットに作用する力に応じて前記関節部に生じるトルクと、前記センサによって検出される力と、に基づいて、前記関節部の異常が検出される、前記(3)に記載のロボットアーム装置。
(5)前記関節部の異常は、前記関節部の回転角度に基づいて検出され、前記駆動制御部は、前記アーム部の運動に対して前記関節部の回転角度が所定の範囲に制限された状態で前記関節部の駆動を制御して前記アーム部を駆動させる、前記(1)に記載のロボットアーム装置。
(6)前記関節部の異常は、前記関節部の回転角速度に基づいて検出され、前記駆動制御部は、前記アーム部の運動に対して前記関節部の回転角速度が所定の範囲に制限された状態で前記関節部の駆動を制御して前記アーム部を駆動させる、前記(1)に記載のロボットアーム装置。
(7)前記関節部は、前記関節部の状態を検出する関節状態検出部を有し、前記関節部の異常は、前記関節状態検出部によって検出される前記関節部の状態に基づいて判断される、前記(1)~(6)のいずれか1項に記載のロボットアーム装置。
(8)前記関節部の状態は、前記関節部を駆動するために設けられるアクチュエータにおける、モータの回転角度、出力軸の回転角度、出力軸のトルク、モータに供給される電流及びモータの周囲の温度の少なくともいずれかを含む、前記(7)に記載のロボットアーム装置。
(9)前記駆動制御部は、前記関節部で検出された異常の種類に応じて、前記アーム部の運動に所定の制限が設けられた状態で前記関節部の駆動を制御して、当該異常を回避するように前記アーム部を駆動させる異常回避動作と、異常が検出された前記関節部以外の他の前記関節部の駆動を制御して前記アーム部の自由度を低下させた状態で前記アーム部を駆動させる一部機能停止動作と、前記アーム部を構成する全ての前記関節部の動きが固定される機能停止動作と、のいずれかの動作が実行されるように前記関節部の駆動を制御する、前記(1)~(8)のいずれか1項に記載のロボットアーム装置。
(10)前記駆動制御部は、検出された複数の前記関節部の状態に基づいて取得される前記アーム部の状態に基づいて前記関節部の駆動を制御する、前記(1)~(9)のいずれか1項に記載のロボットアーム装置。
(11)記駆動制御部は、前記アーム部の状態と、前記アーム部の運動目的及び拘束条件に基づく前記アーム部の協調制御のための制御値と、に基づいて前記関節部の駆動を制御する、前記(10)に記載のロボットアーム装置。
(12)前記制御値は、前記アーム部に作用する力と前記アーム部に発生する加速度との関係を記述する操作空間において前記運動目的を達成するために作用される仮想的な力である仮想力と、前記拘束条件に基づいて前記仮想力が前記関節部を駆動するための実在の力に変換されることにより求められる実在力と、に基づいて算出される、前記(11)に記載のロボットアーム装置。
(13)前記駆動制御部は、前記制御値に対して外乱の影響を補正することにより算出される指令値、に基づいて前記関節部の駆動を制御する、前記(11)に記載のロボットアーム装置。
(14)前記指令値は、検出された前記関節部の状態に基づいて推定される前記関節部の駆動に対する外乱の影響を表す外乱推定値を用いて、前記制御値を補正することにより算出される、前記(13)に記載のロボットアーム装置。
(15)前記駆動制御部は、前記アーム部に作用する重力を補償する力、及び外部から更に与えられた力の方向への前記アーム部の移動をサポートする力を生じるように前記関節部の駆動を制御する、前記(11)~(14)のいずれか1項に記載のロボットアーム装置。
(16)前記駆動制御部は、前記アーム部の先端に設けられる先端ユニットが空間上の所定の点を頂点とした円錐体の面上を移動するピボット動作を行うように前記関節部の駆動を制御する、前記(11)~(14)のいずれか1項に記載のロボットアーム装置。
(17)前記ピボット動作において、前記先端ユニットと前記所定の点との距離は一定に保たれる、前記(16)に記載のロボットアーム装置。
(18)前記ロボットアーム装置は、前記アーム部に少なくとも1つの医療用器具が設けられる、医療用ロボットアーム装置である、前記(1)~(17)のいずれか1項に記載のロボットアーム装置。
(19)複数のリンクが関節部によって互いに連結されて構成されるアーム部における、少なくともいずれかの前記関節部の異常を検出することと、前記アーム部の運動に所定の制限が設けられた状態で前記関節部の駆動を制御して、当該異常を回避するように前記アーム部を駆動させることと、を含む、ロボットアーム制御方法。
(20)コンピュータのプロセッサに、複数のリンクが関節部によって互いに連結されて構成されるアーム部における、少なくともいずれかの前記関節部の異常を検出する機能と、前記アーム部の運動に所定の制限が設けられた状態で前記関節部の駆動を制御して、当該異常を回避するように前記アーム部を駆動させる機能と、を実現させる、プログラム。
 1、2  ロボットアーム制御システム
 10  ロボットアーム装置
 20  制御装置
 30  表示装置
 110  アーム制御部
 111  駆動制御部
 120  アーム部
 130  関節部
 131  関節駆動部
 132  回転角度検出部
 133  トルク検出部
 135  関節制御部
 140  撮像部
 145  先端ユニット
 180  アクチュエータ
 210  入力部
 220  記憶部
 230  制御部
 240  全身協調制御部
 241  アーム状態取得部
 242  演算条件設定部
 243  仮想力算出部
 244  実在力算出部
 250  理想関節制御部
 251  外乱推定部
 252  指令値算出部
 260  異常検出部
 

Claims (20)

  1.  複数のリンクが関節部によって互いに連結されて構成されるアーム部と、
     前記関節部の駆動を制御することにより前記アーム部を駆動させる駆動制御部と、
     を備え、
     前記駆動制御部は、前記関節部の少なくともいずれかに異常が検出された場合に、前記アーム部の運動に対して所定の制限が設けられた状態で前記関節部の駆動を制御して、当該異常を回避するように前記アーム部を駆動させる、
     ロボットアーム装置。
  2.  前記アーム部が接触することにより外部の物体に与えられる押圧力に応じて前記関節部に生じるトルクに基づいて、前記関節部の異常が検出され、
     前記駆動制御部は、前記アーム部の運動に対して前記押圧力が所定の範囲に制限された状態で、前記関節部の駆動を制御して前記アーム部を駆動させる、
     請求項1に記載のロボットアーム装置。
  3.  前記押圧力は、前記アーム部の先端に設けられる先端ユニットによって外部の物体に与えられる力である、
     請求項2に記載のロボットアーム装置。
  4.  前記先端ユニットに作用する力を検出するセンサが更に備えられ、
     前記先端ユニットに作用する力に応じて前記関節部に生じるトルクと、前記センサによって検出される力と、に基づいて、前記関節部の異常が検出される、
     請求項3に記載のロボットアーム装置。
  5.  前記関節部の異常は、前記関節部の回転角度に基づいて検出され、
     前記駆動制御部は、前記アーム部の運動に対して前記関節部の回転角度が所定の範囲に制限された状態で前記関節部の駆動を制御して前記アーム部を駆動させる、
     請求項1に記載のロボットアーム装置。
  6.  前記関節部の異常は、前記関節部の回転角速度に基づいて検出され、
     前記駆動制御部は、前記アーム部の運動に対して前記関節部の回転角速度が所定の範囲に制限された状態で前記関節部の駆動を制御して前記アーム部を駆動させる、
     請求項1に記載のロボットアーム装置。
  7.  前記関節部は、前記関節部の状態を検出する関節状態検出部を有し、
     前記関節部の異常は、前記関節状態検出部によって検出される前記関節部の状態に基づいて判断される、
     請求項1に記載のロボットアーム装置。
  8.  前記関節部の状態は、前記関節部を駆動するために設けられるアクチュエータにおける、モータの回転角度、出力軸の回転角度、出力軸のトルク、モータに供給される電流及びモータの周囲の温度の少なくともいずれかを含む、
     請求項7に記載のロボットアーム装置。
  9.  前記駆動制御部は、前記関節部で検出された異常の種類に応じて、
     前記アーム部の運動に所定の制限が設けられた状態で前記関節部の駆動を制御して、当該異常を回避するように前記アーム部を駆動させる異常回避動作と、
     異常が検出された前記関節部以外の他の前記関節部の駆動を制御して前記アーム部の自由度を低下させた状態で前記アーム部を駆動させる一部機能停止動作と、
     前記アーム部を構成する全ての前記関節部の動きが固定される機能停止動作と、
     のいずれかの動作が実行されるように前記関節部の駆動を制御する、
     請求項1に記載のロボットアーム装置。
  10.  前記駆動制御部は、検出された複数の前記関節部の状態に基づいて取得される前記アーム部の状態に基づいて前記関節部の駆動を制御する、
     請求項1に記載のロボットアーム装置。
  11.  前記駆動制御部は、前記アーム部の状態と、前記アーム部の運動目的及び拘束条件に基づく前記アーム部の協調制御のための制御値と、に基づいて前記関節部の駆動を制御する、
     請求項10に記載のロボットアーム装置。
  12.  前記制御値は、前記アーム部に作用する力と前記アーム部に発生する加速度との関係を記述する操作空間において前記運動目的を達成するために作用される仮想的な力である仮想力と、前記拘束条件に基づいて前記仮想力が前記関節部を駆動するための実在の力に変換されることにより求められる実在力と、に基づいて算出される、
     請求項11に記載のロボットアーム装置。
  13.  前記駆動制御部は、前記制御値に対して外乱の影響を補正することにより算出される指令値、に基づいて前記関節部の駆動を制御する、
     請求項11に記載のロボットアーム装置。
  14.  前記指令値は、検出された前記関節部の状態に基づいて推定される前記関節部の駆動に対する外乱の影響を表す外乱推定値を用いて、前記制御値を補正することにより算出される、
     請求項13に記載のロボットアーム装置。
  15.  前記駆動制御部は、前記アーム部に作用する重力を補償する力、及び外部から更に与えられた力の方向への前記アーム部の移動をサポートする力を生じるように前記関節部の駆動を制御する、
     請求項11に記載のロボットアーム装置。
  16.  前記駆動制御部は、前記アーム部の先端に設けられる先端ユニットが空間上の所定の点を頂点とした円錐体の面上を移動するピボット動作を行うように前記関節部の駆動を制御する、
     請求項11に記載のロボットアーム装置。
  17.  前記ピボット動作において、前記先端ユニットと前記所定の点との距離は一定に保たれる、
     請求項16に記載のロボットアーム装置。
  18.  前記ロボットアーム装置は、前記アーム部に少なくとも1つの医療用器具が設けられる、医療用ロボットアーム装置である、
     請求項1に記載のロボットアーム装置。
  19.  複数のリンクが関節部によって互いに連結されて構成されるアーム部における、少なくともいずれかの前記関節部の異常を検出することと、
     前記アーム部の運動に所定の制限が設けられた状態で前記関節部の駆動を制御して、当該異常を回避するように前記アーム部を駆動させることと、
     を含む、ロボットアーム制御方法。
  20.  コンピュータのプロセッサに、
     複数のリンクが関節部によって互いに連結されて構成されるアーム部における、少なくともいずれかの前記関節部の異常を検出する機能と、
     前記アーム部の運動に所定の制限が設けられた状態で前記関節部の駆動を制御して、当該異常を回避するように前記アーム部を駆動させる機能と、
     を実現させる、プログラム。
     
PCT/JP2015/054018 2014-03-14 2015-02-13 ロボットアーム装置、ロボットアーム制御方法及びプログラム WO2015137038A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP15762101.2A EP3120979A4 (en) 2014-03-14 2015-02-13 Robot arm device, robot arm control method and program
US15/120,616 US10299868B2 (en) 2014-03-14 2015-02-13 Robot arm apparatus, robot arm control method, and program
CN201580012311.2A CN106068175B (zh) 2014-03-14 2015-02-13 机器人手臂设备、机器人手臂控制方法及程序
JP2016507404A JP6512216B2 (ja) 2014-03-14 2015-02-13 ロボットアーム装置、ロボットアーム制御方法及びプログラム
US16/288,973 US10675106B2 (en) 2014-03-14 2019-02-28 Robot arm apparatus, robot arm control method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014052068 2014-03-14
JP2014-052068 2014-03-14

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/120,616 A-371-Of-International US10299868B2 (en) 2014-03-14 2015-02-13 Robot arm apparatus, robot arm control method, and program
US16/288,973 Continuation US10675106B2 (en) 2014-03-14 2019-02-28 Robot arm apparatus, robot arm control method, and program

Publications (1)

Publication Number Publication Date
WO2015137038A1 true WO2015137038A1 (ja) 2015-09-17

Family

ID=54071489

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/054018 WO2015137038A1 (ja) 2014-03-14 2015-02-13 ロボットアーム装置、ロボットアーム制御方法及びプログラム

Country Status (5)

Country Link
US (2) US10299868B2 (ja)
EP (1) EP3120979A4 (ja)
JP (2) JP6512216B2 (ja)
CN (1) CN106068175B (ja)
WO (1) WO2015137038A1 (ja)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017140685A (ja) * 2016-02-12 2017-08-17 キヤノン株式会社 ロボット装置、ロボット制御方法、部品の製造方法、プログラム、記録媒体
CN107134967A (zh) * 2016-02-29 2017-09-05 株式会社安川电机 马达控制系统、机器人系统以及马达控制系统的通信方法
WO2017169103A1 (ja) * 2016-03-30 2017-10-05 ソニー株式会社 アーム制御方法及びアーム制御装置
JP2018075121A (ja) * 2016-11-08 2018-05-17 ソニー株式会社 医療用支持アーム装置
WO2018101265A1 (ja) * 2016-12-02 2018-06-07 株式会社デンソー 医療支援装置、医療支援方法、及び支持装置
KR20180082476A (ko) * 2015-11-11 2018-07-18 마코 서지컬 코포레이션 로봇식 시스템 및 그를 역구동하는 방법
JP2019063893A (ja) * 2017-09-28 2019-04-25 株式会社デンソーウェーブ ロボットの異常判定装置
JP2020028941A (ja) * 2018-08-22 2020-02-27 日産自動車株式会社 異常判定方法及び異常判定装置
CN111315303A (zh) * 2017-10-30 2020-06-19 爱惜康有限责任公司 用于外科系统的反应算法
JP2020097078A (ja) * 2018-12-17 2020-06-25 キヤノン株式会社 ロボット装置、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、検出装置、制御プログラム及び記録媒体
JP2020142353A (ja) * 2019-03-08 2020-09-10 ファナック株式会社 ロボットのジョイントの異常検出装置及び異常検出方法
JP2020189346A (ja) * 2019-05-20 2020-11-26 株式会社ジェイテクト パワーアシストスーツ
JP2021091519A (ja) * 2019-12-09 2021-06-17 株式会社東芝 作業支援装置、作業支援方法、プログラム、および作業支援システム
JP2021521939A (ja) * 2018-04-27 2021-08-30 アルコン インコーポレイティド 立体視覚化カメラ及び統合ロボットプラットフォーム
JP2022533109A (ja) * 2020-04-24 2022-07-21 シーエムアール・サージカル・リミテッド 外科手術ロボットアームへの電力供給
JP2022533334A (ja) * 2020-04-24 2022-07-22 シーエムアール・サージカル・リミテッド 外科手術ロボットアームへの電力供給
DE112022000680T5 (de) 2021-01-18 2023-11-16 Fanuc Corporation Robotersystem mit Roboter mit Drehmomentsensoren

Families Citing this family (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10383765B2 (en) 2012-04-24 2019-08-20 Auris Health, Inc. Apparatus and method for a global coordinate system for use in robotic surgery
US11871901B2 (en) 2012-05-20 2024-01-16 Cilag Gmbh International Method for situational awareness for surgical network or surgical network connected device capable of adjusting function based on a sensed situation or usage
JP6512216B2 (ja) * 2014-03-14 2019-05-15 ソニー株式会社 ロボットアーム装置、ロボットアーム制御方法及びプログラム
US10499999B2 (en) 2014-10-09 2019-12-10 Auris Health, Inc. Systems and methods for aligning an elongate member with an access site
EP3217909A1 (de) * 2014-11-14 2017-09-20 medineering GmbH Intelligenter haltearm für die kopfchirurgie mit berührungsempfindlicher bedienung
US10959788B2 (en) * 2015-06-03 2021-03-30 Covidien Lp Offset instrument drive unit
DE102015214170A1 (de) * 2015-07-27 2017-02-02 Kuka Roboter Gmbh Roboter mit einer Kraftmesseinrichtung
WO2017022310A1 (ja) * 2015-08-04 2017-02-09 ソニー株式会社 制御装置、制御方法及び医療用支持アーム装置
US10272568B2 (en) * 2015-09-17 2019-04-30 Canon Kabushiki Kaisha Robot apparatus, robot controlling method, program, recording medium, and assembly manufacturing method
WO2017056747A1 (ja) * 2015-10-02 2017-04-06 ソニー株式会社 医療用制御装置、制御方法、およびプログラム
JP6704255B2 (ja) * 2016-01-19 2020-06-03 ソニー・オリンパスメディカルソリューションズ株式会社 医療用観察装置、医療用観察システム及び画揺れ補正方法
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
WO2018059838A1 (en) * 2016-09-27 2018-04-05 Brainlab Ag Efficient positioning of a mechatronic arm
TWI615693B (zh) * 2016-12-06 2018-02-21 財團法人資訊工業策進會 多軸機器手臂及其調整方法
WO2018142559A1 (ja) * 2017-02-03 2018-08-09 オリンパス株式会社 医療用マニピュレータ
JP6817841B2 (ja) * 2017-02-17 2021-01-20 日本電産シンポ株式会社 電動機付き減速機
CN106806996B (zh) * 2017-02-24 2019-11-22 武汉多脉科技有限公司 诊断和治疗一体化激光理疗智能机器人及控制方法
CN106625683A (zh) * 2017-02-27 2017-05-10 哈尔滨工业大学深圳研究生院 一种基于wifi的可重构人机协作机械臂系统
CN106945044B (zh) * 2017-04-19 2019-12-17 广州视源电子科技股份有限公司 机器人暂停运动控制方法和系统
US10917543B2 (en) 2017-04-24 2021-02-09 Alcon Inc. Stereoscopic visualization camera and integrated robotics platform
EP3620277B1 (en) * 2017-05-03 2021-11-17 Nachi-Fujikoshi Corp. Robot system
JP6705976B2 (ja) * 2017-05-11 2020-06-03 株式会社安川電機 ロボット、ロボットの制御方法、ワークの製造方法
JP2018202504A (ja) 2017-05-31 2018-12-27 ソニー株式会社 医療用支持アームシステム、医療用支持アームの制御方法、および医療用支持アームの制御装置
JP2018202589A (ja) * 2017-06-09 2018-12-27 セイコーエプソン株式会社 制御装置、ロボット、およびロボットシステム
CN110809452B (zh) 2017-06-28 2023-05-23 奥瑞斯健康公司 电磁场发生器对准
EP3644886A4 (en) 2017-06-28 2021-03-24 Auris Health, Inc. ELECTROMAGNETIC DISTORTION DETECTION
JP6796557B2 (ja) * 2017-06-30 2020-12-09 株式会社神戸製鋼所 溶接ロボットのトーチケーブル干渉評価情報出力装置、評価情報出力方法及びプログラム
WO2019023378A1 (en) * 2017-07-27 2019-01-31 Intuitive Surgical Operations, Inc. LUMINOUS DISPLAYS IN A MEDICAL DEVICE
CN107334531A (zh) * 2017-07-31 2017-11-10 成都中科博恩思医学机器人有限公司 一种机器人手术设备以及机器人手术设备安全控制方法
JP6633587B2 (ja) * 2017-10-05 2020-01-22 ファナック株式会社 ロボットの構成部材の速度を制限する制御装置
US10464209B2 (en) 2017-10-05 2019-11-05 Auris Health, Inc. Robotic system with indication of boundary for robotic arm
US10016900B1 (en) 2017-10-10 2018-07-10 Auris Health, Inc. Surgical robotic arm admittance control
US11801098B2 (en) 2017-10-30 2023-10-31 Cilag Gmbh International Method of hub communication with surgical instrument systems
US11911045B2 (en) 2017-10-30 2024-02-27 Cllag GmbH International Method for operating a powered articulating multi-clip applier
US11564756B2 (en) 2017-10-30 2023-01-31 Cilag Gmbh International Method of hub communication with surgical instrument systems
US10959744B2 (en) 2017-10-30 2021-03-30 Ethicon Llc Surgical dissectors and manufacturing techniques
US11510741B2 (en) 2017-10-30 2022-11-29 Cilag Gmbh International Method for producing a surgical instrument comprising a smart electrical system
JP2019084608A (ja) * 2017-11-06 2019-06-06 セイコーエプソン株式会社 ロボットおよびロボットシステム
WO2019102672A1 (ja) * 2017-11-21 2019-05-31 ソニー株式会社 センサ装置及びセンシング方法
US11376002B2 (en) 2017-12-28 2022-07-05 Cilag Gmbh International Surgical instrument cartridge sensor assemblies
US11389164B2 (en) 2017-12-28 2022-07-19 Cilag Gmbh International Method of using reinforced flexible circuits with multiple sensors to optimize performance of radio frequency devices
US11864728B2 (en) 2017-12-28 2024-01-09 Cilag Gmbh International Characterization of tissue irregularities through the use of mono-chromatic light refractivity
US11969142B2 (en) 2017-12-28 2024-04-30 Cilag Gmbh International Method of compressing tissue within a stapling device and simultaneously displaying the location of the tissue within the jaws
US11202570B2 (en) 2017-12-28 2021-12-21 Cilag Gmbh International Communication hub and storage device for storing parameters and status of a surgical device to be shared with cloud based analytics systems
US11076921B2 (en) 2017-12-28 2021-08-03 Cilag Gmbh International Adaptive control program updates for surgical hubs
US11257589B2 (en) 2017-12-28 2022-02-22 Cilag Gmbh International Real-time analysis of comprehensive cost of all instrumentation used in surgery utilizing data fluidity to track instruments through stocking and in-house processes
US20190206569A1 (en) 2017-12-28 2019-07-04 Ethicon Llc Method of cloud based data analytics for use with the hub
US11832899B2 (en) 2017-12-28 2023-12-05 Cilag Gmbh International Surgical systems with autonomously adjustable control programs
US11998193B2 (en) 2017-12-28 2024-06-04 Cilag Gmbh International Method for usage of the shroud as an aspect of sensing or controlling a powered surgical device, and a control algorithm to adjust its default operation
US12096916B2 (en) 2017-12-28 2024-09-24 Cilag Gmbh International Method of sensing particulate from smoke evacuated from a patient, adjusting the pump speed based on the sensed information, and communicating the functional parameters of the system to the hub
US11744604B2 (en) 2017-12-28 2023-09-05 Cilag Gmbh International Surgical instrument with a hardware-only control circuit
US11786251B2 (en) 2017-12-28 2023-10-17 Cilag Gmbh International Method for adaptive control schemes for surgical network control and interaction
US11166772B2 (en) 2017-12-28 2021-11-09 Cilag Gmbh International Surgical hub coordination of control and communication of operating room devices
US20190201139A1 (en) 2017-12-28 2019-07-04 Ethicon Llc Communication arrangements for robot-assisted surgical platforms
US11969216B2 (en) 2017-12-28 2024-04-30 Cilag Gmbh International Surgical network recommendations from real time analysis of procedure variables against a baseline highlighting differences from the optimal solution
US10758310B2 (en) 2017-12-28 2020-09-01 Ethicon Llc Wireless pairing of a surgical device with another device within a sterile surgical field based on the usage and situational awareness of devices
US20190201039A1 (en) 2017-12-28 2019-07-04 Ethicon Llc Situational awareness of electrosurgical systems
US11672605B2 (en) 2017-12-28 2023-06-13 Cilag Gmbh International Sterile field interactive control displays
US11857152B2 (en) 2017-12-28 2024-01-02 Cilag Gmbh International Surgical hub spatial awareness to determine devices in operating theater
US11818052B2 (en) 2017-12-28 2023-11-14 Cilag Gmbh International Surgical network determination of prioritization of communication, interaction, or processing based on system or device needs
US11896443B2 (en) 2017-12-28 2024-02-13 Cilag Gmbh International Control of a surgical system through a surgical barrier
US11109866B2 (en) 2017-12-28 2021-09-07 Cilag Gmbh International Method for circular stapler control algorithm adjustment based on situational awareness
US11844579B2 (en) 2017-12-28 2023-12-19 Cilag Gmbh International Adjustments based on airborne particle properties
US11896322B2 (en) 2017-12-28 2024-02-13 Cilag Gmbh International Sensing the patient position and contact utilizing the mono-polar return pad electrode to provide situational awareness to the hub
US12062442B2 (en) 2017-12-28 2024-08-13 Cilag Gmbh International Method for operating surgical instrument systems
US11464559B2 (en) 2017-12-28 2022-10-11 Cilag Gmbh International Estimating state of ultrasonic end effector and control system therefor
US11132462B2 (en) 2017-12-28 2021-09-28 Cilag Gmbh International Data stripping method to interrogate patient records and create anonymized record
US11612408B2 (en) 2017-12-28 2023-03-28 Cilag Gmbh International Determining tissue composition via an ultrasonic system
CN110071681A (zh) * 2018-01-22 2019-07-30 金宝电子工业股份有限公司 自动控制设备以及自动控制方法
US20190266688A1 (en) * 2018-02-28 2019-08-29 Bank Of America Corporation Do-no-harm iot device(s)
US11399858B2 (en) 2018-03-08 2022-08-02 Cilag Gmbh International Application of smart blade technology
US11337746B2 (en) 2018-03-08 2022-05-24 Cilag Gmbh International Smart blade and power pulsing
US11259830B2 (en) 2018-03-08 2022-03-01 Cilag Gmbh International Methods for controlling temperature in ultrasonic device
US11090047B2 (en) 2018-03-28 2021-08-17 Cilag Gmbh International Surgical instrument comprising an adaptive control system
US11259806B2 (en) 2018-03-28 2022-03-01 Cilag Gmbh International Surgical stapling devices with features for blocking advancement of a camming assembly of an incompatible cartridge installed therein
US11839979B2 (en) * 2018-06-15 2023-12-12 Universal Robots A/S Dual mode free-drive of robot arm
JP7275488B2 (ja) * 2018-07-24 2023-05-18 セイコーエプソン株式会社 ロボットシステム
WO2020028356A1 (en) * 2018-07-30 2020-02-06 Intuitive Surgical Operations, Inc. Hard stop protection system and method
US11332100B2 (en) 2018-08-17 2022-05-17 Goodrich Corporation Fault diagnostics in aircraft windshield wiper systems
WO2020046963A1 (en) * 2018-08-27 2020-03-05 Ascend Robotics LLC Automated construction robot systems and methods
CN112888396A (zh) * 2018-10-30 2021-06-01 柯惠Lp公司 用于机器人手术系统的绑定性和非绑定性关节运动限制
CN109620410B (zh) * 2018-12-04 2021-01-26 微创(上海)医疗机器人有限公司 机械臂防碰撞的方法及系统、医疗机器人
US20200231082A1 (en) * 2019-01-21 2020-07-23 Kevin Arnold Morran Remote controlled lighting apparatus
JP6918849B2 (ja) * 2019-01-22 2021-08-11 ファナック株式会社 システム
US11298129B2 (en) 2019-02-19 2022-04-12 Cilag Gmbh International Method for providing an authentication lockout in a surgical stapler with a replaceable cartridge
NL2022662B1 (en) * 2019-03-01 2020-09-15 Ihb B V Improved suspension system and brake device and rotation limiting device for use in the suspension system
JP7269071B2 (ja) * 2019-04-01 2023-05-08 株式会社ダイヘン 搬送ロボット
EP3975907A4 (en) * 2019-06-03 2023-06-21 Covidien LP EXTERNAL TORQUE OBSERVATION AND COMPENSATION SYSTEM AND APPARATUS FOR SURGICAL ROBOTIC ARM
US20220236721A1 (en) * 2019-07-19 2022-07-28 Mitsubishi Electric Corporation Parameter identification device, parameter identification method, and computer readable storage medium
JP7494290B2 (ja) 2019-09-03 2024-06-03 オーリス ヘルス インコーポレイテッド 電磁歪み検出及び補償
US20210060793A1 (en) * 2019-09-03 2021-03-04 Shanghai Flexiv Robotics Technology Co., Ltd. Robotic arm and robot
KR20220066281A (ko) * 2019-09-26 2022-05-24 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 이상 센서 신호의 존재시에 가요성 디바이스를 제어하기 위한 방법 및 시스템
JP7415430B2 (ja) * 2019-10-21 2024-01-17 株式会社ジェイテクト アシスト装置
CN115135462A (zh) * 2019-10-29 2022-09-30 Abb瑞士股份有限公司 用于机器人评估的系统和方法
GB2592401B (en) * 2020-02-27 2024-06-05 Cmr Surgical Ltd Watchdog circuitry of a surgical robot arm
GB2594324A (en) * 2020-04-24 2021-10-27 Cmr Surgical Ltd Powering a surgical robot arm
US20210378781A1 (en) * 2020-06-05 2021-12-09 Auris Health, Inc. Systems and methods for distinguishing kinematic chains in robotic surgery
US20230182303A1 (en) * 2020-06-08 2023-06-15 Covidien Lp Surgical robotic system instrument engagement and failure detection
US11675335B2 (en) * 2020-06-26 2023-06-13 Aroboticscompany Inc. Robotic systems and methods to treat vertical external surface of structure
CN111958602B (zh) * 2020-08-20 2022-05-20 华中科技大学 一种手腕偏置型6轴机器人实时逆解算法
CN116018107A (zh) * 2020-08-31 2023-04-25 Cmr外科有限公司 用于手术机器人系统的具有安全装置的控制系统
CN112776005B (zh) * 2021-01-13 2022-04-15 中联重科股份有限公司 多臂节的臂架检测方法、装置、系统和存储介质
AU2022247392A1 (en) 2021-03-31 2023-09-28 Moon Surgical Sas Co-manipulation surgical system for use with surgical instruments for performing laparoscopic surgery
US11832909B2 (en) 2021-03-31 2023-12-05 Moon Surgical Sas Co-manipulation surgical system having actuatable setup joints
US11844583B2 (en) 2021-03-31 2023-12-19 Moon Surgical Sas Co-manipulation surgical system having an instrument centering mode for automatic scope movements
US11812938B2 (en) 2021-03-31 2023-11-14 Moon Surgical Sas Co-manipulation surgical system having a coupling mechanism removeably attachable to surgical instruments
US11819302B2 (en) 2021-03-31 2023-11-21 Moon Surgical Sas Co-manipulation surgical system having user guided stage control
US12042241B2 (en) 2021-03-31 2024-07-23 Moon Surgical Sas Co-manipulation surgical system having automated preset robot arm configurations
EP4326493A1 (en) * 2021-04-20 2024-02-28 Gecko Robotics, Inc. Flexible inspection robot
US20220378523A1 (en) * 2021-05-28 2022-12-01 Covidien Lp Real time monitoring of a robotic drive module
US11462324B1 (en) * 2021-08-21 2022-10-04 Ix Innovation Llc Surgical equipment monitoring
CN113927604B (zh) * 2021-12-01 2024-03-22 南通大学 基于5g通信的工业机器人控制自检方法、系统及终端
CN114378833B (zh) * 2022-03-23 2022-07-08 珞石(北京)科技有限公司 一种基于鲁棒约束控制的机械臂轨迹规划方法
GB2621578B (en) * 2022-08-15 2024-09-25 Cmr Surgical Ltd Controlling a surgical robot arm whilst entering a sleep mode
CN117653354A (zh) * 2022-08-31 2024-03-08 上海微创医疗机器人(集团)股份有限公司 操作臂回收控制方法、装置及操作设备
US11986165B1 (en) 2023-01-09 2024-05-21 Moon Surgical Sas Co-manipulation surgical system for use with surgical instruments for performing laparoscopic surgery while estimating hold force
US11839442B1 (en) 2023-01-09 2023-12-12 Moon Surgical Sas Co-manipulation surgical system for use with surgical instruments for performing laparoscopic surgery while estimating hold force
CN117565063B (zh) * 2024-01-16 2024-03-29 泓浒(苏州)半导体科技有限公司 晶圆搬运机械手传动部件磨损自适应定位补偿方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH033786A (ja) * 1989-06-01 1991-01-09 Toshiba Corp マニピュレータ制御方式
JPH0985656A (ja) * 1995-09-20 1997-03-31 Yaskawa Electric Corp ロボットの直接教示装置
JPH10230489A (ja) * 1996-12-16 1998-09-02 Sankyo Seiki Mfg Co Ltd 力補助装置の制御方法及びこの方法を利用した制御装置
JP2000343469A (ja) * 1999-06-01 2000-12-12 Agency Of Ind Science & Technol 物体協調運搬ロボットの制御方法及びその装置
JP2004174644A (ja) * 2002-11-26 2004-06-24 Sony Corp 脚式移動ロボットの制御装置
JP2009095959A (ja) * 2007-10-19 2009-05-07 Sony Corp 制御システム及び制御方法、並びにロボット装置、並びにロボット装置
JP2010142909A (ja) * 2008-12-19 2010-07-01 Yaskawa Electric Corp ロボットの制御装置

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5276390A (en) * 1991-10-04 1994-01-04 Hewlett-Packard Company System for hybrid position and force control
US5430643A (en) * 1992-03-11 1995-07-04 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Configuration control of seven degree of freedom arms
US5737500A (en) * 1992-03-11 1998-04-07 California Institute Of Technology Mobile dexterous siren degree of freedom robot arm with real-time control system
JP3419869B2 (ja) 1993-12-28 2003-06-23 オリンパス光学工業株式会社 医療器具
CN1060715C (zh) * 1995-09-14 2001-01-17 株式会社安川电机 机器人的示教装置
US6364888B1 (en) * 1996-09-09 2002-04-02 Intuitive Surgical, Inc. Alignment of master and slave in a minimally invasive surgical apparatus
DE69716018T2 (de) * 1996-12-16 2003-02-06 Kabushiki Kaisha Sankyo Seiki Seisakusho, Nagano Verfahren und Steuerungsgerät zur Steuerung einer Krafthilfeeinrichtung
JPH11277468A (ja) * 1998-03-30 1999-10-12 Denso Corp ロボットの制御装置
US6493608B1 (en) * 1999-04-07 2002-12-10 Intuitive Surgical, Inc. Aspects of a control system of a minimally invasive surgical apparatus
US6424885B1 (en) * 1999-04-07 2002-07-23 Intuitive Surgical, Inc. Camera referenced control in a minimally invasive surgical apparatus
US6522952B1 (en) * 1999-06-01 2003-02-18 Japan As Represented By Secretary Of Agency Of Industrial Science And Technology Method and system for controlling cooperative object-transporting robot
US8004229B2 (en) * 2005-05-19 2011-08-23 Intuitive Surgical Operations, Inc. Software center and highly configurable robotic systems for surgery and other uses
JP3326472B2 (ja) * 1999-11-10 2002-09-24 独立行政法人 航空宇宙技術研究所 多関節ロボット
US6424865B1 (en) 2000-07-13 2002-07-23 Cardiac Pacemakers, Inc. Ventricular conduction delay trending system and method
CA2522097C (en) * 2003-04-28 2012-09-25 Stephen James Crampton Cmm arm with exoskeleton
US9002518B2 (en) * 2003-06-30 2015-04-07 Intuitive Surgical Operations, Inc. Maximum torque driving of robotic surgical tools in robotic surgical systems
US20100016891A1 (en) * 2003-08-14 2010-01-21 Kennedy John J Heterogeneous yarns for surgical articles
DE102005054575B3 (de) * 2005-11-16 2007-04-26 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zur Regelung eines Roboterarms sowie Roboter zur Durchführung des Verfahrens
US7741802B2 (en) * 2005-12-20 2010-06-22 Intuitive Surgical Operations, Inc. Medical robotic system with programmably controlled constraints on error dynamics
US8467904B2 (en) * 2005-12-22 2013-06-18 Honda Motor Co., Ltd. Reconstruction, retargetting, tracking, and estimation of pose of articulated systems
DE102006007858A1 (de) * 2006-02-17 2007-08-30 Knapp, Jürgen Michael Operations-Assistenz-System
CN101326034A (zh) * 2006-03-24 2008-12-17 松下电器产业株式会社 机械手的控制方法以及控制系统
WO2008004487A1 (fr) * 2006-07-04 2008-01-10 Panasonic Corporation Appareil et procédé de commande de bras robotisé, robot et programme de commande de bras robotisé
EP2148629B1 (en) * 2007-04-16 2012-06-06 NeuroArm Surgical, Ltd. Frame mapping and force feedback methods, devices and systems
US8224484B2 (en) * 2007-09-30 2012-07-17 Intuitive Surgical Operations, Inc. Methods of user interface with alternate tool mode for robotic surgical tools
US8170287B2 (en) * 2007-10-26 2012-05-01 Honda Motor Co., Ltd. Real-time self collision and obstacle avoidance
WO2009058693A1 (en) * 2007-11-01 2009-05-07 Honda Motors Co., Ltd. Real-time self collision and obstacle avoidance using weighting matrix
JP4715863B2 (ja) * 2008-05-01 2011-07-06 ソニー株式会社 アクチュエータ制御装置及びアクチュエータ制御方法、アクチュエータ、ロボット装置、並びにコンピュータ・プログラム
JP5231935B2 (ja) * 2008-10-21 2013-07-10 株式会社東芝 ロボット制御装置
KR101606097B1 (ko) * 2009-10-01 2016-03-24 마코 서지컬 코포레이션 보철 부품의 위치 선정 및/또는 수술 도구의 이동 제한용 수술 시스템
KR101667031B1 (ko) * 2009-11-02 2016-10-17 삼성전자 주식회사 로봇의 경로 계획 장치 및 그 방법
CN101889900B (zh) * 2010-07-12 2012-04-11 天津大学 一种辅助微创外科手术的主从一体式机械臂
CN102126219B (zh) * 2010-11-22 2012-11-07 中山大学 一种冗余度机械臂容错型运动规划方法
US9161771B2 (en) * 2011-05-13 2015-10-20 Intuitive Surgical Operations Inc. Medical instrument with snake wrist structure
US8961537B2 (en) * 2011-08-24 2015-02-24 The Chinese University Of Hong Kong Surgical robot with hybrid passive/active control
FR2980683B1 (fr) * 2011-09-30 2014-11-21 Univ Paris Curie Dispositif de guidage d'un instrument medical insere dans une voie naturelle ou une voie artificielle d'un patient
KR101901580B1 (ko) * 2011-12-23 2018-09-28 삼성전자주식회사 수술 로봇 및 그 제어 방법
CN102764158B (zh) * 2012-04-13 2015-03-11 中国科学院深圳先进技术研究院 外科手术机器人
KR102109594B1 (ko) * 2012-08-15 2020-05-12 인튜어티브 서지컬 오퍼레이션즈 인코포레이티드 영-공간을 이용하여 조인트 운동을 상쇄하기 위한 시스템 및 방법
JP6153372B2 (ja) * 2013-04-19 2017-06-28 キヤノン株式会社 ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP6512216B2 (ja) * 2014-03-14 2019-05-15 ソニー株式会社 ロボットアーム装置、ロボットアーム制御方法及びプログラム
CN110192919B (zh) * 2014-03-17 2022-11-25 直观外科手术操作公司 用于保持工具姿态的系统和方法
US20170231701A1 (en) * 2014-09-04 2017-08-17 Memic Innovative Surgery Ltd. Method and devices for hysterectomy
JP6137155B2 (ja) * 2014-12-09 2017-05-31 トヨタ自動車株式会社 干渉回避方法、制御装置及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH033786A (ja) * 1989-06-01 1991-01-09 Toshiba Corp マニピュレータ制御方式
JPH0985656A (ja) * 1995-09-20 1997-03-31 Yaskawa Electric Corp ロボットの直接教示装置
JPH10230489A (ja) * 1996-12-16 1998-09-02 Sankyo Seiki Mfg Co Ltd 力補助装置の制御方法及びこの方法を利用した制御装置
JP2000343469A (ja) * 1999-06-01 2000-12-12 Agency Of Ind Science & Technol 物体協調運搬ロボットの制御方法及びその装置
JP2004174644A (ja) * 2002-11-26 2004-06-24 Sony Corp 脚式移動ロボットの制御装置
JP2009095959A (ja) * 2007-10-19 2009-05-07 Sony Corp 制御システム及び制御方法、並びにロボット装置、並びにロボット装置
JP2010142909A (ja) * 2008-12-19 2010-07-01 Yaskawa Electric Corp ロボットの制御装置

Non-Patent Citations (1)

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

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180082476A (ko) * 2015-11-11 2018-07-18 마코 서지컬 코포레이션 로봇식 시스템 및 그를 역구동하는 방법
KR102584754B1 (ko) 2015-11-11 2023-10-05 마코 서지컬 코포레이션 로봇식 시스템 및 그를 역구동하는 방법
JP2017140685A (ja) * 2016-02-12 2017-08-17 キヤノン株式会社 ロボット装置、ロボット制御方法、部品の製造方法、プログラム、記録媒体
EP3211494A3 (en) * 2016-02-29 2017-11-15 Kabushiki Kaisha Yaskawa Denki Motor control system, robot system, and communication method for motor control system
US10040193B2 (en) 2016-02-29 2018-08-07 Kabushiki Kaisha Yaskawa Denki Motor control system, robot system, and communication method for motor control system
CN107134967B (zh) * 2016-02-29 2019-12-13 株式会社安川电机 马达控制系统、机器人系统以及马达控制系统的通信方法
CN107134967A (zh) * 2016-02-29 2017-09-05 株式会社安川电机 马达控制系统、机器人系统以及马达控制系统的通信方法
US11000338B2 (en) 2016-03-30 2021-05-11 Sony Corporation Arm control method and arm control device
WO2017169103A1 (ja) * 2016-03-30 2017-10-05 ソニー株式会社 アーム制御方法及びアーム制御装置
JP2018075121A (ja) * 2016-11-08 2018-05-17 ソニー株式会社 医療用支持アーム装置
CN109890310A (zh) * 2016-11-08 2019-06-14 索尼公司 医疗支撑臂装置
US11602404B2 (en) 2016-11-08 2023-03-14 Sony Corporation Medical support arm apparatus
WO2018101265A1 (ja) * 2016-12-02 2018-06-07 株式会社デンソー 医療支援装置、医療支援方法、及び支持装置
JP2019063893A (ja) * 2017-09-28 2019-04-25 株式会社デンソーウェーブ ロボットの異常判定装置
CN111315303A (zh) * 2017-10-30 2020-06-19 爱惜康有限责任公司 用于外科系统的反应算法
CN111315303B (zh) * 2017-10-30 2024-03-08 爱惜康有限责任公司 用于外科系统的反应算法
JP2021500997A (ja) * 2017-10-30 2021-01-14 エシコン エルエルシーEthicon LLC 外科用システムの反応アルゴリズム
JP7286638B2 (ja) 2017-10-30 2023-06-05 エシコン エルエルシー 外科用システムの反応アルゴリズム
JP2021521939A (ja) * 2018-04-27 2021-08-30 アルコン インコーポレイティド 立体視覚化カメラ及び統合ロボットプラットフォーム
JP7379373B2 (ja) 2018-04-27 2023-11-14 アルコン インコーポレイティド 立体視覚化カメラ及び統合ロボットプラットフォーム
JP7024661B2 (ja) 2018-08-22 2022-02-24 日産自動車株式会社 異常判定方法及び異常判定装置
JP2020028941A (ja) * 2018-08-22 2020-02-27 日産自動車株式会社 異常判定方法及び異常判定装置
JP7353755B2 (ja) 2018-12-17 2023-10-02 キヤノン株式会社 ロボットシステム、ロボットシステムの制御方法、ロボットシステムを用いた物品の製造方法、検出装置、検出装置の制御方法、駆動装置、駆動装置の制御方法、制御プログラム及び記録媒体
JP2020097078A (ja) * 2018-12-17 2020-06-25 キヤノン株式会社 ロボット装置、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、検出装置、制御プログラム及び記録媒体
JP2020142353A (ja) * 2019-03-08 2020-09-10 ファナック株式会社 ロボットのジョイントの異常検出装置及び異常検出方法
JP7117697B2 (ja) 2019-03-08 2022-08-15 ファナック株式会社 ロボットのジョイントの異常検出装置及び異常検出方法
JP7326865B2 (ja) 2019-05-20 2023-08-16 株式会社ジェイテクト パワーアシストスーツ
JP2020189346A (ja) * 2019-05-20 2020-11-26 株式会社ジェイテクト パワーアシストスーツ
JP7326139B2 (ja) 2019-12-09 2023-08-15 株式会社東芝 作業支援装置、作業支援方法、プログラム、および作業支援システム
JP2021091519A (ja) * 2019-12-09 2021-06-17 株式会社東芝 作業支援装置、作業支援方法、プログラム、および作業支援システム
US11865719B2 (en) 2019-12-09 2024-01-09 Kabushiki Kaisha Toshiba Work support device, work support method, computer program product, and work support system
JP2022533334A (ja) * 2020-04-24 2022-07-22 シーエムアール・サージカル・リミテッド 外科手術ロボットアームへの電力供給
JP2022533109A (ja) * 2020-04-24 2022-07-21 シーエムアール・サージカル・リミテッド 外科手術ロボットアームへの電力供給
JP7439130B2 (ja) 2020-04-24 2024-02-27 シーエムアール・サージカル・リミテッド 外科手術ロボットアームへの電力供給
DE112022000680T5 (de) 2021-01-18 2023-11-16 Fanuc Corporation Robotersystem mit Roboter mit Drehmomentsensoren

Also Published As

Publication number Publication date
JP6773165B2 (ja) 2020-10-21
JPWO2015137038A1 (ja) 2017-04-06
EP3120979A1 (en) 2017-01-25
CN106068175B (zh) 2020-04-28
US10675106B2 (en) 2020-06-09
US10299868B2 (en) 2019-05-28
JP6512216B2 (ja) 2019-05-15
US20170007336A1 (en) 2017-01-12
CN106068175A (zh) 2016-11-02
EP3120979A4 (en) 2017-11-08
JP2019155116A (ja) 2019-09-19
US20190192238A1 (en) 2019-06-27

Similar Documents

Publication Publication Date Title
JP6512216B2 (ja) ロボットアーム装置、ロボットアーム制御方法及びプログラム
WO2015137040A1 (ja) ロボットアーム装置、ロボットアーム制御方法及びプログラム
JP6921762B2 (ja) 手術用顕微鏡装置、手術用顕微鏡装置制御システム、手術用顕微鏡装置制御方法及びプログラム
JP6614130B2 (ja) 手術用ロボットアーム装置、手術用ロボットアーム制御方法及びプログラム
US10505428B2 (en) Actuator and robot arm apparatus
JP6555248B2 (ja) 医療用アーム装置、キャリブレーション方法及びプログラム
JP6586079B2 (ja) アーム装置、及びプログラム
WO2017169096A1 (ja) 医療用支持アームの制御装置、医療用支持アーム装置の制御方法及び医療用システム
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: 15762101

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016507404

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 15120616

Country of ref document: US

REEP Request for entry into the european phase

Ref document number: 2015762101

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015762101

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE