WO2015041046A1 - 位置・力制御装置、位置・力制御方法及びプログラム - Google Patents
位置・力制御装置、位置・力制御方法及びプログラム Download PDFInfo
- Publication number
- WO2015041046A1 WO2015041046A1 PCT/JP2014/073083 JP2014073083W WO2015041046A1 WO 2015041046 A1 WO2015041046 A1 WO 2015041046A1 JP 2014073083 W JP2014073083 W JP 2014073083W WO 2015041046 A1 WO2015041046 A1 WO 2015041046A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- force
- speed
- function
- control amount
- energy
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/02—Hand grip control means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J3/00—Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements
- B25J3/04—Manipulators of master-slave type, i.e. both controlling unit and controlled unit perform corresponding spatial movements involving servo mechanisms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1612—Programme controls characterised by the hand, wrist, grip control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/35—Nc in input of data, input till input file format
- G05B2219/35464—Glove, movement of fingers
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39546—Map human grasps to manipulator grasps
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40122—Manipulate virtual object, for trajectory planning of real object, haptic display
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40391—Human to robot skill transfer
Definitions
- the present invention relates to a position / force control device, a position / force control method, and a program for controlling a position and force in a controlled object.
- An object of the present invention is to provide a technique for more appropriately realizing a human physical action by a robot.
- a position / force control device includes: Position detecting means for detecting information related to the position based on the action of the actuator; Based on the speed (position) and force information corresponding to the information on the position and the control reference information, the control energy is converted into speed or position energy and force energy according to the function to be realized.
- Function-specific power / speed allocation conversion means for performing the conversion, Position control amount calculation means for calculating a control amount of speed or position based on the energy of speed or position assigned by the force / speed assignment conversion means by function; Force control amount calculating means for calculating a force control amount based on the energy of the force assigned by the function-specific force / speed assignment converting means;
- the speed or position control amount and the force control amount are integrated, and the speed or position control amount and the force control amount are inversely converted to return the output to the actuator, and then input to the actuator.
- a human physical action is configured by individual “functions” such as one joint alone or in combination. Therefore, hereinafter, in the present embodiment, “act” represents an integrated function realized by using individual “functions” of parts in the human body as components. For example, an action involving bending and stretching of the middle finger (an action of turning a screw or the like) is an integrated function having the function of each joint of the middle finger as a component.
- the basic principle of the present invention is that any action can be mathematically expressed by three elements of force source, velocity (position) source, and transformation representing the action. Therefore, for a variable group defined by transformation and inverse transformation, By supplying control energy from the ideal force source and ideal velocity (position) source in a dual relationship to the controlled system, the extracted physical action is structured, reconstructed or expanded, and the physical action is reversible. Automatic realization (reproduction).
- FIG. 1 is a schematic diagram showing the concept of the basic principle according to the present invention.
- the basic principle shown in FIG. 1 represents a control law of an actuator that can be used to realize a human physical action.
- the current position of the actuator is used as an input, and at least one of position (or velocity) or force is used.
- the operation of the actuator is determined by performing the calculation in the region. That is, the basic principle of the present invention is that the control target system S, the function-specific force / speed allocation conversion block FT, the ideal force source block FC or the ideal speed (position) source block PC, and the inverse conversion block IFT. It is expressed as a control law including
- the control target system S is a robot that is operated by an actuator, and controls the actuator based on acceleration or the like.
- the control target system S realizes the function of one or a plurality of parts in the human body. If a control law for realizing the function is applied, the specific configuration is as follows. It is not necessarily a form that imitates the human body.
- the control target system S can be a robot that causes a link to perform a one-dimensional slide operation by an actuator.
- the function-specific force / speed allocation conversion block FT is a block that defines conversion of control energy into a speed (position) and force area set according to the function of the control target system S.
- coordinate conversion is defined in which the function reference value (reference value) of the control target system S and the current position of the actuator are input.
- this coordinate conversion generally, an input vector whose elements are a reference value and a current speed (position) is converted into an output vector composed of a speed (position) for calculating a control target value of the speed (position), and a reference value
- an input vector having the current force as an element is converted into an output vector composed of a force for calculating a force control target value.
- the coordinate conversion in the function-specific force / speed allocation conversion block FT is generalized as in the following equations (1) and (2).
- x ′ 1 to x ′ n are velocity vectors for deriving the speed state value
- x ′ a to x ′ m are 1 or more
- h 1a to h nm are elements of the transformation matrix representing the function It is.
- f ′′ 1 to f ′′ n (n is an integer of 1 or more) is a force vector for deriving force state values
- f ′′ a to f ′′ m ( m is an integer of 1 or more) is a vector whose elements are a force based on the reference value and the action of the actuator (the force of the moving element of the actuator or the force of the object moved by the actuator).
- the variables of the actuator alone are converted into variable groups (virtual space in the virtual space) representing the functions to be realized.
- Variable assigns control energy to velocity (position) control energy and force control energy. For this reason, it is possible to independently give control energy of speed (position) and control energy of force as compared with a case where control is performed with a variable of the actuator alone (variable in real space).
- the ideal force source block FC is a block that performs calculations in the force region in accordance with the coordinate conversion defined by the function-specific force / speed allocation conversion block FT.
- a target value related to a force for performing a calculation based on the coordinate transformation defined by the function-specific force / speed allocation transformation block FT is set.
- This target value is set as a fixed value or a variable value depending on the function to be realized. For example, when realizing a function similar to the function indicated by the reference value, zero is set as the target value, and when scaling is performed, a value obtained by enlarging or reducing the information indicating the function to be reproduced is set. it can.
- the ideal speed (position) source block PC is a block that performs calculations in the speed (position) area according to the coordinate conversion defined by the function-specific force / speed allocation conversion block FT.
- a target value related to the speed (position) when performing the calculation based on the coordinate transformation defined by the function-specific force / speed assignment transformation block FT is set.
- This target value is set as a fixed value or a variable value depending on the function to be realized. For example, when realizing a function similar to the function indicated by the reference value, zero is set as the target value, and when scaling is performed, a value obtained by enlarging or reducing the information indicating the function to be reproduced is set. it can.
- the inverse conversion block IFT is a block that converts the value of the velocity (position) and force region into the value (for example, voltage value or current value) of the input region to the control target system S.
- the function-specific force / speed allocation conversion block FT converts the control laws of the position and force regions corresponding to the functions. Then, in the ideal force source block FC, a force according to the function is calculated, and in the ideal speed (position) source block PC, a speed (position) according to the function is calculated, and the force and speed (position). Control energy is distributed to each.
- the calculation results in the ideal force source block FC and the ideal speed (position) source block PC are information indicating the control target of the control target system S, and these calculation results are used as the input values of the actuator in the inverse conversion block IFT, and control is performed. Input to the target system S.
- the actuator of the control target system S executes the operation according to the function defined by the function-specific force / speed allocation conversion block FT, and the target robot operation is realized. That is, in the present invention, it becomes possible to more appropriately realize the human physical action by the robot.
- the force in the actuator is represented by the product of mass and acceleration
- the velocity (position) in the actuator is represented by the integral of acceleration. Therefore, by controlling the speed (position) and force through the acceleration region, the current position of the actuator can be acquired and the intended function can be realized.
- FIG. 2 is a schematic diagram showing the concept of control when the force / tactile transmission function is defined in the function-specific force / speed allocation conversion block FT.
- FIG. 3 is a schematic diagram showing a concept of a master / slave system including a master device and a slave device to which the force / tactile sense transmission function is applied.
- Function (bilateral control function) can be realized.
- the coordinate conversion in the function-specific force / speed allocation conversion block FT is expressed as the following equations (3) and (4).
- x ′ p is a speed for deriving the state value of speed (position)
- x ′ f is a speed related to the force state value
- x ′ m is the speed (differential value of the current position of the master device) of the reference value (input from the master device)
- x ′ s is the current speed (differential value of the current position) of the slave device.
- f p is the force on the status value of the speed (position)
- the f f is the force for deriving the state value of the force.
- f m is a reference value (input from the master device)
- f s is a current force of the slave device.
- FIG. 4 is a schematic diagram showing the concept of control when the pick and place function is defined in the function-specific force / speed allocation conversion block FT.
- FIG. 5 is a schematic diagram showing a concept of a robot arm system including a first arm and a second arm to which the pick and place function is applied.
- the coordinate conversion in the function-specific force / speed allocation conversion block FT is expressed as the following equations (5) and (6).
- Equation (5) x ′ mani is a speed for deriving the state value of speed (position), and x ′ grasp is a speed regarding the state value of force.
- X ′ 1 is the speed of the first arm (differential of the current position), and x ′ 2 is the speed of the second arm (differential of the current position).
- f mani is a force related to the state value of speed (position)
- f grasp is a force for deriving the state value of force.
- F 1 is a reaction force received by the first arm from the object
- f 2 is a reaction force received by the second arm from the object.
- FIG. 6 is a schematic diagram showing the concept of control when a screwdriver learning and reproduction function is defined in the function-specific force / speed allocation conversion block FT.
- FIG. 7 is a schematic diagram illustrating a robot to which a screwdriver learning and reproduction function is applied.
- FIG. 7A illustrates a master finger type robot and a slave to which a screwdriver learning and reproduction function is applied.
- FIG. 7B is a schematic diagram showing the finger mechanism of the finger type robot.
- FIG. 7B is a schematic diagram showing the concept of the master / slave system including the finger type robot. As shown in FIG.
- x ′ a1 is a speed response value related to the angle of the MP joint
- x ′ a2 is a speed response value related to the angle of the PIP joint
- x ′ a3 is a speed response value related to the angle of the DIP joint
- X ′ ⁇ 1 is a speed response value related to the torque of the MP joint
- x ′ ⁇ 2 is a speed response value related to the torque of the PIP joint
- x ′ ⁇ 3 is a speed response value related to the torque of the DIP joint
- x ′ t1 is a finger type of the master.
- the speed response value related to the tension of the wires W1 to W4 in the robot x ′ t2 is the speed response value related to the tension of the wires W5 to W8 in the slave finger type robot, and x ′ 1 to x ′ 4 is connected to the master finger type robot.
- the speed response values of the respective wires W1 to W4, x ′ 5 to x ′ 8 are the speed response values of the wires W5 to W8 connected to the slave finger type robot.
- the MP joint angle, the PIP joint angle, and the DIP joint angle are defined as ⁇ 1 to ⁇ 3 in FIG. 7B.
- f a1 is a force response value related to the angle of the MP joint
- f a2 is a force response value related to the angle of the PIP joint
- f a3 is a force response value related to the angle of the DIP joint.
- f .tau.1 the force responsive value relating to the torque of the MP joint
- f .tau.2 the force responsive value relating to the torque of the PIP joint
- f .tau.3 the force responsive value relating to the torque of the DIP joint
- f t1 the wire in the finger-type robot master W1 force response values for the tension of ⁇ W4
- f t2 is force response values for the tension of the wire W5 ⁇ W8 in the finger-type robot slave
- f 1 ⁇ f 4 wire W1 ⁇ W4 respectively connected to the finger-type robot master
- Force response values f 5 to f 8 are force response values of the wires W 5 to W 8 connected to the slave finger type robot.
- FIG. 8 is a schematic diagram showing a basic configuration of the position / force control apparatus 1 according to the present invention.
- the position / force control device 1 includes a reference value input unit 10, a control unit 20, a driver 30, an actuator 40, and a position sensor 50.
- the position / force control device 1 operates as a slave device corresponding to the operation of a master device (not shown), and performs the operation according to the function with the detection result of the position sensor installed in the actuator of the master device as an input. .
- the functions implemented in the position / force control device 1 can be variously changed by switching the coordinate conversion defined by the function-specific force / speed allocation conversion block FT in the control unit 20 as described later.
- the reference value input unit 10 inputs a reference value (reference value) for each function provided in the position / force control device 1 to the control unit 20.
- This reference value is, for example, a time-series detection value output from a position sensor installed in the actuator of the master device.
- the reference value input unit 10 can be configured by a communication interface (communication I / F).
- the reference value input unit 10 can be configured by a storage device such as a memory or a hard disk. .
- the control unit 20 controls the position / force control device 1 as a whole, and is configured by an information processing device such as a CPU (Central Processing Unit). Further, the control unit 20 has functions of a function-specific force / speed allocation conversion block FT, an ideal force source block FC, an ideal speed (position) source block PC, and an inverse conversion block IFT in FIG. In other words, the time series detection values detected by the position sensor of the master device are input to the control unit 20 via the reference value input unit 10. This time-series detection value represents the operation of the master device, and the control unit 20 responds to the function of the speed (position) and force information derived from the input detection value (position). Apply the coordinate transformation set.
- an information processing device such as a CPU (Central Processing Unit).
- the control unit 20 has functions of a function-specific force / speed allocation conversion block FT, an ideal force source block FC, an ideal speed (position) source block PC, and an inverse conversion block IFT in FIG.
- the time series detection values detected by the position sensor of the master device
- control unit 20 performs an operation in the speed (position) area on the speed (position) for deriving the state value of the speed (position) obtained by the coordinate conversion. Similarly, the control unit 20 performs an operation in the force region on the force for deriving the force state value obtained by the coordinate transformation. Further, the control unit 20 performs dimension unification processing on acceleration and the like on the calculation result in the calculated velocity (position) region and the calculation result in the force region, and is set according to the function. Apply inverse coordinate transformation. As a result, the control unit 20 converts the calculation result in the calculated velocity (position) region and the calculation result in the force region into values in the input region to the actuator.
- the driver 30 converts the value of the input area to the actuator inversely converted by the control unit 20 into a specific control command value (voltage value, current value, etc.) for the actuator 40, and sends the control command value to the actuator 40. Output.
- the actuator 40 is driven according to the control command value input from the driver 30 and controls the position of the control object.
- the position sensor 50 detects the position of the controlled object controlled by the actuator 40 and outputs the detected value to the control unit 20.
- the position / force control device 1 converts the speed (position) and force obtained from the position of the controlled object detected by the position sensor 50 into a speed (position) area by coordinate conversion according to the function. And convert to state values in the force region. Thereby, control energy is distributed to each of speed (position) and force according to the function.
- Each state value is inversely converted into a control command value, and the actuator 40 is driven by the driver 30 in accordance with the control command value. Therefore, the position / force control device 1 can calculate the speed (position) and force state values necessary for realizing the target function by detecting the position of the controlled object. By driving the actuator 40 based on the state value, the position and force of the controlled object can be controlled to a target state.
- the position / force control device 1 can realize different functions by switching coordinate conversion according to the function in the control unit 20. For example, in the storage device provided in the position / force control device 1, coordinate transformations corresponding to each function are stored corresponding to a plurality of functions, and the coordinates corresponding to any function are determined according to the purpose. By selecting the conversion, various functions can be realized in the position / force control apparatus 1. Further, the position / force control device 1 can set the reference value input to the control unit 20 as the acquired value of the position and force input in real time from the master device. In this case, the position / force control device 1 can be controlled in conjunction with the operation of the master device in real time.
- the position / force control device 1 can use the reference value input to the control unit 20 as the acquired value of the time-series position and force of the master device or slave device acquired and stored in advance. .
- the function of the position / force control device 1 can be realized based on the operation of the master device prepared in advance. In other words, the target function can be reproduced in the position / force control device 1 in the absence of the master device.
- the position / force control device 1 can realize various functions by switching the coordinate conversion according to the function defined in the control unit 20.
- a configuration example of the position / force control device 1 when realizing the force / tactile sensation transmission function of FIG. 2, the pick and place function of FIG. 4 and the screwdriver learning and reproduction function of FIG. 6 will be described.
- FIG. 9 is a schematic diagram showing a configuration of the position / force control device 1 that realizes a force / tactile transmission function.
- the position / force control device 1 includes a master device 100A, a slave device 100B, and a PC (Personal Computer) 100C.
- the master device 100 ⁇ / b> A is configured by an actuator 40 including a driver 30 and a position sensor 50.
- the master device 100A includes a movable shaft 41A that can slide in one direction, and the movable shaft 41A is moved by an operator. The position of the movable shaft 41A is detected by the position sensor 50, and this detected value is output to the PC 100C.
- the actuator 40 of the master device 100A is controlled by the PC 100C.
- the position / force control device 1 in FIG. 9 has a bilateral control function, and the operation of the actuator 40 is controlled by the PC 100C according to the force with which the slave device 100B contacts the object.
- the slave device 100B is configured by an actuator 40 including a driver 30 and a position sensor 50, similarly to the master device 100A.
- the slave device 100 ⁇ / b> B includes a movable shaft 41 ⁇ / b> B that can slide in one direction, and the movable shaft 41 ⁇ / b> B is moved by the actuator 40.
- the position of the movable shaft 41B is detected by the position sensor 50, and this detected value is output to the PC 100C.
- the PC 100 ⁇ / b> C includes a communication interface 110 having a function of the reference value input unit 10 and a control unit 20.
- the communication interface 110 receives the detection value of the position sensor 50 input from the master device 100A and the slave device 100B, and outputs the detection value to the control unit 20. Further, the communication interface 110 outputs the acceleration value for controlling the actuator 40 of the master device 100A and the slave device 100B input from the control unit 20 to the master device 100A and the slave device 100B.
- the control unit 20 defines the coordinate transformation represented by the equation (2), so the position of the actuator 40 of the master device 100A and the slave device The difference from the position of the 100B actuator 40 is controlled to be zero.
- the force applied by the operator to the actuator 40 of the master device 100A and the reaction force from the object acting on the actuator 40 of the slave device 100B are controlled to be in a state of action / reaction (equally opposite to each other). .
- the operation performed on the master device 100A can be accurately reproduced by the slave device 100B, and the reaction force from the object input to the slave device 100B can be accurately transmitted to the master device 100A.
- FIG. 10 is a schematic diagram showing a configuration of the position / force control apparatus 1 that realizes the pick and place function.
- the position / force control apparatus 1 is configured to include an arm unit 200A that constitutes a first arm, an arm unit 200B that constitutes a second arm, and a PC 200C.
- the arm unit 200 ⁇ / b> A includes an arm part 201 ⁇ / b> A and an actuator 40 that incorporates a driver 30 and a position sensor 50.
- the arm unit 200A includes a movable shaft (not shown) that can slide in one direction, and an arm portion 201A is fixed to the tip of the movable shaft.
- the position of the arm portion 201A (that is, the position of the movable shaft) is detected by the position sensor 50, and this detected value is output to the PC 200C.
- the actuator 40 of the arm unit 200A is controlled by the PC 200C.
- the arm unit 201A is controlled by the PC 200C so as to abut against the object with a set force and move the object while maintaining the state together with the arm unit 201B.
- the arm unit 200B includes an arm portion 201A and an actuator 40 that incorporates a driver 30 and a position sensor 50, similarly to the arm unit 200A.
- the PC 200 ⁇ / b> C includes a communication interface 210 having a function of the reference value input unit 10 and a control unit 20.
- the communication interface 210 receives the detection value of the position sensor 50 input from the arm unit 200A and the arm unit 200B, and outputs it to the control unit 20. Further, the communication interface 210 outputs the acceleration value for controlling the actuator 40 of the arm unit 200A and the arm unit 200B input from the control unit 20 to the arm unit 200A and the arm unit 200B.
- the control unit 20 defines the coordinate transformation represented by the expression (3).
- the difference between the reaction force vector and the reaction force vector from the object acting on the actuator 40 of the arm unit 200B, that is, the gripping force is controlled to a set target value.
- the arm part 201A of the arm unit 200A and the arm part 201B of the arm unit 200B are controlled to move toward and away from each other and to come into contact with the object with the same force.
- the object can be grasped and transported to the target position.
- FIG. 11 is a schematic diagram showing a configuration of the position / force control device 1 that realizes a screwdriver learning and reproduction function.
- the position / force control device 1 includes a finger robot 300A as a master device, a finger robot 300B as a slave device, and a PC 300C.
- Finger type robot 300A includes finger mechanism section 310A, wires W1 to W4 connected to the respective sections of finger mechanism section 310A, and actuators 40a to 40d that perform control for drawing wires W1 to W4.
- the finger mechanism portion 310A corresponds to a base portion 311A corresponding to a human metacarpal bone, a proximal phalange portion 312A corresponding to a proximal phalanx, a middle phalanx portion 313A corresponding to a middle phalanx, and a distal phalanx.
- the distal phalanx 314A, the MP joint 315A corresponding to the MP joint, the PIP joint 316A corresponding to the PIP joint, and the DIP joint 317A corresponding to the DIP joint are provided.
- One end of the wire W1 is connected to the back side of the hand of the distal phalange portion 314A, passes through the back side of the hand in the finger mechanism portion 310A, and the other end is connected to the output shaft of the actuator 40a. Therefore, when the wire W1 is drawn by the actuator 40a, an operation of extending the finger in the finger mechanism portion 310A is realized.
- One end of the wire W2 is connected to the palm side of the distal phalange portion 314A, and the other end is connected to the output shaft of the actuator 40b after being pulled out to the back side of the hand in the middle phalange portion 313A. Therefore, when the wire W2 is drawn by the actuator 40b, a force is applied in the direction in which the finger is bent at the DIP joint, and in the direction in which the finger is extended at the PIP joint and the MP joint.
- One end of the wire W3 is connected to the palm side of the middle phalanx 313A, and the other end is connected to the output shaft of the actuator 40c after being pulled out to the back of the hand in the proximal phalange 312A. Therefore, when the wire W3 is pulled by the actuator 40c, a force is applied in a direction in which the finger is bent at the PIP joint and in a direction in which the finger is extended at the MP joint.
- the wire W4 has one end connected to the palm side of the proximal phalange portion 312A, passes through the palm side of the finger mechanism portion 310A, and the other end is connected to the output shaft of the actuator 40d. Therefore, when the wire W4 is drawn by the actuator 40d, an operation of bending the finger with the MP joint portion 315A as a fulcrum in the proximal phalange portion 312A is realized.
- the actuators 40a to 40d are controlled by the PC 300C. Specifically, the actuators 40a to 40d are inputted with values for realizing the position / angle and posture of each part of the finger robot 300A, the rotational torque, and the tension of the wires W1 to W4 from the PC 300C. In accordance with the value, control to pull in the wires W1 to W4 is performed.
- Each actuator 40a to 40d includes a driver 30 and a position sensor 50. The positions of the wires W1 to W4 are detected by the position sensors 50 of the actuators 40a to 40d, and the detected values are output to the PC 300C.
- the finger type robot 300A is moved following the movement (action) of a human finger, and extracts the movement (action) as a time-series detection value of the position sensor 50 in the actuators 40a to 40d.
- each part of finger mechanism part 310A of finger type robot 300A is located at a position corresponding to a human finger (ie, distal phalanx and distal phalange part 314A, middle phalanx and middle phalanx part 313A, base phalanx.
- proximal phalanx portion 312A is in a state of following the movement of a human finger.
- the finger type robot 300B includes a finger mechanism unit 310B, wires W5 to W8 connected to each part of the finger mechanism unit 310B, and actuators 40e to 40h that perform control for drawing the wires W5 to W8.
- the finger mechanism portion 310B corresponds to a base portion 311B corresponding to a human metacarpal bone, a proximal phalanx portion 312B corresponding to a proximal phalanx, a middle phalanx portion 313B corresponding to a middle phalanx, and a distal phalanx.
- the distal phalanx 314B, the MP joint 315B corresponding to the MP joint, the PIP joint 316B corresponding to the PIP joint, and the DIP joint 317B corresponding to the DIP joint are provided.
- One end of the wire W5 is connected to the back side of the hand of the proximal phalange portion 312B, passes through the back side of the hand in the finger mechanism portion 310A, and the other end is connected to the output shaft of the actuator 40e. Therefore, when the wire W5 is pulled by the actuator 40e, an operation of extending the finger with the MP joint portion 315B as a fulcrum in the proximal phalange portion 312B is realized.
- One end of the wire W6 is connected to the back side of the hand of the middle phalange portion 313B, and the other end is connected to the output shaft of the actuator 40f after being pulled out to the palm side of the proximal phalange portion 312B. Therefore, when the wire W6 is pulled by the actuator 40f, the operation of extending the finger is achieved using the PIP joint portion 316B as a fulcrum in the middle phalanx portion 313B.
- One end of the wire W7 is connected to the back side of the hand of the distal phalange portion 314B, and the other end is connected to the output shaft of the actuator 40g after being pulled out to the palm side of the middle phalange portion 313B. Therefore, when the wire W7 is pulled by the actuator 40g, an operation of extending the finger is realized with the DIP joint portion 317B as a fulcrum in the distal phalange portion 314B.
- One end of the wire W8 is connected to the palm side of the distal phalange portion 314B, passes through the palm side of the finger mechanism portion 310B, and the other end is connected to the output shaft of the actuator 40h. Therefore, when the wire W8 is pulled by the actuator 40h, an operation of bending the finger in the finger mechanism portion 310B is realized.
- the actuators 40e to 40h are controlled by the PC 300C. Specifically, the actuators 40e to 40h are inputted with values for realizing the position / angle and posture of each part, the rotational torque, and the tension of the wires W5 to W8 extracted from the PC 300C as the operation of the finger type robot 300A. In accordance with these input values, control is performed to pull in the wires W5 to W8.
- Each actuator 40e to 40h includes a driver 30 and a position sensor 50. The positions of the wires W5 to W8 are detected by the position sensors 50 of the actuators 40e to 40h, and the detected values are output to the PC 300C.
- the PC 300 ⁇ / b> C includes a communication interface 310 having a function of the reference value input unit 10 and a control unit 20.
- the communication interface 310 receives the detection value of each position sensor 50 input from the finger type robot 300 ⁇ / b> A and the finger type robot 300 ⁇ / b> B and outputs it to the control unit 20. Further, the communication interface 310 outputs acceleration values for controlling the actuators 40a to 40h of the finger type robot 300A and the finger type robot 300B input from the control unit 20 to the finger type robot 300A and the finger type robot 300B. .
- the control unit 20 defines a coordinate transformation represented by the equation (4). Therefore, control according to the operation of each part of the finger extracted in finger type robot 300A is executed in finger type robot 300B.
- the operation is realized in finger type robot 300B as a slave device, and the screw can be turned.
- the force acting on the finger type robot 300B from the screw is reproduced in the finger type robot 300A by the bilateral control function. In other words, the same reaction force as when the screw is actually rotated is reproduced by the actuators 40a to 40d on the human finger performing the operation of rotating the screw.
- each position sensor 50 detects in series, and these positions are stored in the storage device. Further, instead of the detection results of the positions of the wires W1 to W4 or the wires W5 to W8, each value for deriving a state value obtained as a coordinate conversion result in the control unit 20 (that is, an equation ( Each value on the left side of 4) may be stored in a storage device.
- FIG. 12 is a schematic diagram showing an example of information stored as an action extraction result.
- FIG. 12A shows a case where time-series positions of the wires W1 to W4 are stored, and FIG. The case where the coordinate conversion result of 4) is stored is shown.
- FIG. 12A for example, for the wire W1, a position p1 at time t1, a position p2 at time t2, a position p3. 12B, for example, with respect to the coordinate conversion result x ′′ a1 , the coordinate conversion result q1 at time t1, the coordinate conversion result q2 at time t2, the coordinate conversion result q3. Series values are stored.
- the robot can perform the operations (acts) such as learning and reproduction functions of the screwdriver without performing the finger operation (act). Can be reproduced.
- Adaptive function realization means that when a human action is extracted by the action extraction function as described above, the extracted function is adaptively realized even if the object is different from the action extraction time. That means.
- an operation for obtaining a force vector for deriving a state value in the force region is applied among the coordinate transformations shown in Equations (7) and (8). That is, in the adaptive function realization, in the coordinate transformation shown in the equations (7) and (8), the input corresponding to the purpose of the adaptive function realization is used, while the other part of the input is substantially zero, The state value is derived by some elements in the coordinate transformation.
- control energy is assigned to at least one of velocity or position energy and force energy, and an adaptive function that is not completely the same as when an action is extracted is realized.
- the coordinate transformation for realizing the adaptive function in the present embodiment is expressed as the following equation (9).
- FIG. 13 is an explanatory diagram showing the concept of realizing an adaptive function.
- the action (action) of turning a screw by a human is extracted, and for example, the wire shown in FIG.
- At least one of time-series positions or forces of W1 to W4 or wires W5 to W8 is stored.
- the position / force control device 1 sequentially reads at least one of the time-series positions or forces of the wires W1 to W4 or the wires W5 to W8 from the storage device. Then, using this as a reference value, the actuators 40e to 40f are controlled while sequentially applying the coordinate transformation of Expression (8) in the finger type robot 300B serving as the slave device. At this time, it is assumed that the same screw X is set in the finger type robot 300B as when the action (action) of turning a screw by a human is extracted.
- the operation of the master device indicated by the stored wires W1 to W4 or the wires W5 to W8 is reproduced, and the operation (act) of turning a screw by a human is performed.
- the screw X can be turned off.
- a screw Y having a different diameter or shape is set in the finger type robot 300 ⁇ / b> B from the case where the action (action) of turning a screw by a human is extracted.
- the position / force control device 1 does not use the time series positions of the wires W1 to W4 or the wires W5 to W8 stored in the storage device, and the wire W5 detected by each position sensor 50 of the finger type robot 300B.
- the coordinate transformation of Expression (9) is sequentially executed.
- f .tau.1, f .tau.2 obtained by the coordinate transformation of equation (9), f .tau.3, with f t2, derives the state value, and controls the corresponding actuator 40e ⁇ 40h on the calculated state value.
- FIG. 14 is a schematic diagram illustrating a configuration of the position / force control apparatus 1 capable of switching functions.
- the position / force control device 1 shown in FIG. 14 differs from the position / force control device 1 shown in FIG. 8 in that a storage unit 60 that stores a plurality of coordinate transformations representing functions is provided. That is, the control unit 20 reads out one of the coordinate transformations T1 to Tk (k is an integer of 1 or more) stored in the storage unit 60 according to the function to be realized, and converts the force / speed allocation conversion by function. Set to block FT.
- Such a position / force control apparatus 1 is particularly useful when, for example, a single control unit 20 realizes a plurality of functions or controls a plurality of robots.
- the scaling function is a function for enlarging or reducing the scale of the output position, force or time with respect to the reference control.
- the scaling function for example, the size of the movement of the master device is reduced and reproduced by the slave device, the strength (force) of the movement of the master device is increased and reproduced by the slave device, or the movement of the master device Can be reproduced by a slave device at a reduced speed.
- a scaling function for at least one of the position and force information stored in the storage device for example, the stored motion size can be reduced and reproduced by the slave device, or the stored motion strength can be reduced. It can be reproduced by a slave device with increased strength.
- a configuration example for realizing the scaling function will be described.
- the position of the slave device is ⁇ times ( ⁇ is a positive number) and the force of the slave device is ⁇ times ( ⁇ is a positive number).
- Such a scaling function is effective, for example, when performing delicate work such as surgery and microassembly, and large-scale work such as civil engineering work and outboard activities.
- FIG. 15 is a schematic diagram showing the concept of control of the force / tactile sensation transmission function using scaling in the frequency domain.
- the outputs of the master device and the slave device pass through a high-pass filter (HPF) and a low-pass filter (LPF), respectively, and then input to the function-specific force / speed allocation conversion block FT.
- HPF high-pass filter
- LPF low-pass filter
- the function-specific force / speed allocation conversion block FT high-frequency coordinate conversion is applied to the output of the master device and slave device that have passed through the high-pass filter, and the output of the master device and slave device that has passed through the low-pass filter is applied.
- the coordinate transformation for the low frequency range is applied.
- the function-specific force / speed allocation conversion block FT separates the input from the master device and the slave device into a high frequency region signal and a low frequency region signal, and applies coordinate conversion corresponding to each frequency region.
- the coordinate conversion in the function-specific force / speed allocation conversion block FT is expressed as the following equations (16) to (19). Is done.
- the slave device and the master device have the same position by applying the coordinate transformation of equations (16) and (17) in the low frequency range.
- the position of the slave device is ⁇ times ( ⁇ is a positive number) and the force of the slave device is ⁇ times ( ⁇ Is a positive number) and transmitted to the master device.
- a stored function (operation) when a stored function (operation) is reproduced at a high speed, a low-speed and accurate operation may be performed at the time of extracting an action, and a high-speed and accurate operation can be performed at the time of reproduction.
- a memorized function (motion) when reproducing a memorized function (motion) at a low speed, it is possible to gently reproduce the motion performed at a normal speed. For example, in rehabilitation of a patient with sequelae, training according to the patient The operation can be reproduced.
- FIG. 16 is a schematic diagram showing a state in which a force / tactile transmission function is realized with an object in a virtual space.
- FIG. 16 shows an example in which the present invention is applied to a game (for example, arm wrestling or the like) in which an operator transmits power and touch to an object in a virtual space.
- FIG. 17 is a schematic diagram showing a concept of control when realizing a force / tactile transmission function with an object in a virtual space.
- the operator Rm operates a controller (actuator) Ct as a master device.
- the virtual object Xa here, the arm of the virtual person Va
- the contact between the virtual object Xa and the virtual object Xb is an action in the slave device, and the variable in the virtual space is Assignment and conversion of position and force energy is performed on variables in real space.
- the controller Ct force / tactile sensation is transmitted to the virtual object Xa, and the force / tactile sensation received by the virtual person Va who is arm wrestling with the virtual person Vb is transmitted.
- the present invention can be applied to a game in which force is applied to an object in a virtual space.
- the object in the virtual space can be configured as a virtually generated object or a material object extracted from the virtual space.
- the controller Ct can function as a master device by receiving a control signal to the actuator, it is not necessary to mount a program or a large number of sensors on the controller Ct, and it is inexpensive with a simple configuration.
- the controller Ct can be realized.
- the controller Ct as the master device is shown as a lever-type device, but the specific form of the controller Ct can be variously changed according to the type of game.
- a controller that includes an inner cylinder and an outer cylinder arranged coaxially and can rotate the outer cylinder around the inner cylinder by an actuator can be used.
- the operator Rm performs an operation of rotating the outer cylinder according to the contents of the game, and the actuator controls the rotational force and the rotation amount of the outer cylinder by the force / tactile transmission function.
- FIG. 18 is a schematic diagram showing a state in which the present invention is applied to medical forceps.
- the operator Rm operates the master device, and a force / tactile sensation transmission function can be realized between the forceps actuator serving as the slave device.
- the forceps of the slave device is also displaced upward as shown in FIG. It may be the opposite of the intuition. That is, when handling the actual forceps, the forceps is a rigid body. Therefore, when the operator points the tip of the forceps downward, the operation portion of the forceps is operated upward.
- FIG. 18B the movement in FIG. 18B is the opposite of that in the case of handling a real forceps that is a rigid body. Therefore, as shown in FIG. 18C, by performing mirror image conversion on the coordinate conversion in the function-specific force / speed allocation conversion block FT, the master device is moved upward with respect to the fulcrum as shown in FIG. When operated, the forceps of the slave device can be controlled to be displaced downward. That is, the movement is the same as when handling a real forceps which is a rigid body. This makes it possible for the operator to perform an intuitive operation.
- the operator by performing such mirror image conversion, it is possible for the operator to flexibly set the viewpoint with respect to the target object and to adjust the viewpoint to be easy for the operator to operate. Furthermore, it is possible to scale the coordinate conversion in the function-specific force / speed allocation conversion block FT that has undergone mirror image conversion. For example, when scaling that reduces the operation of the master device is performed, it can be converted into a delicate movement in the forceps, and it is possible to support difficult operations requiring high attention such as the heart and brain.
- the scaling ratio may be a fixed ratio, or may be changed according to the situation. For example, in the case of cardiac surgery, the ratio of the operation of the master device and the slave device is set to 1: 1 etc. at the stage of opening the chest, and the operation of the slave device is compared to the operation of the master device at the stage of incision of the heart. The scaling ratio can be reduced so that the operation is reduced.
- FIG. 19 is a schematic diagram illustrating a master device and a slave device connected by radio.
- the master device and the slave device wirelessly and performing high-speed communication, it is possible to realize a master / slave system having high real-time performance and excellent portability. That is, various functions such as a force / tactile sensation transmission function can be realized in a slave apparatus wirelessly connected to the master apparatus.
- FIG. 20 is a block diagram illustrating a configuration of the slave device 400 wirelessly connected to the master device. As shown in FIG.
- the slave device 400 includes a switch group 401, an LED group 402, a host microcomputer unit 403, a wireless unit 404, a motor unit 405, a speed reduction mechanism 406, a hand effector 407, a measurement A unit 408, a recording / display unit 409, and a power supply unit 410 are provided.
- the switch group 401 includes a plurality of rotary switches and ON / OFF switches, and accepts various settings of the slave device 400.
- the rotary switch is used for adjusting the scaling ratio in the slave device 400.
- position scaling and force scaling can be set independently by the rotary switch.
- the ON / OFF switch is used for setting the state of the slave device 400.
- the first ON / OFF switch functions as a power switch, and when the first ON / OFF switch is turned ON, the power circuit 410b becomes conductive, and the power of the signal battery 410a is the slave device. It is supplied to 400 control systems.
- the second ON / OFF switch functions as a servo motor switch.
- the third ON / OFF switch functions as a control switch.
- the control program is executed, and the control of the slave device 400 and the servo motor 405d are performed.
- Power supply (drive) is started.
- the control of the slave device 400 in the master / slave system is started by sequentially turning on the third ON / OFF switch from the first ON / OFF switch.
- the LED group 402 represents various states (power ON / OFF state, etc.) of the slave device 400 by lighting states.
- the host microcomputer unit 403 includes a program writing circuit 403a and a microcontroller 403b.
- the program writing circuit 403a writes a program to the microcontroller 403b.
- the microcontroller 403b controls the slave device 400 in accordance with the program written by the program writing circuit 403a. Specifically, the microcontroller 403b executes control of the position and force on the object or measurement of the action from the object while performing wireless communication with the master device.
- the wireless unit 404 includes an antenna 404a and a wireless circuit 404b.
- the antenna 404a receives a radio signal from the master device and transmits a radio signal from the slave device 400 to the master device.
- the radio circuit 404b demodulates the radio signal input from the antenna 404a and outputs the demodulated control signal to the host microcomputer unit 403.
- the radio circuit 404b modulates a control signal input from the host microcomputer unit 403 and outputs the modulated control signal to the antenna 404a.
- the motor unit 405 includes a D / A converter 405a, a motor driver 405b, a driving battery 405c, and a servo motor 405d.
- the D / A converter 405a converts a digital signal (control signal) input from the host microcomputer unit 403 into an analog signal.
- the motor driver 405b drives the servo motor 405d in accordance with the analog signal input from the D / A converter 405a.
- the drive battery 405c supplies electric power for driving the servo motor 405d.
- the servo motor 405d controls the position and force of the hand effector 407 via the speed reduction mechanism 406 according to the drive signal of the motor driver 405b.
- the deceleration mechanism 406 decelerates the operation of the servo motor 405d, converts the torque, and transmits the torque to the hand effector 407.
- the hand effector 407 constitutes an interface that directly acts on the object. In the present embodiment, a fork-like instrument is provided as the hand effector 407.
- the measurement unit 408 includes an encoder 408a and a line receiver 408b.
- the encoder 408a measures the operation (rotation angle) of the servo motor 405d and converts it into an electrical signal.
- the line receiver 408b outputs the electrical signal of the measurement result output from the encoder 408a to the host microcomputer unit 403 as a differential signal.
- a speed sensor, an acceleration sensor, or other estimation methods can be used instead.
- the recording / display unit 409 includes a recording / display circuit 409a, a storage medium 409b, and a display 409c.
- the recording / display circuit 409a stores information on the device and the contacting object such as the servo motor 405d position and force control information, scaling ratio, radio wave condition in wireless connection, time, etc. according to the instruction of the host microcomputer unit 403.
- the information is stored in the medium 409b or displayed on the display 409c.
- the recording / display circuit 409a reads information stored in the storage medium 409b and outputs the information to the host microcomputer unit 403.
- the storage medium 409b is in contact with devices such as servo motor 405d position and force control information and scaling ratio in operation of the slave device 400, radio wave status in wireless connection, time, etc., under the control of the recording / display circuit 409a.
- Information stored in the storage medium 409b can be read for data processing.
- the storage medium 409b stores information for reproducing the operation in the slave device 400, and the microcontroller 403b can reproduce the operation by reading and executing this information.
- the power supply unit 410 includes a signal battery 410a and a power supply circuit 410b.
- the signal battery 410 a supplies power to the control system of the slave device 400.
- the power supply circuit 410b controls power supplied from the signal battery 410a to the control system of the slave device 400.
- the master device and the slave device can be connected by wireless communication, and can also be connected by wired communication via a wired communication port (see FIG. 19). With such a configuration, when the hand effector 407 contacts an object (such as a ball) according to the movement of the master device, the position and reaction force of the servo motor 405d are used as position and force information from the slave device 400 as a master. Sent to the device. Then, in the master device, a function of transmitting force / tactile sensation in the slave device 400 can be realized.
- FIG. 21 is a diagram illustrating a data structure for performing high-speed communication between a master device and a slave device.
- the position and force information is represented as a total of 64 bits of data (32-bit float type variables), which are transmitted at high speed.
- the position and force data are first divided into 16 data blocks. Then, each data block has a 4-bit information amount. In order to identify the order of these 4 bits ⁇ 16, a 4-bit data number is added to the head of each data block. As a result, 16 1-byte data blocks each including a 4-bit data number and 4-bit actual data are generated, and a total of 16 bytes of data is obtained. This is transmitted between the master device and the slave device by the following procedure.
- FIG. 22 is a timing chart illustrating a transmission procedure between the wirelessly connected master device and slave device.
- a control program is directly mounted on a built-in MCU (Memory Control Unit) of the master device and the slave device in order to increase the processing speed.
- the transmission side host transmits the 16 data blocks shown in FIG. 21 to the transmission side module (transmission side communication interface or the like) one block at a time. At this time, 100 [ ⁇ s] is sufficient to transmit one block, and it is possible to secure about 1 [Mbps] as the transmission speed between the transmission side host and the transmission side module.
- wireless communication is performed between the transmission side module and the reception side module (reception side communication interface or the like). At this time, about 1 [Mbps] can be secured as the transmission speed of the wireless communication path, and about 1.2 [ms] is sufficient to transmit 16 data blocks.
- a transmission speed of about 1 [Mbps] can be secured between the receiving module and the receiving host (receiving processor or the like).
- 100 [ ⁇ s] is sufficient.
- the control program is directly mounted in the built-in MCU, and the position and force information is divided into 4 bits ⁇ 8 pieces and transmitted to the communication module, and the packet size in the wireless communication path is set to 16 bytes. It was decided to reduce it.
- the packet size is 24 bytes for various header information and the like.
- the required packet size is 16 bytes. It has become.
- a wirelessly connected master / slave system can be realized as a system having high real-time performance and excellent portability.
- FIG. 23 is a schematic diagram showing the concept of creating a database of human actions.
- the velocity (position) in the actuator is represented by the integral of acceleration
- the force in the actuator is represented by the product of mass and acceleration. Therefore, in the present invention, it is possible to digitize and extract a human motion from at least one of the actuator position information or the force information obtained based on the actuator position information. Therefore, as shown in FIG. 23, the action performed by the operator is measured by the force / tactile sense transmission function of the present invention. That is, when the operator operates the master device, the operation performed by the operator is broken down into calculations in the function-specific force / speed allocation conversion block FT, ideal force source block FC, ideal speed (position) source block PC, It can express movement.
- a plurality of human movements are obtained by being decomposed into operations in the function-specific force / speed allocation conversion block FT, ideal force source block FC, and ideal speed (position) source block PC, and processed in each of these blocks.
- Information can be stored in the database DB.
- statistical processing By applying statistical processing to a plurality of human motion information stored in a database in this way, the characteristics of each individual's motion (personal methods, personality compared to other people, etc.) are extracted and digitized. It becomes possible.
- tacit knowledge, skills, know-how, and the like can be extracted and converted into objective numerical data.
- FIG. 24 is a schematic diagram illustrating the concept of offset for function-by-function force / speed allocation conversion.
- the change in the target is followed by adding or subtracting a predetermined constant to the position and force energy resulting from the conversion in the function-by-function force / speed allocation conversion block FT. It becomes possible to do. That is, as shown in FIG. 24, in the force / speed allocation conversion by function, the position of the object measured by the external sensor D can be added as an offset.
- the target heart in the case of cardiac surgery, the target heart always beats, so the position of the heart surface is measured by the external sensor D, and the change in the position measured as an offset in the force / speed allocation conversion by function is added.
- automatic tracking of the slave device for example, forceps or the like
- the doctor performing the operation can reduce the influence of the displacement caused by the heartbeat and perform more accurate work.
- the function-specific force / speed allocation conversion means controls the speed (position) and force information corresponding to the position-related information, the control The control energy is converted into velocity or position energy and force energy according to the function to be realized based on the reference information. Then, the position control amount calculation means calculates the speed or position control amount based on the speed or position energy assigned by the function-specific force / speed assignment conversion means. The force control amount calculating means calculates a force control amount based on the force energy assigned by the function-specific force / speed assignment converting means.
- the integrating means integrates the control amount of the speed or position and the control amount of the force, reversely converts the control amount of the speed or position and the control amount of the force to return the output to the actuator, and outputs to the actuator. Determine the input.
- the energy of velocity or position and the energy of force can be controlled independently. Therefore, in the function-specific force / speed allocation conversion means, the allocation of the control energy to the speed or position energy and the force energy can be variously changed according to the function. Therefore, by changing the setting of the function-specific force / speed allocation conversion means according to the target function, it is possible to provide a technique for more appropriately realizing the human physical action by the robot.
- the function-specific force / speed allocation conversion means is acquired in advance with speed (position) and force information corresponding to the position-related information.
- the control energy is converted to at least one of velocity or position energy and force energy according to the function to be realized, based on the information that serves as the control reference.
- the position control amount calculation means is configured to control the speed or position control amount and the force energy based on at least one of the speed or position energy and the force energy assigned by the function-specific force / speed assignment conversion means. And at least one of them is calculated.
- the integrating means integrates the control amount of the speed or position and the control amount of the force, reversely converts the control amount of the speed or position and the control amount of the force to return the output to the actuator, and outputs to the actuator. Determine the input. Therefore, since the control amount of speed (position) or force is calculated based on information that is a reference of control acquired in advance, it is possible to reproduce a function acquired in advance.
- the function-specific force / speed allocation conversion means includes speed (position) and force information corresponding to the position-related information, a control reference,
- the control energy is converted into the energy of velocity or position and the energy of force by the conversion set in accordance with the function to be realized based on the information.
- the position control amount calculation means calculates the speed or position control amount based on the speed or position energy assigned by the function-specific force / speed assignment conversion means.
- the force control amount calculating means calculates a force control amount based on the force energy assigned by the function-specific force / speed assignment converting means.
- the integrating means integrates the control amount of the speed or position and the control amount of the force, reversely converts the control amount of the speed or position and the control amount of the force to return the output to the actuator, and outputs to the actuator. Determine the input.
- the scaling means causes the output of the actuator to scale at least one of position, force, and time. Therefore, since the control energy is allocated to the energy of velocity or position and the energy of force by the conversion set in accordance with the function to be realized, a function according to a specific purpose can be realized.
- the scaling means since the scaling means is installed in any part of the control path, the actuator output can be scaled in position, force, and time. It is possible to increase the strength (force) of the movement or decrease the speed of the movement.
- FT function-specific force / speed allocation conversion block function-specific force / speed allocation conversion means
- FC ideal force source block force control amount calculation means
- PC ideal speed (position) source block position control amount) Calculation means
- IFT inverse transform block integration means
- 1 position / force control device 10 reference value input section, 20 control section, 30 driver, 40 actuator, 50 position sensor (position detection means), 60 storage section
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manipulator (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
ところが、従来のロボットの動作は、環境適応性や柔軟性に欠けており、人間の身体的行為を適切に実現するには至っていない。
ここで、マスタ・スレーブシステムにより取得した時系列な位置情報及び力情報を用いてアクチュエータの運動を人工再現する取り組みも行われているが、再現時における機械的インピーダンスが常に一定であり、依然として環境の位置・大きさ・機械的インピーダンスといった環境変動への適応性に欠けている。
なお、マスタ・スレーブシステムによって遠隔制御を行うロボットに関する技術は、例えば特許文献1及び特許文献2に記載されている。
即ち、従来の技術においては、ロボットによって人間の身体的行為を適切に実現する上で、改善の余地がある。
本発明の課題は、ロボットによって人間の身体的行為をより適切に実現するための技術を提供することである。
アクチュエータの作用に基づく位置に関する情報を検出する位置検出手段と、
前記位置に関する情報に対応する速度(位置)及び力の情報と、制御の基準となる情報とに基づいて、実現される機能に応じて、制御エネルギーを速度または位置のエネルギーと力のエネルギーとに割り当てる変換を行う機能別力・速度割当変換手段と、
前記機能別力・速度割当変換手段によって割り当てられた速度または位置のエネルギーに基づいて、速度または位置の制御量を算出する位置制御量算出手段と、
前記機能別力・速度割当変換手段によって割り当てられた力のエネルギーに基づいて、力の制御量を算出する力制御量算出手段と、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合手段と、
を備えることで、速度または位置のエネルギーと、力のエネルギーとをそれぞれ独立に制御可能としたことを特徴とする。
初めに、本発明に係る位置・力制御装置、位置・力制御方法及びプログラムに適用される基本的原理について説明する。
したがって、以下、本実施形態において、「行為」とは、人間の身体における部位の個別の「機能」を構成要素として実現される統合的な機能を表すものとする。例えば、中指の曲げ伸ばしを伴う行為(ねじを回す行為等)は、中指の各関節の機能を構成要素とする統合的な機能である。
本発明における基本的原理は、どのような行為も力源と速度(位置)源および行為を表す変換の三要素で数理的に表現できることから、変換及び逆変換により定義される変数群に対し、双対関係にある理想力源および理想速度(位置)源より制御エネルギーを制御対象のシステムに供給することで、抽出した身体的行為を構造化し、再構築あるいは拡張増幅し身体的行為を可逆的に自動実現(再現)する、というものである。
図1に示す基本的原理は、人間の身体的行為を実現するために利用可能なアクチュエータの制御則を表しており、アクチュエータの現在位置を入力として、位置(または速度)あるいは力の少なくとも一方の領域における演算を行うことにより、アクチュエータの動作を決定するものである。
即ち、本発明の基本的原理は、制御対象システムSと、機能別力・速度割当変換ブロックFTと、理想力源ブロックFCあるいは理想速度(位置)源ブロックPCの少なくとも一つと、逆変換ブロックIFTとを含む制御則として表される。
機能別力・速度割当変換ブロックFTにおける座標変換を、実現する機能に応じて設定することにより、各種行為を実現したり、スケーリングを伴う行為の再現を行ったりすることができる。
即ち、本発明の基本的原理では、機能別力・速度割当変換ブロックFTにおいて、アクチュエータ単体の変数(実空間上の変数)を、実現する機能を表現するシステム全体の変数群(仮想空間上の変数)に“変換”し、速度(位置)の制御エネルギーと力の制御エネルギーとに制御エネルギーを割り当てる。そのため、アクチュエータ単体の変数(実空間上の変数)のまま制御を行う場合と比較して、速度(位置)の制御エネルギーと力の制御エネルギーとを独立に与えることが可能となっている。
このような基本的原理により、制御対象システムSのアクチュエータにおける位置の情報が機能別力・速度割当変換ブロックFTに入力されると、位置の情報に基づいて得られる速度(位置)及び力の情報を用いて、機能別力・速度割当変換ブロックFTにおいて、機能に応じた位置及び力の領域それぞれの制御則が適用される。そして、理想力源ブロックFCにおいて、機能に応じた力の演算が行われ、理想速度(位置)源ブロックPCにおいて、機能に応じた速度(位置)の演算が行われ、力及び速度(位置)それぞれに制御エネルギーが分配される。
その結果、制御対象システムSのアクチュエータは、機能別力・速度割当変換ブロックFTによって定義された機能に従う動作を実行し、目的とするロボットの動作が実現される。
即ち、本発明においては、ロボットによって人間の身体的行為をより適切に実現することが可能となる。
次に、機能別力・速度割当変換ブロックFTによって定義される機能の具体例について説明する。
機能別力・速度割当変換ブロックFTでは、入力されたアクチュエータの現在位置に基づいて得られる速度(位置)及び力を対象とした座標変換(実現する機能に対応した実空間から仮想空間への変換)が定義されている。
機能別力・速度割当変換ブロックFTでは、このような現在位置から速度(位置)及び力と、機能の基準値としての速度(位置)及び力とを入力として、速度(位置)及び力それぞれについての制御則が加速度次元において適用される。
即ち、アクチュエータにおける力は質量と加速度との積で表され、アクチュエータにおける速度(位置)は加速度の積分によって表される。そのため、加速度の領域を介して、速度(位置)及び力を制御することで、アクチュエータの現在位置を取得して、目的とする機能を実現することができる。
(力・触覚伝達機能)
図2は、機能別力・速度割当変換ブロックFTにおいて力・触覚伝達機能が定義された場合の制御の概念を示す模式図である。また、図3は、力・触覚伝達機能が適用されるマスタ装置及びスレーブ装置を含むマスタ・スレーブシステムの概念を示す模式図である。
図2に示すように、機能別力・速度割当変換ブロックFTによって定義される機能として、マスタ装置の動作をスレーブ装置に伝達すると共に、スレーブ装置に対する物体からの反力の入力をマスタ装置にフィードバックする機能(バイラテラル制御機能)を実現することができる。
この場合、機能別力・速度割当変換ブロックFTにおける座標変換は、次式(3)及び(4)として表される。
図4は、機能別力・速度割当変換ブロックFTにおいてピック&プレイス機能が定義された場合の制御の概念を示す模式図である。また、図5は、ピック&プレイス機能が適用される第1のアーム及び第2のアームを含むロボットアームシステムの概念を示す模式図である。
この場合、機能別力・速度割当変換ブロックFTにおける座標変換は、次式(5)及び(6)として表される。
図6は、機能別力・速度割当変換ブロックFTにおいてねじ回しの学習及び再現機能が定義された場合の制御の概念を示す模式図である。また、図7は、ねじ回しの学習及び再現機能が適用されるロボットを示す模式図であり、図7(a)は、ねじ回しの学習及び再現機能が適用されるマスタの指型ロボットとスレーブの指型ロボットとを含むマスタ・スレーブシステムの概念を示す模式図、図7(b)は、指型ロボットの指機構を示す模式図である。
図6に示すように、機能別力・速度割当変換ブロックFTによって定義される機能として、指の曲げ伸ばしによってねじの締緩を行うねじ回しの学習及び再現機能を実現することができる。
この場合、機能別力・速度割当変換ブロックFTにおける座標変換は、次式(7)及び(8)として表される。
次に、本発明の基本的原理を適用した位置・力制御装置1の基本的構成について説明する。
図8は、本発明に係る位置・力制御装置1の基本的構成を示す模式図である。
図8において、位置・力制御装置1は、基準値入力部10と、制御部20と、ドライバ30と、アクチュエータ40と、位置センサ50とを含んで構成される。
位置・力制御装置1は、図示しないマスタ装置の動作と対応するスレーブ装置として動作するものであり、マスタ装置のアクチュエータに設置された位置センサの検出結果を入力として、機能に応じた動作を行う。
位置・力制御装置1に実装される機能は、後述するように、制御部20における機能別力・速度割当変換ブロックFTによって定義される座標変換を切り替えることで、種々変更することができる。
また、制御部20は、図1における機能別力・速度割当変換ブロックFTと、理想力源ブロックFCと、理想速度(位置)源ブロックPCと、逆変換ブロックIFTとの機能を備えている。
即ち、制御部20には、基準値入力部10を介して、マスタ装置の位置センサによって検出された時系列の検出値が入力される。この時系列の検出値は、マスタ装置の動作を表すものであり、制御部20は、入力された検出値(位置)から導出された速度(位置)及び力の情報に対して、機能に応じて設定されている座標変換を適用する。
アクチュエータ40は、ドライバ30から入力された制御指令値に従って駆動され、制御対象物の位置を制御する。
位置センサ50は、アクチュエータ40によって制御される制御対象物の位置を検出し、検出値を制御部20に出力する。
したがって、位置・力制御装置1は、制御対象物の位置を検出することで、目的とする機能を実現するために必要な速度(位置)及び力の状態値を算出することができ、これらの状態値に基づいてアクチュエータ40を駆動することで、制御対象物の位置及び力を目的とする状態に制御することができる。
また、位置・力制御装置1は、制御部20に対して入力される基準値を、マスタ装置からリアルタイムに入力される位置及び力の取得値とすることができる。この場合、マスタ装置の動作とリアルタイムに連動して、位置・力制御装置1を制御することができる。
また、位置・力制御装置1は、制御部20に対して入力される基準値を、予め取得して記憶されたマスタ装置またはスレーブ装置の時系列の位置及び力の取得値とすることができる。この場合、予め用意されたマスタ装置の動作を基準として、位置・力制御装置1の機能を実現することができる。即ち、マスタ装置が存在しない状態で、位置・力制御装置1において、目的とする機能を再現することができる。
次に、位置・力制御装置1の具体的な構成例について説明する。
上述のように、制御部20において定義される機能に応じた座標変換を切り替えることで、位置・力制御装置1は、種々の機能を実現することができる。
以下、図2の力・触覚伝達機能、図4のピック&プレイス機能及び図6のねじ回しの学習及び再現機能を実現する場合の位置・力制御装置1の構成例について説明する。
(力・触覚伝達機能を実現する位置・力制御装置1の構成例)
図9において、位置・力制御装置1は、マスタ装置100Aと、スレーブ装置100Bと、PC(Personal Computer)100Cとを含んで構成される。
マスタ装置100Aは、ドライバ30及び位置センサ50を内蔵したアクチュエータ40によって構成される。
マスタ装置100Aは、一方向にスライド可能な可動軸41Aを備えており、可動軸41Aは操作者によって移動される。可動軸41Aの位置は、位置センサ50によって検出され、この検出値はPC100Cに出力される。
スレーブ装置100Bは、マスタ装置100Aと同様に、ドライバ30及び位置センサ50を内蔵したアクチュエータ40によって構成される。
スレーブ装置100Bは、一方向にスライド可能な可動軸41Bを備えており、可動軸41Bはアクチュエータ40によって移動される。可動軸41Bの位置は、位置センサ50によって検出され、この検出値はPC100Cに出力される。
PC100Cは、基準値入力部10の機能を有する通信インターフェース110と、制御部20とを備えている。
これにより、マスタ装置100Aに対して行われた操作がスレーブ装置100Bで正確に再現されると共に、スレーブ装置100Bに入力された物体からの反力をマスタ装置100Aに正確に伝達することができる。
図10は、ピック&プレイス機能を実現する位置・力制御装置1の構成を示す模式図である。
図10において、位置・力制御装置1は、第1のアームを構成するアームユニット200Aと、第2のアームを構成するアームユニット200Bと、PC200Cとを含んで構成される。
アームユニット200Aは、アーム部201Aと、ドライバ30及び位置センサ50を内蔵したアクチュエータ40とによって構成される。
また、アームユニット200Aのアクチュエータ40は、PC200Cによって制御される。具体的には、アーム部201Aは、設定された力で対象物に当接され、アーム部201Bと共に、その状態を保持して対象物を移動するようにPC200Cによって制御される。
PC200Cは、基準値入力部10の機能を有する通信インターフェース210と、制御部20とを備えている。
通信インターフェース210は、アームユニット200A及びアームユニット200Bから入力される位置センサ50の検出値を受け取り、制御部20に出力する。また、通信インターフェース210は、制御部20から入力されるアームユニット200A及びアームユニット200Bのアクチュエータ40を制御するための加速度の値を、アームユニット200A及びアームユニット200Bに出力する。
図11は、ねじ回しの学習及び再現機能を実現する位置・力制御装置1の構成を示す模式図である。
図11において、位置・力制御装置1は、マスタ装置としての指型ロボット300Aと、スレーブ装置としての指型ロボット300Bと、PC300Cとを含んで構成される。
指型ロボット300Aは、指機構部310Aと、指機構部310Aの各部に連結されたワイヤW1~W4と、ワイヤW1~W4を引き込む制御を行うアクチュエータ40a~40dとによって構成される。
ワイヤW1は、末節骨部314Aの手の甲側に一端が連結され、指機構部310Aにおける手の甲側を通って、他端がアクチュエータ40aの出力軸に連結されている。そのため、ワイヤW1がアクチュエータ40aによって引き込まれると、指機構部310Aにおいて指を伸ばす動作が実現される。
ワイヤW3は、中節骨部313Aの手の平側に一端が連結され、基節骨部312Aにおいて手の甲側に引き出された後、他端がアクチュエータ40cの出力軸に連結されている。そのため、ワイヤW3がアクチュエータ40cによって引き込まれるとPIP関節では指を曲げる方向、MP関節では指を伸ばす方向に力が加わる。
また、各アクチュエータ40a~40dは、ドライバ30及び位置センサ50を内蔵している。ワイヤW1~W4の位置は、各アクチュエータ40a~40dの位置センサ50によって検出され、この検出値はPC300Cに出力される。
具体的には、指型ロボット300Aの指機構部310Aの各部は、人間の指と対応する箇所において(即ち、末節骨と末節骨部314A、中節骨と中節骨部313A、基節骨と基節骨部312Aにおいて)固定され、人間の指の動作に追従する状態とされる。
なお、末節骨と末節骨部314A、中節骨と中節骨部313A、基節骨と基節骨部312Aのうち、末節骨と末節骨部314Aの固定に加えて、他の1箇所を固定すれば、その他の1箇所の固定は省略することができる。
指機構部310Bは、人間の中手骨に相当するベース部311Bと、基節骨に相当する基節骨部312Bと、中節骨に相当する中節骨部313Bと、末節骨に相当する末節骨部314Bと、MP関節に相当するMP関節部315Bと、PIP関節に相当するPIP関節部316Bと、DIP関節に相当するDIP関節部317Bとを備えている。
ワイヤW6は、中節骨部313Bの手の甲側に一端が連結され、基節骨部312Bにおいて手の平側に引き出された後、他端がアクチュエータ40fの出力軸に連結されている。そのため、ワイヤW6がアクチュエータ40fによって引き込まれると、中節骨部313BにおいてPIP関節部316Bを支点として、指を伸ばす動作が実現される。
ワイヤW8は、末節骨部314Bの手の平側に一端が連結され、指機構部310Bにおける手の平側を通って、他端がアクチュエータ40hの出力軸に連結されている。そのため、ワイヤW8がアクチュエータ40hによって引き込まれると、指機構部310Bにおいて指を曲げる動作が実現される。
また、各アクチュエータ40e~40hは、ドライバ30及び位置センサ50を内蔵している。ワイヤW5~W8の位置は、各アクチュエータ40e~40hの位置センサ50によって検出され、この検出値はPC300Cに出力される。
通信インターフェース310は、指型ロボット300A及び指型ロボット300Bから入力される各位置センサ50の検出値を受け取り、制御部20に出力する。また、通信インターフェース310は、制御部20から入力される指型ロボット300A及び指型ロボット300Bのアクチュエータ40a~40hを制御するための加速度の値を、指型ロボット300A及び指型ロボット300Bに出力する。
これにより、人間がマスタ装置としての指型ロボット300Aにおいて、ねじを回す動作を行うと、スレーブ装置としての指型ロボット300Bでは、その動作が実現され、ねじを回すことができる。このとき、指型ロボット300Bにねじから作用する力は、バイラテラル制御機能によって、指型ロボット300Aにおいて再現される。即ち、ねじを回す動作を行っている人間の指に対して、アクチュエータ40a~40dにより、実際にねじを回している場合と同様の反力が再現される。
次に、本発明によって実現される人間の行為の抽出機能について詳細に説明する。
図11の「ねじ回しの学習及び再現機能を実現する位置・力制御装置1の構成例」において説明したように、人間の身体の機能に対応する機構のロボットを構成し、人間の身体の機能をこのロボットに追従させて、その際の時系列の動作を検出することで、人間の行為を抽出することが可能となる。
また、ワイヤW1~W4またはワイヤW5~W8の位置の検出結果に代えて、制御部20において座標変換結果として得られる状態値を導出するための各値(即ち、時系列で算出された式(4)の左辺の各値)を記憶装置に記憶しておくこととしてもよい。
図12(a)を参照すると、例えば、ワイヤW1について、時刻t1では位置p1、時刻t2では位置p2、時刻t3では位置p3・・・と時系列の位置が記憶されている。
また、図12(b)を参照すると、例えば、座標変換結果x’’a1について、時刻t1では座標変換結果q1、時刻t2では座標変換結果q2、時刻t3では座標変換結果q3・・・と時系列の値が記憶されている。
これにより、人間が一度だけ実際に指の動作(行為)を行えば、それ以降、指の動作(行為)を行わなくても、ねじ回しの学習及び再現機能等の動作(行為)をロボットによって再現することができる。
次に、本発明によって可能となる適応的機能実現について説明する。
適応的機能実現とは、上述のように行為の抽出機能によって人間の行為が抽出された場合に、行為の抽出時とは異なる対象物であっても、抽出された機能が適応的に実現されることをいう。
本実施形態における適応的機能実現においては、式(7)及び式(8)に示す座標変換のうち、力の領域における状態値を導出するための力のベクトルを得る演算を適用する。即ち、適応的機能実現においては、式(7)及び式(8)に示す座標変換において、適応的機能実現の目的に応じた入力を用いる一方、他の部分の入力を実質的にゼロとし、座標変換における一部の要素によって、状態値を導出する。このような手法により、速度または位置のエネルギーと力のエネルギーとのうち、少なくとも一方に制御エネルギーが割り当てられ、行為の抽出時と完全に同一ではない適応的な機能が実現される。
具体的には、本実施形態における適応的機能実現のための座標変換は、次式(9)として表される。
図13は、適応的機能実現の概念を示す説明図である。
図13(a)~(c)に示すように、まず、図11に示す位置・力制御装置1において、人間がねじを回す動作(行為)を抽出し、例えば図12(a)に示すワイヤW1~W4またはワイヤW5~W8の時系列の位置または力の少なくとも一方を記憶しておく。
次に、位置・力制御装置1は、記憶装置からワイヤW1~W4またはワイヤW5~W8の時系列の位置または力の少なくとも一方を順次読み出す。そして、これを基準値として、スレーブ装置となる指型ロボット300Bにおいて、式(8)の座標変換を順次適用しながら、アクチュエータ40e~40fを制御する。このとき、指型ロボット300Bには、人間がねじを回す動作(行為)が抽出されたときと同一のねじXがセットされているものとする。
ここで、指型ロボット300Bに、人間がねじを回す動作(行為)が抽出されたときとは直径または形状等の異なるねじYがセットされたとする。
そして、式(9)の座標変換によって得られるfτ1、fτ2、fτ3、ft2を用いて、状態値を導出し、算出した状態値に対応するアクチュエータ40e~40hの制御を行う。
このように、本発明の基本的原理を応用することで、対象物が異なる等、環境変動に対しても適応性の高い機能の実現を図ることができる。
図8に示す位置・力制御装置1の基本的構成において、機能別力・速度割当変換ブロックFTによって定義される座標変換を複数記憶しておき、これらを切り替えて機能別力・速度割当変換ブロックFTに設定することで、位置・力制御装置1で実現される機能を切り替えることができる。
図14に示す位置・力制御装置1は、図8に示す位置・力制御装置1に対して、機能を表す座標変換を複数記憶する記憶部60が備えられている点で異なっている。
即ち、制御部20は、実現すべき機能に応じて、記憶部60に記憶されている座標変換T1~Tk(kは1以上の整数)のいずれかを読み出して、機能別力・速度割当変換ブロックFTに設定する。
このような位置・力制御装置1は、例えば、1つの制御部20によって、複数の機能を実現する場合や複数のロボットを制御する場合等に、特に有用なものとなる。
上述の位置・力制御装置1において、位置、力及び時間のスケーリング機能を実現することができる。
スケーリング機能とは、基準となる制御に対して、出力される位置、力あるいは時間のスケールを拡大あるいは縮小する機能である。スケーリング機能によって、例えば、マスタ装置の動きの大きさを縮小してスレーブ装置で再現したり、マスタ装置の動きの強さ(力)を強めてスレーブ装置で再現したり、あるいは、マスタ装置の動きの速度を低下させてスレーブ装置で再現したりすることができる。また、記憶装置に記憶された位置または力の少なくとも一方の情報にスケーリング機能を用いることで、例えば、記憶された動きの大きさを縮小してスレーブ装置で再現したり、記憶された動きの強さ(力)を強めてスレーブ装置で再現したりすることができる。
以下、スケーリング機能を実現するための構成例について説明する。
スケーリングを伴う力・触覚伝達機能が実現される場合、図2における機能別力・速度割当変換ブロックFTにおける座標変換は、次式(10)及び(11)として表される。
このようなスケーリング機能によって、例えば、手術やマイクロアセンブリ等の繊細な作業や、土木作業や船外活動等の大規模な作業を行う場合に有効となる。
スケーリングによる位置の制限を伴う力・触覚伝達機能が実現される場合、図2における機能別力・速度割当変換ブロックFTにおける座標変換は、例えば、次式(12)~(15)として表される。
なお、このような機能を実現する場合、以下のような条件を考慮することが適当である。
・速度次元まで連続であること(ヤコビ行列の存在条件)
・制限後の位置が元の位置の単調増加関数であること(安定性の条件)
・xs<aの時にはxs=xshatもしくはxs≒xshat(xshatは式(14)および式(15)において機能別力・速度割当変換ブロックFTに含まれるパラメータ)
(安全領域での制御性能を保証する条件)
・飽和関数であること(ポジションリミットを実現する条件)
これらの条件を満たす他の関数として、atan関数を採用することも可能である。
このようなスケーリング機能によって、例えば、手術において臓器を保護したり、物体の破断を回避したりする場合に有効となる。
図15は、周波数領域におけるスケーリングを用いた力・触覚伝達機能の制御の概念を示す模式図である。
図15において、マスタ装置及びスレーブ装置の出力は、ハイパスフィルタ(HPF)及びローパスフィルタ(LPF)をそれぞれ通過した後に、機能別力・速度割当変換ブロックFTに入力される。
機能別力・速度割当変換ブロックFTでは、ハイパスフィルタを通過したマスタ装置及びスレーブ装置の出力に対して、高周波域用の座標変換を適用し、ローパスフィルタを通過したマスタ装置及びスレーブ装置の出力に対して、低周波域用の座標変換を適用する。
即ち、機能別力・速度割当変換ブロックFTは、マスタ装置及びスレーブ装置からの入力を高周波域及び低周波域の信号に分離し、それぞれの周波数域に対応する座標変換を適用する。
図15に示すように、周波数領域におけるスケーリングを用いた力・触覚伝達機能が実現される場合、機能別力・速度割当変換ブロックFTにおける座標変換は、次式(16)~(19)として表される。
このようなスケーリング機能によって、例えば、スレーブ装置が、物体を貫通したり、破断したりする際の感覚を強調してマスタ装置に伝達することが可能となる。
位置・力制御装置1による機能の再現において、学習して記憶されている機能を示す情報(例えば、図12に示す行為の抽出結果を表す時系列のデータ)を間引く、あるいは、補間する等して目標値とすることにより、時間のスケーリングを実現することができる。
具体的には、学習して記憶されている機能を示す情報を間引いた上で、理想力源ブロックFCあるいは理想速度(位置)源ブロックPCにおける演算の目標値として用いることにより、記憶されている機能(動作)を高速で再現することができる。同様に、学習して記憶されている機能を示す情報を補間した上で、目標値として用いることにより、記憶されている機能(動作)を低速で再現することができる。
このように、記憶されている機能(動作)を高速で再現する場合、行為の抽出時には、低速かつ正確な動作を行えばよく、再現時には、高速かつ正確な動作とすることができる。
また、記憶されている機能(動作)を低速で再現する場合、通常の速度で行われている動作を緩やかに再現できるため、例えば、後遺症を抱える患者のリハビリテーション等において、その患者に応じた訓練動作を再現することができる。
上記実施形態で説明した機能を単独でまたは組み合わせて用いることで、種々の応用例を実現することができる。
図16は、仮想空間における物体との間で力・触覚伝達機能を実現した状態を示す模式図である。
図16においては、操作者が仮想空間内の対象物との間で力及び触覚を伝達するゲーム(例えば、腕相撲等)に本発明を適用した例を示している。
また、図17は、仮想空間における物体との間で力・触覚伝達機能を実現する場合の制御の概念を示す模式図である。
図16に示すように、操作者Rmは、マスタ装置としてのコントローラ(アクチュエータ)Ctを操作する。
すると、コントローラCtの移動に合わせて、仮想物体Xa(ここでは、仮想人物Vaの腕)が移動する。
このとき、コントローラCtにおいては、仮想物体Xaとの間で力・触覚伝達が行われ、仮想人物Vbと腕相撲をしている仮想人物Vaが受ける力・触覚が伝達される。
このように、本発明は、仮想空間における対象物と力を作用させ合うようなゲームに応用することができる。
なお、仮想空間における対象物は、仮想的に生成されたものや、実体的な対象物が仮想空間に抽出されたものとして構成することが可能である。
このような応用例によって、仮想空間内の敵キャラクターと戦う状況や、仮想空間内の種々の路面からなるレースコースを仮想的な車両で走行する状況や、仮想空間内の物体を動かす状況等を高いリアリティで実現することが可能となる。
また、コントローラCtは、アクチュエータへの制御信号を受信することで、マスタ装置として機能することが可能であるため、コントローラCtにプログラムや多数のセンサを実装する必要がなく、簡単な構成で安価にコントローラCtを実現することができる。
図18は、医療用の鉗子に本発明を応用した状態を示す模式図である。
図18(a)に示すように、操作者Rmがマスタ装置を操作し、スレーブ装置となる鉗子のアクチュエータとの間で力・触覚伝達機能を実現することができる。
このとき、単純に力・触覚伝達を行う場合には、マスタ装置を支点に対して上方に操作すると、図18(b)に示すように、スレーブ装置の鉗子も上方に変位することから、人間の直感とは逆の動きとなる可能性がある。
即ち、実物の鉗子を取り扱う際には、鉗子は剛体であることから、操作者が鉗子の先端を下方に向ける場合、鉗子の操作部を上方に操作する。そのため、図18(b)の動きは、剛体である実物の鉗子を取り扱う場合とは逆の動きとなる。
そこで、図18(c)に示すように、機能別力・速度割当変換ブロックFTにおける座標変換に鏡像変換を施すことで、図18(d)に示すように、マスタ装置を支点に対して上方に操作した場合に、スレーブ装置の鉗子が下方に変位する状態に制御することができる。即ち、剛体である実物の鉗子を取り扱う場合と同様の動きとなる。
これにより、操作者にとって直感的な操作を行うことが可能となる。
さらに、鏡像変換を施した機能別力・速度割当変換ブロックFTにおける座標変換に、スケーリングを施すことが可能である。
例えば、マスタ装置の操作を縮小するスケーリングを施した場合、鉗子における繊細な動きに変換することができ、心臓や脳等の高度な注意を要する困難な手術を支援することが可能となる。
このとき、スケーリングの比率は、固定的な比率とすることの他、状況に応じて比率を変化させること等が可能である。
例えば、心臓の手術であれば、開胸する段階ではマスタ装置とスレーブ装置との動作の比率を1:1等としておき、心臓に対する切開を行う段階では、マスタ装置の動作に対してスレーブ装置の動作が縮小されるようスケーリングの比率を小さくすることができる。
図19は、無線によって接続されたマスタ装置とスレーブ装置とを示す模式図である。
マスタ装置とスレーブ装置とを無線によって接続し、高速な通信を行うことで、高い実時間性を持ち、携帯性に優れたマスタ・スレーブシステムを実現することができる。
即ち、マスタ装置と無線接続されたスレーブ装置において、力・触覚伝達機能等の各種機能を実現することができる。
図20は、マスタ装置と無線接続されたスレーブ装置400の構成を示すブロック図である。
図20に示すように、スレーブ装置400は、スイッチ群401と、LED群402と、ホストマイコンユニット403と、無線ユニット404と、モータユニット405と、減速機構406と、手先効果器407と、計測ユニット408と、記録・表示ユニット409と、電源ユニット410とを備えている。
ホストマイコンユニット403は、プログラム書き込み回路403aと、マイクロコントローラ403bとを備えている。
プログラム書き込み回路403aは、マイクロコントローラ403bにプログラムを書き込む。
マイクロコントローラ403bは、プログラム書き込み回路403aによって書き込まれたプログラムに従って、スレーブ装置400を制御する。具体的には、マイクロコントローラ403bは、マスタ装置との無線通信を行いながら、対象物への位置及び力の制御あるいは対象物からの作用の計測を実行する。
無線ユニット404は、アンテナ404aと、無線回路404bとを備えている。
アンテナ404aは、マスタ装置からの無線信号を受信すると共に、スレーブ装置400からマスタ装置への無線信号を送信する。
無線回路404bは、アンテナ404aから入力される無線信号を復調し、復調後の制御信号をホストマイコンユニット403に出力する。また、無線回路404bは、ホストマイコンユニット403から入力される制御信号を変調し、アンテナ404aに出力する。
D/Aコンバータ405aは、ホストマイコンユニット403から入力されるデジタル信号(制御信号)をアナログ信号に変換する。
モータドライバ405bは、D/Aコンバータ405aから入力されたアナログ信号に従って、サーボモータ405dを駆動する。
駆動用バッテリ405cは、サーボモータ405dを駆動するための電力を供給する。
サーボモータ405dは、モータドライバ405bの駆動信号に従って、減速機構406を介して手先効果器407の位置及び力を制御する。
減速機構406は、サーボモータ405dの動作を減速し、トルクを変換して手先効果器407に伝達する。
手先効果器407は、対象物に直接作用するインターフェースを構成する。本実施形態では、手先効果器407として、フォーク状の器具が備えられている。
エンコーダ408aは、サーボモータ405dの動作(回転角度)を計測し、電気信号に変換する。
ラインレシーバ408bは、エンコーダ408aから出力される計測結果の電気信号を差動信号としてホストマイコンユニット403に出力する。なお、スレーブ装置400の応答を得るにあたっては、速度センサや加速度センサ、または、その他の推定法により代替することも可能である。
記録・表示ユニット409は、記録・表示用回路409aと、記憶媒体409bと、ディスプレイ409cとを備えている。
記録・表示用回路409aは、ホストマイコンユニット403の指示に従って、サーボモータ405dの位置及び力の制御情報やスケーリング比、無線接続における電波状況、時間等の装置および接触している物体に関する情報を記憶媒体409bに記憶したり、ディスプレイ409cに表示したりする。また、記録・表示用回路409aは、記憶媒体409bに記憶された情報を読み出し、ホストマイコンユニット403に出力する。
記憶媒体409bは、記録・表示用回路409aの制御に従って、スレーブ装置400の動作におけるサーボモータ405dの位置及び力の制御情報やスケーリング比、無線接続における電波状況、時間等の装置および接触している物体に関する情報を記憶する。記憶媒体409bに記憶された情報は、データ処理のために読み出すことができる。また、記憶媒体409bには、スレーブ装置400において動作を再現するための情報が記憶され、マイクロコントローラ403bが、この情報を読み出して実行することにより動作を再現することができる。
信号用バッテリ410aは、スレーブ装置400の制御系統に電力を供給する。
電源回路410bは、信号用バッテリ410aからスレーブ装置400の制御系統に供給される電力を制御する。
なお、マスタ装置とスレーブ装置とは、無線通信によって接続可能である他、有線通信用ポート(図19参照)を介して、有線通信によって接続することも可能である。
このような構成により、マスタ装置の動きに応じて、手先効果器407が対象物(ボール等)に接触すると、サーボモータ405dの位置及び反力が位置及び力の情報として、スレーブ装置400からマスタ装置に送信される。すると、マスタ装置では、スレーブ装置400における力・触覚を伝達する機能等を実現することができる。
図21は、マスタ装置とスレーブ装置とで高速な通信を行うためのデータ構造を示す図である。
図21に示すように、本応用例では、位置と力の情報を合計64ビットのデータ(32ビットずつのfloat型変数)として表し、これを高速に伝送する。
そのために、まず位置及び力のデータを16個のデータブロックに分割する。すると、各データブロックは、それぞれ4ビットの情報量となる。これら4ビット×16個の順番を識別するために、各データブロックの先頭に4ビットのデータ番号を付加する。これにより、4ビットのデータ番号及び4ビットの実データからなる1バイトのデータブロックが16個生成され、合計16バイトのデータとなる。
これを以下の手順によって、マスタ装置とスレーブ装置との間で伝送する。
なお、本応用例におけるマスタ・スレーブシステムにおいては、処理の高速化を図るため、マスタ装置及びスレーブ装置の内蔵MCU(Memory Control Unit)に制御プログラムが直接実装される。
図22において、送信側ホスト(送信側のプロセッサ等)は、図21に示す16個のデータブロックを1ブロックずつ送信側モジュール(送信側の通信インターフェース等)に伝送する。このとき、1ブロックを伝送するためには100[μs]で足り、送信側ホストと送信側モジュールとの間の伝送速度として約1[Mbps]を確保可能である。
次に、送信側モジュールと受信側モジュール(受信側の通信インターフェース等)との間で無線通信が行われる。このとき、無線通信路の伝送速度として約1[Mbps]を確保可能であり、16個のデータブロックを伝送するためには、約1.2[ms]で足りる。
すると、送信側ホストがデータの送出を開始してから、16バイトのデータが受信側ホストに伝送されるまで、約4.5[ms]となる。
このように、本応用例では、内蔵MCUに制御プログラムを直接実装し、位置と力の情報を4ビット×8個にそれぞれ分割して通信モジュールに伝送し、無線通信路におけるパケットサイズを16バイトに縮小することとした。
なお、従来のプロトコル、例えば、UCP/IP等では、種々のヘッダ情報等のために、パケットサイズが24バイトとなっているのに対し、本応用例の場合、必要なパケットサイズは16バイトとなっている。
これにより、無線接続されたマスタ・スレーブシステムを高い実時間性を有し、携帯性に優れたシステムとして実現することができる。
図23は、人間の動作をデータベース化する概念を示す模式図である。
上述のように、アクチュエータにおける速度(位置)は加速度の積分によって表され、アクチュエータにおける力は質量と加速度との積で表される。
そのため、本発明においては、アクチュエータの位置の情報またはアクチュエータの位置の情報に基づいて得られる力の情報の少なくとも一方から、人間の動作を数値化して抽出することができる。
そこで、図23に示すように、本発明の力・触覚伝達機能によって操作者が行った動作を測定する。
即ち、操作者がマスタ装置を操作した場合、操作者が行った動作を機能別力・速度割当変換ブロックFT、理想力源ブロックFC、理想速度(位置)源ブロックPCにおける演算に分解して、動作を表現することができる。
このようにデータベース化された複数の人間の動作情報に対して統計処理を施すことで、各個人の動作の特徴(個人のやり方、他の人と比べた個性等)を抽出して数値化することが可能となる。
これにより、熟練者や素人等の動作情報に対して統計処理を施すことで、暗黙知、スキル、ノウハウ等を抽出して客観的な数値データとすることができる。
図24は、機能別力・速度割当変換に対するオフセットの概念を示す模式図である。
機能別力・速度割当変換に対するオフセットでは、機能別力・速度割当変換ブロックFTにおいて変換された結果の位置及び力のエネルギーに対して、所定の定数を加減することにより、対象物の変化に追従することが可能となる。
即ち、図24に示すように、機能別力・速度割当変換において、外部センサDによって測定した対象物の位置等をオフセットとして加えることができる。
例えば、心臓の手術の場合、対象物である心臓は常時鼓動することから、外部センサDによって心臓表面の位置を測定し、機能別力・速度割当変換におけるオフセットとして測定された位置の変化を加えることで、スレーブ装置(例えば、鉗子等)の心臓表面への自動追従を実現することができる。
このとき、力・触覚伝達機能にオフセットを加えることにより、力・触覚伝達と心臓表面への位置の自動追従とを両立させることが可能である。
これにより、手術を行う医師においては、心臓の鼓動による変位の影響を軽減して、より正確な作業を行うことが可能となる。
以上のように、本発明の第1の態様に係る位置・力制御装置によれば、機能別力・速度割当変換手段は、位置に関する情報に対応する速度(位置)及び力の情報と、制御の基準となる情報とに基づいて、実現される機能に応じて、制御エネルギーを速度または位置のエネルギーと力のエネルギーとに割り当てる変換を行う。そして、位置制御量算出手段は、機能別力・速度割当変換手段によって割り当てられた速度または位置のエネルギーに基づいて、速度または位置の制御量を算出する。また、力制御量算出手段は、機能別力・速度割当変換手段によって割り当てられた力のエネルギーに基づいて、力の制御量を算出する。さらに、統合手段は、速度または位置の制御量と力の制御量とを統合し、その出力をアクチュエータに戻すべく速度または位置の制御量と力の制御量とを逆変換して、アクチュエータへの入力を決定する。これにより、速度または位置のエネルギーと、力のエネルギーとをそれぞれ独立に制御可能とした。
そのため、機能別力・速度割当変換手段において、制御エネルギーの速度または位置のエネルギーと力のエネルギーとへの割り当てを機能に応じて種々変更することができる。
したがって、目的とする機能に応じて、機能別力・速度割当変換手段の設定を変更することにより、ロボットによって人間の身体的行為をより適切に実現するための技術を提供することができる。
したがって、予め取得された制御の基準となる情報に基づいて、速度(位置)あるいは力の制御量が算出されるため、予め取得された機能を再現することが可能となる。
したがって、実現される機能に合わせて設定されている変換によって、制御エネルギーが速度または位置のエネルギーと力のエネルギーとに割り当てられるため、特定の目的に応じた機能を実現することができる。また、制御経路のいずれかの箇所にスケーリング手段が介装されることによって、アクチュエータの出力に、位置、力及び時間のスケーリングを生じさせることができるため、アクチュエータの動きの大きさを縮小したり、動きの強さ(力)を強めたり、あるいは、動きの速度を低下させたりすることができる。
Claims (20)
- アクチュエータの作用に基づく位置に関する情報を検出する位置検出手段と、
前記位置に関する情報に対応する速度(位置)及び力の情報と、制御の基準となる情報とに基づいて、実現される機能に応じて、制御エネルギーを速度または位置のエネルギーと力のエネルギーとに割り当てる変換を行う機能別力・速度割当変換手段と、
前記機能別力・速度割当変換手段によって割り当てられた速度または位置のエネルギーに基づいて、速度または位置の制御量を算出する位置制御量算出手段と、
前記機能別力・速度割当変換手段によって割り当てられた力のエネルギーに基づいて、力の制御量を算出する力制御量算出手段と、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合手段と、
を備えることで、速度または位置のエネルギーと、力のエネルギーとをそれぞれ独立に制御可能としたことを特徴とする位置・力制御装置。 - 前記機能別力・速度割当変換手段は、前記実現される機能を複数の機能から選択可能であることを特徴とする請求項1に記載の位置・力制御装置。
- 前記機能別力・速度割当変換手段は、前記実現される機能を表す座標変換によって、前記制御エネルギーを前記速度または位置のエネルギー及び前記力のエネルギーに割り当てることを特徴とする請求項1または2に記載の位置・力制御装置。
- 前記制御の基準となる情報は、リアルタイムに入力される他の装置におけるアクチュエータの作用に基づく位置に関する情報であることを特徴とする請求項1から3のいずれか1項に記載の位置・力制御装置。
- 前記制御の基準となる情報は、予め取得された他の装置におけるアクチュエータの作用に基づく位置に関する情報であることを特徴とする請求項1から3のいずれか1項に記載の位置・力制御装置。
- 前記制御の基準となる情報は、仮想的に生成されたアクチュエータの作用に基づく位置に関する情報であることを特徴とする請求項1から3のいずれか1項に記載の位置・力制御装置。
- 前記制御の基準となる情報は、ゲームにおける仮想空間内の物体による作用を想定して仮想的に生成されたアクチュエータの作用に基づく位置に関する情報であることを特徴とする請求項6に記載の位置・力制御装置。
- 前記機能別力・速度割当変換手段は、鏡像変換を含む変換を行うことを特徴とする請求項1から7のいずれか1項に記載の位置・力制御装置。
- 前記機能別力・速度割当変換手段は、位置及び力の少なくとも一方のスケーリングを含む変換を行うことを特徴とする請求項8に記載の位置・力制御装置。
- 前記アクチュエータとは異なる他のアクチュエータをさらに備え、
前記アクチュエータはマスタ装置及びスレーブ装置の一方として動作し、前記他のアクチュエータは前記マスタ装置及び前記スレーブ装置の他方として動作し、
前記マスタ装置と前記スレーブ装置は、無線通信によって接続されていることを特徴とする請求項1から9のいずれか1項に記載の位置・力制御装置。 - 1または複数の対象者による動作の前記機能別力・速度割当変換手段、前記位置制御量算出手段及び前記力制御量算出手段の演算内容が蓄積されたデータベースを備えることを特徴とする請求項1から10のいずれか1項に記載の位置・力制御装置。
- 前記機能別力・速度割当変換手段は、オフセットを含む変換を行うことを特徴とする請求項1から11のいずれか1項に記載の位置・力制御装置。
- アクチュエータの作用に基づく位置に関する情報を検出する位置検出手段と、
前記位置に関する情報に対応する速度(位置)及び力の情報と、予め取得されている制御の基準となる情報とに基づいて、実現される機能に応じて、制御エネルギーを速度または位置のエネルギーと力のエネルギーとのうち、少なくとも一方に割り当てる変換を行う機能別力・速度割当変換手段と、
前記機能別力・速度割当変換手段によって割り当てられた速度または位置のエネルギーと力のエネルギーとのうち、少なくとも一方に基づいて、速度または位置の制御量と力のエネルギーとの少なくとも一方を算出する位置制御量算出手段と、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合手段と、
を備えることを特徴とする位置・力制御装置。 - アクチュエータの作用に基づく位置に関する情報を検出する位置検出手段と、
前記位置に関する情報に対応する速度(位置)及び力の情報と、制御の基準となる情報とに基づいて、実現される機能に合わせて設定されている変換によって、制御エネルギーを速度または位置のエネルギーと力のエネルギーとに割り当てる変換を行う機能別力・速度割当変換手段と、
前記機能別力・速度割当変換手段によって割り当てられた速度または位置のエネルギーに基づいて、速度または位置の制御量を算出する位置制御量算出手段と、
前記機能別力・速度割当変換手段によって割り当てられた力のエネルギーに基づいて、力の制御量を算出する力制御量算出手段と、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合手段と、
前記アクチュエータの出力に、位置、力及び時間の少なくともいずれかのスケーリングを生じさせるスケーリング手段と、
を備えることを特徴とする位置・力制御装置。 - アクチュエータの作用に基づく位置に関する情報を検出する位置検出ステップと、
前記位置に関する情報に対応する速度(位置)及び力の情報と、制御の基準となる情報とに基づいて、実現される機能に応じて、制御エネルギーを速度または位置のエネルギーと力のエネルギーとに割り当てる変換を行う機能別力・速度割当変換ステップと、
前記機能別力・速度割当変換ステップにおいて割り当てられた速度または位置のエネルギーに基づいて、速度または位置の制御量を算出する位置制御量算出ステップと、
前記機能別力・速度割当変換ステップにおいて割り当てられた力のエネルギーに基づいて、力の制御量を算出する力制御量算出ステップと、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合ステップと、
を含むことを特徴とする位置・力制御方法。 - アクチュエータの作用に基づく位置に関する情報を検出する位置検出ステップと、
前記位置に関する情報に対応する速度(位置)及び力の情報と、予め取得されている制御の基準となる情報とに基づいて、実現される機能に応じて、制御エネルギーを速度または位置のエネルギーと力のエネルギーとのうち、少なくとも一方に割り当てる変換を行う機能別力・速度割当変換ステップと、
前記機能別力・速度割当変換ステップにおいて割り当てられた速度または位置のエネルギーと力のエネルギーとのうち、少なくとも一方に基づいて、速度または位置の制御量と力のエネルギーとの少なくとも一方を算出する位置制御量算出ステップと、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合ステップと、
を含むことを特徴とする位置・力制御方法。 - アクチュエータの作用に基づく位置に関する情報を検出する位置検出ステップと、
前記位置に関する情報に対応する速度(位置)及び力の情報と、制御の基準となる情報とに基づいて、実現される機能に合わせて設定されている変換によって、制御エネルギーを速度または位置のエネルギーと力のエネルギーとに割り当てる変換を行う機能別力・速度割当変換ステップと、
前記機能別力・速度割当変換ステップにおいて割り当てられた速度または位置のエネルギーに基づいて、速度または位置の制御量を算出する位置制御量算出ステップと、
前記機能別力・速度割当変換ステップにおいて割り当てられた力のエネルギーに基づいて、力の制御量を算出する力制御量算出ステップと、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合ステップと、
前記アクチュエータの出力に、位置、力及び時間の少なくともいずれかのスケーリングを生じさせるスケーリングステップと、
を含むことを特徴とする位置・力制御方法。 - コンピュータに、
アクチュエータの作用に基づく位置に関する情報を検出する位置検出機能と、
前記位置に関する情報に対応する速度(位置)及び力の情報と、制御の基準となる情報とに基づいて、実現される機能に応じて、制御エネルギーを速度または位置のエネルギーと力のエネルギーとに割り当てる変換を行う機能別力・速度割当変換機能と、
前記機能別力・速度割当変換機能によって割り当てられた速度または位置のエネルギーに基づいて、速度または位置の制御量を算出する位置制御量算出機能と、
前記機能別力・速度割当変換機能によって割り当てられた力のエネルギーに基づいて、力の制御量を算出する力制御量算出機能と、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合機能と、
を実現させることを特徴とするプログラム。 - コンピュータに、
アクチュエータの作用に基づく位置に関する情報を検出する位置検出機能と、
前記位置に関する情報に対応する速度(位置)及び力の情報と、予め取得されている制御の基準となる情報とに基づいて、実現される機能に応じて、制御エネルギーを速度または位置のエネルギーと力のエネルギーとのうち、少なくとも一方に割り当てる変換を行う機能別力・速度割当変換機能と、
前記機能別力・速度割当変換機能によって割り当てられた速度または位置のエネルギーと力のエネルギーとのうち、少なくとも一方に基づいて、速度または位置の制御量と力のエネルギーとの少なくとも一方を算出する位置制御量算出機能と、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合機能と、
を実現させることを特徴とするプログラム。 - コンピュータに、
アクチュエータの作用に基づく位置に関する情報を検出する位置検出機能と、
前記位置に関する情報に対応する速度(位置)及び力の情報と、制御の基準となる情報とに基づいて、実現される機能に合わせて設定されている変換によって、制御エネルギーを速度または位置のエネルギーと力のエネルギーとに割り当てる変換を行う機能別力・速度割当変換機能と、
前記機能別力・速度割当変換機能によって割り当てられた速度または位置のエネルギーに基づいて、速度または位置の制御量を算出する位置制御量算出機能と、
前記機能別力・速度割当変換機能によって割り当てられた力のエネルギーに基づいて、力の制御量を算出する力制御量算出機能と、
前記速度または位置の制御量と前記力の制御量とを統合し、その出力をアクチュエータに戻すべく前記速度または位置の制御量と前記力の制御量とを逆変換して、前記アクチュエータへの入力を決定する統合機能と、
前記アクチュエータの出力に、位置、力及び時間の少なくともいずれかのスケーリングを生じさせるスケーリング機能と、
を実現させることを特徴とするプログラム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/022,878 US10220512B2 (en) | 2013-09-19 | 2014-09-02 | Position/force controller, and position/force control method and program |
JP2015537631A JP6382203B2 (ja) | 2013-09-19 | 2014-09-02 | 位置・力制御装置、位置・力制御方法及びプログラム |
CN201480050960.7A CN105555486B (zh) | 2013-09-19 | 2014-09-02 | 位置/力控制装置、位置/力控制方法 |
EP14846664.2A EP3045271B1 (en) | 2013-09-19 | 2014-09-02 | Position/force controller, and position/force control method and program |
US16/245,843 US10562183B2 (en) | 2013-09-19 | 2019-01-11 | Position/force controller, and position/force control method and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013194704 | 2013-09-19 | ||
JP2013-194704 | 2013-09-19 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/022,878 A-371-Of-International US10220512B2 (en) | 2013-09-19 | 2014-09-02 | Position/force controller, and position/force control method and program |
US16/245,843 Division US10562183B2 (en) | 2013-09-19 | 2019-01-11 | Position/force controller, and position/force control method and storage medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015041046A1 true WO2015041046A1 (ja) | 2015-03-26 |
Family
ID=52688700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2014/073083 WO2015041046A1 (ja) | 2013-09-19 | 2014-09-02 | 位置・力制御装置、位置・力制御方法及びプログラム |
Country Status (5)
Country | Link |
---|---|
US (2) | US10220512B2 (ja) |
EP (1) | EP3045271B1 (ja) |
JP (2) | JP6382203B2 (ja) |
CN (1) | CN105555486B (ja) |
WO (1) | WO2015041046A1 (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106945007A (zh) * | 2015-10-07 | 2017-07-14 | 精工爱普生株式会社 | 机器人***、机器人、以及机器人控制装置 |
WO2017155051A1 (ja) * | 2016-03-09 | 2017-09-14 | 学校法人慶應義塾 | 位置・力制御装置 |
WO2019059403A1 (ja) * | 2017-09-25 | 2019-03-28 | 学校法人慶應義塾 | 食品移載システム及び食品把持装置 |
WO2019117309A1 (ja) * | 2017-12-14 | 2019-06-20 | 学校法人慶應義塾 | 位置・力制御装置 |
WO2019189671A1 (ja) * | 2018-03-28 | 2019-10-03 | 合同会社Re-al | 力触覚伝達システム、力触覚伝達装置、力触覚伝達方法及びプログラム |
WO2019202900A1 (ja) | 2018-04-15 | 2019-10-24 | 国立大学法人埼玉大学 | 行動推定装置、行動推定方法、および行動推定プログラム |
JP2019214085A (ja) * | 2018-06-11 | 2019-12-19 | 株式会社大林組 | 作業機械、作業機械の制御装置及び作業機械の制御方法 |
WO2020008807A1 (ja) * | 2018-07-06 | 2020-01-09 | 地方独立行政法人神奈川県立産業技術総合研究所 | 医療用把持装置 |
WO2020050232A1 (ja) * | 2018-09-03 | 2020-03-12 | 学校法人慶應義塾 | 機能生成装置、機能生成方法及びプログラム |
JP2020062721A (ja) * | 2018-10-17 | 2020-04-23 | 株式会社安川電機 | ロボットシステム及びロボット制御方法 |
WO2020162619A1 (ja) * | 2019-02-07 | 2020-08-13 | 学校法人慶應義塾 | 位置・力制御装置、位置・力制御方法及びプログラム |
JP2020142311A (ja) * | 2019-03-04 | 2020-09-10 | 学校法人慶應義塾 | 把持装置及び把持システム |
WO2021200881A1 (ja) * | 2020-03-31 | 2021-10-07 | 地方独立行政法人神奈川県立産業技術総合研究所 | 医療機器、及び医療用プログラム |
JP2022145767A (ja) * | 2018-06-11 | 2022-10-04 | 株式会社大林組 | 建設機械、建設機械の制御装置及び建設機械の制御方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6169049B2 (ja) * | 2014-06-19 | 2017-07-26 | オリンパス株式会社 | マニピュレータの制御方法、マニピュレータ、およびマニピュレータシステム |
JP7244315B2 (ja) * | 2019-03-19 | 2023-03-22 | 株式会社大林組 | 土層調査装置、土層調査装置の制御装置、土層調査装置の制御方法、及び土層調査方法 |
WO2021172572A1 (ja) * | 2020-02-27 | 2021-09-02 | 学校法人慶應義塾 | 習得支援システム、習得支援方法、及び習得支援プログラム |
JPWO2022004568A1 (ja) * | 2020-06-30 | 2022-01-06 | ||
WO2022196308A1 (ja) * | 2021-03-17 | 2022-09-22 | 学校法人慶應義塾 | データ加工装置、データ加工方法、及びプログラム |
CN113059566A (zh) * | 2021-04-02 | 2021-07-02 | 珞石(山东)智能科技有限公司 | 基于柔性机器人的直接力反馈遥操作方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05150826A (ja) * | 1991-11-26 | 1993-06-18 | Hitachi Constr Mach Co Ltd | ロボツト制御装置 |
JPH07295650A (ja) * | 1994-04-21 | 1995-11-10 | Ricoh Co Ltd | 多関節型ロボットの制御方法 |
JPH10309684A (ja) * | 1997-05-07 | 1998-11-24 | Yaskawa Electric Corp | マニピュレータのコンプライアンス制御方式 |
WO2005109139A1 (ja) | 2003-07-24 | 2005-11-17 | Keio University | 位置・力制御装置 |
JP2009279699A (ja) | 2008-05-21 | 2009-12-03 | Nagaoka Univ Of Technology | 位置・力再現方法および位置・力再現装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5018922A (en) * | 1987-03-26 | 1991-05-28 | Kabushiki Kaisha Komatsu Seisakusho | Master/slave type manipulator |
EP0573657B1 (en) | 1991-11-26 | 1997-08-27 | Hitachi Construction Machinery Co., Ltd. | Robot controller |
US6216056B1 (en) * | 1996-12-16 | 2001-04-10 | Kabushiki Kaisha Sanyo Seiki Seisakusho | Method of controlling force assisting device and control apparatus using the same |
US6243624B1 (en) * | 1999-03-19 | 2001-06-05 | Northwestern University | Non-Linear muscle-like compliant controller |
JP4876246B2 (ja) * | 2006-03-03 | 2012-02-15 | 国立大学法人長岡技術科学大学 | 触覚制御方法および触覚制御装置 |
JP4505618B2 (ja) * | 2007-04-11 | 2010-07-21 | 株式会社日立製作所 | マニピュレータ装置 |
JP4580973B2 (ja) * | 2007-11-29 | 2010-11-17 | オリンパスメディカルシステムズ株式会社 | 処置具システム |
US8120301B2 (en) * | 2009-03-09 | 2012-02-21 | Intuitive Surgical Operations, Inc. | Ergonomic surgeon control console in robotic surgical systems |
CN102686366B (zh) * | 2010-08-31 | 2015-02-25 | 松下电器产业株式会社 | 主从机器人的控制装置及主从机器人的控制装置的控制方法 |
EP2617530B1 (en) * | 2010-11-30 | 2015-11-18 | Olympus Corporation | Master operation input device and master-slave manipulator |
JP6112300B2 (ja) * | 2013-01-10 | 2017-04-12 | パナソニックIpマネジメント株式会社 | マスタースレーブロボットの制御装置及び制御方法、マスタースレーブロボット、並びに、制御プログラム |
-
2014
- 2014-09-02 CN CN201480050960.7A patent/CN105555486B/zh active Active
- 2014-09-02 US US15/022,878 patent/US10220512B2/en active Active
- 2014-09-02 EP EP14846664.2A patent/EP3045271B1/en active Active
- 2014-09-02 WO PCT/JP2014/073083 patent/WO2015041046A1/ja active Application Filing
- 2014-09-02 JP JP2015537631A patent/JP6382203B2/ja active Active
-
2018
- 2018-08-01 JP JP2018144841A patent/JP6598401B2/ja active Active
-
2019
- 2019-01-11 US US16/245,843 patent/US10562183B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05150826A (ja) * | 1991-11-26 | 1993-06-18 | Hitachi Constr Mach Co Ltd | ロボツト制御装置 |
JPH07295650A (ja) * | 1994-04-21 | 1995-11-10 | Ricoh Co Ltd | 多関節型ロボットの制御方法 |
JPH10309684A (ja) * | 1997-05-07 | 1998-11-24 | Yaskawa Electric Corp | マニピュレータのコンプライアンス制御方式 |
WO2005109139A1 (ja) | 2003-07-24 | 2005-11-17 | Keio University | 位置・力制御装置 |
JP2009279699A (ja) | 2008-05-21 | 2009-12-03 | Nagaoka Univ Of Technology | 位置・力再現方法および位置・力再現装置 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3045271A4 |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106945007B (zh) * | 2015-10-07 | 2021-04-23 | 精工爱普生株式会社 | 机器人***、机器人、以及机器人控制装置 |
CN106945007A (zh) * | 2015-10-07 | 2017-07-14 | 精工爱普生株式会社 | 机器人***、机器人、以及机器人控制装置 |
WO2017155051A1 (ja) * | 2016-03-09 | 2017-09-14 | 学校法人慶應義塾 | 位置・力制御装置 |
JPWO2017155051A1 (ja) * | 2016-03-09 | 2019-01-24 | 学校法人慶應義塾 | 位置・力制御装置 |
JP7201313B2 (ja) | 2017-09-25 | 2023-01-10 | 慶應義塾 | 食品移載システム及び食品把持装置 |
WO2019059403A1 (ja) * | 2017-09-25 | 2019-03-28 | 学校法人慶應義塾 | 食品移載システム及び食品把持装置 |
JP2019058967A (ja) * | 2017-09-25 | 2019-04-18 | 学校法人慶應義塾 | 食品移載システム及び食品把持装置 |
JP2019106147A (ja) * | 2017-12-14 | 2019-06-27 | 学校法人慶應義塾 | 位置・力制御装置 |
JP7018759B2 (ja) | 2017-12-14 | 2022-02-14 | 学校法人慶應義塾 | 位置・力制御装置 |
WO2019117309A1 (ja) * | 2017-12-14 | 2019-06-20 | 学校法人慶應義塾 | 位置・力制御装置 |
WO2019189671A1 (ja) * | 2018-03-28 | 2019-10-03 | 合同会社Re-al | 力触覚伝達システム、力触覚伝達装置、力触覚伝達方法及びプログラム |
JP7029521B2 (ja) | 2018-03-28 | 2022-03-03 | 株式会社Re-al | 力触覚伝達システム、力触覚伝達装置、力触覚伝達方法及びプログラム |
JPWO2019189671A1 (ja) * | 2018-03-28 | 2021-11-04 | 株式会社Re−al | 力触覚伝達システム、力触覚伝達装置、力触覚伝達方法及びプログラム |
JPWO2019202900A1 (ja) * | 2018-04-15 | 2021-04-22 | 国立大学法人 筑波大学 | 行動推定装置、行動推定方法、および行動推定プログラム |
US11787037B2 (en) | 2018-04-15 | 2023-10-17 | University Of Tsukuba | Behavior estimation apparatus, behavior estimation method, and behavior estimation program |
JP7246751B2 (ja) | 2018-04-15 | 2023-03-28 | 国立大学法人 筑波大学 | 行動推定装置、行動推定方法、および行動推定プログラム |
WO2019202900A1 (ja) | 2018-04-15 | 2019-10-24 | 国立大学法人埼玉大学 | 行動推定装置、行動推定方法、および行動推定プログラム |
JP2019214085A (ja) * | 2018-06-11 | 2019-12-19 | 株式会社大林組 | 作業機械、作業機械の制御装置及び作業機械の制御方法 |
JP7324561B2 (ja) | 2018-06-11 | 2023-08-10 | 株式会社大林組 | 建設機械、建設機械の制御装置及び建設機械の制御方法 |
JP2022145767A (ja) * | 2018-06-11 | 2022-10-04 | 株式会社大林組 | 建設機械、建設機械の制御装置及び建設機械の制御方法 |
JP7116600B2 (ja) | 2018-06-11 | 2022-08-10 | 株式会社大林組 | 建設機械、建設機械の制御装置及び建設機械の制御方法 |
WO2020008807A1 (ja) * | 2018-07-06 | 2020-01-09 | 地方独立行政法人神奈川県立産業技術総合研究所 | 医療用把持装置 |
JPWO2020050232A1 (ja) * | 2018-09-03 | 2021-11-11 | 学校法人慶應義塾 | 機能生成装置、機能生成方法及びプログラム |
WO2020050232A1 (ja) * | 2018-09-03 | 2020-03-12 | 学校法人慶應義塾 | 機能生成装置、機能生成方法及びプログラム |
JP7369383B2 (ja) | 2018-09-03 | 2023-10-26 | 慶應義塾 | 機能生成装置、機能生成方法及びプログラム |
US11230004B2 (en) | 2018-10-17 | 2022-01-25 | Kabushiki Kaisha Yaskawa Denki | Robot system and robot control method |
JP2020062721A (ja) * | 2018-10-17 | 2020-04-23 | 株式会社安川電機 | ロボットシステム及びロボット制御方法 |
CN111055265A (zh) * | 2018-10-17 | 2020-04-24 | 株式会社安川电机 | 机器人***以及机器人控制方法 |
WO2020162619A1 (ja) * | 2019-02-07 | 2020-08-13 | 学校法人慶應義塾 | 位置・力制御装置、位置・力制御方法及びプログラム |
JP7273451B2 (ja) | 2019-03-04 | 2023-05-15 | 慶應義塾 | 把持装置及び把持システム |
JP2020142311A (ja) * | 2019-03-04 | 2020-09-10 | 学校法人慶應義塾 | 把持装置及び把持システム |
WO2021200881A1 (ja) * | 2020-03-31 | 2021-10-07 | 地方独立行政法人神奈川県立産業技術総合研究所 | 医療機器、及び医療用プログラム |
Also Published As
Publication number | Publication date |
---|---|
CN105555486A (zh) | 2016-05-04 |
JPWO2015041046A1 (ja) | 2017-03-02 |
JP6598401B2 (ja) | 2019-10-30 |
EP3045271B1 (en) | 2022-04-06 |
US20160207196A1 (en) | 2016-07-21 |
US10220512B2 (en) | 2019-03-05 |
JP6382203B2 (ja) | 2018-08-29 |
EP3045271A1 (en) | 2016-07-20 |
US10562183B2 (en) | 2020-02-18 |
JP2019030960A (ja) | 2019-02-28 |
CN105555486B (zh) | 2017-11-07 |
US20190143510A1 (en) | 2019-05-16 |
EP3045271A4 (en) | 2018-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6598401B2 (ja) | 位置・力制御装置、位置・力制御方法及びプログラム | |
Preusche et al. | Teleoperation concepts in minimal invasive surgery | |
CN103192387B (zh) | 机器人及其控制方法 | |
US20060106369A1 (en) | Haptic interface for force reflection in manipulation tasks | |
WO1995020788A1 (en) | Intelligent remote multimode sense and display system utilizing haptic information compression | |
WO2018212259A1 (ja) | ロボットシステム及びロボットシステムの制御方法 | |
Fishel et al. | Tactile telerobots for dull, dirty, dangerous, and inaccessible tasks | |
JP7300508B2 (ja) | ロボットジョイント制御 | |
WO2019150866A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN110119207A (zh) | 基于人体自然信号的虚拟现实机器人交互***及交互方法 | |
JP5974666B2 (ja) | マニピュレーションシステム | |
JP7018759B2 (ja) | 位置・力制御装置 | |
Perreault et al. | A 7-DOF haptics-enabled teleoperated robotic system: Kinematic modeling and experimental verification | |
Sarakoglou et al. | Integration of a tactile display in teleoperation of a soft robotic finger using model based tactile feedback | |
WO2020042148A1 (zh) | 基于磁导航传感的微创手术机器人主操作手及*** | |
WO2020054268A1 (ja) | 情報処理装置、ロボットハンド制御システム、及びロボットハンド制御プログラム | |
KR20240049145A (ko) | 모션 추적 및 조작 인터페이스, 이를 포함하는 장치 및 시스템 | |
Li et al. | Force Sensations of Delayed Telerobotic System with Kalman Filter | |
Lim et al. | Towards hapticsenabled robotic surgery system | |
Yang et al. | The effect of manipulator gripper stiffness on teleoperated task performance | |
Yaqoob et al. | Low cost tactile, force and size feedback system for surgical robotics | |
Liu et al. | A master-slave telesurgery simulator with force-feedback | |
Al-Mouhamed et al. | Force-Based Compliant Behaviors to Augment Telerobotics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201480050960.7 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14846664 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 15022878 Country of ref document: US |
|
ENP | Entry into the national phase |
Ref document number: 2015537631 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
REEP | Request for entry into the european phase |
Ref document number: 2014846664 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014846664 Country of ref document: EP |