WO2020067241A1 - Robot control device and robot control method - Google Patents

Robot control device and robot control method Download PDF

Info

Publication number
WO2020067241A1
WO2020067241A1 PCT/JP2019/037761 JP2019037761W WO2020067241A1 WO 2020067241 A1 WO2020067241 A1 WO 2020067241A1 JP 2019037761 W JP2019037761 W JP 2019037761W WO 2020067241 A1 WO2020067241 A1 WO 2020067241A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
route
point
path
robot arm
Prior art date
Application number
PCT/JP2019/037761
Other languages
French (fr)
Japanese (ja)
Inventor
宣幸 若林
Original Assignee
日本電産株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電産株式会社 filed Critical 日本電産株式会社
Publication of WO2020067241A1 publication Critical patent/WO2020067241A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4155Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme

Definitions

  • the present invention relates to a robot control device and a robot control method.
  • Japanese Patent Laid-Open Publication No. 4-326404 discloses that when the operating range of a robot arm is known, the robot arm is prevented from moving out of the operating range.
  • the present invention solves the above-described problems, and one object of the present invention is to reduce the possibility that a robot arm collides with an obstacle.
  • the robot control device includes a recording unit that records a path along which the robot arm can move without collision, a specifying unit that specifies at least a part of a path that the robot arm attempts to move, Before moving the robot arm according to at least a part of the path specified by the specifying unit, whether at least a part of the path specified by the specifying unit matches a corresponding part of the path recorded in the recording unit And a determination unit for determining whether or not the determination is made.
  • the route on which the robot arm can move without collision is recorded in the recording unit. If at least a part of the path specified by the specifying unit (part of the path that the robot arm is about to move) does not match the corresponding part recorded in the recording unit, it is considered that the safety of the path has not been confirmed.
  • FIG. 1 is a diagram showing a system including a robot control device and a robot according to an embodiment of the present invention.
  • FIG. 2 is a diagram schematically illustrating a hardware configuration of a robot control device, a robot, and an information processing device.
  • 5 is a flowchart illustrating a process of the robot control device in the test operation mode.
  • 9 is a flowchart illustrating processing of the robot control device in a normal operation mode.
  • FIG. 5 is a diagram showing an example of the operation of the robot according to the embodiment.
  • the figure which shows an example of a history database The figure which shows the case where a robot arm collides with an obstacle.
  • FIG. 1 is a schematic configuration diagram of a system 70 including a robot control device 10, a robot 20, an information processing device 30, a mode changeover switch 40, an alarm 50, and a lamp 60 according to the embodiment of the present invention. is there.
  • the robot control device 10 is connected to the robot 20 by wire or wirelessly, and can communicate with the robot 20.
  • the robot control device 10 is connected to the information processing device 30 by wire or wirelessly, and can communicate with the information processing device 30.
  • the robot 20 is an articulated arm robot.
  • the robot controller 10 is connected to the alarm 50 and the lamp 60 by wire or wirelessly.
  • the alarm 50 outputs an alarm sound based on an instruction from the robot control device 10.
  • the lamp 60 outputs a warning light (optical warning) based on an instruction from the robot control device 10.
  • the alarm 50 and the lamp 60 can operate at the same time (can output an alarm sound and an alarm light at the same time).
  • the alarm 50 may include a display. In that case, the alarm 50 can output not only a sound alarm but also a character alarm.
  • the robot control device 10 of the present embodiment can operate in one of two operation modes (test operation mode and normal operation mode).
  • the mode changeover switch 40 is used when switching the operation mode.
  • the mode switch 40 may be operated by a user of the system 70 to switch the operation mode, or may be based on an instruction (for example, a wireless signal) transmitted from the information processing device 30 to the mode switch 40.
  • the operation mode may be switched by pressing the switch.
  • FIG. 2 schematically shows a hardware configuration of the robot control device 10, the robot 20, and the information processing device 30.
  • the robot control device 10 includes a first control unit 101, a first storage 102, a communication interface 103, and a predetermined input / output port or input / output device (I / O) 104.
  • the first control unit 101 is connected to the mode changeover switch 40, the alarm 50, and the lamp 60 via the input / output port 104.
  • the first control unit 101 is a control unit that controls the entire operation of the robot control device 10.
  • the first control unit 101 may include one or more CPUs or MPUs.
  • the first control unit 101 executes an application program, an operating system, a system program, a user program, and the like stored in a first storage 102 (for example, a nonvolatile storage unit, a ROM).
  • the first storage 102 includes a buffer.
  • the first storage 102 also includes a history database of the current position and the target position of the robot arm.
  • the system program reads the user program in the first storage 102 and sequentially executes the instructions.
  • the command of the user program may be a command for controlling the robot.
  • the user program issues a command to the first control unit 101 as appropriate, and the first control unit 101 executes the command.
  • the mode switch 40, the alarm 50, and the lamp 60 can be controlled by a system program or can be controlled by a user program.
  • the communication interface 103 is an interface for connecting to the information processing device 30.
  • the robot 20 includes a second control unit 201, a sensor group 202, a manipulator 203, and a predetermined input / output port or input / output device (I / O) 204.
  • the second control unit 201 is a control unit that controls the entire robot 20.
  • the second control unit 201 can operate the manipulator 203 based on an instruction from the robot control device 10, or can operate the manipulator 203 based on a program provided in the second control unit 201.
  • the second control unit 201 may include one or more CPUs and MPUs.
  • the second control unit 201 executes an application program, an operating system, a control program, and the like stored in the internal storage.
  • the sensor group 202 includes a plurality of sensors (for example, a position sensor, a temperature sensor, a torque sensor, a proximity sensor, a gravity sensor, an image sensor, and a collision sensor).
  • An external device can be connected to the input / output port 204.
  • the mode changeover switch 40, the alarm 50, and the lamp 60 may be connected to the robot 20 via the input / output port 204.
  • the information processing device 30 includes a third control unit 301, an input unit 302, a second storage 303, a display unit 304, and a communication interface 305.
  • the information processing device 30 is, for example, a personal computer.
  • the information processing device 30 transmits the user program to the storage 102 of the robot control device 10.
  • the third control unit 301 is a control unit that controls the entire information processing device 30.
  • the third control unit 301 may include one or more CPUs and MPUs.
  • the third control unit 301 executes an application program, an operating system, a control program, and the like stored in the second storage 303.
  • the second storage 303 also stores a user program created by the user.
  • the input unit 302 includes various buttons and the like for instructing the operation of the information processing device 30.
  • the input unit 302 includes buttons, switches, a touch panel, and the like.
  • the user can input data, numerical values, instructions, and the like via the input unit 302.
  • the user uses the input unit 302 when operating the information processing device 30.
  • the user can operate the input unit 302 to start the information processing device 30.
  • the input unit 302 can also be called an operation unit.
  • the display unit 304 includes, for example, a liquid crystal display or an LED (light emitting diode).
  • the display unit 304 can display, for example, position information detected by the sensor group 202 of the robot 20 as an image.
  • the display unit 304 can display an instruction or a numerical value input by the user of the information processing device 30 from the input unit 302.
  • Display unit 304 may include a touch panel.
  • the robot control device 10, the robot 20, and the information processing device 30 may include elements other than the components illustrated in FIG.
  • the robot control device 10 may include an input unit similar to the input unit 302 of the information processing device 30.
  • FIG. 3 is a flowchart for explaining the operation and processing of the robot control device 10 when the operation mode of the robot 20 is set to the test operation mode by the mode changeover switch 40.
  • S is an abbreviation for Step.
  • a signal of the test operation mode (mode switching signal) is transmitted from the mode switching switch 40 to the robot controller 10 before S1.
  • the flowchart of FIG. 3 is processed by the first control unit 101 included in the robot control device 10 executing a program stored in the first storage (for example, the ROM) 102. This flowchart starts, for example, when the power of the robot control device 10 is turned on.
  • the robot controller 10 sets the robot 20 to the test operation mode based on a mode switching signal from the mode switching switch 40.
  • the test operation mode the moving speed of the robot arm is lower than the moving speed of the robot arm in the normal operation mode.
  • the robot arm may collide with an obstacle or the like. If the robot arm can be predicted to collide with an obstacle or the like, before the collision occurs, the operator of the system 70 operates the input unit 302 of the information processing device 30 to issue an operation stop instruction to the robot 20, for example.
  • the operation of the robot arm may be stopped, or an operation stop instruction may be input to the robot 20 via the input / output device 204 of the robot 20.
  • the robot 20 automatically stops when it can determine that the distance between the robot arm and the obstacle or the like has become a predetermined value or less based on the detection result of the proximity sensor included in the sensor group 202. You may.
  • the robot control device 10 receives the user program transmitted from the information processing device 30.
  • the user program includes information on the target position of the robot arm, and also includes a command to move to the target position. Note that, for example, the robot control device 10 may have received the user program before S1.
  • the robot controller 10 sets the target position in the first storage (buffer) 102.
  • the robot controller 10 acquires the current position of the tip of the robot arm from the sensor group 202 of the robot 20. Then, the robot controller 10 calculates the movement path of the robot arm from the current position of the tip of the robot arm and the target position.
  • the movement route may be calculated as a straight line (straight line complement) or may be calculated as a curve (PTP complement). PTP is an abbreviation for Point-To-Point.
  • the robot control device 10 transmits a command to the robot 20 to move along the calculated movement route.
  • the robot controller 10 determines whether the tip of the robot arm has reached the target position without colliding with an obstacle (without collision).
  • This determination is performed by the first control unit 101 based on the detection information of the sensor group 202 (the impact sensor, the position sensor, and the like) of the robot 20. If the determination result in S6 is No, the process proceeds to S9 and ends the process. When the result of the determination in S6 is Yes, the process proceeds to S7.
  • the robot control device 10 checks (comparisons) the current position and the target position of the tip of the robot arm (the current position and the target position used in the path calculation in S4) with the history database of the first storage 102.
  • the robot controller 10 determines whether the current position and the target position of the tip of the robot arm are already in the history database (registered). If the determination result in S8 is Yes, the process proceeds to S9, and the process ends. If the determination result in S8 is No, the robot controller 10 registers the current position and the target position of the tip of the robot arm in the history database.
  • FIG. 4 is a flowchart for explaining the operation and processing of the robot controller 10 when the operation mode of the robot 20 is set to the normal operation mode by the mode changeover switch 40. If a safe route can be registered in the history database by executing the test operation mode, the robot arm is moved in the normal operation mode shown in FIG. It is assumed that the signal of the normal operation mode (mode switching signal) has been transmitted from the mode switching switch 40 to the robot controller 10 before S21.
  • the robot control device 10 sets the robot 20 to the normal operation mode based on a mode switching signal from the mode switching switch 40. In the normal operation mode, the moving speed of the robot arm is faster than the moving speed of the robot arm in the test operation mode.
  • the robot control device 10 receives the user program transmitted from the information processing device 30.
  • the user program includes information on the target position of the robot arm, and also includes a command to move to the target position. Note that the robot control device 10 may have received the user program before S21, for example.
  • the robot control device 10 acquires the current position of the arm tip of the robot 20 from the sensor group 202 of the robot 20. Then, the robot control device 10 checks the current position of the arm tip of the robot 20 and the target position acquired in S22 against the history database. The current position of the tip of the robot arm is the starting point of the movement path. The target position acquired in S22 is the end point of the moving route. In S22 and S23, the robot controller 10 specifies at least a part (start point and end point) of the path that the robot arm is to move. In S24, the robot controller 10 determines whether the current position and the target position of the tip of the robot arm are already in the history database (registered).
  • S24 it is determined whether or not the current position and the target position match those already registered in the history database.
  • S24 at least a part of the path to be moved by the robot arm is recorded in the history database before the robot arm is moved according to at least a part of the path (start point and end point) to be moved by the robot arm. It is determined whether it matches the corresponding part of the route. If the determination result in S24 is Yes, the process proceeds to S25. In this case, the robot control device 10 determines that the safety of the path from which the tip of the robot arm is about to move is confirmed. If the determination result in S24 is No, the process proceeds to S26.
  • the robot controller 10 sets the target position in the first storage (buffer) 102.
  • the robot controller 10 calculates the movement path of the robot arm from the current position of the tip of the robot arm and the target position.
  • the robot control device 10 transmits a command to the robot 20 to move along the calculated movement route.
  • the robot controller 10 determines whether the tip of the robot arm has reached the target position. This determination is made by the first control unit 101 based on the detection information of the sensor group 202 (position sensor and the like) of the robot 20. If the determination result in S29 is No, the process returns to S28. If the determination result in S29 is Yes, the process proceeds to S30, and the process ends.
  • the robot controller 10 determines that the safety of the path to which the tip of the robot arm is about to move has not been confirmed, and outputs a history collation error.
  • the history collation error is, for example, an alarm (alarm) due to a sound emitted from the alarm 50 or an alarm due to light emitted from the lamp 60.
  • the robot control device 10 stops the operation of the robot 20. This is to prevent the robot arm from moving on a route whose safety has not been confirmed.
  • the process proceeds to S30 and ends. As described above, in the present embodiment, it is prohibited to take a route that has not been passed before.
  • a route that has not been passed until now is a route whose security has not been confirmed, and is considered to be a route that is not normally passed. If the route to be moved is an unconfirmed route, the robot operator can take some measures by outputting an alarm.
  • the comparison with the history database is performed in S24. Since the route calculation process (S27) is performed only when the determination result of S24 is Yes, in the present embodiment, the route calculation process is performed only when necessary.
  • the robot controller 10 determines a safe route by the operation in the test operation mode.
  • secure route information is not registered in the history database.
  • point P0 is the home position of the robot arm
  • point P1 is the first retreat point
  • point P2 is the first work point
  • point P3 is the second retreat point
  • point P4 Is the second working point.
  • the movement from the point P0 to the point P1 is referred to as a forward path, and the movement from the point P1 to the point P0 is referred to as a return path.
  • the movement from the point P1 to the point P2 is referred to as a forward path, and the movement from the point P2 to the point P1 is referred to as a return path.
  • the movement from the point P1 to the point P3 is referred to as a forward path, and the movement from the point P3 to the point P1 is referred to as a return path.
  • the movement from the point P3 to the point P4 is referred to as a forward path, and the movement from the point P4 to the point P3 is referred to as a return path.
  • the movement from the point P3 to the point P0 is referred to as an outward path, and the path from the point P0 to the point P3 is referred to as a return path.
  • the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P0 (home position) as the current position and the point P1 (evacuation point 1) as the target position, and performs safety on the outward route of the route 52. Check the nature. If the safety of the outward route of the route 52 can be confirmed, the robot controller 10 registers the information of the outward route of the route 52 in the history database. In the history database, the current position name, the coordinates of the current position, the target position name, the coordinates of the target position, the route complementing method, and the operation parameters are registered (stored) as information on the outward route of the route 52 (FIG. 6). The operation parameter indicates the operation speed of the robot arm.
  • the robot control device 10 performs processing based on the flowchart of FIG. 3 with the point P1 as the current position and the point P0 as the target position, and confirms the safety of the return route of the route 52. If the safety of the return route of the route 52 can be confirmed, the robot controller 10 registers the information of the return route of the route 52 in the history database. The outward route and the return route of the route 52 are respectively calculated by PTP complementation. In FIG. 5A, since the point P1 is the first retreat point, it is described as "retreat point 1".
  • the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P1 as the current position and the point P2 as the target position, and confirms the safety of the forward path 53. If the safety of the outbound route of the route 53 can be confirmed, the robot control device 10 registers the information of the outbound route of the route 53 in the history database. Then, the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P2 as the current position and the point P1 as the target position, and checks the safety of the return path of the path 53. If the safety of the return route of the route 53 can be confirmed, the robot controller 10 registers the information of the return route of the route 53 in the history database. The outward route and the return route of the route 53 are respectively calculated by straight line complementation. In FIG. 5A, since the point P2 is the first working point, it is described as "working point 1".
  • the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P1 as the current position and the point P3 as the target position, and confirms the safety of the outward route of the route 54. If the safety of the outbound route of the route 54 can be confirmed, the robot control device 10 registers the information of the outbound route of the route 54 in the history database. Then, the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P3 as the current position and the point P1 as the target position, and confirms the safety of the return route of the route 54. If the safety of the return route of the route 54 can be confirmed, the robot controller 10 registers the information of the return route of the route 54 in the history database. The outward route and the return route of the route 54 are each calculated by PTP complementation. In FIG. 5A, since the point P3 is the second retreat point, it is described as "retreat point 2".
  • the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P3 as the current position and the point P4 as the target position, and confirms the safety of the forward path 55. If the safety of the outgoing route of the route 55 can be confirmed, the robot controller 10 registers the information of the outgoing route of the route 55 in the history database. Then, the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P4 as the current position and the point P3 as the target position, and checks the safety of the return path of the path 55. If the safety of the return route of the route 55 can be confirmed, the robot controller 10 registers the information of the return route of the route 55 in the history database. The outward route and the return route of the route 55 are respectively calculated by straight line complementation. In FIG. 5A, since the point P4 is the second working point, it is described as "working point 2".
  • FIG. 5B is a table 57 showing the correspondence between the position names of the robot arms and the coordinate values.
  • rz, ry, and rx indicate angles (Eulerian angles).
  • FIG. 6 shows the history database 65.
  • the robot controller 10 operates the robot arm in the normal operation mode.
  • the robot arm starts moving from a point P0 and performs a predetermined operation (for example, placing a part at a predetermined position) at two points P2 and P4. More specifically, the robot arm moves rightward from point P0 (path 52) and reaches point P1. Thereafter, the robot arm moves downward from the point P1 and reaches the point P2 (path 53). Then, the robot arm performs a predetermined operation at the point P2.
  • a predetermined operation for example, placing a part at a predetermined position
  • the robot arm After completing the predetermined operation at the point P2, the robot arm moves upward and reaches the point P1 (path 53). Then, the robot arm moves rightward from point P1, and reaches point P3 (path 54). The robot arm moves downward from point P3 and reaches point P4 (path 55). The robot arm performs a predetermined operation at the point P4. After completing the predetermined operation at the point P4, the robot arm moves upward and reaches the point P3 (path 55). Then, the robot arm returns from point P3 to point P0 (path 56). After the work is performed at the point P2, the operation may return to the point P0 via the point P1.
  • FIG. 7 shows an example in which the robot arm collides with the obstacle 51a due to a programming error.
  • the robot arm moves rightward from the point P0 (path 52) and reaches the point P1 avoiding the obstacle 51a. Thereafter, the robot arm moves downward from the point P1, reaches the point P2, and performs a predetermined operation at the point P2.
  • the robot arm is set to return linearly from the point P2 to the point P0 after the operation at the point P2 is completed. That is, in the example of FIG. 7, it is assumed that an instruction to return to the point P0 from the point P2 (without passing the point 1) is given to the robot due to a programming error (obstruction evacuation point leakage).
  • the robot arm moves linearly from the point P2 toward the point P0 and collides with the obstacle 51a. The collision is indicated by an “x” mark in FIG.
  • the robot control device 10 activates the alarm 50 and / or the lamp 60 and stops the operation of the robot 20. Therefore, the robot arm does not collide with the obstacle 51a. Therefore, according to the present embodiment, even if there is a programming error, it is possible to prevent the robot arm from colliding with the obstacle 51a.
  • the collision shown in FIG. 7 can occur for reasons other than programming errors. For example, it is assumed that some operation error occurs at the work point P2 and the robot arm stops. After that, the error is released, and the robot arm is returned to the point P0. When the point P1 is leaking in this return path, the robot arm moves along the arrow 58 and collides with the obstacle 51a. This is an example of a path design error. Also in such a case, according to the present embodiment, the route along the arrow 58 is not moved. Therefore, according to the present embodiment, even if there is a path design error, it is possible to prevent the robot arm from colliding with the obstacle 51a.
  • FIG. 8 shows another collision case.
  • the robot arm collides with the obstacle 51b due to a design error in the PLC (not shown).
  • PLC is an abbreviation for Programmable Logic Controller. It is assumed that the PLC is connected to the input / output port 104 of the robot controller 10. In the example of FIG. 8, it is assumed that the user program sets a target position in response to a command from the PLC. According to the present embodiment, the security of the routes 53 to 55 has already been confirmed.
  • the case where the point P2 is the current position and the point P1 is the target position and the case where the point P1 is the current position and the point P3 is the target position are registered in the history database (FIG. 6).
  • the robot arm When the robot arm moves normally, the robot arm performs a predetermined operation at the point P2, and then moves upward to reach the point P1 (path 53). Then, the robot arm moves rightward from the point P1, and reaches the point P3 while avoiding the obstacle 51 (path 54). Thereafter, the robot arm moves downward from the point P3, reaches the point P4 (path 55), and performs a predetermined operation at the point P4.
  • the robot control device 10 activates the alarm 50 and / or the lamp 60 and stops the operation of the robot 20. Therefore, when the robot arm is emergency stopped and returns, even if an abnormal command is received from the PLC, the robot arm does not collide with the obstacle 51b.
  • the collision shown in FIG. 8 can occur even when an emergency stop does not occur.
  • an instruction to move from the point P2 to the point P3 may be issued under specific conditions.
  • the robot controller 10 sets the alarm 50 and / or The lamp 60 is activated, and the operation of the robot 20 is stopped. Therefore, the robot arm does not collide with the obstacle 51b.
  • the paths 52 to 56 where the robot arm can move without collision are recorded in the storage 102 (history database 65).
  • the current position (start point) and target position (end point) of the path to be determined by the first control unit 101 do not match the current position and target position recorded in the storage 102 It can be determined that the safety of the route has not been confirmed.
  • the history database of FIG. 4 S23, S24
  • the operation in the test operation mode is performed at a low speed, it is possible to confirm the safety of the route that the robot arm normally travels in a safe procedure. In addition, it is possible to prohibit the robot arm from passing through a path (an unconfirmed safety path) that is supposed not to pass normally. In other words, if the route to be moved is an unconfirmed safety route, it is determined that the route is a passage that the robot arm does not normally pass, and the operation of the robot arm is stopped.
  • the robot arm stops halfway between the points P1 and P2 for some reason, it may be desired to move the robot arm from the stop position (current position) to, for example, the point P1 (evacuation point 1).
  • the current position is not registered in the history database, but the point P1 is registered in the history database.
  • the determination result of S24 in FIG. Whether or not the stop position is on the route 53 is determined by detecting the stop position by the sensor group 202 of the robot 20, calculating a route from the stop position to the target position (point P1), and overlapping the route with the route 53. For example, it is determined that the stop position is on the route 53.
  • the operation of the robot arm is stopped (S26).
  • an allowable range for example, a shift of about 1 mm. If there is, it will not interfere with the work of the robot). Therefore, the match / mismatch between the current position registered in the history database and the current position detected by the sensor group 202 of the robot 20 may be determined to be “match” if they do not match within a predetermined range. (That is, the determination result of S24 may be set to Yes.)
  • the predetermined range can be set from the information processing device 30, for example.
  • the robot control device 10 calculates a route that the robot is about to move, and determines whether or not the calculated route matches a moving route registered in the history database. If the determination result is No, the process of S26 is performed. If the determination result is Yes, the process of S28 is performed. It should be noted that since the moving route can be approximately specified once the current position (start point) and the target position (end point) are determined, it can be said that S24 in FIG. 4 determines that the moving routes match.
  • the route complementing method used by the robot controller 10 matches the route complementing method registered in the history database (not considered).
  • the alarm 50 and the lamp 60 are provided separately, but the alarm 50 and the lamp 60 may be provided as one alarm unit.
  • the alarm unit may output at least one of an audio alarm, an optical alarm, and a text alarm.
  • the operation of the robot arm is stopped (S26).
  • the determination result in S24 is No
  • the operation may be switched to the test operation mode instead of immediately proceeding to S26.
  • the robot arm is moved at a low speed along the route to check whether the route is safe.
  • the route is registered in the history database, so that the route can be treated as a safe route when the robot arm moves thereafter.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

This robot control device is provided with: a recording unit for recording a path along which a robot arm has moved without collision; an identification unit for identifying at least one part of a path the robot arm is to move along; and a determination unit for determining, prior to causing the robot arm to move along at least said one part of the path identified by the identification unit, whether at least said one part of the path identified by the identification unit coincides with a corresponding part of the path recorded by the recording unit. According to the present invention, it is possible to determine whether a robot arm is to move along a path, the safety of which is not assured.

Description

ロボット制御装置及びロボット制御方法Robot control device and robot control method
本発明は、ロボット制御装置及びロボット制御方法に関する。 The present invention relates to a robot control device and a robot control method.
ロボットの動作を制御する装置として、日本国公開公報特開平4-326404号公報の技術が知られている。日本国公開公報特開平4-326404号公報では、ロボットアームの動作範囲が分かっている場合、ロボットアームが当該動作範囲外に移動することを防止している。 As a device for controlling the operation of a robot, a technique disclosed in Japanese Patent Laid-Open Publication No. 4-326404 is known. Japanese Patent Laid-Open Publication No. 4-326404 discloses that when the operating range of a robot arm is known, the robot arm is prevented from moving out of the operating range.
日本国公開公報:特開平4-326404号公報Japanese Unexamined Patent Publication: JP-A-4-326404
しかし、日本国公開公報特開平4-326404号公報の技術では、ロボットアームの動作範囲の安全性を確認していないので、ロボットアームの動作範囲内に障害物があった場合に、当該障害物にロボットアームが衝突することを防止することはできない。  However, in the technology disclosed in Japanese Patent Laid-Open Publication No. 4-326404, the safety of the operating range of the robot arm is not confirmed, so that if an obstacle is present within the operating range of the robot arm, the It is not possible to prevent the robot arm from colliding with the robot.
本発明は、上記した課題を解決するものであり、本発明の1つの目的は、ロボットアームが障害物に衝突する可能性を低減することである。 The present invention solves the above-described problems, and one object of the present invention is to reduce the possibility that a robot arm collides with an obstacle.
本発明の1つの態様によるロボット制御装置は、ロボットアームが非衝突で移動できた経路を記録する記録部と、前記ロボットアームが移動しようとする経路の少なくとも一部を特定する特定部と、前記特定部が特定した前記経路の少なくとも一部に従って前記ロボットアームを移動させる前に、前記特定部が特定した前記経路の少なくとも一部が、前記記録部に記録された経路の対応部分に一致するか否かを判定する判定部と、を備える。 The robot control device according to one aspect of the present invention includes a recording unit that records a path along which the robot arm can move without collision, a specifying unit that specifies at least a part of a path that the robot arm attempts to move, Before moving the robot arm according to at least a part of the path specified by the specifying unit, whether at least a part of the path specified by the specifying unit matches a corresponding part of the path recorded in the recording unit And a determination unit for determining whether or not the determination is made.
本発明によれば、記録部には、ロボットアームが非衝突で移動できた経路が記録されている。特定部が特定した経路の少なくとも一部(ロボットアームがこれから移動しようとする経路の一部)が記録部に記録された対応部分に一致しない場合、当該経路の安全性が確認されていないと考えられる。本発明によれば、安全性が確保されていない経路をロボットアームが移動しようとしているのが判定できるので、当該判定に基づいて、ロボットアームが障害物に衝突する可能性を低減することができる。 According to the present invention, the route on which the robot arm can move without collision is recorded in the recording unit. If at least a part of the path specified by the specifying unit (part of the path that the robot arm is about to move) does not match the corresponding part recorded in the recording unit, it is considered that the safety of the path has not been confirmed. Can be According to the present invention, it is possible to determine that the robot arm is going to move on a route where safety is not ensured, and it is possible to reduce the possibility that the robot arm collides with an obstacle based on the determination. .
本発明の実施形態に係るロボット制御装置とロボットを含むシステムを示す図。FIG. 1 is a diagram showing a system including a robot control device and a robot according to an embodiment of the present invention. ロボット制御装置、ロボット及び情報処理装置のハードウェア構成の概略を示す図。FIG. 2 is a diagram schematically illustrating a hardware configuration of a robot control device, a robot, and an information processing device. 試運転モードにおけるロボット制御装置の処理を示すフローチャート。5 is a flowchart illustrating a process of the robot control device in the test operation mode. 通常運転モードにおけるロボット制御装置の処理を示すフローチャート。9 is a flowchart illustrating processing of the robot control device in a normal operation mode. 本実施形態によるロボットの作業例を示す図。FIG. 5 is a diagram showing an example of the operation of the robot according to the embodiment. ロボットの位置と座標の対応を示す図。The figure which shows the correspondence of the position and coordinate of a robot. 履歴データベースの一例を示す図。The figure which shows an example of a history database. ロボットアームが障害物に衝突する事例を示す図。The figure which shows the case where a robot arm collides with an obstacle. ロボットアームが障害物に衝突する他の事例を示す図。The figure which shows the other case where a robot arm collides with an obstacle.
以下、添付図面を参照して、本発明を実施するための実施形態を詳細に説明する。以下に説明する実施形態は、本発明の実現手段としての一例であり、本発明が適用される装置やシステムの構成や各種条件によって適宜修正または変更されるべきものであり、本発明は以下の実施形態に限定されるものではない。  Hereinafter, an embodiment for carrying out the present invention will be described in detail with reference to the accompanying drawings. The embodiment described below is an example as a means for realizing the present invention, and should be modified or changed as appropriate according to the configuration of the apparatus or system to which the present invention is applied or various conditions. It is not limited to the embodiment.

(システムの概略)

 図1は、本発明の実施形態に係るロボット制御装置10と、ロボット20と、情報処理装置30と、モード切り替えスイッチ40と、アラーム50と、ランプ60と、からなるシステム70の概略構成図である。

 ロボット制御装置10は、ロボット20と有線または無線で接続されており、ロボット20と通信可能である。また、ロボット制御装置10は、情報処理装置30と有線または無線で接続されており、情報処理装置30と通信可能である。ロボット20は多関節アームロボットである。 

(Outline of the system)

FIG. 1 is a schematic configuration diagram of a system 70 including a robot control device 10, a robot 20, an information processing device 30, a mode changeover switch 40, an alarm 50, and a lamp 60 according to the embodiment of the present invention. is there.

The robot control device 10 is connected to the robot 20 by wire or wirelessly, and can communicate with the robot 20. The robot control device 10 is connected to the information processing device 30 by wire or wirelessly, and can communicate with the information processing device 30. The robot 20 is an articulated arm robot.

 さらに、ロボット制御装置10は、アラーム50及びランプ60に有線または無線で接続されている。アラーム50は、ロボット制御装置10からの指示に基づいて警報音声を出力する。ランプ60は、ロボット制御装置10からの指示に基づいて警報光(光学的警報)を出力する。アラーム50とランプ60は、同時に動作することができる(同時に、警報音と警報光を出力することができる)。なお、アラーム50はディスプレイを備えてもよい。その場合、アラーム50は、音声による警報だけでなく、文字による警報も出力できる。

 本実施形態のロボット制御装置10は、2つの運転モード(試運転モードと通常運転モード)のいずれかで動作することができる。モード切り替えスイッチ40は、運転モードを切り替える際に使用される。モード切り替えスイッチ40は、システム70のユーザに操作されることにより、運転モードの切り替えを行ってもよいし、情報処理装置30からモード切り替えスイッチ40へ送信される指示(例えば、無線信号)に基づいて運転モードの切り替えを行ってもよい。 

Further, the robot controller 10 is connected to the alarm 50 and the lamp 60 by wire or wirelessly. The alarm 50 outputs an alarm sound based on an instruction from the robot control device 10. The lamp 60 outputs a warning light (optical warning) based on an instruction from the robot control device 10. The alarm 50 and the lamp 60 can operate at the same time (can output an alarm sound and an alarm light at the same time). Note that the alarm 50 may include a display. In that case, the alarm 50 can output not only a sound alarm but also a character alarm.

The robot control device 10 of the present embodiment can operate in one of two operation modes (test operation mode and normal operation mode). The mode changeover switch 40 is used when switching the operation mode. The mode switch 40 may be operated by a user of the system 70 to switch the operation mode, or may be based on an instruction (for example, a wireless signal) transmitted from the information processing device 30 to the mode switch 40. The operation mode may be switched by pressing the switch.

 (ハードウェア構成)

 図2は、ロボット制御装置10とロボット20と情報処理装置30のハードウェア構成の概略を示している。

 ロボット制御装置10は、第1制御部101と、第1ストレージ102と、通信インターフェース103と、所定の入出力ポートもしくは入出力デバイス(I/O)104とを備えている。第1制御部101は、入出力ポート104を介して、モード切り替えスイッチ40、アラーム50及びランプ60に接続されている。 

(Hardware configuration)

FIG. 2 schematically shows a hardware configuration of the robot control device 10, the robot 20, and the information processing device 30.

The robot control device 10 includes a first control unit 101, a first storage 102, a communication interface 103, and a predetermined input / output port or input / output device (I / O) 104. The first control unit 101 is connected to the mode changeover switch 40, the alarm 50, and the lamp 60 via the input / output port 104.

 第1制御部101は、ロボット制御装置10の全体の制御を司る制御部である。第1制御部101は、1つまたは複数のCPUやMPUを有してよい。第1制御部101は、第1ストレージ102(例えば、不揮発性記憶部、ROM)に記憶されているアプリケーションプログラム、オペレーティングシステム、システムプログラム、ユーザプログラム等を実行する。第1ストレージ102は、バッファを含む。第1ストレージ102には、ロボットアームの現在位置や目標位置の履歴データベースも含まれている。システムプログラムは、第1ストレージ102にあるユーザプログラムを読み取り、逐次、命令を実行する。ユーザプログラムの命令が、ロボット制御を行う命令である場合もある。その場合、ユーザプログラムが第1制御部101に適宜命令を発行し、第1制御部101が当該命令を実行する。モード切り替えスイッチ40、アラーム50及びランプ60は、システムプログラムにより制御することができるし、ユーザプログラムにより制御することもできる。

 通信インターフェース103は、情報処理装置30と接続するためのインターフェースである。 

The first control unit 101 is a control unit that controls the entire operation of the robot control device 10. The first control unit 101 may include one or more CPUs or MPUs. The first control unit 101 executes an application program, an operating system, a system program, a user program, and the like stored in a first storage 102 (for example, a nonvolatile storage unit, a ROM). The first storage 102 includes a buffer. The first storage 102 also includes a history database of the current position and the target position of the robot arm. The system program reads the user program in the first storage 102 and sequentially executes the instructions. The command of the user program may be a command for controlling the robot. In this case, the user program issues a command to the first control unit 101 as appropriate, and the first control unit 101 executes the command. The mode switch 40, the alarm 50, and the lamp 60 can be controlled by a system program or can be controlled by a user program.

The communication interface 103 is an interface for connecting to the information processing device 30.

 ロボット20は、第2制御部201と、センサ群202と、マニピュレータ203と、所定の入出力ポートもしくは入出力デバイス(I/O)204とを備えている。

 第2制御部201は、ロボット20の全体の制御を司る制御部である。第2制御部201は、ロボット制御装置10からの指示に基づいて、マニピュレータ203を動作させることができるし、第2制御部201が備えているプログラムに基づいてマニピュレータ203を動作させることもできる。第2制御部201は、1つまたは複数のCPUやMPUを有してよい。第2制御部201は、内蔵ストレージに記憶されているアプリケーションプログラム、オペレーティングシステム、制御プログラム等を実行する。

 センサ群202は、複数のセンサ(例えば、位置センサ、温度センサ、トルクセンサ、近接センサ、重力センサ、画像センサ、衝突センサ)を含む。入出力ポート204には、外部装置を接続することができる。

 尚、モード切り替えスイッチ40、アラーム50及びランプ60は、入出力ポート204を介してロボット20に接続されてもよい。 

The robot 20 includes a second control unit 201, a sensor group 202, a manipulator 203, and a predetermined input / output port or input / output device (I / O) 204.

The second control unit 201 is a control unit that controls the entire robot 20. The second control unit 201 can operate the manipulator 203 based on an instruction from the robot control device 10, or can operate the manipulator 203 based on a program provided in the second control unit 201. The second control unit 201 may include one or more CPUs and MPUs. The second control unit 201 executes an application program, an operating system, a control program, and the like stored in the internal storage.

The sensor group 202 includes a plurality of sensors (for example, a position sensor, a temperature sensor, a torque sensor, a proximity sensor, a gravity sensor, an image sensor, and a collision sensor). An external device can be connected to the input / output port 204.

The mode changeover switch 40, the alarm 50, and the lamp 60 may be connected to the robot 20 via the input / output port 204.

 情報処理装置30は、第3制御部301と、入力部302と、第2ストレージ303と、表示部304と、通信インターフェース305とを備えている。情報処理装置30は、例えば、パーソナルコンピュータである。情報処理装置30は、ユーザプログラムをロボット制御装置10のストレージ102に送信する。

 第3制御部301は、情報処理装置30の全体の制御を司る制御部である。第3制御部301は、1つまたは複数のCPUやMPUを有してよい。第3制御部301は、第2ストレージ303に記憶されているアプリケーションプログラム、オペレーティングシステム、制御プログラム等を実行する。第2ストレージ303には、ユーザが作成したユーザプログラムも記憶されている。 

The information processing device 30 includes a third control unit 301, an input unit 302, a second storage 303, a display unit 304, and a communication interface 305. The information processing device 30 is, for example, a personal computer. The information processing device 30 transmits the user program to the storage 102 of the robot control device 10.

The third control unit 301 is a control unit that controls the entire information processing device 30. The third control unit 301 may include one or more CPUs and MPUs. The third control unit 301 executes an application program, an operating system, a control program, and the like stored in the second storage 303. The second storage 303 also stores a user program created by the user.

 入力部302は、情報処理装置30の動作を指示するための各種ボタン等からなる。入力部302は、ボタン、スイッチ、タッチパネル等からなり、ユーザは入力部302を介してデータ、数値、命令等を入力することができる。ユーザは、情報処理装置30を操作する際に、入力部302を使用する。例えば、ユーザは、入力部302を操作して、情報処理装置30を起動することができる。入力部302は、操作部と称することもできる。

 表示部304は、例えば、液晶ディスプレイやLED(発光ダイオード)からなる。表示部304は、例えば、ロボット20のセンサ群202が検出した位置情報を画像として表示することができる。また、表示部304は、情報処理装置30のユーザが入力部302から入力した指示や数値を表示することができる。表示部304は、タッチパネルを含んでもよい。

 尚、ロボット制御装置10、ロボット20及び情報処理装置30は、図2に示された構成要素以外の要素を有してもよい。例えば、ロボット制御装置10は、情報処理装置30の入力部302と同じような入力部を有してもよい。 

The input unit 302 includes various buttons and the like for instructing the operation of the information processing device 30. The input unit 302 includes buttons, switches, a touch panel, and the like. The user can input data, numerical values, instructions, and the like via the input unit 302. The user uses the input unit 302 when operating the information processing device 30. For example, the user can operate the input unit 302 to start the information processing device 30. The input unit 302 can also be called an operation unit.

The display unit 304 includes, for example, a liquid crystal display or an LED (light emitting diode). The display unit 304 can display, for example, position information detected by the sensor group 202 of the robot 20 as an image. The display unit 304 can display an instruction or a numerical value input by the user of the information processing device 30 from the input unit 302. Display unit 304 may include a touch panel.

Note that the robot control device 10, the robot 20, and the information processing device 30 may include elements other than the components illustrated in FIG. For example, the robot control device 10 may include an input unit similar to the input unit 302 of the information processing device 30.

(試運転モードのフローチャート)

 図3は、モード切り替えスイッチ40により、ロボット20の運転モードが試運転モードにされている場合のロボット制御装置10の動作・処理を説明するためのフローチャートである。図中、SはStepの略である。例えば、ユーザプログラムを変更した場合には、試運転モードの運転を行う。

 以下の説明では、S1の前に、モード切り替えスイッチ40からロボット制御装置10に試運転モードの信号(モード切り替え信号)が送信されているとする。図3のフローチャートは、ロボット制御装置10が備える第1制御部101が第1ストレージ(例えば、ROM)102に記憶されているプログラムを実行することにより処理される。このフローチャートは、例えば、ロボット制御装置10の電源がONにされたときに開始する。 

(Flowchart of test run mode)

FIG. 3 is a flowchart for explaining the operation and processing of the robot control device 10 when the operation mode of the robot 20 is set to the test operation mode by the mode changeover switch 40. In the figure, S is an abbreviation for Step. For example, when the user program is changed, the operation in the test operation mode is performed.

In the following description, it is assumed that a signal of the test operation mode (mode switching signal) is transmitted from the mode switching switch 40 to the robot controller 10 before S1. The flowchart of FIG. 3 is processed by the first control unit 101 included in the robot control device 10 executing a program stored in the first storage (for example, the ROM) 102. This flowchart starts, for example, when the power of the robot control device 10 is turned on.
S1において、ロボット制御装置10は、モード切り替えスイッチ40からのモード切り替え信号に基づいて、ロボット20を試運転モードに設定する。試運転モードでは、ロボットアームの移動速度は、通常運転モードのロボットアームの移動速度より遅い。試運転モードでロボットアームを移動させるときは、ロボットアームの移動経路の安全性が確認されていないので、ロボットアームが障害物等に衝突する可能性がある。ロボットアームが障害物等に衝突すると予測できる場合、当該衝突が起きる前に、システム70のオペレータは、例えば、情報処理装置30の入力部302を操作して、ロボット20に動作停止指示を出し、ロボットアームの動作を停止してもよいし、ロボット20の入出力デバイス204を介して、ロボット20に動作停止指示を入力してもよい。あるいは、ロボット20は、センサ群202に含まれる近接センサの検出結果に基づいて、ロボットアームと障害物等との間の距離が所定値以下になったと判定できる場合には、自動的に停止してもよい。  In S1, the robot controller 10 sets the robot 20 to the test operation mode based on a mode switching signal from the mode switching switch 40. In the test operation mode, the moving speed of the robot arm is lower than the moving speed of the robot arm in the normal operation mode. When the robot arm is moved in the test operation mode, since the safety of the movement path of the robot arm has not been confirmed, the robot arm may collide with an obstacle or the like. If the robot arm can be predicted to collide with an obstacle or the like, before the collision occurs, the operator of the system 70 operates the input unit 302 of the information processing device 30 to issue an operation stop instruction to the robot 20, for example. The operation of the robot arm may be stopped, or an operation stop instruction may be input to the robot 20 via the input / output device 204 of the robot 20. Alternatively, the robot 20 automatically stops when it can determine that the distance between the robot arm and the obstacle or the like has become a predetermined value or less based on the detection result of the proximity sensor included in the sensor group 202. You may.

 S2において、ロボット制御装置10は、情報処理装置30から送信されてきたユーザプログラムを受信する。ユーザプログラムには、ロボットアームの目標位置の情報が含まれており、当該目標位置への移動命令も含まれている。なお、ロボット制御装置10は、例えば、S1より前にユーザプログラムを受信していてもよい。

 S3において、ロボット制御装置10は、目標位置を第1ストレージ(バッファ)102にセットする。 

In S2, the robot control device 10 receives the user program transmitted from the information processing device 30. The user program includes information on the target position of the robot arm, and also includes a command to move to the target position. Note that, for example, the robot control device 10 may have received the user program before S1.

In S3, the robot controller 10 sets the target position in the first storage (buffer) 102.

 S4において、ロボット制御装置10は、ロボット20のセンサ群202からロボットアーム先端の現在位置を取得する。そして、ロボット制御装置10は、ロボットアーム先端の現在位置と、目標位置とから、ロボットアームの移動経路を算出する。移動経路は直線として算出される場合(直線補完)と、曲線として算出される場合(PTP補完)がある。PTPはPoint-To-Pointの略である。

 S5において、ロボット制御装置10は、算出した移動経路に沿って移動するよう、ロボット20に指令を送信する。

 S6において、ロボット制御装置10は、ロボットアーム先端が、障害物に衝突することなく(非衝突で)目標位置に到達したかを判定する。この判定は、第1制御部101がロボット20のセンサ群202(衝撃センサ、位置センサ等)の検出情報に基づいて行う。S6の判定結果がNoの場合、S9に進み、処理を終了する。S6の判定結果がYesの場合、S7に進む。 

In S4, the robot controller 10 acquires the current position of the tip of the robot arm from the sensor group 202 of the robot 20. Then, the robot controller 10 calculates the movement path of the robot arm from the current position of the tip of the robot arm and the target position. The movement route may be calculated as a straight line (straight line complement) or may be calculated as a curve (PTP complement). PTP is an abbreviation for Point-To-Point.

In S5, the robot control device 10 transmits a command to the robot 20 to move along the calculated movement route.

In S6, the robot controller 10 determines whether the tip of the robot arm has reached the target position without colliding with an obstacle (without collision). This determination is performed by the first control unit 101 based on the detection information of the sensor group 202 (the impact sensor, the position sensor, and the like) of the robot 20. If the determination result in S6 is No, the process proceeds to S9 and ends the process. When the result of the determination in S6 is Yes, the process proceeds to S7.

 S7において、ロボット制御装置10は、ロボットアーム先端の現在位置及び目標位置(S4の経路算出で使用した現在位置及び目標位置)を第1ストレージ102の履歴データベースと照合(比較)する。

 S8において、ロボット制御装置10は、ロボットアーム先端の現在位置及び目標位置が、すでに履歴データベースに有るか(登録されているか)を判定する。S8の判定結果がYesの場合、S9に進み、処理を終了する。S8の判定結果がNoの場合、ロボット制御装置10は、ロボットアーム先端の現在位置及び目標位置を履歴データベースに登録する。

 S6(Yes)→S7→S8(No)→S10の処理により、算出経路の始点(現在位置)から終点(目標位置)まで、障害物に衝突することなく移動できることが分かり、この算出経路が安全な経路であるとして履歴データベースに登録される。図3のフローチャートを繰り返し実行することにより、複数の経路(図5AのP0→P1、P1→P0、P1→P2、P2→P1、P1→P3、P3→P1、P3→P4、P4→P3、P3→P0、P0→P3)の安全性を確認し、当該複数の経路を履歴データベースに登録することができる。当該複数の経路を通常運転時のロボットが移動する経路とすれば、通常運転時のロボットの安全性を確保することができる。 

In S7, the robot control device 10 checks (comparisons) the current position and the target position of the tip of the robot arm (the current position and the target position used in the path calculation in S4) with the history database of the first storage 102.

In S8, the robot controller 10 determines whether the current position and the target position of the tip of the robot arm are already in the history database (registered). If the determination result in S8 is Yes, the process proceeds to S9, and the process ends. If the determination result in S8 is No, the robot controller 10 registers the current position and the target position of the tip of the robot arm in the history database.

By the processing of S6 (Yes) → S7 → S8 (No) → S10, it can be seen that the calculated path can be moved from the start point (current position) to the end point (target position) without colliding with an obstacle, and this calculated path is safe. Is registered in the history database as a simple route. By repeatedly executing the flowchart of FIG. 3, a plurality of paths (P0 → P1, P1 → P0, P1 → P2, P2 → P1, P1 → P3, P3 → P1, P3 → P4, P4 → P3, FIG. 5A) The security of P3 → P0, P0 → P3) is confirmed, and the plurality of routes can be registered in the history database. If the plurality of paths are paths on which the robot moves during normal operation, safety of the robot during normal operation can be ensured.

(通常運転モードのフローチャート)

 図4は、モード切り替えスイッチ40により、ロボット20の運転モードが通常運転モードにされている場合のロボット制御装置10の動作・処理を説明するためのフローチャートである。試運転モードの実行により、安全な経路を履歴データベースに登録できたならば、図4の通常運転モードでロボットアームを移動することになる。S21の前に、モード切り替えスイッチ40からロボット制御装置10に通常運転モードの信号(モード切り替え信号)が送信されているとする。 

(Flowchart of normal operation mode)

FIG. 4 is a flowchart for explaining the operation and processing of the robot controller 10 when the operation mode of the robot 20 is set to the normal operation mode by the mode changeover switch 40. If a safe route can be registered in the history database by executing the test operation mode, the robot arm is moved in the normal operation mode shown in FIG. It is assumed that the signal of the normal operation mode (mode switching signal) has been transmitted from the mode switching switch 40 to the robot controller 10 before S21.

 S21において、ロボット制御装置10は、モード切り替えスイッチ40からのモード切り替え信号に基づいて、ロボット20を通常運転モードに設定する。通常運転モードでは、ロボットアームの移動速度は、試運転モードのロボットアームの移動速度より速い。

 S22において、ロボット制御装置10は、情報処理装置30から送信されてきたユーザプログラムを受信する。ユーザプログラムには、ロボットアームの目標位置の情報が含まれており、当該目標位置への移動命令も含まれている。なお、ロボット制御装置10は、例えば、S21より前にユーザプログラムを受信していてもよい。 

In S21, the robot control device 10 sets the robot 20 to the normal operation mode based on a mode switching signal from the mode switching switch 40. In the normal operation mode, the moving speed of the robot arm is faster than the moving speed of the robot arm in the test operation mode.

In S22, the robot control device 10 receives the user program transmitted from the information processing device 30. The user program includes information on the target position of the robot arm, and also includes a command to move to the target position. Note that the robot control device 10 may have received the user program before S21, for example.

 S23において、ロボット制御装置10は、ロボット20のセンサ群202からロボット20のアーム先端の現在位置を取得する。そして、ロボット制御装置10は、ロボット20のアーム先端の現在位置と、S22で取得した目標位置とを、履歴データベースと照合する。ロボットアームの先端の現在位置は、移動経路の始点である。また、S22で取得した目標位置は、移動経路の終点である。ロボット制御装置10は、S22及びS23で、ロボットアームが移動しようとする経路の少なくとも一部(始点と終点)を特定している。

 S24において、ロボット制御装置10は、ロボットアーム先端の現在位置及び目標位置が、すでに履歴データベースに有るか(登録されているか)を判定する。つまり、現在位置と目標位置が、すでに履歴データベースに登録されているものと一致するかを判定する。S24では、ロボットアームが移動しようとする経路の少なくとも一部(始点と終点)に従ってロボットアームを移動させる前に、ロボットアームが移動しようとする経路の少なくとも一部が、履歴データベースに記録されている経路の対応部分に一致するかを判定している。S24の判定結果がYesの場合、S25に進む。この場合、ロボット制御装置10は、ロボットアーム先端がこれから移動しようとする経路の安全性が確認されていると判断する。S24の判定結果がNoの場合、S26に進む。 

In S23, the robot control device 10 acquires the current position of the arm tip of the robot 20 from the sensor group 202 of the robot 20. Then, the robot control device 10 checks the current position of the arm tip of the robot 20 and the target position acquired in S22 against the history database. The current position of the tip of the robot arm is the starting point of the movement path. The target position acquired in S22 is the end point of the moving route. In S22 and S23, the robot controller 10 specifies at least a part (start point and end point) of the path that the robot arm is to move.

In S24, the robot controller 10 determines whether the current position and the target position of the tip of the robot arm are already in the history database (registered). That is, it is determined whether or not the current position and the target position match those already registered in the history database. In S24, at least a part of the path to be moved by the robot arm is recorded in the history database before the robot arm is moved according to at least a part of the path (start point and end point) to be moved by the robot arm. It is determined whether it matches the corresponding part of the route. If the determination result in S24 is Yes, the process proceeds to S25. In this case, the robot control device 10 determines that the safety of the path from which the tip of the robot arm is about to move is confirmed. If the determination result in S24 is No, the process proceeds to S26.

 S25において、ロボット制御装置10は、目標位置を第1ストレージ(バッファ)102にセットする。

 S27において、ロボット制御装置10は、ロボットアーム先端の現在位置と、目標位置とから、ロボットアームの移動経路を算出する。

 S28において、ロボット制御装置10は、算出した移動経路に沿って移動するよう、ロボット20に指令を送信する。

 S29において、ロボット制御装置10は、ロボットアーム先端が、目標位置に到達したかを判定する。この判定は、第1制御部101がロボット20のセンサ群202(位置センサ等)の検出情報に基づいて行う。S29の判定結果がNoの場合、S28に戻る。S29の判定結果がYesの場合、S30に進み、処理を終了する。 

In S25, the robot controller 10 sets the target position in the first storage (buffer) 102.

In S27, the robot controller 10 calculates the movement path of the robot arm from the current position of the tip of the robot arm and the target position.

In S28, the robot control device 10 transmits a command to the robot 20 to move along the calculated movement route.

In S29, the robot controller 10 determines whether the tip of the robot arm has reached the target position. This determination is made by the first control unit 101 based on the detection information of the sensor group 202 (position sensor and the like) of the robot 20. If the determination result in S29 is No, the process returns to S28. If the determination result in S29 is Yes, the process proceeds to S30, and the process ends.

 S26に進む場合は、ロボットアーム先端の現在位置及び目標位置が、履歴データベースに登録されていない場合である。この場合、ロボット制御装置10は、ロボットアーム先端がこれから移動しようとする経路の安全性が確認されていないと判断し、履歴照合エラーを出力する。履歴照合エラーは、例えば、アラーム50から発せられる音声によるアラーム(警報)であったり、ランプ60から発せられる光によるアラームである。ロボット制御装置10は、その後、ロボット20の動作を停止する。これは、ロボットアームが、安全性が確認されていない経路を移動しないようにするためである。S26の後、S30に進み、処理を終了する。このように、本実施形態では、今まで通ったことのない経路を通ることを禁止している。今まで通ったことのない経路は、安全性が確認されていない経路であり、通常時には通らない経路であると考えられる。また、これから移動しようとする経路が安全性未確認経路である場合、警報を出力することより、ロボット操作者は何等かの措置を取ることができる。

 図4のフローチャートでは、経路を算出する前に、S24において履歴データベースとの照合を行っている。経路算出処理(S27)は、S24の判定結果がYesの場合にのみ行われるので、本実施形態では、経路算出処理は、必要な場合にのみ行われる。 

When the process proceeds to S26, the current position and the target position of the tip of the robot arm are not registered in the history database. In this case, the robot controller 10 determines that the safety of the path to which the tip of the robot arm is about to move has not been confirmed, and outputs a history collation error. The history collation error is, for example, an alarm (alarm) due to a sound emitted from the alarm 50 or an alarm due to light emitted from the lamp 60. Thereafter, the robot control device 10 stops the operation of the robot 20. This is to prevent the robot arm from moving on a route whose safety has not been confirmed. After S26, the process proceeds to S30 and ends. As described above, in the present embodiment, it is prohibited to take a route that has not been passed before. A route that has not been passed until now is a route whose security has not been confirmed, and is considered to be a route that is not normally passed. If the route to be moved is an unconfirmed route, the robot operator can take some measures by outputting an alarm.

In the flowchart of FIG. 4, before the route is calculated, the comparison with the history database is performed in S24. Since the route calculation process (S27) is performed only when the determination result of S24 is Yes, in the present embodiment, the route calculation process is performed only when necessary.

(ロボットアームの作業例と履歴データベース)

 ロボットアームの作業例について、図5Aを用いて説明する。

 まず、ロボット制御装置10は、試運転モードの運転により、安全な経路を確定する。尚、以下の説明において、履歴データベースには、安全な経路の情報は登録されていないとする。図5Aでは、点P0がロボットアームのホームポジションであり、点P1が第1の退避点であり、点P2が第1の作業点であり、点P3が第2の退避点であり、点P4が第2の作業点であるとする。また、点P2の左に障害物51aがあり、点P2と点P4の間に障害物51bがあり、点P4の右に障害物51cがあるとする。

 以下の記載において、点P0から点P1への移動を往路と称し、点P1から点P0への移動を復路と称する。また、点P1から点P2への移動を往路と称し、点P2から点P1への移動を復路と称する。同様に、点P1から点P3への移動を往路と称し、点P3から点P1への移動を復路と称する。また、点P3から点P4への移動を往路と称し、点P4から点P3への移動を復路と称する。さらに、点P3から点P0への移動を往路と称し、点P0から点P3への経路を復路と称する。 

(Example of robot arm work and history database)

An operation example of the robot arm will be described with reference to FIG. 5A.

First, the robot controller 10 determines a safe route by the operation in the test operation mode. In the following description, it is assumed that secure route information is not registered in the history database. In FIG. 5A, point P0 is the home position of the robot arm, point P1 is the first retreat point, point P2 is the first work point, point P3 is the second retreat point, and point P4 Is the second working point. Further, it is assumed that there is an obstacle 51a to the left of point P2, an obstacle 51b between points P2 and P4, and an obstacle 51c to the right of point P4.

In the following description, the movement from the point P0 to the point P1 is referred to as a forward path, and the movement from the point P1 to the point P0 is referred to as a return path. Further, the movement from the point P1 to the point P2 is referred to as a forward path, and the movement from the point P2 to the point P1 is referred to as a return path. Similarly, the movement from the point P1 to the point P3 is referred to as a forward path, and the movement from the point P3 to the point P1 is referred to as a return path. Further, the movement from the point P3 to the point P4 is referred to as a forward path, and the movement from the point P4 to the point P3 is referred to as a return path. Further, the movement from the point P3 to the point P0 is referred to as an outward path, and the path from the point P0 to the point P3 is referred to as a return path.

 試運転モードの運転により、ロボット制御装置10は、点P0(ホームポジション)を現在位置とし、点P1(退避点1)を目標位置として、図3のフローチャートに基づく処理を行い経路52の往路の安全性を確認する。経路52の往路の安全性が確認できたならば、ロボット制御装置10は、経路52の往路の情報を履歴データベースに登録する。履歴データベースには、経路52の往路の情報として、現在位置名、現在位置の座標、目標位置名、目標位置の座標、経路補完方法及び動作パラメータを登録(記憶)する(図6)。動作パラメータは、ロボットアームの動作速度を表している。

 その後、ロボット制御装置10は、点P1を現在位置とし、点P0を目標位置として、図3のフローチャートに基づく処理を行い経路52の復路の安全性を確認する。経路52の復路の安全性が確認できたならば、ロボット制御装置10は、経路52の復路の情報を履歴データベースに登録する。経路52の往路及び復路は、それぞれ、PTP補完により算出される。図5Aでは、点P1は第1の退避点であるので「退避点1」と記載されている。 

By the operation in the test operation mode, the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P0 (home position) as the current position and the point P1 (evacuation point 1) as the target position, and performs safety on the outward route of the route 52. Check the nature. If the safety of the outward route of the route 52 can be confirmed, the robot controller 10 registers the information of the outward route of the route 52 in the history database. In the history database, the current position name, the coordinates of the current position, the target position name, the coordinates of the target position, the route complementing method, and the operation parameters are registered (stored) as information on the outward route of the route 52 (FIG. 6). The operation parameter indicates the operation speed of the robot arm.

Thereafter, the robot control device 10 performs processing based on the flowchart of FIG. 3 with the point P1 as the current position and the point P0 as the target position, and confirms the safety of the return route of the route 52. If the safety of the return route of the route 52 can be confirmed, the robot controller 10 registers the information of the return route of the route 52 in the history database. The outward route and the return route of the route 52 are respectively calculated by PTP complementation. In FIG. 5A, since the point P1 is the first retreat point, it is described as "retreat point 1".
また、ロボット制御装置10は、点P1を現在位置とし、点P2を目標位置として、図3のフローチャートに基づく処理を行い経路53の往路の安全性を確認する。経路53の往路の安全性が確認できたならば、ロボット制御装置10は、経路53の往路の情報を履歴データベースに登録する。そして、ロボット制御装置10は、点P2を現在位置とし、点P1を目標位置として、図3のフローチャートに基づく処理を行い経路53の復路の安全性を確認する。経路53の復路の安全性が確認できたならば、ロボット制御装置10は、経路53の復路の情報を履歴データベースに登録する。経路53の往路及び復路は、それぞれ、直線補完により算出される。図5Aでは、点P2は第1の作業点であるので「作業点1」と記載されている。  In addition, the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P1 as the current position and the point P2 as the target position, and confirms the safety of the forward path 53. If the safety of the outbound route of the route 53 can be confirmed, the robot control device 10 registers the information of the outbound route of the route 53 in the history database. Then, the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P2 as the current position and the point P1 as the target position, and checks the safety of the return path of the path 53. If the safety of the return route of the route 53 can be confirmed, the robot controller 10 registers the information of the return route of the route 53 in the history database. The outward route and the return route of the route 53 are respectively calculated by straight line complementation. In FIG. 5A, since the point P2 is the first working point, it is described as "working point 1".

 さらに、ロボット制御装置10は、点P1を現在位置とし、点P3を目標位置として、図3のフローチャートに基づく処理を行い経路54の往路の安全性を確認する。経路54の往路の安全性が確認できたならば、ロボット制御装置10は、経路54の往路の情報を履歴データベースに登録する。そして、ロボット制御装置10は、点P3を現在位置とし、点P1を目標位置として、図3のフローチャートに基づく処理を行い経路54の復路の安全性を確認する。経路54の復路の安全性が確認できたならば、ロボット制御装置10は、経路54の復路の情報を履歴データベースに登録する。経路54の往路及び復路は、それぞれ、PTP補完により算出される。図5Aでは、点P3は第2の退避点であるので「退避点2」と記載されている。 

Further, the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P1 as the current position and the point P3 as the target position, and confirms the safety of the outward route of the route 54. If the safety of the outbound route of the route 54 can be confirmed, the robot control device 10 registers the information of the outbound route of the route 54 in the history database. Then, the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P3 as the current position and the point P1 as the target position, and confirms the safety of the return route of the route 54. If the safety of the return route of the route 54 can be confirmed, the robot controller 10 registers the information of the return route of the route 54 in the history database. The outward route and the return route of the route 54 are each calculated by PTP complementation. In FIG. 5A, since the point P3 is the second retreat point, it is described as "retreat point 2".
また、ロボット制御装置10は、点P3を現在位置とし、点P4を目標位置として、図3のフローチャートに基づく処理を行い経路55の往路の安全性を確認する。経路55の往路の安全性が確認できたならば、ロボット制御装置10は、経路55の往路の情報を履歴データベースに登録する。そして、ロボット制御装置10は、点P4を現在位置とし、点P3を目標位置として、図3のフローチャートに基づく処理を行い経路55の復路の安全性を確認する。経路55の復路の安全性が確認できたならば、ロボット制御装置10は、経路55の復路の情報を履歴データベースに登録する。経路55の往路及び復路は、それぞれ、直線補完により算出される。図5Aでは、点P4は第2の作業点であるので「作業点2」と記載されている。  Further, the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P3 as the current position and the point P4 as the target position, and confirms the safety of the forward path 55. If the safety of the outgoing route of the route 55 can be confirmed, the robot controller 10 registers the information of the outgoing route of the route 55 in the history database. Then, the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P4 as the current position and the point P3 as the target position, and checks the safety of the return path of the path 55. If the safety of the return route of the route 55 can be confirmed, the robot controller 10 registers the information of the return route of the route 55 in the history database. The outward route and the return route of the route 55 are respectively calculated by straight line complementation. In FIG. 5A, since the point P4 is the second working point, it is described as "working point 2".
最後に、ロボット制御装置10は、点P3を現在位置とし、点P0を目標位置として、図3のフローチャートに基づく処理を行い経路56の往路の安全性を確認する。経路56の往路の安全性が確認できたならば、ロボット制御装置10は、経路56の往路の情報を履歴データベースに登録する。そして、ロボット制御装置10は、点P0を現在位置とし、点P3を目標位置として、図3のフローチャートに基づく処理を行い経路56の復路の安全性を確認する。経路56の復路の安全性が確認できたならば、ロボット制御装置10は、経路56の復路の情報を履歴データベースに登録する。経路56の往路及び復路は、それぞれ、PTP補完により算出される。

 図5Bは、ロボットアームの位置名と座標値の対応関係を示す表57である。図中、rz、ry及びrxは角度(オイラー角)を示している。 図6は、履歴データベース65を示している。 
Lastly, the robot control device 10 performs the processing based on the flowchart of FIG. 3 with the point P3 as the current position and the point P0 as the target position, and confirms the safety of the forward path 56. If the safety of the outbound route of the route 56 can be confirmed, the robot control device 10 registers the information of the outbound route of the route 56 in the history database. Then, with the point P0 as the current position and the point P3 as the target position, the robot control device 10 performs a process based on the flowchart in FIG. If the safety of the return route of the route 56 can be confirmed, the robot controller 10 registers the information of the return route of the route 56 in the history database. The outward route and the return route of the route 56 are respectively calculated by PTP complementation.

FIG. 5B is a table 57 showing the correspondence between the position names of the robot arms and the coordinate values. In the figure, rz, ry, and rx indicate angles (Eulerian angles). FIG. 6 shows the history database 65.
試運転モードの運転により、図6に示すような履歴データベース65を取得できたならば、ロボット制御装置10は、ロボットアームを通常運転モードで動作させる。

 図5Aにおいて、ロボットアームは、通常運転モード時には、点P0から移動を開始して2つの点P2とP4において所定の作業(例えば、部品を所定の位置に載置する)を行う。

 より詳しくは、ロボットアームは、点P0から右方向へ移動し(経路52)、点P1に到達する。その後、ロボットアームは、点P1から下方向へ移動し点P2に到達する(経路53)。そして、ロボットアームは、点P2で所定の作業を行う。 
If the history database 65 as shown in FIG. 6 can be acquired by the operation in the test operation mode, the robot controller 10 operates the robot arm in the normal operation mode.

In FIG. 5A, in the normal operation mode, the robot arm starts moving from a point P0 and performs a predetermined operation (for example, placing a part at a predetermined position) at two points P2 and P4.

More specifically, the robot arm moves rightward from point P0 (path 52) and reaches point P1. Thereafter, the robot arm moves downward from the point P1 and reaches the point P2 (path 53). Then, the robot arm performs a predetermined operation at the point P2.

 点P2で所定の作業を終了した後、ロボットアームは、上方向に移動し点P1に到達する(経路53)。そして、ロボットアームは、点P1から右方向に移動し、点P3に到達する(経路54)。ロボットアームは、点P3から下方向に移動し、点P4に到達する(経路55)。ロボットアームは、点P4で所定の作業を行う。

 点P4で所定の作業を終了した後、ロボットアームは、上方向に移動し点P3に到達する(経路55)。そして、ロボットアームは、点P3から点P0に戻る(経路56)。

 尚、点P2で作業を行った後、点P1経由で点P0に戻る場合もある。 

After completing the predetermined operation at the point P2, the robot arm moves upward and reaches the point P1 (path 53). Then, the robot arm moves rightward from point P1, and reaches point P3 (path 54). The robot arm moves downward from point P3 and reaches point P4 (path 55). The robot arm performs a predetermined operation at the point P4.

After completing the predetermined operation at the point P4, the robot arm moves upward and reaches the point P3 (path 55). Then, the robot arm returns from point P3 to point P0 (path 56).

After the work is performed at the point P2, the operation may return to the point P0 via the point P1.

(衝突の事例)

 ロボットアームが障害物に衝突する事例について説明する。

 ロボットアームが障害物に衝突する事例は複数考えられる。図7は、プログラミングのミスにより、ロボットアームが障害物51aに衝突する事例を示している。

 図7において、ロボットアームは、点P0から右方向へ移動し(経路52)、障害物51aを避けて、点P1に到達する。その後、ロボットアームは、点P1から下方向へ移動し点P2に到達し、点P2で所定の作業を行う。 

(Crash case)

An example in which the robot arm collides with an obstacle will be described.

There are several cases where the robot arm collides with an obstacle. FIG. 7 shows an example in which the robot arm collides with the obstacle 51a due to a programming error.

In FIG. 7, the robot arm moves rightward from the point P0 (path 52) and reaches the point P1 avoiding the obstacle 51a. Thereafter, the robot arm moves downward from the point P1, reaches the point P2, and performs a predetermined operation at the point P2.

 図7の事例では、点P2での作業終了後、ロボットアームが、点P2から点P0に直線的に戻るという設定になっているとする。つまり、図7の事例では、プログラミングのエラー(障害物退避点漏れ)によって、点P2から(点1を通過しないで)点P0に戻るという指示がロボットに出されるとする。この場合、ロボットアームは矢印58で示すように、点P2から直線的に点P0に向かって移動し、障害物51aに衝突する。衝突は、図7において「×」印で示されている。  

In the example of FIG. 7, it is assumed that the robot arm is set to return linearly from the point P2 to the point P0 after the operation at the point P2 is completed. That is, in the example of FIG. 7, it is assumed that an instruction to return to the point P0 from the point P2 (without passing the point 1) is given to the robot due to a programming error (obstruction evacuation point leakage). In this case, as shown by the arrow 58, the robot arm moves linearly from the point P2 toward the point P0 and collides with the obstacle 51a. The collision is indicated by an “x” mark in FIG.
図7の事例において、上記した本発明の実施形態を適用すると、ロボットアームは障害物51aに衝突することはない。以下にその理由を説明する。本実施形態によれば、経路52及び経路53の安全性は、すでに確認されている。また、点P2が現在位置となり点P1が目標位置になる場合と、点P1が現在位置となり点P0が現在位置と目標位置になる場合は、履歴データベースに登録されている(図6)。  In the case of FIG. 7, when the above-described embodiment of the present invention is applied, the robot arm does not collide with the obstacle 51a. The reason will be described below. According to the present embodiment, the security of the route 52 and the route 53 has already been confirmed. The case where the point P2 is the current position and the point P1 is the target position and the case where the point P1 is the current position and the point P0 is the current position and the target position are registered in the history database (FIG. 6).
本実施形態によれば、図4で説明したように、ユーザプログラムから目標位置(P0)への移動命令を受けた際に(S22)、現在位置(P2)と目標位置(P0)を履歴データベースと照合する(S23)。現在位置がP2で目標位置がP0となる場合は、履歴データベースに登録されていない(S24:No)。従って、図4のS26で説明したように、ロボット制御装置10はアラーム50及び(または)ランプ60を起動し、ロボット20の動作を停止する。よって、ロボットアームは障害物51aに衝突しない。よって、本実施形態によれば、プログラミングのミスがあっても、ロボットアームが障害物51aに衝突することを防止できる。  According to the present embodiment, as described with reference to FIG. 4, when a movement command to the target position (P0) is received from the user program (S22), the current position (P2) and the target position (P0) are stored in the history database. And (S23). When the current position is P2 and the target position is P0, it is not registered in the history database (S24: No). Accordingly, as described in S26 of FIG. 4, the robot control device 10 activates the alarm 50 and / or the lamp 60 and stops the operation of the robot 20. Therefore, the robot arm does not collide with the obstacle 51a. Therefore, according to the present embodiment, even if there is a programming error, it is possible to prevent the robot arm from colliding with the obstacle 51a.
尚、図7で示した衝突は、プログラミングのエラー以外の理由でも発生し得る。例えば、作業点P2で何等かの動作エラーが発生し、ロボットアームが停止したとする。その後、エラー解除を行い、ロボットアームが点P0に復帰させられる。この復帰経路に点P1が漏れている場合、ロボットアームは矢印58に沿って移動し障害物51aに衝突する。これは経路設計ミスの事例である。このような場合も、本実施形態によれば、矢印58に沿った経路を移動することはない。よって、本実施形態によれば、経路設計ミスがあっても、ロボットアームが障害物51aに衝突することを防止できる。  Note that the collision shown in FIG. 7 can occur for reasons other than programming errors. For example, it is assumed that some operation error occurs at the work point P2 and the robot arm stops. After that, the error is released, and the robot arm is returned to the point P0. When the point P1 is leaking in this return path, the robot arm moves along the arrow 58 and collides with the obstacle 51a. This is an example of a path design error. Also in such a case, according to the present embodiment, the route along the arrow 58 is not moved. Therefore, according to the present embodiment, even if there is a path design error, it is possible to prevent the robot arm from colliding with the obstacle 51a.

 図8は、他の衝突事例を示している。この事例では、PLC(図示せず)に設計ミスがあるために、ロボットアームが障害物51bに衝突する事例を示している。PLCはProgrammable Logic Controllerの略である。PLCは、ロボット制御装置10の入出力ポート104に接続されているとする。

 図8の事例では、ユーザプログラムは、PLCから指令を受けて、目標位置を設定するようになっているとする。本実施形態によれば、経路53~55の経路の安全性は、すでに確認されている。また、点P2が現在位置となり点P1が目標位置になる場合と、点P1が現在位置となり点P3が目標位置になる場合は、履歴データベースに登録されている(図6)。 

FIG. 8 shows another collision case. In this case, the robot arm collides with the obstacle 51b due to a design error in the PLC (not shown). PLC is an abbreviation for Programmable Logic Controller. It is assumed that the PLC is connected to the input / output port 104 of the robot controller 10.

In the example of FIG. 8, it is assumed that the user program sets a target position in response to a command from the PLC. According to the present embodiment, the security of the routes 53 to 55 has already been confirmed. The case where the point P2 is the current position and the point P1 is the target position and the case where the point P1 is the current position and the point P3 is the target position are registered in the history database (FIG. 6).
ロボットアームが正常に動く場合、ロボットアームは、点P2で所定の作業を行った後、上方向に移動し点P1に到達する(経路53)。そして、ロボットアームは、点P1から右方向に移動し、障害物51を避けて、点P3に到達する(経路54)。その後、ロボットアームは、点P3から下方向に移動し、点P4に到達し(経路55)、点P4で所定の作業を行う。  When the robot arm moves normally, the robot arm performs a predetermined operation at the point P2, and then moves upward to reach the point P1 (path 53). Then, the robot arm moves rightward from the point P1, and reaches the point P3 while avoiding the obstacle 51 (path 54). Thereafter, the robot arm moves downward from the point P3, reaches the point P4 (path 55), and performs a predetermined operation at the point P4.

 次に、ロボットアームが点P2において非常停止され、その後に動作を再開する場合を考える。ロボットアームが動作を再開する際、PLCから誤った目標位置(例えば、点P3)が設定されたとする。すると、ロボットアームは、PLCからの設定に基づいて、矢印59に沿って移動する。その結果、ロボットアームは障害物51bに衝突する。衝突は、図8において「×」印で示されている。 

 図8の事例において、上記した本発明の実施形態を適用すると、ロボットアームは障害物51bに衝突することはない。以下にその理由を説明する。

 本実施形態によれば、図4で説明したように、ユーザプログラムから目標位置(P3)への移動命令を受けた際に(S22)、現在位置(P2)と目標位置(P3)を履歴データベースと照合する(S23)。現在位置が点P2で目標位置が点P3となる場合は、履歴データベースに登録されていない(S24:No)。従って、ロボット制御装置10はアラーム50及び(または)ランプ60を起動し、ロボット20の動作を停止する。よって、ロボットアームが非常停止されて復帰した際に、PLCから異常指令が届いても、ロボットアームは障害物51bに衝突しない。 

Next, a case is considered where the robot arm is emergency stopped at point P2 and then resumes operation. It is assumed that when the robot arm resumes operation, an incorrect target position (for example, point P3) is set from the PLC. Then, the robot arm moves along the arrow 59 based on the setting from the PLC. As a result, the robot arm collides with the obstacle 51b. The collision is indicated by an “x” mark in FIG.

In the case of FIG. 8, when the above-described embodiment of the present invention is applied, the robot arm does not collide with the obstacle 51b. The reason will be described below.

According to the present embodiment, as described with reference to FIG. 4, when a movement command to the target position (P3) is received from the user program (S22), the current position (P2) and the target position (P3) are stored in the history database. And (S23). When the current position is point P2 and the target position is point P3, it is not registered in the history database (S24: No). Therefore, the robot control device 10 activates the alarm 50 and / or the lamp 60 and stops the operation of the robot 20. Therefore, when the robot arm is emergency stopped and returns, even if an abnormal command is received from the PLC, the robot arm does not collide with the obstacle 51b.
尚、図8で示した衝突は、非常停止が発生した場合以外でも発生し得る。例えば、ユーザプログラムがPLCから動作設定される場合、特定条件下で、点P2から点P3に移動する命令が出されることがある。このような事例でも、本実施形態を適用すれば、現在位置が点P2で目標位置が点P3となる場合は、履歴データベースに登録されていないので、ロボット制御装置10はアラーム50及び(または)ランプ60を起動し、ロボット20の動作を停止する。よって、ロボットアームは障害物51bに衝突しない。  Note that the collision shown in FIG. 8 can occur even when an emergency stop does not occur. For example, when the user program is set to operate from the PLC, an instruction to move from the point P2 to the point P3 may be issued under specific conditions. Even in such a case, if the present embodiment is applied, if the current position is the point P2 and the target position is the point P3, the robot is not registered in the history database, so the robot controller 10 sets the alarm 50 and / or The lamp 60 is activated, and the operation of the robot 20 is stopped. Therefore, the robot arm does not collide with the obstacle 51b.

(実施形態の効果)

 本実施形態では、ストレージ102(履歴データベース65)に、ロボットアームが非衝突で移動できた経路52~56が記録されている。第1制御部101が決定しようとする経路(ロボットアームがこれから移動しようとする経路)の現在位置(始点)と目標位置(終点)がストレージ102に記録された現在位置と目標位置に一致しない場合、当該経路の安全性が確認されていないと判断できる。本実施形態によれば、図4の履歴データベースとの照合により(S23、S24)、安全性が確保されていない経路をロボットアームが移動しようとしているのが判定できる。そして、当該判定に基づいて、ロボットアームが障害物に衝突する可能性を低減することができる。

 本実施形態によれば、試運転モードの運転は低速で行われるので、ロボットアームが通常時に通る経路の安全性を安全な手順で確認することができる。また、ロボットアームが通常時には通らないであろうと想定される経路(安全性未確認経路)を通ることを禁止することができる。つまり、これから移動しようとする経路が安全性未確認経路である場合、当該経路は、ロボットアームが通常時には通らない通路であると判断し、ロボットアームの動作を停止している。 

(Effects of the embodiment)

In the present embodiment, the paths 52 to 56 where the robot arm can move without collision are recorded in the storage 102 (history database 65). When the current position (start point) and target position (end point) of the path to be determined by the first control unit 101 (path to which the robot arm is to move) do not match the current position and target position recorded in the storage 102 It can be determined that the safety of the route has not been confirmed. According to the present embodiment, by collating with the history database of FIG. 4 (S23, S24), it can be determined that the robot arm is going to move on a route on which safety is not ensured. Then, based on the determination, the possibility that the robot arm collides with the obstacle can be reduced.

According to the present embodiment, since the operation in the test operation mode is performed at a low speed, it is possible to confirm the safety of the route that the robot arm normally travels in a safe procedure. In addition, it is possible to prohibit the robot arm from passing through a path (an unconfirmed safety path) that is supposed not to pass normally. In other words, if the route to be moved is an unconfirmed safety route, it is determined that the route is a passage that the robot arm does not normally pass, and the operation of the robot arm is stopped.

(変形例)

 何等か理由により点P1と点P2の途中でロボットアームが停止した場合、停止位置(現在位置)からロボットアームを、例えば、点P1(退避点1)へ移動させたい場合がある。この場合、現在位置は履歴データベースに登録されていないが、点P1は履歴データベースに登録されている。このような事例では、停止位置が経路53上にあれば、図4のS24の判定結果をYesとしてよい。停止位置が経路53上にあるか否かは、停止位置をロボット20のセンサ群202により検出し、停止位置から目標位置(点P1)までの経路を算出し、当該経路が経路53に重なれば、停止位置が経路53上にあると判断する。 

(Modification)

If the robot arm stops halfway between the points P1 and P2 for some reason, it may be desired to move the robot arm from the stop position (current position) to, for example, the point P1 (evacuation point 1). In this case, the current position is not registered in the history database, but the point P1 is registered in the history database. In such a case, if the stop position is on the route 53, the determination result of S24 in FIG. Whether or not the stop position is on the route 53 is determined by detecting the stop position by the sensor group 202 of the robot 20, calculating a route from the stop position to the target position (point P1), and overlapping the route with the route 53. For example, it is determined that the stop position is on the route 53.
上記した実施形態では、現在位置と目標位置の対(ペア)が履歴データベースに登録されていない場合(S24:No)、ロボットアームの動作を停止した(S26)。しかし、履歴データベースに登録された現在位置と、ロボット20のセンサ群202で検出した現在位置が完全に一致しなくても、許容範囲内の不一致である場合がある(例えば、1mm程度のずれであれば、ロボットの作業に支障がない場合)。よって、履歴データベースに登録された現在位置と、ロボット20のセンサ群202で検出した現在位置との一致・不一致については、所定の範囲内の不一致であれば、「一致」と判定してもよい(つまり、S24の判定結果をYesとしてよい)。所定の範囲は、例えば、情報処理装置30から設定することができる。  In the embodiment described above, when the pair of the current position and the target position is not registered in the history database (S24: No), the operation of the robot arm is stopped (S26). However, even if the current position registered in the history database and the current position detected by the sensor group 202 of the robot 20 do not completely match, there may be a mismatch within an allowable range (for example, a shift of about 1 mm). If there is, it will not interfere with the work of the robot). Therefore, the match / mismatch between the current position registered in the history database and the current position detected by the sensor group 202 of the robot 20 may be determined to be “match” if they do not match within a predetermined range. (That is, the determination result of S24 may be set to Yes.) The predetermined range can be set from the information processing device 30, for example.
上記した実施形態では、現在位置と目標位置の対が履歴データベースに登録されているかを判定し(S23、S24)、当該判定結果に応じてロボットを停止した(S26)。本発明は、このようなロボット停止処理に限定されない。例えば、履歴データベースには現在位置と目標位置と補完方法とから特定できる移動経路を登録してもよい。この場合、ロボット制御装置10は、ロボットがこれから移動しようとする経路を算出し、当該算出された経路が履歴データベースに登録されている移動経路と一致するかを判定する。判定結果がNoならば、S26の処理を行う。判定結果がYesならば、S28の処理を行う。尚、移動経路は、現在位置(始点)と目標位置(終点)が決まれば凡そ特定できるので、図4のS24は、移動経路の一致を判定しているということもできる。  In the above-described embodiment, it is determined whether a pair of the current position and the target position is registered in the history database (S23, S24), and the robot is stopped according to the determination result (S26). The present invention is not limited to such robot stop processing. For example, a movement route that can be specified from the current position, the target position, and the complementing method may be registered in the history database. In this case, the robot control device 10 calculates a route that the robot is about to move, and determines whether or not the calculated route matches a moving route registered in the history database. If the determination result is No, the process of S26 is performed. If the determination result is Yes, the process of S28 is performed. It should be noted that since the moving route can be approximately specified once the current position (start point) and the target position (end point) are determined, it can be said that S24 in FIG. 4 determines that the moving routes match.

 上記した実施形態では、図4のS24において、ロボット制御装置10が使用する経路補完方法が履歴データベースに登録されている経路補完方法と一致するかどうかは判定しなかった(考慮しなかった)が、現在位置と目標位置の対に加えて経路補完方法が一致するかも判定して、当該判定結果に基づいてS25に進むかS26に進むかを決めてもよい。

 上記した実施形態では、アラーム50とランプ60を別々に設けたが、アラーム50とランプ60を1つの警報部として設けてもよい。この場合、警報部は、音声警報、光学的警報及び文字警報の少なくとも1つの警報を出力できるようにしてもよい。 

In the above-described embodiment, in S24 of FIG. 4, it was not determined whether or not the route complementing method used by the robot controller 10 matches the route complementing method registered in the history database (not considered). Alternatively, it may be determined whether the route complementing method matches in addition to the pair of the current position and the target position, and whether to proceed to S25 or S26 may be determined based on the determination result.

In the above-described embodiment, the alarm 50 and the lamp 60 are provided separately, but the alarm 50 and the lamp 60 may be provided as one alarm unit. In this case, the alarm unit may output at least one of an audio alarm, an optical alarm, and a text alarm.
上記した実施形態では、現在位置と目標位置の対(ペア)が履歴データベースに登録されていない場合(S24:No)、ロボットアームの動作を停止した(S26)。しかし、現在位置と目標位置の対が履歴データベースに登録されていなくても安全な経路である可能性はある。よって、S24の判定結果がNoの場合に、ただちにS26に進むのではなく、試運転モードの運転に切り替えてもよい。試運転モードの運転により、当該経路に沿って低速でロボットアームを移動させ、当該経路が安全であるかを確認する。そして、安全性が確認できたならば、当該経路を履歴データベースに登録することにより、それ以降のロボットアームの移動の際に、当該経路を安全な経路として扱うことができる。 In the embodiment described above, when the pair of the current position and the target position is not registered in the history database (S24: No), the operation of the robot arm is stopped (S26). However, even if the pair of the current position and the target position is not registered in the history database, there is a possibility that the route is a safe route. Therefore, when the determination result in S24 is No, the operation may be switched to the test operation mode instead of immediately proceeding to S26. By operating in the test operation mode, the robot arm is moved at a low speed along the route to check whether the route is safe. When the safety is confirmed, the route is registered in the history database, so that the route can be treated as a safe route when the robot arm moves thereafter.
10…ロボット制御装置、20…ロボット、30…情報処理装置、40…モード切り替えスイッチ、50…アラーム、60…ランプ、101…第1制御部、102…第1ストレージ Reference Signs List 10 robot control device, 20 robot, 30 information processing device, 40 mode switch, 50 alarm, 60 lamp, 101 first control unit, 102 first storage

Claims (8)


  1.  ロボットアームが非衝突で移動できた経路を記録する記録部と、

     前記ロボットアームが移動しようとする経路の少なくとも一部を特定する特定部と、

     前記特定部が特定した前記経路の少なくとも一部に従って前記ロボットアームを移動させる前に、前記特定部が特定した前記経路の少なくとも一部が、前記記録部に記録された経路の対応部分に一致するか否かを判定する判定部と、

     を備えるロボット制御装置。

    A recording unit that records a route that the robot arm can move without collision,

    A specifying unit that specifies at least a part of a path that the robot arm attempts to move;

    Before moving the robot arm according to at least a part of the path specified by the specifying unit, at least a part of the path specified by the specifying unit matches a corresponding part of the path recorded in the recording unit. A determination unit for determining whether or not

    A robot control device comprising:

  2.  前記特定部が特定した前記経路の少なくとも一部が前記記録部に記録された経路の対応部分と一致しないと判定された場合、警報を出力する警報部をさらに備える請求項1に記載のロボット制御装置。

    The robot control according to claim 1, further comprising: an alarm unit that outputs an alarm when it is determined that at least a part of the route specified by the specifying unit does not match a corresponding portion of the route recorded in the recording unit. apparatus.

  3.  前記警報は、音声警報、光学的警報及び文字警報の少なくとも一方を含む請求項2に記載のロボット制御装置。

    The robot control device according to claim 2, wherein the alarm includes at least one of a voice alarm, an optical alarm, and a text alarm.

  4.  前記特定部が特定した前記経路の少なくとも一部が前記記録部に記録された経路の対応部分と一致しないと判定された場合、前記ロボットアームの動作を停止する停止部をさらに備える請求項1~3のいずれか1項に記載のロボット制御装置。

    A stop unit that stops the operation of the robot arm when it is determined that at least a part of the path specified by the specifying unit does not match a corresponding part of the path recorded in the recording unit. 4. The robot control device according to any one of 3.

  5.  前記特定部が特定した前記経路の少なくとも一部が前記記録部に記録された経路の対応部分と一致しないと判定された場合、前記ロボットアームを通常時より遅い速度で、前記ロボットアームが移動しようとする経路に沿って移動させる移動部と、

     前記ロボットアームが、前記ロボットアームが移動しようとする経路の終点に無衝突で到達した場合、前記ロボットアームが移動しようとする経路を前記記録部に記録させる制御部と、

     をさらに備える請求項1~3のいずれか1項に記載のロボット制御装置。

    If it is determined that at least a part of the path specified by the specifying unit does not match the corresponding part of the path recorded in the recording unit, the robot arm will move at a lower speed than normal. A moving unit that moves along a path to be

    When the robot arm reaches the end point of the path on which the robot arm tries to move without collision, a control unit that records the path on which the robot arm tries to move on the recording unit;

    The robot control device according to any one of claims 1 to 3, further comprising:

  6.  前記特定部が特定する前記経路の少なくとも一部は、当該経路の始点と終点とを含む請求項1~5のいずれか1項に記載のロボット制御装置。

    The robot controller according to any one of claims 1 to 5, wherein at least a part of the route specified by the specifying unit includes a start point and an end point of the route.

  7.  前記特定部が特定する前記経路の少なくとも一部は、当該経路上の始点以外の点と前記経路の終点とを含む請求項1~5のいずれか1項に記載のロボット制御装置。

    The robot control device according to any one of claims 1 to 5, wherein at least a part of the route specified by the specifying unit includes a point other than a start point on the route and an end point of the route.

  8.  ロボット制御装置を用いてロボットを制御する制御方法であって、

     前記ロボット制御装置により、ロボットアームが非衝突で移動できた経路を記録する記録ステップと、

     前記ロボット制御装置により、前記ロボットアームが移動しようとする経路の少なくとも一部を特定する特定ステップと、

     前記ロボット制御装置により、前記特定ステップで特定した経路の少なくとも一部に従って前記ロボットアームの移動を開始する前に、前記特定ステップで特定した前記経路の少なくとも一部が、前記記録ステップで記録された経路の対応部分に一致するか否かを判定する判定ステップと、

     を有する制御方法。

    A control method for controlling a robot using a robot control device,

    A recording step of recording a path by which the robot arm can move without collision by the robot control device;

    A specifying step of specifying at least a part of a path to which the robot arm attempts to move by the robot control device;

    Before the robot controller starts moving the robot arm according to at least a part of the path specified in the specifying step, at least a part of the path specified in the specifying step is recorded in the recording step. A determining step of determining whether or not the route matches the corresponding portion;

    A control method having:
PCT/JP2019/037761 2018-09-28 2019-09-26 Robot control device and robot control method WO2020067241A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018183922 2018-09-28
JP2018-183922 2018-09-28

Publications (1)

Publication Number Publication Date
WO2020067241A1 true WO2020067241A1 (en) 2020-04-02

Family

ID=69949381

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/037761 WO2020067241A1 (en) 2018-09-28 2019-09-26 Robot control device and robot control method

Country Status (1)

Country Link
WO (1) WO2020067241A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022249358A1 (en) * 2021-05-26 2022-12-01 ファナック株式会社 Robot control device and robot control system
WO2024004042A1 (en) * 2022-06-28 2024-01-04 ファナック株式会社 Robot control device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04326404A (en) * 1991-04-26 1992-11-16 Mitsubishi Electric Corp Controller for robot
WO1998024011A1 (en) * 1996-11-26 1998-06-04 Fanuc Ltd Robot control device having operation route simulation function

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04326404A (en) * 1991-04-26 1992-11-16 Mitsubishi Electric Corp Controller for robot
WO1998024011A1 (en) * 1996-11-26 1998-06-04 Fanuc Ltd Robot control device having operation route simulation function

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022249358A1 (en) * 2021-05-26 2022-12-01 ファナック株式会社 Robot control device and robot control system
WO2024004042A1 (en) * 2022-06-28 2024-01-04 ファナック株式会社 Robot control device

Similar Documents

Publication Publication Date Title
US8046104B2 (en) Industrial robot system
WO2020067241A1 (en) Robot control device and robot control method
KR102046598B1 (en) Robot system and its operation method
KR101799999B1 (en) Apparatus for controlling robot
US20090058342A1 (en) Robot controller having stoppage monitoring function
JP2008188722A (en) Robot controller
JP5474472B2 (en) Robot control system
JP2006325390A (en) Safety device
AU2015411123B2 (en) Operation Control Device for Movable Apparatus, Operation Control System, and Method of Controlling Operations by Movable Apparatus
JP5254968B2 (en) Control device
US20080058990A1 (en) Robotic programming control using multiple binary input
JP2009223398A (en) Industrial controller
US11254000B2 (en) Machine teaching terminal, machine, non-transitory computer readable medium storing a program, and safety confirmation method for teaching machine
JP2016097467A (en) Robot system and control method of robot system
WO2008037567A1 (en) A control device for controlling an industrial robot
WO2022044906A1 (en) Robot control device
KR100440154B1 (en) Method of controlling over-travel for machine tools
JP2002091521A (en) Controller and control method
KR100246219B1 (en) System for protecting malfunction which select program for robot
US7738998B2 (en) Robot device
JP2005118968A (en) Robot system
WO2023145083A1 (en) Device for switching tool having function to select operation mode, teaching device, control device, robot system, and method
WO2022196010A1 (en) Control device, control system, control method, and program
JP2018106523A (en) Carrier vehicle
JP2022184267A (en) robot system

Legal Events

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

Ref document number: 19864037

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19864037

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP