The present invention relates to an information processing method, an information processing apparatus, and the like.
In recent years, various types of robots, such as articulated robots, are widely used in various working processes in production lines, in which products are manufactured. In general, for causing a robot to perform work, the robot is taught a motion to be executed, and an operation program is stored in advance in a controller. The robot performs predetermined motion by a PLC sending a motion execution command or a motion permission signal to the controller.
By the way, in the production lines, there may be many cases in which after a robot is taught a predetermined motion and an operation program is stored in a controller, the motion that has been taught is required to be changed. For example, the motion is required to be changed if the possibility of unexpected interference between the robot and an object in the motion of the robot has been found, or if a process condition or the order of processes is changed due to the change of specifications of products.
In such cases, the operation program of the robot is required to be changed. For example, for changing a target position of the motion, not only a target teach point but also intermediate teach points, via which the robot moves, have to be set again. If a large number of man-hours is required for changing the operation program every time the motion is changed, the use of the robot may be restricted and the practicality will be lowered.
Japanese Pat. Application Publication No. 2006-154924 proposes a technique that programs a motion of a robot performed on a device mounted on each of a plurality of base stands. Specifically, the technique programs the motion of the robot, as a motion performed with respect to a reference position that is set in a corresponding base stand. The program is stored in a storage portion. If the motion of the robot is individually programmed for each operation task associated with a corresponding base stand, a user can select a program to be operated, depending on which base stand has a device on which the user desires the robot to perform work.
According to a first aspect of the present invention, an information processing apparatus includes an information processing portion and a route information map. The route information map is configured to include information on a route between a plurality of teach points for a motion of a robot. The information processing portion is configured to acquire a motion route of the robot leading to a target teach point, by using information on the target teach point to which the robotis to move, and the route information map.
According to a second aspect of the present invention, an information processing method includes acquiring by an information processing portion, a motion route of a robot leading to a target teach point to which the robot is to move, by using information on the target teach point, and a route information map that includes information on a route between a plurality of teach points for a motion of the robot.
According to a third aspect of the present invention, a system includes a robot, an information processing apparatus including a route information map configured to include information on a route between a plurality of teach points for a motion of the robot, and a PLC configured to output information on a target teach point to which the robot is to move, to the information processing apparatus.
According to a fourth aspect of the present invention, an information processing apparatus includes an information processing portion, and a route information map configured to include information on a route between a plurality of teach points for a motion of a robot. The information processing portion is configured to display a motion route of the robot leading to a target teach point, on a display portion by using information on the target teach point to which the robot is to move, and the route information map.
According to a fifth aspect of the present invention, an information processing apparatus includes displaying, by an information processing apparatus, a motion route of a robot leading to a target teach point to which the robot is to move, on a display portion by using information on the target teach point, and a route information map that includes information on a route between a plurality of teach points for a motion of the robot.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
If a program is divided into components, as described in Japanese Pat. Application Publication No. 2006-154924, so that each component executes a corresponding operation task associated with a corresponding base stand, it becomes easy to changes the order of operation tasks or execute an operation task repeatedly, for example, by changing the arrangement of base stands.
However, in a case where not the order of operation tasks but an operation task itself, performed on a corresponding base stand, is required to be changed, the method described in Japanese Pat. Application Publication No. 2006-154924 is not applicable to the case. For example, even in the method described in Japanese Pat. Application Publication No. 2006-154924, if a target teach point and intermediate teach points, via which a robot moves to the target teach point, are required to be set again, the troublesome work will be necessary as in the conventional art.
For this reason, it has been desired to achieve an information processing method and an information processing apparatus that can easily set or change the motion of a robot.
Next, an information processing method and an information processing apparatus of an embodiment of the present invention will be described with reference to the accompanying drawings.
Note that since the embodiments described below are merely examples, detailed configurations thereof may be modified as appropriate by a person skilled in the art without departing the spirit of the present invention.
In addition, in the drawings that will be referred to in the description of the below-described embodiments and examples, a component given an identical reference numeral has an identical function, unless specified otherwise.
The PLC 2 is a programmable logic controller, and outputs information on a target position (referred to also as a target teach point) to the controller 3 in a sequential manner. The target position is a position to which the robot 1 will move in the next operation.
The controller 3 serves as an information processing apparatus, and is communicatively connected with the PLC 2 and the robot 1. The controller 3 includes a motion-command reception program 4, a motion-route calculation program 5, and a route information map 6. The motion-route calculation program 5 serves as an information processing portion.
When the controller 3 receives information on a target teach point from the PLC 2, the controller 3 starts the motion-route calculation program 5 (that serves as a motion-route calculation portion). The information on a current position (referred to also as a current teach point) of the robot 1 is stored in a storage portion of the controller 3. The motion-route calculation program 5 uses the route information map 6, and determines (acquires) a motion route for moving the robot 1 from the current teach point to the target teach point. The route information map 6 will be described in detail below. Note that the motion route determined may include a position (referred to also as an intermediate teach point) via which the robot 1 will move from the current teach pointto the target teach point.
After the motion-route calculation program 5, which serves as an information processing portion, determines a motion route, the controller 3, which serves as an information processing apparatus, creates a motion command for moving the robot 1 along the motion route. The motion command is created as a variable from a target teach point and motion parameters, in conformity with a rule. Since the motion command is created as a variable, the motion of the robot can be changed without changing a program. The motion parameters may include information on an interpolation method of motion, speed, acceleration, deceleration, and stopping accuracy; and can be set, associated with a corresponding route.
The motion-command reception program 4 interprets the created motion command; and causes the robot 1 to execute the motion command.
The articulated robot 100 includes a six-axis articulated robot arm 101, a robot hand 102, and a force sensor (not illustrated). The robot hand 102 is connected to the distal end of the robot arm 101, and serves as an end effector. The force sensor detects the force applied to the robot hand 102. For example, the articulated robot 100 connected with the robot control apparatus 200 is used as a product-manufacturing apparatus that holds a workpiece W and assembles the workpiece W to another component.
The robot arm 101 of the articulated robot 100 includes a base portion 103, a plurality of links 121 to 126, and a plurality of joints 111 to 116. The base portion 103 is fixed to a workbench; the plurality of links 121 to 126 transmit displacement and force; and the plurality of joints 111 to 116 join the links 121 to 126 with each other such that the links 121 to 126 can pivot or rotate.
The robot hand 102 includes a plurality of fingers that can hold a workpiece W, and an actuator (not illustrated) that drives the plurality of fingers. By driving the plurality of fingers, the robot hand 102 can hold the workpiece W.
The robot control apparatus 200 includes the PLC 2 and the controller 3, which are illustrated in
The CPU 301 is connected with the ROM 302, the RAM 303, the HDD 304, the recording-disk drive 305, and the various interfaces 306 to 309, via a bus 310. The ROM 302 stores a base program such as a BIOS. The RAM 303 is a storage device that temporarily stores various types of data, such as results of a computing process performed by the CPU 301.
The HDD 304 is a storage device that stores results of a computing process performed by the CPU 301 and various types of data acquired from an external device; and stores a program 330 that causes the CPU 301 to execute a below-described computing process. The CPU 301 performs each process of a robot control method, depending on the program 330 recorded (stored) in the HDD 304.
The recording-disk drive 305 reads various types of data and a program stored in a recording disk 331.
The teaching pendant 300 is connected to the interface 306. The CPU 301 receives teach data from the teaching pendant 300, via the interface 306 and the bus 310.
A servo control portion 230 is connected to the interface 309. The CPU 301 acquires signals from servo motors 201 to 206, via the interface 309 and the bus 310. In addition, the CPU 301 outputs torque-command data for each joint, to the servo control portion 230, via the bus 310 and the interface 309, at predetermined time intervals.
The interface 307 is connected with a monitor 321, which displays various images under the control performed by the CPU 301. The interface 308 can be connected with an external storage device 322, such as a rewritable nonvolatile memory or an external HDD, that serves as a storage portion.
In the present embodiment, the description will be made for a case where the HDD 304 is a computer-readable recording medium and stores the program 330. However, the present disclosure is not limited to this. The program 330 may be recorded in any recording medium as long as the recording medium is a computer-readable recording medium. For example, the ROM 302, the recording disk 331, or the external storage device 322, which are illustrated in
Next, the route information map 6 included in the controller 3, which serves as an information processing apparatus, will be described. If a plurality of positions and postures (referred to also as teach points) that the robot 1 can take are set in advance, and the position information of the teach points can be used when an operator teaches the robot 1 a motion, the operator can efficiently teach the robot the motion.
In general, a robot hand of a robot moves three-dimensionally. In the present disclosure, however, for simply describing the route information map 6, the model will be simplified and conceptually described. Specifically, each teach point is set in an X-Y plane, the robot hand 102 moves linearly between teach points in the X-Y plane, and the objects 8 exist in the X-Y plane. In addition, the other portions of the robot 1 except the robot hand 102 do not interfere with the obj ects 8.
For example, in a case where the robot hand 102 moves from a teach point P2 to a teach point P3, the objects 8 that may interfere with the robot hand 102 are not present on a route from the teach point P2 to the teach point P3. Thus, if the controller 3 receives from the PLC 2 a command for moving the robot hand 102 from the teach point P2 to the teach point P3, the controller 3 can adopt the route directly connecting the teach point P2 and the teach point P3, as a motion route.
In contrast, in a case where the robothand 102 is moved from the teach point P3 to a teach point P1, an object 8 that may interfere with the robot hand 102 is present on a route that linearly connects the teach point P3 and the teach point P1. Thus, if the controller 3 receives from the PLC 2 a command for moving the robot hand 102 from the teach point P3 to the teach point P1, the controller 3 cannot adopt the route directly connecting the teach point P3 and the teach point P1, as a motion route.
As described above, in a case where the robot hand 102 is to be moved from one teach point to another teach point, a route directly connecting two teach points may or may not be adopted, as a motion route. Note that the above-described model is a simplified model. In addition, the robot hand can move three-dimensionally in actuality, and it is necessary to consider that another portion (e.g., the arm) of the robot other than the robot hand may interfere with an object. Even in such a case, it can be easily understood that a route directly connecting any two teach points may or may not be adopted as a motion route. With such an assumption, the route information map will be described.
Note that the model of
In
In addition, in the example illustrated in
In
The information processing apparatus of the present embodiment includes a route-information-map creation tool used for creating and editing the route information map. The route-information-map creation tool is stored in the robot control apparatus 200, as a program; and a user can start and operate the route-information-map creation tool by using the teaching pendant 300, for example. Note that the route-information-map creation tool may be operated by a user by using an input/output unit other than the teaching pendant 300. In another case, the route-information-map creation tool is stored in an external computer, not in the robot control apparatus 200; and a route information map, created by a user by using the external computer, may be stored in the robot control apparatus 200.
A button F1 is used for specifying a file of the route information map when the file is created, opened, saved, or restored by a user.
A button F2 is used for outputting a file to an external device or reading a file from an external device. For example, the button F2 is used for reading cost information calculated by using a robot simulator or reading cost information that was set by a user by using an external device.
A tab F3 is used for selecting a screen format when the information included in the route information map is displayed for user operation. For example, a screen image illustrated in
An item display field F4 is a field in which data items (types) for data to be inputted or edited are displayed.
A data display field F5 is a field in which the data having been inputted or edited is displayed.
A scroll key F6 is used for scrolling the data column displayed in the data display field F5. Note that if there are many data items (types) and the data display field F5 is long in a horizontal direction, not only the vertical-scroll key illustrated in
A button F7 is used for displaying the motion route information, which is to be edited, in a map display field F10 as a diagram. The button F7 is also used for updating the diagram displayed in the map display field 10, in accordance with data that has been edited.
An input field F8 is a field in which a user puts a teach point (starting point) that is a start point of a motion route to be edited or displayed in the diagram.
An input field F9 is a field in which a user puts a teach point (target point) that is an end point of a motion route to be edited or displayed in the diagram.
The map display field F10 is a field in which the motion route information is displayed as a diagram.
Hereinafter, display screens used by a user for performing work will be specifically described as examples.
In the display screen illustrated in
The screen image displayed when the route information tab is selected may include information on specific control parameters, in addition to the above-described information, that are used for moving the robot along the route. Examples of the control parameters include parameters on speed, acceleration, deceleration, and stopping accuracy, which are used for the motion of the robot.
The route-information-map creation tool can select and display each of the screen images, so that a user can easily create or edit a route information map. For example, on a screen image displayed by selecting the point information tab, a user can give a teach point a name that allows the user to easily understand the work performed at the teach point. In addition, on a screen image displayed by selecting the route information tab, a user can set a route, and associate the route with a control method and motion parameters and check the association. On a screen image displayed by selecting the point information tab and a screen image displayed by selecting the group setting tab, a user can set support information, if necessary, that is included in the route information map when the route information map is displayed as a diagram. For example, a user can set a point name so as to be displayed at a corresponding teach point in the map display field F10 when the route information map is displayed as a diagram. After creating editing, and checking the route information map in this manner, a user can output the route information map by using an output function of the route-information-map creation tool, in a data format that allows the route information map to be stored in the controller 3.
After the control (information processing) is started, a target teach point for causing the robot 1 to perform a desired motion is sent from the PLC 2 to the controller 3 in Step S100.
In Step S101, the motion-route calculation program 5 of the controller 3 determines a motion route for moving the robot 1 from a current teach point (i.e., a current position of the robot 1) to the target teach point, by using the information included in the route information map 6.
If only one route along which the robot 1 can move from the current teach point to the target teach point exists in the route information map 6, the motion-route calculation program 5 determines the route as a motion route.
In contrast, if a plurality of routes along which the robot 1 can move from the current teach point to the target teach point exists in the route information map 6, the motion-route calculation program 5 evaluates the plurality of routes (candidates) and determines an optimum route of the plurality of routes, as a motion route.
For example, if the criterion of evaluation is to determine the shortest motion route, the motion-route calculation program 5 can determine (select) the shortest motion route of the plurality of routes by graphing the routes, and solving the shortest route problem by using an algorithm such as Dijkstra’s algorithm or Bellman-Ford algorithm. However, the criterion of evaluation is not limited to determining the shortest motion route. If the cost information (i.e., various types of information such as time required for movement, distance of movement, energy required for movement, peak current) of each route is included in the route information map 6, the motion-route calculation program 5 can evaluate each route on various criteria of evaluation, by using the cost information. For example, for performing the evaluation, the motion-route calculation program 5 can select parameters, used for the evaluation, depending on an index of performance on which a user places importance for the motion of the robot performed for work; and calculate the sum of costs after weighting each parameter in accordance with the type of the parameter.
For allowing the motion-route calculation program 5 to automatically determine a motion route in accordance with an index of performance on which a user places importance, a motion-route determination mode (i.e., a criterion of evaluation) can be set in advance by using a display screen illustrated in
For example, there is a case in which the motion time of a robot A is clearly longer than the motion time of a robot B when the robots A and B perform different motions simultaneously and in parallel. In this case, a user can set a motion-route setting mode by using a display screen of
In Step S102 (
In Step S103 (
The information processing illustrated in the flowchart of
As described above, in the present embodiment, the information on motion routes that the robot can take is stored in advance as a route information map. Thus, when a target teach point is indicated by the PLC, the information processing apparatus refers to the route information map, determines a motion route, and causes the robot to execute the operation. In such a configuration, the complicated computation performed every time a target teach point is indicated for determining a motion route is not necessary, and the controller has only to read motion routes from the route information map, which the robot can take. As a result, the processing time required for determining a motion route can be reduced. For example, while the motion-command reception program 4 interprets a motion command and causes the robot 1 to execute the motion command, the controller 3 can receive information on the next target teach point from the PLC 2 and cause the motion-route calculation program 5 to determine the next motion route. Thus, in the present embodiment, the processing cycles of the motion control of the robot can be increased. In addition, since the intermediate teach points are automatically generated by only specifying a target teach point, a user can easily perform editing work, such as changing the motion of the robot.
The information processing method of the present embodiment can be applied not only to a case where a robot is moved under a predetermined procedure, such as a procedure for assembly work, but also to a return-to-origin motion in which a robot is returned to an origin (i.e., a standby position) when an error occurs.
For example, there is a case in which a robot is stopped, although the robot itself has no error, when the robot receives an emergency stop command from a management portion of a manufacturing system while executing an operation.
In such a case, if a user determines a motion route of the robot from a stop position to the origin teach point every time the emergency stop command is issued, and teaches the robot the motion, it is inconvenient. In this case, it can be understood that since the robot is stopped emergently while moving from the teach point P5 toward the teach point P4, which are set in advance as a motion route, the robot can move from the stop position to the teach point P5 or the teach point P4 without interfering with any obstacle. However, for determining an optimum motion route from the stop position to the origin teach point, it is necessary to examine both of the route from the teach point P5 to the origin teach point (i.e., the teach point P6) and the route from the teach point P4 to the origin teach point (i.e., the teach point P6) on whether the robot can move along the routes.
For dealing with such a case, in the present embodiment, the information on whether a robot can move from any teach point to the origin teach point can be included in advance in the route information map.
In Step S121, a user inputs the following information into the controller 3 via a user interface. That is, a user inputs a model of the robot 1 and a model of an obstacle that exists in the work space (the model of the robot 1 and the obstacle model may be collectively called an apparatus model), an origin teach point, a target teach point and an intermediate teach point that exist on a route used for work (the target teach point and the intermediate teach point may be collectively called work teach points), and the order of processes of work. Note that a user may input a plurality of origin teach points and a plurality of work teach points into the controller 3.
In Step S122, the controller 3 determines whether the routes involved with the order of processes of the work, inputted in Step S121, interfere with the obstacle model. The controller 3 proceeds to Step S123 if a route of the routes interferes with the obstacle model (Step S122: YES), or proceeds to Step S124 if none of the routes interfere with the obstacle model (Step S122: NO).
In Step S123, the controller 3 determines an intermediate teach point via which the robot can detour the route, which has been determined in Step S122 as a route that interferes with the obstacle model; adds the intermediate teach point to the work teach points; and changes the order of processes of work so that the robot can move via the added work teach point (intermediate teach point). Note that if a plurality of routes interferes with the obstacle model, the controller 3 determines intermediate teach points via which the robot can detour the plurality of routes which have been determined in Step S122 as routes that interfere with the obstacle model; adds the intermediate teach points to the work teach points; and changes the order of processes of work so that the robot can move via the added work teach points (intermediate teach points).
As a result, in both of a case where the controller 3 proceeds from Step S122 to Step S124 via Step S123, and a case where the controller 3 directly proceeds from Step S122 to Step S124, all the motion routes, which have been registered for causing the robot to work, will not interfere with the obstacle model.
Then, the controller 3 registers motion routes that are candidates in the return-to-origin motion, in the route information map. Note that the robot can not necessary move directly from the nearest work teach point (to a position at which the robot is stopped) to the origin teach point. If the robot cannot move directly from the nearest work teach point to the origin teach point, the robot may have to move to the origin teach point via an intermediate teach point. For this reason, not only a combination of the origin teach point and a work teach point, but also a combination of work teach points is examined on whether a route that connects two teach points interferes with an obstacle, and a route that does not interfere with the obstacle is registered as a motion-route candidate in the return-to-origin motion.
In Step S124, the controller 3 selects any two points from points including the origin teach point and work teach points (that include the intermediate teach point added in Step S123), and determines whether a route that connects two points interferes with the obstacle model. If the route interferes with the obstacle model (Step S124: YES), then the controller 3 does not register the route as a motion-route candidate (that is, skips Step S125) and proceeds to Step S126 because the route cannot be adopted as a motion route in the return-to-origin motion.
On the other hand, if the route does not interfere with the obstacle model (Step S124: NO), then the controller 3 proceeds to Step S125 and registers the route as a motion-route candidate because the route can be adopted as a motion route in the return-to-origin motion.
In Step S126, the controller 3 determines whether the interference has been evaluated on all combinations of two of all the teach points including the work teach points and the origin teach point. If there is a combination of teach points on which the evaluation has still not been completed (Step S126: NO), then the controller 3 returns to Step S124 and performs the evaluation on the combination of teach points on which the evaluation has still not been completed. If the interference has been evaluated on all combinations of two teach points (Step S126: YES), then the controller 3 proceeds to Step S127, and creates an evaluation value (cost information) for each route and adds the evaluation value (cost information) to the route information map.
In Step S128, the controller 3 registers or outputs the route information map that includes all of the route information stored, and ends the information processing Note that Step S127 may be omitted, if necessary.
In the present embodiment, the apparatus model, the origin teach point, the work teach point, and the order of processes of work are inputted into the controller 3, so that the route information map that is applicable also to the return-to-origin motion can be created. In addition, even if the configuration of the apparatus is changed or a work teach point is added, the route information map can be easily edited by changing the apparatus model, the origin teach point, the work teach point, and the order of processes of work.
Next, with reference to a flowchart of
For example, in the example of
In Step S111, the controller 3 sets the teach point P5, stored as a current teach point, as a movement-start teach point; and sets the teach point P4, stored as a target teach point, as a movement-destination teach point.
In Step S112, the motion-route calculation program 5 assigns the movement-start teach point a start teach point at which the robot will be located first, and assigns the origin teach point a target teach point; and determines the presence of a route that does not interfere with any obstacle, by referring to the route information map 6. As in Step S101 of
In Step S113, the motion-route calculation program 5 assigns the movement-destination teach point a start teach point, and assigns the origin teach point a target teach point; and determines the presence of a route that does not interfere with any obstacle, by referring to the route information map 6. As in Step S101 of
In Step S114, the motion-route calculation program 5 compares the evaluation value B calculated in Step S112 and the evaluation value D calculated in Step S113; and selects a route that has a lower cost, as a motion route in the return-to-origin motion. That is, the controller 3 proceeds to Step S115 if the evaluation value B is smaller than the evaluation value D (Step S114: YES), or proceeds to Step S118 if the evaluation value D is smaller than the evaluation value B (Step S114: NO). Note that the controller 3 proceeds to Step S115 if only the motion route A exists, or proceeds to Step S118 if only the motion route B exists.
If the controller 3 proceeds to Step S115, the controller 3 returns the robot from the stop position to the movement-start teach point. The motion control method performed when the robot is returned from the stop position to the movement-start teach point may be the same as the interpolation method which had been performed when the robot was stopped.
In Step S116, the controller 3 creates a motion command E for moving the robot along the motion route A. The motion command E is created, as in Step S102 of
In Step S117, the motion-command reception program 4 interprets the motion command E created in Step S116, and causes the robot 1 to execute the motion command E. That is, the robot 1 moves from the movement-start teach point to the origin teach point. The motion command E is executed, as in Step S103 of
If the controller 3 proceeds from Step S114 to Step S118, the controller 3 moves the robot from the stop position to the movement-destination teach point. The motion control method performed when the robot is moved from the stop position to the movement-destination teach point may be the same as the interpolation method which had been performed when the robot was stopped.
In Step S119, the controller 3 creates a motion command F for moving the robot along the motion route C. The motion command F is created, as in Step S102 of
In Step S120, the motion-command reception program 4 interprets the motion command F created in Step S119, and causes the robot 1 to execute the motion command F. That is, the robot 1 moves from the movement-destination teach point to the origin teach point. The motion command F is executed, as in Step S103 of
In the present embodiment, since the route information map includes the information on whether a robot can move between any teach points without interfering with an object, the return-to-origin motion can be automatically performed, without forcing a user to perform any complicated operation, even if the robot is stopped while performing an operation.
In addition, the controller 3 can determine which of the movement-start teach point and the movement-destination teach point the robot suitably moves through to reach the origin teach point, depending on the association between the route and the order of processes of work (working process). For example, if the robot is stopped emergently when the robot is moving after the completion of assembly work of parts, the robot may interfere with the assembled parts if the robot is returned to the movement-start teach point. In such a case, the evaluation value of a route along which the robot moves via a work teach point located upstream of a teach point (in the order of operations), at which the robot has completed the assembly work, may be set such that the evaluation value causes high risk. As a result, a motion route along which the robot moves via a work teach point located downstream of the teach point, at which the robot has completed the assembly work, is automatically set, so that the robot can move to the origin teach point via the work teach point.
In the above-described first embodiment, for causing the route information map to include the cost information, the model information on the mechanism and characteristics of a robot is stored in advance in the controller 3. In the present embodiment, however, the cost information is acquired by using a robot simulator. Hereinafter, the description will be made for hardware and a configuration of a control system that are different from those of the first embodiment. In addition, since a component identical to a component of the first embodiment has an identical structure and effect, the detailed description thereof will be omitted.
The control system of the present embodiment is not limited to the example illustrated in
The PLC 2 is a programmable logic controller, and outputs information on a target position (referred to also as a target teach point) to the controller 3 in a sequential manner. The target position is a position to which the robot 1 will move in the next operation. The controller 3 is communicatively connected with the PLC 2 and the robot 1, and includes a motion-command reception program 4, a motion-route calculation program 5, and a route information map 6. The motion-route calculation program 5 serves as an information processing portion.
The simulator 20 includes a route-information reception program 21, a cost-information acquisition program 22, and a simulation file 23. The route-information reception program 21 is a program that acquires the route information map 6 (e.g., the origin teach point, the work teach point, the order of processes of work, the point information, and the group information) from the controller 3 and the route-information-map creation tool. The simulation file 23 is a file, such as CAD data of the robot 1 and an obstacle, that includes the model information of the robot 1 and the data of a virtual space in which the robot 1 is virtually moved. The cost-information acquisition program 22 uses the acquired route information map 6 and the simulation file 23, simulates all combinations of motion routes along which the robot 1 can move in the route information map 6, and acquires the cost information. As described with reference to
The cost information includes information on time required for movement, movement distance (motion distance), energy required for movement, peak current, and the like. The cost-information acquisition program 22 causes the route information map 6 to include the acquired cost information, and sends the route information map 6 to the controller 3 and the route-information-map creation tool. Note that the simulator 20 receives only the route information of the route information map 6, and acquires the cost information by using the simulation file 23. In this case, the simulator 20 may send only the cost information to the controller 3 and the route-information-map creation tool, and the controller 3 and the route-information-map creation tool may cause the route information map 6 to include the cost information.
Note that in the present embodiment, the HDD is a computer-readable non-transitory recording medium and stores the programs that function as application software. However, the present disclosure is not limited to this. The programs may be stored in any recording medium as long as the recording medium is a computer-readable recording medium. For example, a solid state drive (SSD), a flexible disk, an optical disk, a magneto-optical disk, a magnetic tape, a nonvolatile memory, or the like may be used as the recording medium to provide the programs to the computer.
The display 25 displays the acquired cost information in the data display field F5, and displays the route information map in the map display field F10. If any arrow of the route information map 6 or any line of the cost information is selected by using the mouse 27, a corresponding route or a corresponding piece of cost information is highlighted. In the example of
In the present embodiment, a desktop personal computer (PC) is used as the simulator 20. However, the present disclosure is not limited to this. For example, as illustrated in
In Step S130, a user inputs the information, such as the origin teach point, the work teach point, the order of processes of work, the point information, and the group information, that is necessary for the route information map 6, by using the route-information-map creation tool.
In Step S131, the controller3 and the route-information-map creation tool output the information inputted in Step S130, to the simulator 20 in a format that can be read by the simulator 20. Specifically, the controller 3 and the route-information-map creation tool output the information on the route information map 6, as a command, so that the information on the route information map 6 can be interpreted by the route-information reception program 21 and the cost-information acquisition program 22. The data outputted is the same data as that of the route information map 6, except that the data does not include the cost information. Note that in a case where the controller 3 and the route-information-map creation tool cannot directly communicate with the simulator 20, the data may be sent to an external terminal, and via the terminal, may be sentto the simulator 20.
In Step S132, the simulator 20 executes the route-information reception program 21, and reads and stores the information of the route information map 6, such as the origin teach point, the work teach point, the order of processes of work, the point information, and the group information, which have been outputted in Step S131.
In Step S133, the simulator 20 executes the cost-information acquisition program 22, and acquires the cost information of each route of the route information map 6 through simulation. The cost-information acquisition program 22 is a program that causes the simulator to simulate the motion of a robot in each route stored in Step S132. The cost-information acquisition program 22 uses the simulation file 23, and acquires the cost information of each of routes other than the routes on which the robot 1 cannot move because of the interference between the robot and an obstacle. After completing the operation, the cost-information acquisition program 22 associates the acquired cost information with a corresponding route of the route information map 6, and stores the cost information. Note that a plurality pieces of cost information that can be acquired by the simulator may be acquired, and that the cost information may include the information on time required for movement, distance of movement, energy required for movement, and peak current, as described above.
In Step S134, the simulator 20 causes the route information map 6 to include the cost information acquired in Step S133, and sends the route information map 6 that includes the cost information to the controller 3 and the route-information-map creation tool. As in Step S131, in a case where the controller 3 and the route-information-map creation tool cannot directly communicate with the simulator 20, the data may be sent to an external terminal, and via the terminal, may be sent to the controller 3 and the route-information-map creation tool. Note that as described above, only the cost information to be included in the route information map 6 may be outputted.
In Step S135, the controller 3 and the route-information-map creation tool read the route information map 6 that includes the cost information outputted in Step S134, updates a route information map 6 that the controller 3 and the route-information-map creation tool have had, and ends the control flow. Note that as described above, the controller 3 and the route-information-map creation tool may acquire only the cost information, and cause the route information map 6 to include the cost information.
As described above, in the present embodiment, the cost information is acquired by the simulator 20. In such a configuration, since the cost information can be easily acquired by the simulator and can be included in the route information map 6, the burden of a user can be reduced.
In the present embodiment, the cost information is included in the route-information-map 6. However, the present disclosure is not limited to this. For example, the simulator 20 may acquire the cost information in a sequential manner, depending on an instruction from the PLC 2.
As illustrated in
In Step S141, the motion-route calculation program 5 of the controller 3 acquires a motion-route candidate for moving the robot 1 from a current teach point (i.e., a current position of the robot 1) to the target teach point, by using the route information map 6 that does not include the cost information. If a plurality of routes along which the robot 1 can move from the current teach point to the target teach point exist in the route information map 6, the motion-route calculation program 5 acquires the plurality of routes (candidates). If only one route along which the robot 1 can move from the current teach point to the target teach point exists in the route information map 6, the motion-route calculation program 5 determines the route as a motion route.
In Step S142, the controller 3 sends the plurality of motion-route candidates to the simulator 20, and the simulator 20 acquires the cost information for each motion-route candidate by using the simulation file 23, and associates the motion-route candidate with the cost information.
In Step S143, the controller 3 acquires the motion-route candidates and the cost information from the simulator 20 and evaluates them, and determines a motion route along which the robot 1 will move. In this manner, the cost information may be sequentially acquired by using the simulator 20 every time an instruction is issued from the PLC 2.
In Step S144, the controller 3 creates a motion command for moving the robot 1 along the motion route determined in Step S143. The motion command is created as a variable from a target teach point and motion parameters, in conformity with a rule. Since the motion command is created as a variable, the motion of the robot can be changed without changing a program. The motion parameters may include information on an interpolation method of motion, speed, acceleration, deceleration, and stopping accuracy; and can be set, associated with a corresponding route.
In Step S145, the motion command created in Step S144 is interpreted by the motion-command reception program 4, and the motion-command reception program 4 causes the robot 1 to execute the motion command. That is, the robot 1 moves to the target teach point along the determined motion route. As described above, since the cost information is acquired by using the simulator 20 every time an instruction is issued from the PLC 2, the present invention can be embodied even if the route information map 6 does not include the cost information.
Next, a third embodiment will be described in detail. In the present embodiment, a teach point that a robot is prohibited from passing through is set in advance in the return-to-origin motion, in the route-information-map creation tool. Thus, an appropriate route along which the robot will move to the origin teach point can be determined in consideration of the teach point that the robot is prohibited from passing through. Hereinafter, the description will be made with reference to the drawings, for hardware and a configuration of a control system that are different from those of the first embodiment. In addition, since a component identical to a component of the first embodiment has an identical structure and effect, the detailed description thereof will be omitted.
Next, a method of determining a route by using the route information map 6 will be described in detail. The route to be determined is a route along which the robot 1 will move in a state where a teach point that the robot 1 is prohibited from passing through is set.
As described above, the controller 3 can determine which of the movement-start teach point and the movement-destination teach point the robot suitably moves through to reach the origin teach point, depending on the association between the route and the order of processes of work (working process) of the robot 1. For example, if the robot 1 is stopped emergently when the robot 1 is moving after the completion of assembly work of parts, the robot 1 may interfere with the assembled parts if the robot 1 is returned to the movement-start teach point. In such a case, if the teach point at which the robot 1 has completed assembling parts is set as a teach point that the robot 1 is prohibited from passing through, it is possible to move the robot 1 such that the possibility of damaging the parts can be reduced.
As described above, in the present embodiment, a teach point that the robot is prohibited from passing through in the return-to-origin motion is set in advance. Thus, a motion route for a normal operation of assembly work or the like and a motion route for the return-to-origin motion are changed, and a motion route that reduces the possibility of damaging parts in the return-to-origin motion can be determined.
The present invention is not limited to the above-described embodiments and examples, and may be variously modified within the technical concept of the present invention. In addition, the above-described various embodiments and modifications may be combined with each other and embodied.
In the above-described examples, for creating a route information map, a route connecting two teach points is examined on whether the route interferes with an obstacle, the route is registered as a motion-route candidate if the route does not interfere with an obstacle, and the evaluation value (cost information) of the route is stored. However, another method may be used. For example, all routes that connect two teach points may be extracted as motion-route candidates. In this case, a route of the motion-route candidates that interferes with an obstacle may be associated with an evaluation value equal to or larger than a predetermined threshold value, and may be stored in the route information map. In addition to this, when a motion route is determined, the motion-route calculation program 5 may select a motion route from among all the routes registered in the route information map, that has the smallest evaluation value in the other motion routes having evaluation values smaller than the predetermined threshold value.
In addition, although all the functions are included in the single controller 3, in
In another case, as illustrated in
The motion of a robot to which the information processing method or the information processing apparatus of the present invention is applied is typically a motion for a process of manufacturing products, such as assembly, conveyance, machining (including cutting, griding, drilling, coating, bonding and welding), and cleaning of parts. However, the information processing method or the information processing apparatus of the present invention may be applied to other motions of the robot.
The information processing method and the information processing apparatus of the present invention is applicable not only to production facilities, but also to controlling of various machines and facilities including industrial robots, service robots, machine tools operated under the numerical control performed by a computer. For example, the information processing method and the information processing apparatus of the present disclosure can be applied to machines or facilities that can automatically perform expansion and contraction motion, bending and stretching motion, up-and-down motion, right-and-left motion, pivot motion, or combination motion thereof, under the control performed by the information processing apparatus.
Each of the functional elements illustrated in the drawings, which have been referred to in the above description, is illustrated so that the function of the element can be conceptually understood. Thus, it is not necessary that the functional elements are physically connected with each other as illustrated in the drawings. For example, the specific configuration of the distribution or unification of the functional blocks is not limited to the examples illustrated in the drawings, and part or all of the functional blocks may be functionally or physically distributed or unified in any unit, depending on a condition of use or the like.
The present invention can also be embodied by providing a program, which performs one or more functions of the above-described embodiments, to a system or a device via a network or a storage medium, and by one or more processors, which are included in the system or the device, reading and executing the program. In addition, the present invention can also be embodied by using a circuit, such as an ASIC, which performs one or more functions.
The disclosure of the present specification includes configurations and methods described in the following items.
An information processing apparatus comprising:
The information processing apparatus according to configuration 1, wherein the route information map is configured to include information on an order of motions of the robot to be performed between the teach points.
The information processing apparatus according to configuration 1 or 2, wherein the teach points of the route information map are set in advance.
The information processing apparatus according to any one of configurations 1 to 3, wherein the information on the route included in the route information map is information on the route between the teach points on which the robot is able to move without interfering with any obstacle.
The information processing apparatus according to any one of configurations 1 to 4, wherein the information processing portion is configured to acquire the motion route by using information on a current position of the robot, information on the target teach point, and the route information map.
The information processing apparatus according to any one of configurations 1 to 4, wherein the information processing portion is configured to acquire the motion route by using information on a start teach point at which the robot is to be positioned first, information on the target teach point, and the route information map.
The information processing apparatus according to any one of configurations 1 to 6, wherein the route information map is configured to include evaluation information of the route.
The information processing apparatus according to configuration 7, wherein the information processing apparatus includes a robot simulator, and wherein the information processing portion is configured to acquire the evaluation information by using the robot simulator.
The information processing apparatus according to configuration 8, wherein the information processing portion is configured to display the evaluation information, acquired by using the robot simulator, on a display portion.
The information processing apparatus according to configuration 8 or 9, wherein the information processing apparatus is configured to cause the route information map to include the evaluation information acquired by using the robot simulator.
The information processing apparatus according to any one of configurations 8 to 10, wherein the information processing apparatus is configured to highlight the route of the route information map and the evaluation information that are associated with each other.
The information processing apparatus according to configuration 9, wherein the display portion is disposed in a PC or a tablet-type teaching pendant.
The information processing apparatus according to any one of configurations 7 to 12, wherein the evaluation information includes at least one of motion time, motion distance, energy, and current value of the motion of the robot.
The information processing apparatus according to any one of configurations 7 to 13, wherein the information processing apparatus is configured to set the evaluation information used when the motion route is acquired.
The information processing apparatus according to any one of configurations 1 to 14, wherein the information processing portion is configured to acquire the route information map by using positional information of the plurality of teach points, a model of the robot, a model of an obstacle that exists in a work space of the robot.
The information processing apparatus according to any one of configurations 1 to 15, wherein the plurality of teach points includes an origin teach point that is a standby position of the robot, and wherein in a case where the robot is stopped on the motion route, the information processing portion acquires a motion route for moving the robot from a stop position of the robot to the origin teach point, by using information on the stop position and the route information map.
The information processing apparatus according to any one of configurations 1 to 15, wherein the plurality of teach points includes an origin teach point that is a standby position of the robot,
A method of manufacturing products, the method comprising:
An information processing method comprising: acquiring, by an information processing portion, a motion route of a robot leading to a target teach point to which the robot is to move, by using information on the target teach point, and a route information map that includes information on a route between a plurality of teach points for a motion of the robot.
A program that causes a computer to execute the information processing method according to method 19.
A computer-readable recording medium storing the program according to configuration 20.
A system comprising:
An information processing apparatus comprising:
An information processing method comprising: displaying by an information processing apparatus, a motion route of a robot leading to a target teach point to which the robot is to move, on a display portion by using information on the target teach point, and a route information map that includes information on a route between a plurality of teach points for a motion of the robot.
Embodiment(s) of the present invention can also be realized by a computer of a system or apparatus that reads out and executes computer executable instructions (e.g., one or more programs) recorded on a storage medium (which may also be referred to more fully as a ‘non-transitory computer-readable storage medium’) to perform the functions of one or more of the above-described embodiment(s) and/or that includes one or more circuits (e.g., application specific integrated circuit (ASIC)) for performing the functions of one or more of the above-described embodiment(s), and by a method performed by the computer of the system or apparatus by, for example, reading out and executing the computer executable instructions from the storage medium to perform the functions of one or more of the above-described embodiment(s) and/or controlling the one or more circuits to perform the functions of one or more of the above-described embodiment(s). The computer may comprise one or more processors (e.g, central processing unit (CPU), micro processing unit (MPU)) and may include a network of separate computers or separate processors to read out and execute the computer executable instructions. The computer executable instructions may be provided to the computer, for example, from a network or the storage medium. The storage medium may include, for example, one or more of a hard disk, a random-access memory (RAM), a read only memory (ROM), a storage of distributed computing systems, an optical disk (such as a compact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™), a flash memory device, a memory card, and the like.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Pat. Application No. 2021-165899, filed Oct. 8, 2021, and Japanese Pat. Application No. 2022-134897, filed Aug. 26, 2022, which are hereby incorporated by reference herein in their entirety.
Number | Date | Country | Kind |
---|---|---|---|
2021-165899 | Oct 2021 | JP | national |
2022-134897 | Aug 2022 | JP | national |