Robot system, control method of the same, manufacturing method of article, display device, control method of display device, control program, and recording medium
Patent Information
- Application Number
- JP2021177909
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2021-10-29
- Publication Date
- 2025-01-29
- Estimated Expiration
- 2041-10-29
AI Technical Summary
Existing robot systems face the risk of losing the ability to maintain posture due to strong forces or deteriorated stoppers, which can lead to collisions with peripheral devices.
A robot system equipped with torque sensors and stoppers that detect contact and adjust torque commands to maintain posture, using a control device to compensate for the weight of the links and apply brakes when necessary.
The system effectively reduces the likelihood of posture loss by using torque sensors to detect contact and adjust torque, ensuring stable posture maintenance and preventing collisions.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a robot.
Background Art
[0002] In recent years, robots having links that operate by joints have attracted attention. By operating the links and manipulating parts with an end effector arranged at the tip of the robot and introducing it into a production factory, automation of the production factory is achieved. However, when the robot operates in an unintended direction during the execution of work by the robot or the teaching work of the robot, there is a risk of collision with peripheral devices and damage to the robot or peripheral devices. To address such problems, in Patent Document 1, a stopper that mechanically limits the movable range of the joints of the robot is arranged on the joints, and a pressure-sensitive sensor is further provided on the stopper, and the torque command value to the actuator is cut off based on the output of the pressure-sensitive sensor. By doing so, even when the robot operates in an unintended direction, while restricting the operation with the stopper, the risk of the actuator operating further is reduced, and the risk of collision with peripheral devices and damage to the robot or peripheral devices is reduced.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] However, in the technique described in Patent Document 1, the torque command value to the actuator is cut off based on the output of the pressure-sensitive sensor, and the stopper supports the stopped posture of the robot arm. Therefore, there is a possibility that the stopped posture of the robot arm cannot be maintained by the stopper when the momentum of the operation of the robot arm before cutting the torque command value is strong or when the stopper is deteriorated.
[0005] In light of the above issues, the present invention aims to reduce the possibility that the stopper will fail to maintain the robot's posture. [Means for solving the problem]
[0006] To solve the above problems, the present invention employs a robot system comprising a robot body having a first link and a second link that rotates relative to the first link, and a control device that controls the movement of the second link, wherein the first link or the second link is provided with a sensor for detecting the state of the second link, the first link is provided with a first stopper, the second link is provided with a second stopper, and the control device detects the contact state between the first stopper and the second stopper based on the value detected by the sensor, and controls the second link to maintain a predetermined posture based on the contact state. [Effects of the Invention]
[0007] According to the present invention, the possibility of the stopper failing to maintain the posture of the robot arm can be reduced. [Brief explanation of the drawing]
[0008] [Figure 1] This figure shows the schematic configuration of the robot system 1000 in an embodiment. [Figure 2] This is a control block diagram of the robot system 1000 in an embodiment. [Figure 3] This is a schematic diagram of the link 201 and base 210 in the embodiment. [Figure 4] This is a cross-sectional view of the torque sensor 221 in the embodiment. [Figure 5] This diagram shows the connection relationship between link 201 and base 210 in the embodiment. [Figure 6] This is a control block diagram of the drive unit 231 in the embodiment. [Figure 7] This is a control flowchart in the embodiment. [Figure 8] This is a control flowchart in the embodiment. [Figure 9] This is a detailed diagram showing the connection relationship between link 201 and base 210 in the embodiment. [Figure 10] This figure shows the operation of the stopper 252 and the movable piece 253 in the embodiment. [Figure 11] This figure shows the settings screen in the embodiment displayed on the display unit 411a of the monitor 411. [Modes for carrying out the invention]
[0009] Hereinafter, embodiments for carrying out the present invention will be described with reference to the examples shown in the attached drawings.
[0010] The embodiments shown below are merely examples, and those skilled in the art can modify the details of the configuration as appropriate without departing from the spirit of the present invention. Furthermore, the numerical values used in these embodiments are for reference only and do not limit the present invention. In the following drawings, the arrows X, Y, and Z indicate the overall coordinate system of the robot system. Generally, the XYZ 3D coordinate system represents the world coordinate system of the entire installation environment. In addition, a local coordinate system may be used for the robot hand, fingers, joints, etc., depending on control considerations.
[0011] (First embodiment) Figure 1 shows a schematic configuration of the robot system 1000 of this embodiment. In Figure 1, the robot system 1000 includes a robot arm body 200 configured as a multi-joint robot, a control device 300 that controls the robot arm body 200, and an external input device 400.
[0012] The robot arm body 200 of this embodiment is composed of a 6-axis articulated joint. The robot arm body 200 consists of a base 210 and six links 201 to 206. In this embodiment, for the sake of explanation, it will be described as the base 210, but the base 210 is also one of the links that make up the robot arm body 200. Each link 201 to 206 is rotationally driven by six drive devices 231 to 236, which rotate each joint axis A1 to A6 around the arrows shown in the diagram. Each drive device 231 to 236 is equipped with a motor and a reduction gear that reduces the output of the motor. In this embodiment, a harmonic drive gear reduction gear is used. That is, the motors provided in the drive devices 231 to 236 are drive sources that generate driving force to displace each link 201 to 206 that each joint connects to. Each motor also has an encoder 211 to 216 built in to detect the rotation angle of the motor itself.
[0013] Torque sensors 221 to 226, which detect force information, are provided between the output terminals of the drive units 231 to 236 and the links 201 to 206 that rotate together with the output terminals. The torque sensors 221 to 226 are equipped with optical encoders that detect the structure described later and its relative movement. When the joints of the robot arm body 200 are driven, the relative movement of the structures of the torque sensors 221 to 226 due to the relative displacement of the links of the robot arm body 200 is detected by the optical encoders.
[0014] As shown in the figure, link 201 of the robot arm body 200 is connected to the base 210 by a drive unit 231 shown in the figure, using a bearing (not shown) so that it can rotate together with the torque sensor 221. The drive unit 231 is assumed to have a range of motion in the direction of the arrow from the initial position. Link 202 of the robot arm body 200 is connected to link 201 by a drive unit 232 shown in the figure, using a bearing (not shown) so that it can rotate together with the torque sensor 222. The drive unit 232 is assumed to have a range of motion in the direction of the arrow from the initial position.
[0015] The link 203 of the robot arm main body 200 is connected to the link 202 by a bearing (not shown) using a drive device 233 in the figure so that it can also rotate with the torque sensor 223. The drive device 233 shall have a movable range in the direction of the arrow from the initial posture. The link 204 of the robot arm main body 200 is connected to the link 203 by a bearing (not shown) using a drive device 234 in the figure so that it can also rotate with the torque sensor 224. The drive device 234 shall have a movable range in the direction of the arrow from the initial posture.
[0016] The link 205 of the robot arm main body 200 is connected to the link 204 by a bearing (not shown) using a drive device 235 in the figure so that it can also rotate with the torque sensor 225. The drive device 235 shall have a movable range in the direction of the arrow from the initial posture. The link 206 of the robot arm main body 200 is connected to the link 205 by a bearing (not shown) using a drive device 236 in the figure so that it can also rotate with the torque sensor 226. The drive device 235 shall have a movable range in the direction of the arrow from the initial posture. In this embodiment, a torque sensor that rotates relatively with the link is taken as an example for explanation, but a torque sensor may be provided on a link that does not rotate relatively to detect half torque.
[0017] Also, an end effector body such as an (electric) hand or an air hand (driven by air pressure) for performing assembly work or transfer work in the production line is to be connected to the tip of the link 206 of the robot arm main body 200. This end effector body shall be attached to the link 206 by a (semi) fixed means such as screwing (not shown), or shall be attachable by a detachable means such as a latch (ratchet) stop (not shown). In particular, when the end effector body is detachable, a method of controlling the robot arm main body 200 to attach, detach or replace the end effector body arranged at the supply position (not shown) by the operation of the robot arm main body 200 itself is also conceivable.
[0018] Here, the end effector of the robot arm body 200 refers to the link 206 and / or the end effector body in this embodiment. If the end effector body is gripping an object, the end effector body and the object being gripped (e.g., a part or tool) together are referred to as the end effector of the robot arm body 200. In other words, the link 206 and / or the end effector body are referred to as the end effector regardless of whether the end effector body is gripping an object or not.
[0019] The external input device 400 includes an operating section that includes, for example, operation keys for controlling the posture (position and angle) of the joints of the robot arm body 200, or for moving the end effector of the robot arm body 200. When any operation is performed on the operating section of the external input device 400, the control device 300 transmits signals to the drive units 231 to 236 of each joint in response to the operation of the external input device 400, thereby controlling the movement of the robot arm body 200. At that time, the control device 300 executes a robot control program, including the control program described later, thereby controlling each part of the robot arm body 200.
[0020] With the above configuration, the robot arm body 200 can move the link 206 and / or the end effector body to any position, allowing it to perform desired tasks. For example, by using a predetermined workpiece and other workpieces as materials and performing a process to assemble the predetermined workpiece and the other workpieces, an assembled workpiece can be manufactured as a deliverable. Thus, the robot arm body 200 can manufacture articles. In this embodiment, the robot arm body and the end effector body may be collectively referred to as the robot body.
[0021] Figure 2 is a block diagram showing the detailed configuration of the control system of the robot system 1000 shown in Figure 1. The control device 300 is composed of a computer and is equipped with a CPU (Central Processing Unit) 301 as a processor. It also has a memory unit consisting of a ROM (Read Only Memory) 302, a RAM (Random Access Memory) 303, an HDD (Hard Disk Drive) 304, and a recording disk drive 305. It also has interfaces 306, 307, 308, 309, 310, and 311 for communication with each device. The CPU 301, ROM 302, RAM 303, and interfaces 306 to 309 are connected to each other by a bus 311 so that they can communicate with one another.
[0022] Of these, RAM 303 is used for temporary storage of data such as teaching points and control commands obtained from the operation of the external input device 400. ROM 302 stores basic programs 330, such as the BIOS, which allows the CPU 301 to execute various arithmetic processes. The CPU 301 executes various arithmetic processes based on the control programs recorded (stored) in HDD 304. HDD 304 is a storage unit that stores various data, etc., which are the results of the CPU 301's arithmetic processes. The recording disk drive 305 can read various data and control programs, etc., recorded on the recording disk 331. Furthermore, interfaces 307 and 308 are connected to a monitor 411 that displays various images, and external storage devices 412 such as rewritable non-volatile memory and an external HDD.
[0023] The external input device 400 could be, for example, an operating device such as a teaching pendant (TP), but it could also be another computer device (PC or server) capable of editing the robot program. The external input device 400 can be connected to the control device 300 via wired or wireless communication means and has user interface functions such as robot operation and status display. The target joint angles of each joint input by the external input device 400 are output to the CPU 301 via interface 306 and bus 311.
[0024] The CPU 301 receives teaching point data input from, for example, an external input device 400 via interface 306. It can also generate trajectories for each axis of the robot arm body 200 based on the teaching point data input from the external input device 400 and transmit them to the drive units 231-236 via interface 309 using the arm motor driver 230. The CPU 301 outputs drive command data indicating the control amount of the rotation angle of each drive unit 231-236 motor to the arm motor driver 230 via bus 311 and interface 209 at predetermined intervals.
[0025] The arm motor driver 230 calculates the amount of current output to the motors of each drive unit 231-236 based on the drive command input from the CPU 301, and supplies current to each motor to control the joint angle of each joint. It also outputs detection signals from each encoder 211-216 and torque sensors 221-226 to the CPU 301 via the interface 309 and bus 311. That is, the CPU 301 performs feedback control of the motors of each drive unit 231-236 via the arm motor driver 230 so that the current joint angle value of the joint detected by each encoder 211-216 becomes the target joint angle. Similarly, it performs feedback control of each motor so that the current torque value of the joint detected by each torque sensor 221-226 becomes the target torque. In this embodiment, there is only one arm motor driver 230, but each drive unit 231-236 may be provided with its own arm motor driver.
[0026] Furthermore, by returning the outputs of the torque sensors 221-226 to the control device 300 and feeding them back to the drive of each drive unit 231-236, the torque applied to each link 201-206 during drive can be controlled. In addition, the force generated at the link 206 of the robot arm body 200 can be calculated from the values of each torque sensor 221-226, making it possible to feedback control the load applied to the parts being assembled.
[0027] The control device 300 may also be connected to a hand motor (not shown) via an interface and a hand motor driver when a robot hand body is used as an end effector (not shown). The hand motor driver calculates the amount of current output to the hand motor based on the drive command input from the CPU 301, supplies current to the hand motor, and controls the speed of the hand motor. It also outputs pulse signals from the hand motor encoder to the CPU 301 via the interface and bus. In other words, the CPU 301 performs feedback control of the hand motor via the hand motor driver so that the current value of the hand motor speed detected by the encoder becomes the target speed.
[0028] Figure 3 is a schematic diagram showing the connection relationship between the base (link) 210 and link 201 of the robot arm body 200. For the sake of simplicity, this explanation will use the base 210 and link 201 as an example, but other joints are assumed to have similar connection relationships. As shown in Figure 3, the drive unit 231 is provided on the base 210 and makes the link 201 rotatable around axis A1 as the axis of rotation. The drive unit 231 is fastened to the base 210. In this embodiment, when the first link is the base 210, the link 201 that rotates relative to the base 210 may be referred to as the second link.
[0029] Furthermore, the drive flange 241 is positioned between the output shaft of the reduction gear of the drive unit 231 and the torque sensor 221 on the link 201 side. The torque sensor 221 is fastened at one end to the drive flange 241 and at the other end to the link 201. The torque sensor 221 is equipped with an optical encoder that detects the structure and its relative movement, which will be described later. When the link 201 is driven by the drive unit 231, the relative movement of the structure of the torque sensor 221 due to the relative displacement between the drive flange 241 and the link 201 is detected by the optical encoder, and torque is detected based on the relative movement.
[0030] Figure 4 is a cross-sectional view of the torque sensor 221 in this embodiment. For the sake of simplicity, the torque sensor 221 will be used as an example in this explanation, but the torque sensors of other joints will be assumed to have a similar connection relationship. As can be seen in the figure, the torque sensor 221 has a cylindrical first fixing member 511, a second fixing member 512, a connecting member 513, and an optical encoder 514. The optical encoder 514 is positioned opposite to the torque sensor 221 on the circumference of the torque sensor 221 centered on axis A1.
[0031] The first fixing member 511 and the second fixing member 512 are connected by a plurality of connecting members 513 arranged on the circumference of the torque sensor 221, which connect them so that they can move relative to each other. In this embodiment, the first fixing member 511, the second fixing member 512, and the connecting members 513 are integrally made of the same material. The first fixing member 511 is fastened to the drive flange 241, and the second fixing member 512 is fastened to the link 201. A stay member 515 is also attached to the first fixing member 511. This stay member 515 acts as a support member for the detection head 521 of the optical encoder 514, which will be described later. The stay member 515 is fixed to the first fixing member 511.
[0032] The connecting member 513 is configured as a rib-shaped member that connects the donut-shaped first fixing member 511 and the second fixing member 512. These multiple connecting members 513 are arranged in a circular pattern between the first fixing member 511 and the second fixing member 512, with axis A2 as the center. Each part of the torque sensor 221 is made of a predetermined material having an elastic modulus corresponding to the desired torque detection range and its required resolution, such as resin or metal (steel, stainless steel, etc.). Furthermore, the first fixing member 511, the second fixing member 512, and the connecting member 513 may be manufactured by a 3D printer. Specifically, these can be manufactured by creating slice data for a 3D printer from their design data (e.g., CAD data) and inputting that data into a conventional 3D printer. In this embodiment, the first fixing member 511, the second fixing member 512, and the connecting member 513 constituting the torque sensor 222 are made of the same material, but it is also possible to use different materials.
[0033] The optical encoder 514 consists of a detection head 521, which is the detection unit, and a scale 522, which is the unit to be detected. The detection head 521 is provided on a stay member 515, and the scale 522 is provided on a second fixing member 512. The scale 522 is fixed to the first fixing member 511 and the second fixing member 512, respectively, and the detection head 521 is fixed to the stay member 515.
[0034] The scale 522 is a reflective scale and has a grid-arranged optical pattern 531. The optical pattern 531 is made of, for example, Al and Cr. The detection head 521 is a reflective detection head and has a light-emitting element 541 and a light-receiving element 542. An opening 516 is provided in the stay member 515 to irradiate the optical pattern 531 with light from the light-emitting element 541 of the detection head 521. Furthermore, this irradiation space is sealed by a sealing member 517 to prevent dust from entering, and wiring 518 is provided to supply power to the light-emitting element 541. The detection head 521 irradiates the scale 522 with light from the light-emitting element 541, and the light-receiving element 542 receives the light reflected from the optical pattern 531 of the scale 522.
[0035] The detection head 521 is provided on the first fixed member 511 and the scale 522 is provided on the second fixed member 512, but the order may be reversed. As long as the relative amount of movement can be detected, it is sufficient for the detection head 521 to be provided on either the first fixed member 511 or the second fixed member 512, and the scale 522 to be provided on the other.
[0036] Here, a torque is applied around axis A2, causing the first fixed member 511 and the second fixed member 512 to rotate relative to each other, which changes the relative position of the detection head 521 and the scale 522. As a result, the irradiation position of the light illuminating the scale 522 moves along the scale 522.
[0037] At this time, when the light illuminating the scale 522 passes through the pattern 531 provided on the scale 522, the amount of light detected by the light-receiving element 542 of the detection head 521 changes. From this change in light amount, the relative movement between the first fixed member 511 and the second fixed member 512 is detected. The torque detection value is calculated (acquired) by a calculation circuit or control device 300 (not shown) provided on the torque sensor 221, which converts the relative movement amount detected by the detection head 521 into a torque acting on the torque sensor 221 using a sensitivity coefficient.
[0038] Furthermore, depending on the calculation method, this scale pattern can consist of not only one line, but also multiple lines of varying intensity (for example, with different arrangement phases). The pitch of the scale pattern is determined according to the resolution required for position detection, but in recent years, with the increasing precision and resolution of encoders, patterns with a pitch on the order of μm are also available. In this way, torque sensors 221 to 226 can detect torque around the axis at the joint in which they are installed.
[0039] Figure 5 is a diagram showing in more detail the connection relationship between the base 210 and the link 201 of the robot arm body 200. Figure 5(a) is an exploded view, and Figure 5(b) is an assembled view. From Figures 5(a) and (b), the drive unit 231 is bolted inside the base 210 using a housing 231b that supports the reduction gear output shaft 231a so that it can rotate. The drive unit 231 is also equipped with a brake 261. Furthermore, the drive flange 241 is bolted to the surface of the reduction gear output shaft 231a. A torque sensor 221 is bolted to the drive flange 241, and a link 201 is further bolted to the structure of the torque sensor 221. For the sake of clarity in the drawing, the bolts fastening the drive flange 241 and the torque sensor 221 are not shown. As shown in the figure, the base 210 is provided with a stopper 251 and the link 201 is provided with a stopper 252. When the base 210 and the link 201 move relative to each other, the stoppers 251 and 252 come into contact, mechanically limiting the range of motion. In this embodiment, the stopper 251 may be referred to as the first stopper and the stopper 252 as the second stopper.
[0040] Each part of the torque sensor 221 and stoppers 251 and 252 is made of a predetermined material having an elastic modulus and tensile strength corresponding to the desired torque detection range and the required resolution and strength, such as resin or metal (steel, stainless steel, etc.). In this embodiment, each part of the torque sensor 221 and stoppers 251 and 252 is made of the same material, but it is also possible to use different materials.
[0041] Figure 6 is a detailed diagram of the control block of the drive unit 231 in this embodiment. The arm motor driver that controls the drive unit 231 includes a speed control unit 230a, a torque control unit 230b, and a current control unit 230c. The arm motor driver 230, like the control device 300, is equipped with a CPU, RAM, ROM, and interfaces, and is capable of executing each function.
[0042] As shown in Figure 6, the speed command value from the control device 300 is fed back to the speed control unit 230a based on the detected value (detection result) from the encoder 211 of the drive unit 231, and speed information from the drive unit 231 is output. The speed control unit 230a generates a torque command value based on the speed command value and speed information. The torque sensor detected value (detection result) from the torque sensor 221 is then fed back to the torque command value and output to the torque control unit 230b. The torque control unit 230b generates a current command value based on the torque command value and the torque sensor detected value. The current value from the motor of the drive unit 231 is then fed back to the generated current command value, and feedback control of the motor of the drive unit 231 is performed via the current control unit 230c.
[0043] Figure 7 shows a control flowchart in this embodiment. The control flowchart described below is assumed to be executed by the control device 300 and the arm motor driver 230. The control flowchart described below is explained assuming that it is executed when stopper 251 and stopper 252 come into contact during normal arm movement. The control when operating link 201 will be used as an example. In this embodiment, the torque sensor 221 and encoder 211 detect the contact state between stopper 251 and stopper 252, including contact and proximity.
[0044] First, in S101, the control device 300 outputs a speed command to the motor of the drive unit 231 via the arm motor driver 230 to operate the link 201 in normal operation.
[0045] Then, in S102, it is determined whether or not stoppers 251 and 252 are in close proximity. This determination is made by first obtaining the value of encoder 211 when stoppers 251 and 252 are in contact, setting a predetermined threshold range from that value, and storing it in the control device 300. Then, in S101, it is determined whether or not the detected value of encoder 211 is the threshold, thereby determining whether or not stoppers 251 and 252 are in close proximity. In this embodiment, the threshold for when stoppers 251 and 252 are in contact due to link 201 rotating clockwise, and the threshold for when stoppers 251 and 252 are in contact due to link 201 rotating counterclockwise are stored. In this embodiment, the threshold is set using a motor encoder, but the threshold may also be set using an encoder that can directly detect the position of link 201 (output shaft encoder). If S102:No indicates that stoppers 251 and 252 are not in close proximity, the system returns to S101 and outputs a speed command to continue normal operation. If S102:Yes indicates that stoppers 251 and 252 are in close proximity, the system proceeds to S103.
[0046] In S103, the control device 300 outputs a speed command to the motor of the drive unit 231 via the arm motor driver 230 to decelerate the movement of the link 201. This deceleration is achieved by increasing the viscosity term, which is a control parameter of the motor of the drive unit 231. By increasing the viscosity term, the link 201 becomes more difficult to move, and deceleration is achieved. Alternatively, deceleration may be achieved by gradually decreasing the speed command value. Deceleration may also be achieved by using the brake 261 in combination.
[0047] Then, in S104, it is determined whether or not the stopper 251 and the stopper 252 are in contact. In this embodiment, the force generated when the stopper 251 and the stopper 252 come into contact is detected using the torque sensor 221, and it is determined whether or not the stopper 251 and the stopper 252 are in contact. The stopper 251 and the stopper 252 are brought into contact several times in advance, and the average value of the force generated at that time is set as the threshold value for contact determination and stored in the control device 300. Note that the threshold value may be set by bringing them into contact multiple times clockwise and multiple times counterclockwise, or two threshold values, one for clockwise and one for counterclockwise, may be stored. If S104: No, and the stopper 251 and the stopper 252 are not in contact, proceed to S105. If S104: Yes, and the stopper 251 and the stopper 252 are in contact, proceed to S106.
[0048] In S105, it is determined whether the link 201 is stopped or not based on the value detected by the encoder 211 of the drive unit 231. The determination is made by checking whether the temporal displacement of the encoder detection value is 0 or close to 0. If S105: No, return to the step immediately before S103 and continue the deceleration operation. If S105: Yes, proceed to S106.
[0049] If the stoppers come into contact and the link 201 stops (S104:Yes), or if the link 201 stops before the stoppers come into contact (S105:Yes), the process proceeds to S106. In S106, the control device 300 outputs a torque command (weight-compensating torque command) to the motor of the drive device 231 via the arm motor driver 230 to compensate for the weight of the link 201 in order to maintain the stopped state. In this process, if an external force is applied by the user, the system will operate in accordance with that external force. The control flow then ends.
[0050] As described above, according to this embodiment, when the torque sensor 221 causes the stoppers 251 and 252 to make contact and the link 201 to stop, a torque command is output to compensate for the weight of the link 201 and control it to maintain the stopped state. As a result, the stopped state of the link 201 is maintained not only by the stoppers 251 and 252 but also by the drive device 231, which reduces the possibility that the robot arm's posture cannot be maintained by the stoppers.
[0051] Furthermore, when an external force is applied by the user while link 201 is stopped, link 201 is configured to move in accordance with that external force. This makes it possible for the user to easily and quickly return the robot arm body 200 from its stopped state.
[0052] Furthermore, the contact between stopper 251 and stopper 252 is detected by a torque sensor 221 located in a part other than stopper 251 and stopper 252. Therefore, since the contact between the stoppers can be detected without being pinched by the stoppers, the lifespan of the sensor that detects contact with the stoppers can be suppressed.
[0053] Furthermore, the system determines whether link 201 is stopped while it is decelerating and the stoppers are not in contact with each other. This allows the system to handle irregular stopping operations by outputting a torque command to compensate for the weight of link 201 even when the stoppers are not in contact with each other, while also allowing it to operate in accordance with any external force applied by the user.
[0054] (Second embodiment) In the first embodiment, when link 201 is stopped, a torque command is output to compensate for the weight of link 201, and when an external force is applied by the user, it is configured to operate in accordance with that external force. However, if the return posture (predetermined posture) is predetermined and there is no risk of the robot arm body 200 coming into contact with surrounding objects due to the return operation, the return operation from the stopped state may be performed automatically. This will be described in detail below. Below, parts of the hardware and control system configuration that differ from the first embodiment will be illustrated and explained. Furthermore, parts that are the same as in the first embodiment will have the same configuration and operation as described above, and their detailed explanation will be omitted.
[0055] Figure 8 shows the control flowchart in this embodiment. The control flowchart described below is assumed to be executed by the control device 300 and the arm motor driver 230. Furthermore, the control flowchart described below is explained assuming that it is executed when the stopper 251 and stopper 252 come into contact during normal arm movement. The control when operating the link 201 will be used as an example for explanation.
[0056] A major difference from the first embodiment is that after confirming that link 201 has stopped, a return operation is performed in S107. In S107, once the stoppage of link 201 is confirmed, a return operation is performed to position link 201 to the return position (predetermined position) so that the robot arm body 200 assumes a predetermined return posture. Furthermore, this return operation is designed to prevent any risk of the robot arm body 200 coming into contact with surrounding objects.
[0057] Then, once the return operation is completed in S107, the brake 261 is activated in S1018 to maintain the return position of the link 201, and the control flow ends.
[0058] As described above, according to this embodiment, when the torque sensor 221 causes the stoppers 251 and 252 to contact and the link 201 to stop, the brake 261 is activated on the link 201 to maintain the returned position. As a result, the stopped state of the link 201 is maintained not only by the stoppers 251 and 252 but also by the brake 261, which reduces the possibility that the robot arm's posture will not be maintained by the stoppers. Furthermore, once the stopping of the link 201 is confirmed, the return operation is executed without waiting for user input, making it possible to perform the return operation even more quickly.
[0059] Furthermore, the contact between stopper 251 and stopper 252 is detected by a torque sensor 221 provided in a location other than stopper 251 and stopper 252. Therefore, since the contact between the stoppers can be detected without the stoppers being pinched together, the reduction in the lifespan of the sensor that detects contact with the stoppers can be suppressed. Note that in a given robot, this embodiment and its variations may be combined with the various embodiments and variations described above.
[0060] (Third embodiment) In the first and second embodiments described above, a mechanical stopper was used to limit the range of motion of link 201 to less than 360°, but this is not the only option. For example, if it is desired to restrict the range of motion of link 201 to more than 360°, a movable mechanical stopper is more effective. This will be described in detail below. Below, parts of the hardware and control system configuration that differ from the first and second embodiments will be illustrated and explained. Furthermore, parts that are the same as those in the first and second embodiments will be assumed to have the same configuration and operation as described above, and their detailed explanation will be omitted.
[0061] Figure 9 shows the connection relationship between the base 210 and the link 201 of the robot arm body 200 in this embodiment. Figure 9(a) is an exploded view, and Figure 9(b) shows the details of the stopper part during assembly. As shown in Figure 9(a), the drive unit 231 is bolted to the base 210 via the housing 231b, and the drive flange 241 is bolted to the output shaft 231a of the drive unit 231. The torque sensor 221 is bolted to the drive flange 241, and the link 201 is bolted to the opposite surface of the torque sensor 221.
[0062] As shown in Figure 9(a), a stopper 251 is provided on the inside of the base 210 to mechanically limit the range of motion of the link 201. The movable piece 253 is shown removed from the sliding groove 254. As shown in Figure 9(b), the movable piece 253 is positioned in the groove 254. The link 201 is also provided with a stopper 252 such that its diameter is smaller than the diameter from the center of the base 210 to the stopper 251 (so as not to come into contact with the stopper 251). When the link 201 moves, the movable piece 253 comes into contact with the stopper 252, and the movable piece 253 slides in the groove 254, moving together with the link 201. The range of motion of the link 201 is limited by the contact between the movable piece 253 and the stopper 251.
[0063] Figure 10 shows the operation of the stopper in this embodiment. In Figure 10, the link 201 and torque sensor 221 are transparent, allowing the operation of the stopper 252 and movable piece 253 to be seen. In reality, in Figure 10, the link 201 covers the stopper 252, and the stopper 252 is provided on the link 201 and not on the drive flange 241, and moves together with the link 201. The coordinate system is shown together in the lower right corner of the page.
[0064] Figure 10(a) shows the initial state of the stopper 252. In the initial state, the movable piece 253 is in the groove 254 and is in contact with the right side of the stopper 251 in the plane of the paper, and the stopper 252 of the link 201 is positioned opposite to the stopper 251. From this state, as shown in Figure 10(b), if the link 201 and stopper 252 are rotated to the right in the direction of the arrow, the stopper 252 and the movable piece 253 will come into contact. Continuing on, as shown in Figure 10(c), if the link 201 and stopper 252 are rotated to the right as indicated by the arrow, the movable piece 253 will move while in contact with the stopper 252. Further, as shown in Figure 10(d), if the link 201 and stopper 252 are rotated to the right as indicated by the arrow, the movable piece 253 will be clamped between the stopper 251 and stopper 252 and will no longer rotate.
[0065] From this state, if the link 201 and stopper 252 are rotated counterclockwise as shown by the arrow in Figure 10(e), the stopper 252 and the movable piece 253 will come into contact as shown in Figure 10(f). Continuing on, if the link 201 and stopper 252 are rotated counterclockwise as shown by the arrow in Figure 10(g), the movable piece 253 will move while in contact with the stopper 252. Further rotating the link 201 and stopper 252 counterclockwise as shown by the arrow in Figure 10(h) will cause the movable piece 253 to be clamped between the stopper 251 and stopper 252, preventing further rotation. Thus, even if the link 201 can rotate more than 360°, the range of motion can be mechanically limited.
[0066] In this embodiment, the threshold value for stopper proximity detection in S102 is set based on the detected value of the encoder 211 when the movable piece 253 is held between the stopper 251 and the stopper 252. In this embodiment as well, a threshold value is set for when the movable piece 253 is held between the stopper 251 and the stopper 252 when rotating clockwise, and a threshold value is set for when the movable piece 253 is held between the stopper 251 and the stopper 252 when rotating counterclockwise.
[0067] Furthermore, the threshold value for stopper contact determination in step S104 is set based on the value detected by the torque sensor 221 when the movable piece 253 is held between the stopper 251 and the stopper 252. In this embodiment as well, the average value of the force generated after several contacts may be set as the threshold value for contact determination. The value detected by the torque sensor 221 when the stopper 252 and the movable piece 253 come into contact, and the value detected by the torque sensor 221 when the movable piece 253 is sliding in the groove 254 may be stored in the control device 300. This makes it possible to accurately determine contact between the movable piece 253 and the stopper 251, and between the movable piece 253 and the stopper 252.
[0068] As described above, according to this embodiment, when the torque sensor 221 causes the stoppers 251 and 252 to contact and the link 201 stops, a torque command is output to compensate for the weight of the link 201, or the brake is used to control the link 201 to maintain a predetermined posture. As a result, the predetermined posture of the link 201 is maintained not only by the stoppers 251 and 252, but also by the drive unit 231 and the brake 261, thus reducing the possibility that the robot arm's posture cannot be maintained by the stoppers.
[0069] Furthermore, the contact between stopper 251 and stopper 252 is detected by a torque sensor 221 provided in a location other than stopper 251 and stopper 252. Therefore, since the contact between stoppers can be detected without being pinched by the stoppers, the lifespan of the sensor that detects contact with the stoppers can be suppressed. Moreover, this can also be implemented when a movable mechanical stopper is used. Note that this embodiment and its variations may be combined with the various embodiments and variations described above in a given robot.
[0070] (Fourth embodiment) In the embodiments described above, the example was explained using a case where the threshold for determining proximity and the threshold for determining contact are set in advance. However, in mechanical stoppers of a type where the contact position between stoppers can be varied, it is more effective to be able to edit the threshold for determination (control parameter). This will be described in detail below. Below, parts of the hardware and control system configuration that differ from the first, second, and third embodiments will be illustrated and explained. Furthermore, parts that are the same as in the first, second, and third embodiments will be assumed to have the same configuration and operation as described above, and their detailed explanation will be omitted.
[0071] Figure 11 shows the threshold setting screen in this embodiment displayed on the display unit 411a of the monitor 411. Boxes 421, 422, 423, and 424 are for setting thresholds when determining proximity. Boxes 425, 426, 427, 428, 429, and 430 are for setting thresholds when determining contact. The display is controlled by the CPU 301 of the control device 300.
[0072] Box 421 is a box for inputting the value at which stoppers 251 and 252 come into contact when link 201 is moved clockwise. In Figure 11, 30° is input as the rotation angle, which is the reference value for the proximity detection threshold. Box 422 is a box for inputting the threshold value that determines how far from the reference value input in box 421 the proximity will be detected. In Figure 11, ±10° is input, so proximity detection will be performed within a range of 30° ± 10°.
[0073] Box 423 is a box for inputting the value at which stoppers 251 and 252 come into contact when link 201 is moved counterclockwise. In Figure 11, 240° is input as the rotation angle, which becomes the reference value for the proximity detection threshold. Box 424 is a box for inputting the threshold value that determines how far from the reference value input in box 423 the proximity will be detected. In Figure 11, ±10° is input, so proximity detection will be performed within a range of 240° ± 10°.
[0074] Box 425 is a box for inputting the threshold value used to determine contact between stoppers. In Figure 11, 3 N·m is input as the torque value. Box 426 is a box for inputting the range from the torque value in box 425 to determine the contact detection range. In Figure 11, a value of ±0.5 N·m is input, and contact is determined if a detection value within the range of 3 ± 0.5 N·m is obtained. The values in boxes 425 and 426 may also be used to determine when the movable piece 253 is held between stoppers 251 and 252.
[0075] Box 427 is a box for inputting the threshold value used to determine the sliding of the movable joint 253. In Figure 11, a torque value of 2 N·m is input. Box 428 is a box for inputting the range of values from the torque value in box 427 that will be used for determining sliding. In Figure 11, a value of ±0.1 N·m is input, and if the detected value falls within the range of 2 ± 0.1 N·m, it is determined that the movable joint 253 is sliding.
[0076] Box 429 is for inputting the threshold value used to determine contact between the movable top 253 and the stopper 252. In Figure 11, 1 N·m is entered as the torque value. Box 430 is for inputting the range from the torque value in box 429 to determine whether the top and stopper are in contact. In Figure 11, a value of ±0.1 N·m is entered, and if the detected value is within the range of 1 ± 0.1 N·m, it is determined that the top and stopper are in contact. The threshold values are registered by pressing the registration button 431 after all threshold values have been set.
[0077] As described above, according to this embodiment, in a mechanical stopper of the type in which the contact position of the stoppers can be varied, the threshold for determining proximity and contact between the stoppers can be edited. Therefore, even if the position of the stoppers is changed, proximity and contact between the stoppers can be easily determined. Furthermore, even if the detected value of the torque sensor changes, the threshold for determination can be easily adjusted. Note that this embodiment and its variations may be implemented in combination with the various embodiments and variations described above in a given robot.
[0078] (Other embodiments) The processing procedures of the embodiments described above are specifically executed by the CPU 301 of the control device 300. Therefore, it is also possible to configure the device to read and execute a recording medium containing a software program capable of executing the above-described functions. In this case, the program read from the recording medium itself will realize the functions of each embodiment described above, and the program itself and the recording medium on which the program is recorded will constitute the present invention.
[0079] Furthermore, in each embodiment, the computer-readable recording medium was described as a ROM, RAM, or flash ROM, and the program was stored in the ROM, RAM, or flash ROM. However, the present invention is not limited to these embodiments. The program for carrying out the present invention may be recorded on any recording medium that is computer-readable. For example, an HDD, external storage device, recording disk, etc., may be used as the recording medium for supplying the control program.
[0080] Furthermore, while the various embodiments described above have explained the case where the robot arm body 200 is a multi-joint robot arm having multiple joints, the number of joints is not limited to this. Although a vertical multi-axis configuration was shown as the type of robot arm, the same configuration can be implemented with different types of joints such as horizontal multi-joint, parallel link, and Cartesian robots, and the drive source that drives each joint may be a device such as an artificial muscle. It may also be applied to prosthetic arms, prosthetic legs, and powered suits (power assist suits) equipped with force-detecting sensors such as torque sensors.
[0081] Furthermore, the various embodiments described above are applicable to machines that can automatically perform movements such as extension and retraction, bending and straightening, vertical movement, horizontal movement, or rotation, or combinations thereof, based on information stored in a memory device provided in the control device.
[0082] Furthermore, while the torque sensors in the various embodiments described above use an optical encoder to detect the relative movement between the first fixed member 511 and the second fixed member 512, other configurations are also possible. For example, regarding a method of measuring displacement magnetically, the magnetic flux source and magnetoelectric conversion element may be placed on either the first fixed member 511 or the second fixed member 512 for detection. As the first fixed member 511 and the second fixed member 512 move relative to each other, the magnitude of the magnetic flux density flowing into the magnetoelectric conversion element changes with the change in distance between the magnetic flux source and the magnetoelectric conversion element, and the output of the magnetoelectric conversion element changes in accordance with the change in magnetic flux density. By detecting this change in the output of the magnetoelectric conversion element, the displacement can be measured.
[0083] It should be noted that the present invention is not limited to the embodiments described above, and many modifications are possible within the technical concept of the present invention. Furthermore, the effects described in the embodiments of the present invention are merely a list of the most preferred effects arising from the present invention, and the effects of the present invention are not limited to those described in the embodiments of the present invention. [Explanation of Symbols]
[0084] 200 Robot Arm Body Links 201, 202, 203, 204, 205, 206 210 base 211, 212, 213, 214, 215, 216 encoders 221, 222, 223, 224, 225, 226 Torque Sensor 230 Arm Motor Driver 231, 232, 233, 234, 235, 236 Drive unit 231a Output shaft 231b Housing 241 Drive flange 251, 252 Stopper 253 movable pieces 254 Groove 261 Brake 300 Control device 400 External Input Device 411a Display section Boxes 421, 422, 423, 424, 425, 426, 427, 428, 429, and 430. 431 Register button 511 First fixing member 512 Second fixing member 513 Connecting member 514 Optical Encoder 515 Stay member 516 Opening 517 Sealing component 518 Wiring 521 detection head 522 scale 531 Optical Patterns 541 Light-emitting element 542 Photodetector
Claims
1. A robot system including a robot having a first link and a second link that is displaceable relative to the first link, and a control device, The first link is provided with a first stopper, and the second link is provided with a second stopper, The control device, controlling the second link to maintain a predetermined posture according to a contact state between the first stopper and the second stopper; A robot system comprising:
2. In the robot system according to claim 1, a sensor for detecting a state of the second link is provided on the first link or the second link; The control device, detecting the contact state based on a detection result of the sensor; A robot system comprising:
3. 3. The robot system according to claim 2, The sensor is provided at a position not sandwiched between the first stopper and the second stopper. A robot system comprising:
4. 4. The robot system according to claim 2, The control device includes: detecting contact between the first stopper and the second stopper based on a detection value of the sensor when the first stopper and the second stopper come into contact with each other; A robot system comprising:
5. 5. The robot system according to claim 1, The control device includes: controlling the second link so that, when the first stopper and the second stopper come into contact with each other and the operation of the second link stops, or when the first stopper and the second stopper do not come into contact with each other and the operation of the second link stops, the second link maintains a stopped state, and when an external force acts on the second link, the second link moves due to the external force; A robot system comprising:
6. 6. The robot system according to claim 5, the control device controls the second link so as to compensate for the weight of the second link, thereby maintaining the second link in a stopped state. A robot system comprising:
7. 5. The robot system according to claim 1, The control device includes: When the first stopper and the second stopper come into contact with each other and the operation of the second link stops, or when the first stopper and the second stopper do not come into contact with each other and the operation of the second link stops, the second link is positioned at a predetermined position. A robot system comprising:
8. The robot system according to claim 7, The control device includes: placing the second link at the predetermined position and applying a brake to the second link; A robot system comprising:
9. 9. The robot system according to claim 7, the predetermined position is a return position at which it is confirmed that the second link will not come into contact with a surrounding object even if the second link is operated to the predetermined position, A robot system comprising:
10. 3. The robot system according to claim 2, The first link is provided with a groove, a member that is disposed so as to slide in the groove portion, moves together with the second link while being in contact with the second stopper, and comes into contact with the first stopper at a predetermined position; A robot system comprising:
11. The robot system according to claim 10, The member is a movable piece. A robot system comprising:
12. The robot system according to claim 10 or 11, The control device includes: detecting contact between the member and the second stopper based on a detection value of the sensor when the member and the second stopper come into contact with each other; A robot system comprising:
13. 13. The robot system according to claim 10, The control device includes: detecting sliding between the member and the groove portion based on a detection value of the sensor when the member slides in the groove portion; A robot system comprising:
14. The robot system according to any one of claims 10 to 13, The control device includes: and detecting that the member is sandwiched between the first stopper and the second stopper based on a detection value of the sensor when the second stopper and the member come into contact with each other while the second stopper and the member are moving together. A robot system comprising:
15. 15. The robot system according to claim 10, A threshold value in a predetermined range is set for the detection value of the sensor in order to determine contact between the member and the second stopper. A robot system comprising:
16. 16. The robot system according to claim 1, The control device, detecting an approach between the first stopper and the second stopper; A robot system comprising:
17. 17. The robot system according to claim 1, A drive source for rotating the second link; a position detection means for detecting a position of the second link or a position of a rotation shaft of the drive source; Equipped with The control device includes: detecting an approach between the first stopper and the second stopper based on the position detection means; A robot system comprising:
18. 18. The robot system according to claim 17, The control device includes: When the approach of the first stopper and the second stopper is detected, the second link is decelerated. A robot system comprising:
19. 20. The robot system according to claim 18, The control device includes: decelerating the second link by increasing a viscosity term of a control parameter used in controlling the movement of the second link; A robot system comprising:
20. 20. The robot system according to claim 18 or 19, The control device includes: slowing down the second link using a brake; A robot system comprising:
21. 21. The robot system according to claim 17, The control device includes: detecting an approach between the first stopper and the second stopper based on a threshold value within a predetermined range that is set for a detection value of the position detection means when the first stopper and the second stopper come into contact with each other; A robot system comprising:
22. The robot system according to any one of claims 2 and 10 to 15, The control device may include: displaying a setting screen for setting the detection value of the sensor; A robot system comprising:
23. The robot system according to claim 15 or 21, The control device may include: displaying a setting screen for setting the predetermined range; A robot system comprising:
24. 23. The robotic system according to claim 22, On the setting screen, the detection value when the second link moves counterclockwise or the detection value when the second link moves clockwise can be set. A robot system comprising:
25. 24. The robotic system according to claim 23, On the setting screen, the predetermined range when the second link moves counterclockwise or the predetermined range when the second link moves clockwise can be set. A robot system comprising:
26. 3. The robot system according to claim 2, The robot further includes a reducer for rotating the second link, The sensor is provided between an output shaft of the reducer and the second link. A robot system comprising:
27. 3. The robot system according to claim 2, The robot is a robot arm, and the sensor is a torque sensor. A robot system comprising:
28. A method for manufacturing an article, comprising the steps of: manufacturing an article by using the robot system according to any one of claims 1 to 27;
29. A method for controlling a robot system including a robot having a first link and a second link that is displaceable relative to the first link, and a control device, the method comprising: The first link is provided with a first stopper, and the second link is provided with a second stopper, The control device, controlling the second link to maintain a predetermined posture according to a contact state between the first stopper and the second stopper; A control method comprising:
30. 1. A display device that displays information about a robot system including a robot having a first link and a second link that is displaceable relative to the first link, and a control device, The display device includes a processing unit. The first link is provided with a first stopper, and the second link is provided with a second stopper, the control device controls the second link to maintain a predetermined posture according to a contact state between the first stopper and the second stopper, the processing unit displays, on the display device, a setting screen for setting a reference value for a detection value of a sensor for detecting contact between the first stopper and the second stopper. A display device comprising:
31. 1. A control method for displaying information of a robot system including a robot having a first link and a second link that is displaceable relative to the first link and a control device on a display device by a processing unit, The first link is provided with a first stopper, and the second link is provided with a second stopper, the control device controls the second link to maintain a predetermined posture according to a contact state between the first stopper and the second stopper, the processing unit displays, on the display device, a setting screen for setting a reference value for a detection value of a sensor for detecting contact between the first stopper and the second stopper. A control method comprising:
32. A control program capable of executing the control method according to claim 29 or the control method according to claim 31.
33. A computer-readable recording medium storing the control program according to claim 32.