Robot device
The robotic device addresses inappropriate force control by switching between detected and estimated external force values, enhancing precision and comfort in operation by adjusting force input, thus preventing motor torque exceedance.
Patent Information
- Application Number
- PCT/JP2024/006058
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-20
- Publication Date
- 2025-08-28
AI Technical Summary
Existing robotic devices face issues with inappropriate force control due to misalignment between the direction of external force detection and the moment direction of the force sensor, leading to discomfort for operators and potential motor torque exceedance.
The robotic device incorporates a force sensor that detects external forces and switches between detected and estimated external force values, using torque and rotational speed of the motor to ensure appropriate force control, particularly on axes with different moment directions.
This approach allows for more precise and comfortable force control, preventing motor torque exceedance and ensuring smooth operation by adjusting force input based on detected and estimated values.
Smart Images

Figure JP2024006058_28082025_PF_FP_ABST
Abstract
Description
robotic device
[0001] This specification discloses a robotic device.
[0002] A robot device has been proposed that includes an arm, a force sensor attached to the tip of the arm, and a control device that controls the arm (see, for example, Patent Document 1). The arm includes a first arm connected to a base and swiveling horizontally, a first arm drive device that drives the first arm, a second arm connected to the tip of the first arm and swiveling horizontally, and a second arm drive device that drives the second arm. The arm further includes a three-axis rotary mechanism connected to the tip of the second arm via an attitude-maintaining axis and having mutually orthogonal first, second, and third axes (including an end effector driven by the third axis), and first, second, and third rotary drive devices that rotate the first, second, and third axes. The force sensor is attached to the third axis and detects force components acting in the X, Y, and Z axial directions and torque components acting around each axis. The control device acquires the magnitude and direction of the external force detected by the force sensor when the operator manually operates the arm, and controls the motors of the first arm drive device, the second arm drive device, and the first to third rotation drive devices so that an assist force corresponding to the magnitude of the acquired external force acts in the direction of the external force.
[0003] International Publication No. 2023 / 275989
[0004] In the robotic device described above, the drive unit (motor) receives a load torque due to an operational force applied to the arm by an operator. When an external force is input and a command value is generated by control to control the drive unit, the drive unit that receives the load torque due to the operational force typically corresponds to the drive unit that generates a command value from the operational force (external force). A command value is then generated for the drive unit to release the operational force (external force), thereby reducing the load torque received by the drive unit. However, depending on the configuration of the arm, a detection value from the force sensor may not be received by the drive unit that receives the load torque due to the operational force on an axis with a different moment direction from the force sensor. In this case, a command value in a direction to release the operational force is not generated for the drive unit, preventing appropriate force control, which may cause discomfort to the operator operating the arm or the motor torque to exceed the output limit value.
[0005] The present disclosure has a primary object to input an appropriate external force to more appropriately control force in a device that performs force control by inputting an operating force applied to an arm as an external force.
[0006] The present disclosure has adopted the following means to achieve the above-mentioned main object.
[0007] The robot device of the present disclosure comprises an arm; a motor that drives the arm; a force sensor that is installed on an end effector of the arm and that detects an external force; a control unit that inputs an external force and controls the motor by force control in a mode in which an operator applies an operating force to the arm to change the position or posture of the arm; and a switching unit that switches between a detected external force value detected by the force sensor and an estimated external force value that is estimated from at least one of the torque and rotational speed of the motor and inputs the detected external force value to the control unit.
[0008] In the robot device disclosed herein, by switching between a detected external force value and an estimated external force value, it is possible to input an appropriate external force to the control unit, thereby enabling more appropriate force control according to the operating force applied to the arm by the operator.
[0009] 1 is a perspective view of the appearance of a robot system according to an embodiment of the present invention. FIG. 2 is a schematic configuration diagram of a robot. FIG. 3 is a schematic configuration diagram of a tip portion of a robot. FIG. 4 is a cross-sectional view of the tip portion of a robot. FIG. 5 is an explanatory diagram showing an end effector coordinate system. FIG. 6 is a block diagram showing the electrical connection relationship of the robot system. FIG. 7 is a control block diagram of a robot. FIG. 8 is an explanatory diagram of a virtual impedance model of a force controller. FIG. 9 is a flowchart showing an example of force input switching processing. FIG. 10 is an explanatory diagram showing a load torque acting on the J5 axis in response to an operation force applied to an arm in the RZ- direction. FIG. 11 is an explanatory diagram showing the relationship between the RA moment defined by the force sensor and the RA moment defined by the J5 axis. FIG. 12 is a flowchart showing an example of direct teaching control processing. FIG. 13 is an explanatory diagram of a virtual impedance model of a force controller used when a robot exceeds a position limit. FIG. 14 is an explanatory diagram of a virtual impedance model of a force controller used during termination of direct teaching mode. FIG. 15 is an explanatory diagram showing an example of an operation sensitivity model related to a damper element. FIG. 16 is a flowchart showing an example of an operation sensitivity setting processing. FIG. 17 is an explanatory diagram showing an example of a state transition diagram of a robot. FIG. 18 is an explanatory diagram showing an operation sensitivity model for each state value.
[0010] Next, embodiments of the present disclosure will be described with reference to the drawings.
[0011] FIG. 1 is an external perspective view of a robot system 10 according to this embodiment. FIG. 2 is a schematic diagram of a robot 20. FIG. 3 is an enlarged view of the tip of the robot 20. FIG. 4 is a cross-sectional view of the tip of the robot 20. FIG. 5 is an explanatory diagram showing an end effector coordinate system. FIG. 6 is a block diagram showing the electrical connections of the robot system 10. In FIG. 1, the front-to-rear direction is the RX axis, the left-to-right direction is the RY axis, and the up-down direction is the RZ axis.
[0012] As shown in FIG. 1, the robot system 10 of this embodiment is a system including a robot 20 including an articulated robot arm 21, and in this embodiment, is used in combination with an ultrasound diagnostic device 100.
[0013] The robot system 10 holds an ultrasonic probe 101 on the end effector unit 60 of the robot 20, and controls the robot 20 to move while applying the ultrasonic probe 101 to the surface of the human body, thereby causing the ultrasonic diagnostic device 100 to acquire ultrasonic echo images of the human body. The robot system 10 is used as an ultrasonic echo guide during surgery, such as catheter surgery. An operator (surgeon) operating a catheter guidewire instructs the robot 20 to apply the ultrasonic probe 101 to the surface of the human body (patient). The operator advances the guidewire while recognizing the positional relationship between the tip of the guidewire and the blood vessel from the obtained ultrasonic echo image, thereby accurately passing the guidewire through the center of an occluded or narrowed portion of the blood vessel. As a preliminary step, the operator manually operates the robot arm 21, applies the ultrasonic probe 101 held by the robot arm 21 to the patient, and while checking the obtained ultrasonic echo image, determines points (images) to be reproduced during surgery and performs direct teaching, registering the points (images) in the robot 20 (robot control device 80).
[0014] 1 , the ultrasound diagnostic device 100 includes an ultrasound probe 101 and an ultrasound diagnostic device main body 110 connected to the ultrasound probe 101 via a cable 102. The ultrasound diagnostic device main body 110 processes the received signal from the ultrasound probe 101 to generate an ultrasound echo image, and displays the ultrasound echo image on an image display unit 113.
[0015] As shown in Figures 1 and 2, the robot 20 includes a base 25, a multi-joint robot arm 21 installed on the base 25, a force sensor 70, a robot control device 80 that controls the robot arm 21, and an operation panel 90 that displays various information and allows an operator to perform various input operations.
[0016] In this embodiment, the robot arm 21 is a seven-axis articulated arm, and as shown in Figures 1 and 2, has a first arm 22, a second arm 23, a base 24, a first arm driving device 35, a second arm driving device 36, an attitude holding device 37, a lifting device 40, a three-axis rotation mechanism 50, and an end effector unit 60.
[0017] As shown in FIG. 2 , the base 24 is installed so as to be movable up and down relative to the base 25 by an elevator device 40. The elevator device 40 includes a slider 41 fixed to the base 24, a guide member 42 extending vertically to guide movement of the slider 41, a ball screw shaft 43 (elevation shaft, J1 axis) extending vertically and threadedly engaged with a ball screw nut (not shown) fixed to the slider 41, and an elevator drive device 44 that rotates and drives the ball screw shaft 43. The elevator drive device 44 includes a motor 44a, an encoder 44b that detects the amount of rotational displacement of the motor 44a, and an amplifier 44c that serves as a drive circuit for the motor 44a. The elevator device 40 moves the base 24 fixed to the slider 41 up and down along the guide member 42 by rotating and driving the ball screw shaft 43 using the motor 44a of the elevator drive device 44.
[0018] 1 and 2 , the first arm 22 is rotatably connected to the base 24 via a first arm joint shaft 31 (J2 axis) extending in the vertical direction (Z-axis direction). The first arm driving device 35 includes a motor 35a, an encoder 35b that detects the amount of rotational displacement of the motor 35a, and an amplifier 35c that serves as a drive circuit for the motor 35a. The rotation shaft of the motor 35a of the first arm driving device 35 is connected to the first arm joint shaft 31 via a reducer (not shown). The first arm driving device 35 rotates (pivots) the first arm 22 along a horizontal plane (XY plane) around the first arm joint shaft 31 as a fulcrum by driving the first arm joint shaft 31 with the motor 35a.
[0019] As shown in Figures 1 and 2, the second arm 23 is rotatably connected to the tip of the first arm 22 via a second arm joint shaft 32 (J3 axis) extending in the vertical direction. The second arm driving device 36 includes a motor 36a, an encoder 36b that detects the rotational displacement of the motor 36a, and an amplifier 36c that serves as a drive circuit for the motor 36a. The rotation shaft of the motor 36a of the second arm driving device 36 is connected to the second arm joint shaft 32 via a reducer (not shown). The second arm driving device 36 rotates (swivels) the second arm 23 along a horizontal plane around the second arm joint shaft 32 as a fulcrum by rotating the second arm joint shaft 32 with the motor 36a.
[0020] As shown in FIGS. 1 and 2 , the three-axis rotation mechanism 50 is rotatably connected to the tip of the second arm 23 via an attitude-maintaining shaft 33 (J4 axis) extending in the vertical direction. The three-axis rotation mechanism 50 includes a first rotation shaft 51 (J5 axis), a second rotation shaft 52 (J6 axis), and a third rotation shaft 53 (J7 axis) that are perpendicular to one another, a first rotation device 55 that rotates the first rotation shaft 51, a second rotation device 56 that rotates the second rotation shaft 52, and a third rotation device 57 that rotates the third rotation shaft 53. The first rotation shaft 51 is supported in an orthogonal orientation with respect to the attitude-maintaining shaft 33. The second rotation shaft 52 is supported in an orthogonal orientation with respect to the first rotation shaft 51. The third rotation shaft 53 is supported in an orthogonal orientation with respect to the first rotation shaft 51 and the second rotation shaft 52. The first rotation device 55 includes a motor 55a, an encoder 55b that detects the amount of rotational displacement of the motor 55a, and an amplifier 55c that serves as a drive circuit for the motor 55a. The second rotation device 56 includes a motor 56a, an encoder 56b that detects the amount of rotational displacement of the motor 56a, and an amplifier 56c that serves as a drive circuit for the motor 56a. The third rotation device 57 includes a motor 57a, an encoder 57b that detects the amount of rotational displacement of the motor 57a, and an amplifier 57c that serves as a drive circuit for the motor 57a.
[0021] As shown in FIG. 4 , the third rotation device 57 is accommodated in a housing 69. The housing 69 is a box-shaped member and is supported (fixed) on the second rotation shaft 52. The third rotation shaft 53 is supported on the housing 69 via a bearing B1 so as to be rotatable perpendicular to the second rotation shaft 52. The motor 57a is fixed to the housing 69 so that its rotation shaft is parallel to the third rotation shaft 53. The rotation shaft of the motor 57a is connected to a transmission shaft 59 via a belt 58 (power transmission member). The transmission shaft 59 is hollow and supported on the housing 69 via a bearing B2 so as to be rotatable coaxially with the third rotation shaft 53. The transmission shaft 59 is connected to the third rotation shaft 53 (end effector unit 60) via a force sensor 70. As a result, power output from the motor 57a is transmitted to the third rotation shaft 53 (end effector unit 60) via the belt 58, the transmission shaft 59, and the force sensor 70, in that order.
[0022] In this embodiment, the force sensor 70 is a six-axis force sensor. It detects external forces acting on the robot arm 21, including force components acting in the RX-axis, RY-axis, and RZ-axis directions in an orthogonal coordinate system (end effector coordinate system) centered on the end effector unit 60, as well as torque components acting around the RY-axis (RA direction), the RX-axis (RB direction), and the RZ-axis (RC direction). The force sensor 70 includes an acting unit 71 on which a force acts, an annular support unit 72 that supports the acting unit 71 on its inner periphery, and a detection unit (not shown) disposed between the acting unit 71 and the support unit 72 that detects the force acting on the acting unit 71. The hollow transmission shaft 59 is connected to the annular support unit 72, and the third rotation shaft 53 is connected to the acting unit 71.
[0023] The housing 69 is also provided with an operating handle 65 that is gripped by an operator when manually operating the robot arm 21 during direct teaching. One end of a handle shaft 66 is connected to the operating handle 65. The handle shaft 66 is inserted through a hollow transmission shaft 59 coaxially with the third rotation shaft 53. The other end of the handle shaft 66 is connected to an acting portion 71 of a force sensor 70.
[0024] The end effector unit 60 is a holding unit that holds the ultrasonic probe 101. The end effector unit 60 has the above-mentioned third rotation axis 53, a direct teaching switch 61 that is pressed by an operator when the operator requests the execution of direct teaching, and a gripping unit 62 that is held by the operator when the operator manually operates the robot arm 21 during direct teaching. The direct teaching switch 61 is provided on the gripping unit 62.
[0025] The robot 20 of this embodiment operates the robot arm 21 by a combination of translational motion in three directions, the RX-axis direction, the RY-axis direction, and the RZ-axis direction, performed by the first arm driving device 35, the second arm driving device 36, and the elevator device 40, and rotational motion in three directions, the RA direction (pitching), the RB direction (rolling), and the RC direction (yawing), performed by the three-axis rotation mechanism 50. As a result, the robot 20 can move the end effector unit 60 (ultrasonic probe 101) in each of the RX-axis, RY-axis, and RZ-axis directions (both forward and reverse directions) and rotate it in the RA direction, RB direction, and RC direction (both forward and reverse rotation directions), as shown in FIG.
[0026] The attitude holding device 37 holds the attitude of the three-axis rotation mechanism 50 (the orientation of the first rotation shaft 51) in a fixed direction regardless of the attitudes of the first arm 22 and the second arm 23. The attitude holding device 37 includes a motor 37a, an encoder 37b that detects the rotational displacement of the motor 37a, and an amplifier 37c that serves as a drive circuit for the motor 37a. The rotation shaft of the motor 37a is connected to the attitude holding shaft 33 via a reducer (not shown). The attitude holding device 37 sets a target rotation angle of the attitude holding shaft 33 based on the rotation angles of the first arm joint shaft 31 and the second arm joint shaft 32 so that the axial direction of the first rotation shaft 51 is always aligned with the RY axis direction (left-right direction), and drives and controls the motor 37a so that the attitude holding shaft 33 reaches the target rotation angle. This allows the translational motion in three directions and the rotational motion in three directions to be controlled independently, making control easier.
[0027] In the robot 20 of this embodiment, the rotation axis of the end effector unit 60 is the third rotation axis 53, and an end of the third rotation axis 53 is connected to an acting portion 71 of the force sensor 70. Furthermore, the operating handle 65 is connected to one end of a handle shaft 66, and the other end of the handle shaft 66 is connected to the acting portion 71 of the force sensor 70. In other words, the force sensor 70 is configured so that forces from both the end effector unit 60 and the operating handle 65 act on the acting portion 71. Therefore, when the operator manually operates the robot arm 21, the operating force applied by the operator can be detected by the single force sensor 70 whether the operator is gripping the end effector unit 60 (ultrasonic probe 101) or the operating handle 65.
[0028] The operation panel 90 is a touch panel display that displays various information related to the robot system 10 and allows various instructions to be input to the robot system 10. In this embodiment, the operation panel 90 is installed on the top surface of the housing 29 that houses the lifting device 40 of the robot 20 and the robot control device 80.
[0029] As shown in FIG. 6 , the robot control device 80 includes a robot control unit 81, an IO unit 84, a communication unit 85, and a storage unit 86. The robot control unit 81 is configured as a processor including a CPU, ROM, RAM, peripheral circuits, etc. The robot control unit 81 performs various processes related to the control of the robot arm 21 (motors 35 a to 37 a, 44 a, 55 a to 57 a). The IO unit 84 is an I / O port that receives detection signals from the direct teaching switch 61, detection signals from the force sensor 70, detection signals from the encoders 35 b to 37 b, 44 b, 55 b to 57 b, and operation signals from the operation panel 90. The IO unit 84 also outputs control signals to the amplifiers 35 c to 37 c, 44 c, 55 c to 57 c, display signals to the operation panel 90, etc. The communication unit 85 communicates between the robot control device 80 and external devices via wired or wireless means, and exchanges various signals and data.
[0030] In this embodiment, the robot control unit 81 controls the movement of the robot 20 in response to operation by an operator through impedance control (position-control-based force control in this embodiment) in direct teaching. FIG. 7 is a control block diagram of the robot. As shown in FIG. 7, in this embodiment, the robot control unit 81 has, as control blocks, a force controller 82 and a position controller 83. The force controller 82 inputs the external forces of each axis detected by the force sensor 70 (6-axis force sensor), and generates position command values Poscmd for the joint axes (J1, J2, J3, J5, J6, and J7 axes) corresponding to the input external forces of each axis. Furthermore, the position controller 83 generates a torque command Torcmd for each joint axis (J1, J2, J3, J5, J6, J7 axes) by feedback control (proportional-plus-integral control) based on the deviation between the position command value Poscmd of each joint axis and the detected position of the corresponding joint axis (detection value from encoders 44b, 35b, 36b, 55b to 57b). The torque command Torcmd for each joint axis is output to a corresponding amplifier (amplifier 44c, 35c, 36c, 55c to 57c). Each amplifier then controls the corresponding motor 44a, 35a, 36a, 55a to 57a, thereby controlling the operation of the robot 20 (robot arm 21).
[0031] 8A and 8B , the force controller 82 is configured using a virtual impedance model that sets a combination of a mass element (M) and a damper element (D) as the mechanical impedance characteristics of the end effector unit 60 of the robot 20, and sequentially generates a velocity command (movement amount command) Velcmd and a position command Poscmd for the mass element (M) in response to an external force (force input) applied to the mass element (M). The damper element (D) is configured so that a force (damping force) obtained by multiplying the velocity command Velcmd by the virtual viscosity D is fed back to the input side. As a result, the force controller 82 sets a position command Poscmd for an axis that receives a load torque due to the external force (operator's operating force) in a direction that reduces the load on that axis. Note that the force controller 82 adds a spring element (K) depending on the conditions as the mechanical impedance characteristics of the end effector unit 60, and details of this will be described later.
[0032] Next, the operation of the robot 20 configured as described above will be described. In particular, the force control of the J5 axis during direct teaching will be described. Figure 9 is a flowchart showing an example of the force input switching process executed by the CPU of the robot control unit 81. This process is repeatedly executed at predetermined time intervals while the direct teaching mode is being executed. The direct teaching mode is a mode that is activated when the direct teaching switch 61 is pressed by the operator.
[0033] In the force input switching process, the robot control unit 81 (CPU) first acquires the torque command Torcmd5 for the J5 axis (S100) and determines whether the acquired torque command Torcmd5 for the J5 axis is less than the limit torque Tlim (S102). The limit torque Tlim is set to a torque slightly smaller than the output limit value of the motor 55a that drives the J5 axis (first rotation axis 51). If the robot control unit 81 determines that the torque command Torcmd5 is less than the limit torque Tlim, it determines whether the force input switching flag F is set to 1 (S104). Here, the force input switching flag F is a flag for switching the external force input to the force controller 82, and is initially set to 0.
[0034] When the robot control unit 81 determines that the force input switching flag F is equal to the value 0, it acquires the external force in the RA direction detected by the force sensor 70 (detected external force value Fordet5) (S110), sets the acquired detected external force value Fordet5 as the force input value of the force controller 82 (S112), and terminates this processing.
[0035] If the robot control unit 81 determines in S102 that the torque command Torcmd5 is equal to or greater than the limit torque Tlim, it determines whether the force input switching flag F is equal to 0 (S114). If the robot control unit 81 determines that the force input switching flag F is equal to 0, it sets the force input switching flag F to 1 (S116) and proceeds to S118. If the robot control unit 81 determines that the force input switching flag F is equal to 1, it skips S116 and proceeds to S118. Next, the robot control unit 81 acquires a J5 encoder value Enc5 (amount of rotational displacement) detected by the J5-axis encoder 55b (S118), and calculates a torque Tor5 of the J5 axis estimated from the acquired J5 encoder value Enc5 by a differential operation or the like (S120). Then, the robot control unit 81 calculates an estimated external force value Forest5 of the J5 axis based on the difference between the torque command Torcmd5 acquired in S100 and the torque Tor5 calculated in S120 (S122), sets the calculated estimated external force value Forest5 as the force input value of the force controller 82 (S124), and ends this process.
[0036] After setting the estimated external force value Forest5 as the force input value of the force controller 82, if the robot control unit 81 determines in S102 that the torque command Torcmd5 is less than the limit torque Tlim, it determines in S104 that the force input switching flag F is equal to 1, and therefore determines whether a certain time has elapsed since the torque command Torcmd5 became less than the limit torque Tlim (S106). If the robot control unit 81 determines that a certain time has not elapsed since the torque command Torcmd5 became less than the limit torque Tlim, it continues to set the estimated external force value Forest5 as the force input value of the force controller 82 (S118 to S124), and ends this process. On the other hand, when the robot control unit 81 determines that a certain time has elapsed since the torque command Torcmd5 became less than the limit torque Tlim, it acquires the detected external force value Fordet5 from the force sensor 70 and sets the acquired detected external force value Fordet5 as the force input value of the force controller 82 (S110, S112), and terminates this processing.
[0037] In this embodiment, the robot control unit 81 always sets the external force detected by the force sensor 70 as the force input value of the force controller 82 for the axes other than the J5 axis (J1 axis, J2 axis, J3 axis, J5 axis, J6 axis, and J7 axis) excluding the posture maintaining axis (J4 axis). However, the force input value of the force controller 82 may be switched between the detected external force value and the estimated external force value as needed.
[0038] Direct teaching is performed by the operator gripping the operating handle 65 or the end effector unit 60 (ultrasonic probe 101) and moving it to a desired position. The force controller 82 (force control) typically uses the external force value Fordet detected by the force sensor 70 as a force input value to generate a position command Poscmd for each axis in a direction that reduces the load on the axis that receives a load torque due to the external force. However, if the direction of the moment of the joint axis differs from the direction of the moment of the force sensor 70, the following problem occurs.
[0039] Now, consider a case where the operator applies an operating force to the end effector unit 60 or the operating handle 65 in the RZ- direction (downward in the figure), as shown in FIG. 10 . In this case, a load torque acts around the J5 axis. The force controller 82 normally generates a position command Poscmd for the J5 axis using the external force value Fordet5 detected in the RA direction by the force sensor 70 as a force input value. However, as shown in FIG. 11 , the direction of the moment about the J5 axis is different from the direction of the moment of the force sensor 70 (RA direction). Therefore, even if the operator applies an operating force in the RZ- direction to the end effector unit 60 or the operating handle 65, no external force is input in the RA direction of the force sensor 70. Therefore, the force controller 82 cannot generate a position command Poscmd for the J5 axis that relieves the load torque that the J5 axis receives in response to an external force (operating force) in the RZ- direction. In this case, the position controller 83 needs to set the torque command Torcmd5 so that the first rotation device 55 compensates for the load torque of the J5 axis, which could cause the torque of the motor 55a to exceed the output limit value. In this embodiment, when the torque command Torcmd5 for the J5 axis becomes equal to or greater than the limit torque Tlim, the robot control unit 81 switches the force input of the force controller 82 from the detected external force value Fordet5 to the estimated external force value Forest5. This allows the force controller 82 to generate a position command Poscmd5 in a direction that reduces the load on the J5 axis, which receives the load torque. As a result, the first rotation device 55 does not need to compensate for the load torque, which can prevent the torque of the motor 55a from exceeding the output limit value and causing a torque error.
[0040] Furthermore, after switching the force input value of the force controller 82 to the estimated external force value Forest5, the robot control unit 81 continues to set the estimated external force value Forest5 as the force input value of the force controller 82 until a certain time has elapsed, even if the torque command Torcmd5 becomes less than the limit torque Tlim, and after the certain time has elapsed, it returns the force input value of the force controller 82 to the detected external force value Fordet5. This makes it possible to prevent the force input value from frequently switching between the detected external force value Fordet5 and the estimated external force value Forest5. In addition, after switching the force input value of the force controller 82 to the estimated external force value Forest5, the robot control unit 81 may continue to set the estimated external force value Forest5 as the force input value of the force controller 82 until the torque command Torcmd5 becomes less than the release torque which is smaller than the limit torque Tlim, and when the torque command Torcmd5 becomes less than the release torque, return the force input value of the force controller 82 to the detected external force value Fordet5.
[0041] Next, a case where a spring element (K) is added to the virtual impedance model of the force controller 82 will be described. In the direct teaching mode, a monitoring area is predetermined with respect to a base coordinate system (BX axis, BY axis, BZ axis), which is an orthogonal coordinate system with the base 25 as the origin. The robot control unit 81 controls the operation of the robot 20 so that the end effector unit 60 (ultrasonic probe 101) does not exceed the boundary (position limit) of the monitoring area. FIG. 12 is a flowchart showing an example of a direct teaching control process executed by the robot control unit 81 (CPU). This process is executed repeatedly at predetermined time intervals.
[0042] When the direct teaching control process is executed, the robot control unit 81 (CPU) determines whether the direct teaching switch 61 is turned on (S200). If the robot control unit 81 determines that the direct teaching switch 61 is turned on, it sets the mode AM to a value of 1 (S202). In this embodiment, the mode AM is set to any of the values 0, 1, and 2. A mode AM value of 1 indicates that the direct teaching mode is being executed, and a mode AM value of 2 indicates that the direct teaching mode is being terminated. A mode AM value of 0 indicates that the direct teaching mode is neither being executed nor being terminated. Next, the robot control unit 81 calculates the possible movement amount Thr of the end effector unit 60 from the current coordinates relative to the position limit (S204). Specifically, the robot control unit 81 acquires the current coordinates (X, Y, Z) of the end effector unit 60 in the base coordinate system and calculates the distance from the acquired current coordinates (X, Y, Z) to the position limit in the movement direction of the end effector unit 60 as the available movement amount Thr. The robot control unit 81 then acquires a movement amount command (speed command) Velcmd per control cycle of this process (S206) and determines whether the acquired movement amount command Velcmd is greater than the available movement amount Thr (S208). If the robot control unit 81 determines that the movement amount command Velcmd is equal to or less than the available movement amount Thr, it terminates this process. On the other hand, if the robot control unit 81 determines that the movement amount command Velcmd is greater than the available movement amount Thr, it switches the virtual impedance model to a model to which a spring element K1 is added so that a restoring force acts on the integral value of the amount exceeding the limit (S210), and terminates this process.
[0043] FIG. 13 is an explanatory diagram of a virtual impedance model of the force controller 82 used when the robot 20 exceeds a position limit. When the robot 20 (end effector unit 60) does not exceed the position limit, the force controller 82 uses the above-mentioned virtual impedance model (see FIGS. 8A and 8B) consisting of a mass element (M) and a damper element (D). On the other hand, when the robot arm 21 (end effector unit 60) exceeds the position limit, the force controller 82 uses a virtual impedance model (see FIGS. 13A and 13B) in which a spring element (K1) is added in parallel with the damper element (D). The transfer function G(s) is shown in the following equation (1). The spring element (K1) is configured so that a force (restoring force) obtained by multiplying the integral of the limit excess amount, which is obtained by subtracting the available movement amount Thr from the movement amount command Velcmd, by the virtual stiffness K1 is fed back to the input side. As a result, the greater the amount by which the limit is exceeded, the stronger the restoring force acts, making it possible to gently brake the robot arm 21 that has exceeded the position limit. After braking, the robot arm 21 can be pushed back into the monitoring area in a controlled manner, and finally stopped at the position limit.
[0044]
[0045] On the other hand, if the robot control unit 81 determines in S200 that the direct teaching switch 61 is not on, it determines whether the mode AM is set to 1, i.e., whether the direct teaching mode is being executed (S212). If the robot control unit 81 determines that the mode AM is set to 1, it sets the mode AM to 2 (direct teaching mode is ending) (S214) and sets the current coordinates of the robot 20 (end effector unit 60) calculated based on the detection values from the encoders 35b-37b, 44b, and 55b-57b as the switching timing coordinates (S216). Next, the robot control unit 81 sets the force input value to zero (S218) and acquires the movement amount command Velcmd for the robot 20 (S220). The robot control unit 81 then switches the virtual impedance model to a model to which a spring element K2 is added so that a restoring force acts on the integral value of the movement amount command Velcmd with respect to the switching timing coordinates (S222), and ends this process.
[0046] FIG. 14 is an explanatory diagram of the virtual impedance model of the force controller 82 used during the end of the direct teaching mode. During the end of the direct teaching mode, the force controller 82 uses a virtual impedance model in which a spring element (K2) is added in parallel with a damper element (D). The transfer function G(s) is shown in the following equation (2). The spring element (K2) is configured so that a force (restoring force) obtained by multiplying the integral value of the movement amount command Velcmd from the switching timing coordinate by the virtual stiffness K2 is fed back to the input side. As a result, the restoring force acts more strongly the further away from the switching timing coordinate, so that the robot arm 21 that has passed the switching timing coordinate can be gently braked. After braking, the robot arm 21 can be pushed back to the switching timing coordinate in a controlled manner and ultimately stopped at the switching timing coordinate.
[0047]
[0048] If the robot control unit 81 determines in S100 that the direct teaching switch 61 is not on and determines in S212 that the mode AM is not set to 1, it determines whether the mode AM is set to 2, i.e., whether direct teaching is currently being terminated (S224). If the robot control unit 81 determines that the mode AM is set to 2, it determines whether a certain period of time has elapsed since the direct teaching mode was switched from being active to being terminated (S226). Here, the certain period of time is the time required to terminate the direct teaching mode and is predetermined. Note that the processing of S226 may be performed by determining whether the current coordinates of the robot arm 21 have returned to the coordinates at the switching timing. If the robot control unit 81 determines that the certain period of time has not elapsed, it repeatedly executes the processing during the termination of the direct teaching mode (S218 to S222). On the other hand, if the robot control unit 81 determines that the certain period of time has elapsed, it sets the mode AM to 0 (S228) and terminates this processing. Furthermore, if the robot control unit 81 determines in S224 that the mode AM is not the value 2, the mode AM is the value 0, and therefore the process ends.
[0049] Next, the damper element (D) of the virtual impedance model of the force controller 82 will be described. FIG. 15 is an explanatory diagram showing an example of an operation sensitivity model related to the damper element. The operation sensitivity model defines the operation feel of the operator in direct teaching. In this embodiment, as shown in FIG. 15, the operation sensitivity model is defined as Vmax / Vmax (proportional relationship), where Vmax is the maximum speed of the robot arm 21 and Fmax is the maximum operation force required to output the maximum speed Vmax. This makes it possible to set the speed at which the robot arm 21 moves when a certain amount of operation force is applied, and by adjusting the slope of the relationship, the operation feel provided to the operator can be freely controlled.
[0050] Here, the transfer function G(s) of the virtual impedance model can be expressed by the following equation (3). In equation (3), M is the virtual mass, D is the virtual viscosity, Vmax is the maximum speed [m / s], Fmax is the maximum operating force [N], and ω is the natural angular frequency [Hz]. According to the final value theorem, the virtual viscosity D is defined by the following equation (4). Furthermore, by comparing coefficients, the virtual mass M is defined by the following equation (5). This allows the operation sensitivity model to be reflected in the parameters of the virtual impedance model. Then, by adjusting these parameters, the operating feel provided to the operator can be numerically adjusted. For example, by lowering the virtual viscosity D (Fmax), the robot arm 21 can be operated at a high speed with a low operating force. As a result, the controller can be designed relatively easily.
[0051]
[0052] 16 is a flowchart showing an example of an operation sensitivity setting process executed by the robot control unit 81 (CPU). This process is repeatedly executed at predetermined time intervals in the direct teaching mode.
[0053] When the operation sensitivity setting process is executed, the robot control unit 81 first acquires the external force For based on the detection value of the force sensor 70 and the arm velocity V (velocity of the robot arm 21) based on the detection values of the encoders 44b, 35b, 36b, 55b to 57b (S300). Next, the robot control unit 81 determines whether the current state value C is 0 (S302). Here, the state value C indicates the operating state of the robot 20 (robot arm 21). In this embodiment, the states of the robot 20 include stopped and operating, and the operating states include low-speed operation, medium-speed operation, and high-speed operation. A state value C of 0 indicates stopped. A state value C of any of 1 to 3 indicates operating. A state value C of 1 indicates low-speed operation, a state value C of 2 indicates medium-speed operation, and a state value C of 3 indicates high-speed operation. The operation may include only two states, low speed operation and high speed operation, or may include four or more states.
[0054] If the robot control unit 81 determines that the current state value C is 0, i.e., that the robot arm 21 is stopped, it determines whether the external force For acquired in S300 is greater than the external force threshold value F1 (S304). If the robot control unit 81 determines that the external force For is greater than the external force threshold value F1, it sets the state value C to 1 (moving at low speed) (S306) and proceeds to S330, but if it determines that the external force For is equal to or less than the external force threshold value F1, it proceeds to S330 while maintaining the state value C at 0 (stopped).
[0055] If the robot control unit 81 determines that the current state value C is not 0, i.e., that the robot arm 21 is in operation, it determines whether the external force For acquired in S300 is less than an external force threshold F0, which is smaller than the external force threshold F1 (SS08). If the robot control unit 81 determines that the external force For is less than the external force threshold F0, it sets the state value C to 0 (stopped) (S310) and proceeds to S330, and if it determines that the external force For is equal to or greater than the external force threshold F0, it proceeds to S312.
[0056] Next, the robot control unit 81 determines whether the current status value C is 1 (operating at a low speed) (S312) or 2 (operating at a medium speed) (S314). If the robot control unit 81 determines that the current status value C is 1 (operating at a low speed), it determines whether the arm speed V acquired in S300 is greater than a speed threshold V2 (S316). The speed threshold V2 is a threshold for determining whether the robot arm 21 is operating at a medium speed. If the robot control unit 81 determines that the arm speed V is greater than the speed threshold V2, it sets the status value C to 2 (operating at a medium speed) (S318) and proceeds to S330. If the robot control unit 81 determines that the arm speed V is equal to or less than the speed threshold V2, it maintains the status value C at 1 (operating at a low speed) and proceeds to S330.
[0057] If the robot control unit 81 determines in S314 that the current status value C is value 2 (operating at a medium speed), it determines whether the arm speed V acquired in S300 is greater than a speed threshold V3 (S320) and whether it is less than a speed threshold V1 (S322). Here, the speed threshold V3 is a threshold for determining whether the robot arm 21 is operating at a high speed and is set to a value greater than the speed threshold V2. The speed threshold V1 is a threshold for determining whether the robot arm 21 is operating at a low speed and is set to a value less than the speed threshold V2. If the robot control unit 81 determines that the arm speed V is greater than the speed threshold V3, it sets the status value C to value 3 (operating at a high speed) (S324) and proceeds to S330. If the robot control unit 81 determines that the arm speed V is less than the speed threshold V1, it sets the status value C to value 1 (operating at a low speed) (S326) and proceeds to S330. Furthermore, if the robot control unit 81 determines in S320 and S22 that the arm speed V is equal to or less than the speed threshold V3 and equal to or greater than the speed threshold V1, it proceeds to S330 while maintaining the status value C at value 2 (operating at medium speed).
[0058] If the robot control unit 81 determines in S312 or S314 that the status value C is neither 1 (operating at low speed) nor 2 (operating at medium speed), it determines that the status value C is 3 (operating at high speed), and determines whether the arm speed V acquired in S300 is smaller than the speed threshold V2 (S328). If the robot control unit 81 determines that the arm speed V is smaller than the speed threshold V2, it sets the status value C to 2 (operating at medium speed) (S318) and proceeds to S330, and if it determines that the arm speed V is equal to or greater than the speed threshold V2, it maintains the status value C at 3 and proceeds to S330.
[0059] FIG. 17 is an explanatory diagram showing an example of a state transition diagram of the robot 20. As shown in the figure, when the detection value (external force For) of the force sensor 70 exceeds the external force threshold F1 while the robot is stopped, the robot control unit 81 transitions to low-speed operation. Furthermore, when the external force For falls below an external force threshold F0, which is lower than the external force threshold F1, while the robot is moving (during low-speed operation, medium-speed operation, or high-speed operation), the robot control unit 81 transitions to stopped. When the arm speed V exceeds a speed threshold V2 while the robot is moving at low speed, the robot control unit 81 transitions to medium-speed operation. Furthermore, when the arm speed V exceeds a speed threshold V3, which is higher than the speed threshold V2 while the robot is moving at medium speed, the robot control unit 81 transitions to high-speed operation. When the arm speed V falls below the speed threshold V2 while the robot is moving at high speed, the robot control unit 81 transitions to medium-speed operation. Furthermore, when the arm speed V falls below the speed threshold V2 while the robot is moving at medium speed, the robot control unit 81 transitions to low-speed operation. In this embodiment, the low-speed operation is not directly changed to the high-speed operation.
[0060] After setting the state value C in this manner, the robot control unit 81 sets an operation sensitivity D corresponding to the current state value C from among a plurality of different operation sensitivities D0 to D4 (gradients of the velocity of the robot arm 21 achieved in response to the operation force) pre-stored in the storage unit 86 (S330), and then terminates this processing. FIG. 18 is an explanatory diagram showing operation sensitivity models according to state values. When the state value C is value 0, the robot control unit 81 sets the operation sensitivity D to extremely low sensitivity D0. When the state value C is value 1, the robot control unit 81 sets the operation sensitivity D to low sensitivity D1, which is higher than the extremely low sensitivity D0. When the state value C is value 2, the robot control unit 81 sets the operation sensitivity D to medium sensitivity D2, which is higher than the low sensitivity D1. When the state value C is value 3, the robot control unit 81 sets the operation sensitivity D to high sensitivity D3, which is higher than the medium sensitivity D2. That is, when the robot arm 21 is stationary, the operation sensitivity D is set to the lowest sensitivity (extremely low sensitivity D0). When the robot arm 21 is moving, the sensitivity is set to increase as the robot arm's speed increases (so that the gradient of the robot arm's speed relative to the operation force increases). As a result, in an unloaded state, as an operation force is applied, the speed of the robot arm 21 increases and the operation sensitivity also increases. When the robot 20 comes into contact with another object, the detection value of the force sensor 70 approaches zero, causing the robot 20 to transition to a stationary state and lowering the operation sensitivity (to the extremely low sensitivity D0). Even if the operator operates the robot arm 21 in a direction pressing it against another object while in contact with the object, the force is balanced in the pressing direction, so the detection value of the force sensor 70 remains close to zero. Therefore, the robot 20 remains stationary, and the operation sensitivity is maintained at the extremely low sensitivity D0. In the robot 20 of this embodiment, the ultrasonic probe 101 held by the end effector unit 60 is pressed against a human body (or other object) when in use, and therefore the operator must control the position of the ultrasonic probe 101 while it is in contact with the human body. In this embodiment, the robot control unit 81 transitions the state of the robot 20 between stopped and operating based on the detection value (external force For) of the force sensor 70, and sets the operation sensitivity D to the lowest sensitivity (extremely low sensitivity D0) when the robot 20 is stopped, allowing the operator to easily control the position of the ultrasonic probe 101 while it is in contact with the human body.Furthermore, when the robot 20 is in operation, the robot control unit 81 increases the operation sensitivity D by transitioning from low-speed operation to medium-speed operation to high-speed operation in that order as the arm speed V increases, so that when the ultrasonic probe 101 is not in contact with the human body, the operator can operate the robot arm 21 with less operating force. In this way, by estimating the state of the robot 20 based on the detection value (external force For) of the force sensor 70 and the arm speed V, direct teaching can be performed with an operation sensitivity D appropriate for each state.
[0061] Here, the correspondence between the main elements of the embodiment and the main elements of the present disclosure described in the claims will be described. That is, the robot arm 21 of the present embodiment corresponds to the arm of the present disclosure, the motors 35a, 36a, 37a, 44a, 55a, 56a, and 57a correspond to the motors, the force sensor 70 corresponds to the force sensor, the robot control unit 81 (force controller 82, position controller 83) corresponds to the control unit, and the robot control unit 81 that executes the force input switching process corresponds to the switching unit.
[0062] It goes without saying that the present disclosure is not limited to the above-described embodiments, and can be embodied in various forms as long as they fall within the technical scope of the present disclosure.
[0063] For example, in the above-described embodiment, the force sensor 70 is connected (installed) to the third rotation shaft 53 (the rotation shaft of the end effector unit 60), but this is not limitative. The force sensor 70 may be installed anywhere on the robot arm 21, such as near the gripping unit 62 or the operating handle 65 of the end effector unit 60, as long as it is a location where the operating force applied by the operator to the robot arm 21 can be detected.
[0064] In the above-described embodiment, the robot 20 is configured as a seven-axis articulated robot capable of translational movement in three directions and rotational movement in three directions. However, the number of axes may be any number. The robot 20 may also be configured as a so-called vertical articulated robot, horizontal articulated robot, or the like.
[0065] As described above, in the robot device of the present disclosure, by switching between a detected external force value and an estimated external force value, it is possible to input an appropriate external force to the control unit, thereby more appropriately controlling the force according to the operating force applied to the arm by the operator.
[0066] In the robot device disclosed herein, the switching unit may input the external force to the control unit as the detected external force value when the torque of the motor is less than a threshold, and may switch the external force to the control unit to the estimated external force value when the torque of the motor is equal to or greater than the threshold. This allows a more appropriate external force to be input to the control unit in force control. In this case, after switching the external force to be input to the control unit to the estimated external force value, the switching unit may continue to input the estimated external force value until the torque of the motor becomes less than the threshold and a certain time has elapsed, and then switch back to the detected external force value. This makes it possible to prevent the external force to be input to the control unit from frequently switching between the detected external force value and the estimated external force value.
[0067] In the robot device disclosed herein, the arm may have a three-axis rotation mechanism including a first axis, a second axis perpendicular to the first axis, and a third axis perpendicular to the second axis and serving as a rotation axis of the end effector, a first motor driving the first axis, a second motor driving the second axis, and a third motor driving the third axis, and the force sensor may be installed on the third axis, and the switching unit may switch between the detected external force value and the estimated external force value for force control of the first motor and input the external force to the control unit. In this case, because the direction of the moment about the first axis differs from the direction of the moment corresponding to the force sensor, the external force detection value from the force sensor may not be appropriately input for force control of the first motor driving the first axis. Therefore, by switching between the detected external force value and the estimated external force value, force control of the first motor can be more appropriately performed.
[0068] In the robot device according to the present disclosure, the control unit may perform position-control-based force control, which applies a virtual impedance model including a mass element and a damper element to an input external force to sequentially set a movement amount command value and a position command value to control the motor. This allows the operator to move the arm to a desired position with simple control.
[0069] When applying a virtual impedance model to perform position control-based force control, the control unit may set a possible movement amount of the arm, and if the commanded movement amount exceeds the possible movement amount, the control unit may use a model in which a spring element is added in parallel to the damper element as the virtual impedance model so as to act on the amount that exceeds the commanded movement amount. In this way, even if the arm exceeds the possible movement amount due to operation by the operator, the arm can be gently braked, and after braking, the arm can be pushed back within the range of the possible movement amount in a controlled manner. The robot device disclosed herein may also be configured as follows. That is, the gist of the robot device disclosed herein is that it includes an arm, a motor for driving the arm, a control unit that performs position control based force control in a mode in which an operator applies an operating force to the arm to change the position or posture of the arm by inputting an external force and sequentially setting a movement amount command value and a position command value using a virtual impedance model to control the motor, and a switching unit that sets a possible movement amount of the arm, and if the commanded movement amount does not exceed the possible movement amount, applies a model including a mass element and a damper element as the virtual impedance model, and if the commanded movement amount exceeds the possible movement amount, applies a model in which a spring element is added to the mass element and the damper element so that a restoring force acts on the amount that exceeds the commanded movement amount as the virtual impedance model.
[0070] Furthermore, when position control based force control is performed using a virtual impedance model, if the mode ends during execution of the position control based force control and the external force input becomes zero, the control unit may use, as the virtual impedance model, a model in which a spring element is added in parallel to the damper element so as to act on the amount of movement from the position at the end of the mode. In this way, when the mode ends while the arm is moving, the arm may pass the position at the end of the mode and the position of the arm may be shifted. Even in such cases, the arm can be gently braked after passing the position at the end of the mode, and after braking, the arm can be pushed back to the position at the end of the mode in a controlled manner. The robot device disclosed herein may be configured as follows. That is, the gist of the robot device disclosed herein is that it includes an arm, a motor that drives the arm, a control unit that performs position control-based force control by inputting an external force to control the motor using a virtual impedance model in a mode in which an operator applies an operating force to the arm to change the position or posture of the arm, and a switching unit that applies a model including a mass element and a damper element as the virtual impedance model when the mode is being executed, and when the mode ends while the arm is moving, switches to apply a model in which a spring element is added to the mass element and the damper element as the virtual impedance model so that a restoring force acts on the amount of movement of the arm from the position at the end of the mode.
[0071] Furthermore, when applying a virtual impedance model to perform position-control-based force control, the control unit may use, as the virtual impedance model, a model in which the relationship between the operating force applied to the arm and the velocity of the arm is applied to the damper element. This makes it possible to easily set the operational feel of the arm provided to the operator. In this case, a memory unit may be provided that stores multiple different relationships as the relationship between the operating force and the velocity of the arm, and the control unit may estimate the operating state of the arm based on at least one of the external force value detected by the force sensor and the velocity of the arm, and use, as the virtual impedance model, a relationship corresponding to the estimated operating state from the multiple relationships applied to the damper element. In this way, by estimating the operating state of the arm, it is possible to provide the operator with an operation sensitivity appropriate for the operating state of the arm. The robot device disclosed herein may be configured as follows. That is, the gist of the robot device disclosed herein is that it includes an arm, a motor that drives the arm, and a control unit that, in a mode in which an operator applies an operating force to the arm to change the position or posture of the arm, inputs an external force and controls the motor by executing position control-based force control using a virtual impedance model that includes a mass element and a damper element for the input external force and applies to the damper element a relationship of the velocity of the arm relative to the operating force applied to the arm.
[0072] The present disclosure may also employ the following robot device. That is, a second robot device of the present disclosure includes: an arm having a gripping portion to be gripped by an operator; a motor for driving the arm; a force sensor installed near the gripping portion and for detecting an external force; a control unit that inputs the external force and controls the motor by force control in a mode in which the operator applies an operating force to the arm to change the position or posture of the arm; and a switching unit that switches between a detected external force value detected by the force sensor and an estimated external force value estimated from at least one of the torque and rotational speed of the motor and inputs the detected external force value to the control unit. Note that the force sensor may be connected to the gripping portion of the arm.
[0073] A third robot device of the present disclosure includes an arm, a motor that drives the arm, a force sensor installed on the arm and that detects an external force, a control unit that inputs the external force and controls the motor by force control in a mode in which an operator applies an operating force to the arm to change the position or posture of the arm, and a switching unit that switches between a detected external force value detected by the force sensor and an estimated external force value estimated from at least one of the torque and rotational speed of the motor and inputs the detected external force value to the control unit. In this case, the switching unit may switch between the detected external force value and the estimated external force value for force control of a motor that drives a joint axis of the arm that has a different moment from that of the force sensor, and input the detected external force value to the control unit.
[0074] This specification also discloses the technical idea of changing "the robot device according to claim 1" in claim 5 as originally filed to "the robot device according to any one of claims 1 to 4" and the technical idea of changing "the robot device according to claim 5" in claim 8 as originally filed to "the robot device according to any one of claims 5 to 7".
[0075] The present disclosure is applicable to the robot device manufacturing industry and the like.
[0076] 10 Robot system, 20 Robot, 21 Robot arm, 22 First arm, 23 Second arm, 24 Base, 25 Base, 29 Housing, 31 First arm joint axis, 32 Second arm joint axis, 33 Attitude holding axis, 35 First arm drive device, 35a Motor, 35b Encoder, 35c Amplifier, 36 Second arm drive device, 36a Motor, 36b Encoder, 36c Amplifier, 37 Attitude holding device, 37a Motor, 37b Encoder, 37c Amplifier, 40 Lifting device, 41 Slider, 42 Guide member, 43 Ball screw shaft, 44 Lifting drive device, 44a Motor, 44b Encoder, 44c Amplifier, 50 Rotational three-axis mechanism, 51 First rotation axis, 52 Second rotation axis, 53 Third rotation axis, 55 First rotation device, 55a Motor, 55b Encoder, 55c Amplifier, 56 Second rotating device, 56a Motor, 56b Encoder, 56c Amplifier, 57 Third rotating device, 57a Motor, 57b Encoder, 57c Amplifier, 58 Belt, 59 Transmission shaft, 60 End effector unit, 61 Direct teaching switch, 62 Grip unit, 65 Operation handle, 66 Handle shaft, 69 Housing, 70 Force sensor, 71 Action unit, 72 Support unit, 80 Robot control device, 81 Robot control unit, 82 Force controller, 83 Position controller, 84 IO unit, 85 Communication unit, 86 Memory unit, 90 Operation panel, 100 Ultrasonic diagnostic device, 101 Ultrasonic probe, 102 Cable, 110 Ultrasonic diagnostic device main body, 113 Image display unit.
Claims
1. A robot device comprising: an arm; a motor that drives the arm; a force sensor installed on an end effector of the arm and that detects an external force; a control unit that inputs an external force and controls the motor by force control in a mode in which an operator applies an operating force to the arm to change the position or posture of the arm; and a switching unit that switches between a detected external force value detected by the force sensor and an estimated external force value that is estimated from at least one of the torque and rotational speed of the motor and inputs the detected external force value to the control unit.
2. A robot device according to claim 1, wherein the switching unit sets the external force input to the control unit to the detected external force value when the torque of the motor is less than a threshold value, and switches the external force input to the control unit to the estimated external force value when the torque of the motor is equal to or greater than the threshold value.
3. A robot device according to claim 2, wherein the switching unit, after switching the external force input to the control unit to the estimated external force value, continues to input the estimated external force value until the torque of the motor falls below the threshold and a certain time has elapsed, and then switches to the detected external force value.
4. A robot device according to any one of claims 1 to 3, wherein the arm has a three-axis rotation mechanism including a first axis, a second axis perpendicular to the first axis, and a third axis perpendicular to the second axis and serving as the axis of rotation of the end effector, a first motor that drives the first axis, a second motor that drives the second axis, and a third motor that drives the third axis, the force sensor being installed on the third axis, and the switching unit switching the external force between the detected external force value and the estimated external force value for force control of the first motor and inputting the external force to the control unit.
5. A robot device according to claim 1, wherein the control unit executes position control-based force control to control the motor by applying a virtual impedance model including a mass element and a damper element to an input external force and sequentially setting a movement command value and a position command value.
6. A robot device according to claim 5, wherein the control unit sets a possible movement amount of the arm, and when the commanded movement amount exceeds the possible movement amount, the control unit uses, as the virtual impedance model, a model in which a spring element is added in parallel to the damper element so as to act on the excess amount of the commanded movement amount.
7. A robot device according to claim 5 or 6, wherein when the mode ends and the external force input becomes zero while the position control based force control is being executed, the control unit uses, as the virtual impedance model, a model in which a spring element is added in parallel to the damper element so as to act on the amount of movement from the position at the time of the mode end.
8. A robot device according to claim 5, wherein the control unit uses, as the virtual impedance model, a model in which the relationship between the operating force applied to the arm and the velocity of the arm is applied to the damper element.
9. A robot device according to claim 8, comprising a memory unit that stores a plurality of different relationships as the relationship between the operating force and the velocity of the arm, and the control unit estimates the operating state of the arm based on at least one of the external force value detected by the force sensor and the velocity of the arm, and uses, as the virtual impedance model, a model in which a relationship corresponding to the estimated operating state from among the plurality of relationships is applied to the damper element.
10. A robot device comprising: an arm having a gripping portion to be gripped by an operator; a motor for driving the arm; a force sensor installed near the gripping portion for detecting an external force; a control unit for inputting an external force and controlling the motor by force control in a mode in which the operator applies an operating force to the arm to change the position or posture of the arm; and a switching unit for switching between a detected external force value detected by the force sensor and an estimated external force value estimated from at least one of the torque and rotational speed of the motor and inputting the detected external force value to the control unit.
11. A robot device comprising: an arm; a motor for driving the arm; a force sensor mounted on the arm and detecting an external force; a control unit that inputs an external force and controls the motor by force control in a mode in which an operator applies an operating force to the arm to change the position or posture of the arm; and a switching unit that switches between a detected external force value detected by the force sensor and an estimated external force value estimated from at least one of the torque and rotational speed of the motor and inputs the detected external force value to the control unit.
12. A robot device according to claim 11, wherein the switching unit switches the external force between the detected external force value and the estimated external force value for force control of a motor that drives one of the joint axes of the arm that has a different moment from that of the force sensor, and inputs the external force to the control unit.
Citation Information
Patent Citations
Servocontrol method
JP1993094202A
Force control device
JP2011104740A
Power assist device and its control method
WO2009034962A1
Method for controlling robot and arm
WO2022269850A1