Information processing apparatus, information processing method, robot system, method of manufacturing article, program, and recording medium

The information processing device enables efficient robot operation transition by using configuration information from a first robot model to simulate and notify users of potential issues in a second robot model, reducing re-teaching requirements.

JP2026017744APending Publication Date: 2026-02-05CANON KK
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024118692
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-07-24
Publication Date
2026-02-05

Smart Images

  • Figure 2026017744000001_ABST
    Figure 2026017744000001_ABST
Patent Text Reader

Abstract

To provide a technique advantageous in setting an operation of a robot.SOLUTION: The information processing apparatus includes a processor that performs information processing. The processor executes a first process of causing a second robot model different from a first robot model to perform a virtual operation by using configuration information used for causing the first robot model to perform the virtual operation, and a second process of notifying a user that the second robot model is in a specific state when the second robot model is in the specific state in the first process.SELECTED DRAWING: Figure 14
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to information processing. [Background technology]

[0002] In recent years, in industrial production lines, tasks such as assembly, transportation, and coating have been automated using systems with robots. Regarding such robot technology, simulation techniques that can consider and verify the robot's operation in advance in a virtual space, rather than in a real space, are being researched.

[0003] When studying robot operation, if the robot model is changed on the simulator, it is necessary to recreate the teaching points that have been set due to differences between the robot's mechanism before and after the change, which places a heavy burden on the operator (user).

[0004] In response to this, Patent Document 1 discloses a teaching device that changes position data in the operation program of a first robot according to conversion conditions and generates an operation program for a second robot so that the control points of the second robot operate in the same way as the control points of the first robot. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2007-226290 Summary of the Invention [Problem to be solved by the invention]

[0006] However, not all of the configuration information corresponding to the first robot, such as teaching point information, is necessarily applicable to the second robot.

[0007] The present disclosure provides advantageous techniques for setting the operation of a robot. [Means for solving the problem]

[0008] A first aspect of the present disclosure is an information processing device comprising a processor for performing information processing, wherein the processor executes a first process of causing a second robot model different from a first robot model to perform a virtual operation using configuration information used to cause the first robot model to perform a virtual operation, and a second process of notifying a user that the second robot model will be in a specific state if the second robot model is in the specific state in the first process.

[0009] A second aspect of the present disclosure is an information processing method by a processor that performs information processing, characterized in that the processor causes a second robot model different from the first robot model to perform a virtual operation using configuration information used to cause a first robot model to perform a virtual operation, and when the second robot model enters a specific state during the virtual operation of the second robot model, the processor notifies a user that the second robot model will enter the specific state.

[0010] A third aspect of the present disclosure is an information processing device comprising a processor for performing information processing, wherein the processor executes a first process of causing a second robot different from the first robot to perform an action using configuration information used to cause the first robot to perform an action, and a second process of notifying a user that the second robot will enter a specific state if the second robot enters the specific state in the first process.

[0011] A fourth aspect of the present disclosure is an information processing method by a processor that performs information processing, characterized in that the processor executes a first process of causing a second robot different from the first robot to perform an action using configuration information used to cause the first robot to perform an action, and a second process of notifying a user that the second robot will enter a specific state if the second robot enters the specific state in the first process. [Effects of the Invention]

[0012] The present disclosure provides an advantageous technique for setting the operation of a robot. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is an explanatory diagram illustrating a schematic configuration of a robot system according to an embodiment. [Figure 2] 1A is a diagram illustrating the configuration of a robot arm and a robot hand according to an embodiment, and FIG. 1B is an explanatory diagram of a robot hand according to an embodiment. [Figure 3] FIG. 2 is an explanatory diagram of a simulator according to an embodiment. [Figure 4] FIG. 1 is a block diagram of a computer system according to an embodiment. [Figure 5] FIG. 10 is an explanatory diagram of a robot change window according to the embodiment. [Figure 6] 10 is a flowchart illustrating a robot change process according to the embodiment. [Figure 7] 10 is a flowchart of a part of a robot change process according to the embodiment. [Figure 8] FIG. 2 is an explanatory diagram of a process according to an embodiment. [Figure 9] 10 is a flowchart of a part of a robot change process according to the embodiment. [Figure 10] FIG. 2 is an explanatory diagram of a process according to an embodiment. [Figure 11] 10 is a flowchart of a part of a robot change process according to the embodiment. [Figure 12] FIG. 2 is an explanatory diagram of a process according to an embodiment. [Figure 13] FIG. 2 is an explanatory diagram of a process according to an embodiment. [Figure 14] 1 is a flowchart of an information processing method according to an embodiment. [Figure 15] FIG. 2 is an explanatory diagram of a display screen according to the embodiment. [Figure 16]FIG. 10 is an explanatory diagram of a presentation screen according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0014] Hereinafter, embodiments will be described with reference to the accompanying drawings. Note that the embodiments shown below are merely examples, and those skilled in the art can appropriately modify the detailed configurations, for example, without departing from the spirit of the present invention.

[0015] In the following explanation, the X-axis, Y-axis, and Z-axis refer to the axes of the overall coordinate system of the robot system. Generally, the XYZ three-dimensional coordinate system refers to the world coordinate system of the entire installation environment. In addition, depending on the convenience of control, a local coordinate system may be used appropriately for the robot hand, fingers, joints, etc.

[0016] Fig. 1 is an explanatory diagram showing a schematic configuration of a robot system 1000 according to an embodiment. Fig. 1 schematically illustrates the robot system 1000 in a real space RS. The robot system 1000 includes a robot 30 and a computer system 200, which is an example of a control device. The computer system 200 is made up of multiple computers, and in this embodiment, includes the robot controller 300 and a simulator 400, which is an example of an information processing device.

[0017] The robot 30 is an industrial robot, such as a manipulator. The robot 30 is fixed to, for example, a stand 150. Around the robot 30, for example, a tray 31 on which a workpiece W1, which is an object to be transported, is placed, and a workpiece W2 to which the workpiece W1 is to be assembled are arranged. The workpiece W1 is held by the robot 30 and transported to a position where it is assembled to the workpiece W2.

[0018] The robot 30 and the robot controller 300 are connected by a wire capable of transmitting data (information). The robot controller 300 and the simulator 400 are connected by a wire capable of transmitting data (information).

[0019] The robot 30 has a robot arm 10 and a robot hand 20, which is an example of an end effector. The robot arm 10 is, for example, a vertically articulated robot arm. The robot hand 20 is supported by the robot arm 10. The robot hand 20 is attached to a predetermined portion of the robot arm 10, for example, the tip portion of the robot arm 10. The robot hand 20 is configured to be able to hold a workpiece W1.

[0020] The simulator 400 virtually executes the operation of the robot 30 through offline teaching, i.e., computer simulation, and displays the simulation results on a screen. The robot controller 300 acquires information on multiple teaching points for the robot 30 from the simulator 400. For example, the robot controller 300 acquires information on a first teaching point, which is the holding position of the workpiece W1, from the simulator 400, and acquires information on a second teaching point, which is the destination position of the workpiece W1, from the simulator 400. The robot controller 300 generates trajectory data for the robot 30 from the first teaching point to the second teaching point. The robot controller 300 controls the robot 30 according to the generated trajectory data, causing the robot 30 to transport the workpiece W1 and assemble the workpiece W1 onto the workpiece W2. This allows the robot 30 to manufacture an article such as an industrial product. The trajectory data may be calculated by the simulator 400. The manufactured article may be an intermediate product or a final product.

[0021] When the robot 30 transports the workpiece W1, it is necessary to teach the robot 30 so that the robot 30 does not come into contact with obstacles around the robot 30. Teaching the robot 30 means setting teaching points for obtaining trajectory data for the robot 30.

[0022] A control point that interacts with a predetermined portion of the robot 30, for example, the robot hand 20, is defined for the robot 30. The control point is, for example, a TCP (Tool Center Point), and is set near a predetermined portion of the robot 30, for example, near the robot hand 20. A taught point indicating the position and attitude is set by teaching the position and attitude of the TCP. The taught point is set using parameters in task space or joint space. In the case of task space, the taught point is composed of information on three positions and three attitudes. A taught point defined in task space can be converted into a taught point defined in joint space. In the case of a six-axis robot, for example, the taught point is composed of information on six joint positions (joint angles). The calculation process for converting the taught point defined in task space into a taught point defined in joint space is performed, for example, based on inverse kinematics calculation of the robot 30.

[0023] FIG. 2(a) is a diagram illustrating the configurations of a robot arm 10 and a robot hand 20 according to an embodiment. The robot arm 10 has a plurality of links 11 to 16 connected by a plurality of joints J1 to J6. Each of the joints J1 to J6 is a rotary joint. The robot arm 10 may also include a linear joint. The link 11, which is the base of the robot arm 10 (the base of the robot 30), is fixed to a mount 150. Each joint of the robot arm 10 is provided with a motor as a drive source for driving the corresponding joint, a reducer that reduces and outputs the rotation of the motor, and an encoder as a position detection device that detects the rotation angle of the motor. The installation position and output method of the encoder are not important. The robot hand 20 is attached to the link 16, which is the tip of the robot arm 10. By driving the joints J1 to J6 of the robot arm 10, the robot 30 can be moved into various postures.

[0024] FIG. 2(b) is an explanatory diagram of a robot hand 20 according to an embodiment. The robot hand 20 has a palm 21 and multiple fingers, e.g., two fingers 22 and 23, supported on the palm 21 so as to be able to open and close. The two fingers 22 and 23 are arranged opposite each other. The robot hand 20 has a force control function that controls the fingers 22 and 23 to operate with a constant force. The palm 21 of the robot hand 20 also has a drive unit 24 that supports the fingers 22 and 23 and linearly moves the pair of fingers 22 and 23. The drive unit 24 includes a motor and a conversion mechanism that converts the rotational motion of the motor into linear motion. By operating the drive unit 24, the fingers 22 and 23 can be linearly moved in opening directions D11 and D12 and closing directions D21 and D22, as indicated by the arrows in FIG. 2(b). The drive unit 24 generates a driving force, which allows the fingers 22 and 23 to generate a holding force that holds the workpiece W1. It is sufficient that the workpiece W1 is held without being displaced relative to the robot arm 10. In this embodiment, the number of fingers is two, but this can be changed as appropriate by a person skilled in the art. In this embodiment, the fingers of the robot hand 20 are driven by a motor, but they may also be driven by an air gripper such as a pneumatically driven one.

[0025] FIG. 3 is an explanatory diagram of a simulator 400 according to an embodiment. The simulator 400 is an example of an information processing device and includes a simulator main body 401, a display 402 connected to the simulator main body 401 as an example of a display device, and a keyboard 403 and a mouse 404 connected to the simulator main body 401 as examples of input devices. The simulator main body 401 executes application software for implementing a simulation method (information processing method), thereby displaying a robot change window 600 on the display 402. The display 402 also displays a virtual space VS defined by the simulator main body 401. A robot model 30V, a workpiece model W1V, a tray model 31V, a wall model 35V, etc. are arranged in the virtual space VS, and these are displayed on the display 402 as 2D or 3D images. The robot model 30V includes an arm model 10V corresponding to the robot arm 10 and a hand model 20V corresponding to the robot hand 20. It should be noted that a case in which a wall (not shown in FIG. 1) is placed around the tray 32 and workpiece W2 in FIG. 1 is simulated.

[0026] The robot model 30V is a virtual robot corresponding to the robot 30. The robot model 30V is an example of a first robot model. The workpiece model W1V is a virtual workpiece corresponding to the workpiece W1. The tray model 31V is a virtual tray corresponding to the tray 31. The wall model 35V is a virtual wall corresponding to a wall not shown. The tray model 31V and / or the wall model 35V are examples of obstacle models that may hinder the virtual operation of the robot model 30V.

[0027] Each model is a three-dimensional model and includes three-dimensional shape information (data). The three-dimensional shape information is registered in advance in the simulator main body 401 as, for example, 3D-CAD data. The operator operates the keyboard 403 and mouse 404 to input data into the simulator main body 401, thereby causing the simulator main body 401 to simulate the operation of the robot model 30V corresponding to the robot 30 in the virtual space VS. In other words, the simulator main body 401 can perform simulation processing to virtually operate the robot model 30V.

[0028] In this embodiment, the simulator 400 is described as a commonly used desktop personal computer (PC), but is not limited to this. The simulator 400 may be, for example, a terminal device such as a tablet PC or laptop PC, or a teaching pendant equipped with a simulator function. In other words, the simulator 400 may be an information processing device in which an input device and a display device are integrated.

[0029] Teaching regarding the movement of the robot 30 can be performed by offline teaching using the simulator 400. Determining the movement of the robot 30 includes determining the amount of rotation of the joints J1 to J6. If the robot hand 20 has joints and the positions of the fingers 22, 23 in the rotational directions can be changed, this may also include determining the amount of rotation of the joints of the robot hand 20.

[0030] The open fingers 22, 23 of the robot hand 20 are moved in the closing direction to contact the workpiece W1, and a holding force is applied to the fingers 22, 23, thereby enabling the workpiece W1 to be held. The holding position is the relative position of the robot 30 with respect to the workpiece W1 when the robot 30 holds the workpiece W1. When the workpiece W1 is positioned relative to the robot 30, the holding position corresponds to the posture of the robot 30 when the robot 30 holds the workpiece W1. Therefore, when the workpiece W1 is positioned relative to the robot 30, the robot 30 can hold the workpiece W1 at a predetermined holding position by setting the robot 30 to a predetermined posture.

[0031] 4 is a block diagram of a computer system 200 according to an embodiment. A simulator main body 401 of the simulator 400 includes a CPU (Central Processing Unit) 451, which is an example of a processor. The CPU 451 is an example of an information processing unit. The simulator main body 401 also includes a ROM (Read Only Memory) 452, a RAM (Random Access Memory) 453, and an SSD (Solid State Drive) 454 as storage units. The simulator main body 401 also includes a recording disk drive 455 and an interface 456, which is an interface for communicating with the robot controller 300. The CPU 451, ROM 452, RAM 453, SSD 454, recording disk drive 455, and interface 456 are connected to one another via a bus 457 so as to be able to communicate with one another. The display 402, keyboard 403, and mouse 404 are also connected to the bus 457 via their respective interfaces.

[0032] The ROM 452 stores a basic program for the operation of the computer. The RAM 453 is a storage device that temporarily stores various data such as the results of calculations performed by the CPU 451. The SSD 454 records the results of calculations performed by the CPU 451 and various data acquired from the outside, and also records a program 461 for causing the CPU 451 to execute various processes. The program 461 is application software that can be executed by the CPU 451.

[0033] The CPU 451 executes a program 461 recorded on the SSD 454 to perform simulation processing, and can simulate the robot's movements in a virtual space using a virtual robot to obtain data (information) of teaching points. The recording disk drive 455 can read various data, programs, etc. recorded on a recording disk 462. The recording disk drive 455 can read data recorded on a recording disk 462, which is an example of a recording medium, and can write model data and simulation result data to the recording disk 462 as video data (video file).

[0034] Furthermore, the CPU 451 may generate animation data including trajectory information for each control cycle of the model in the simulation when the user inputs information via the keyboard 403 or mouse 404, and store the animation data in the ROM 452 or SSD 454. In addition to the trajectory information, the animation data includes teaching point information, which is the target value for the joint position of each axis of the robot 30, and interference information between multiple models, and can be referenced in the simulation.

[0035] In this embodiment, the non-transitory computer-readable recording medium is the SSD 454, and the program 461 is recorded on the SSD 454, but this is not limiting. The program 461 may be recorded on any non-transitory computer-readable recording medium. Examples of recording media that can be used to provide the program 461 to a computer include a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a magnetic tape, and a non-volatile memory. The program 461 may also be acquired from a network (not shown).

[0036] The robot controller 300 includes a CPU 351, which is an example of a processor. The robot controller 300 also includes a ROM 352, a RAM 353, and an SSD 354 as storage units. The robot controller 300 also includes a recording disk drive 355 and an interface 356, which is an interface for communicating with the simulator 400. The CPU 351, ROM 352, RAM 353, SSD 354, recording disk drive 355, and interface 356 are connected to a bus 357 so as to be able to communicate with one another.

[0037] The ROM 352 stores a basic program related to the operation of the computer. The RAM 353 is a storage device that temporarily stores various data such as the results of arithmetic processing by the CPU 351. The SSD 354 records the results of arithmetic processing by the CPU 351 and various data acquired from the outside, and also records (stores) a program 361 that causes the CPU 351 to execute various processes. The program 361 is application software that can be executed by the CPU 351.

[0038] The CPU 351 executes a program 361 recorded on the SSD 354 to perform control processing, thereby enabling control of the operation of the robot 30 in Fig. 1. The recording disk drive 355 can read various data, programs, etc. recorded on a recording disk 362.

[0039] In this embodiment, the non-transitory computer-readable recording medium is the SSD 354, and the program 361 is recorded on the SSD 354, but this is not limiting. The program 361 may be recorded on any non-transitory computer-readable recording medium. Examples of recording media that can be used to provide the program 361 to a computer include a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a magnetic tape, and a non-volatile memory. The program 361 may also be acquired from a network (not shown).

[0040] In this embodiment, the control unit 500 is configured with multiple CPUs 351, 451 that can communicate with each other. In this embodiment, the CPU 351 is responsible for control processing, and the CPU 451 is responsible for simulation processing (information processing). In this embodiment, the control processing and information processing are executed by multiple computers, i.e., multiple CPUs 351, 451, but this is not limited to this. The control processing and processing may also be executed by one computer, i.e., one CPU. In this case, one CPU may be configured to function as both the control unit and the information processing unit. Furthermore, in this embodiment, one processor is configured to execute information processing, but this is not limited to this, and multiple processors may be configured to execute information processing.

[0041] FIG. 5 is an explanatory diagram of a robot change window 600 according to an embodiment. The robot change window 600 shown in FIG. 5 is a GUI (Graphical User Interface) used when changing the robot model 30V placed in the virtual space VS to another robot model 30V′ of a robot different from the robot 30. The robot change window 600 is called from the SSD 454 by the CPU 451 executing the program 461 stored in the SSD 454, and is displayed on the display 402. The robot change window 600 includes a Confirm button 601 for confirming the process of replacing the robot model 30V with the robot model 30V′, a Cancel button 602 for canceling the process of replacing the robot model 30V with the robot model 30V′, a pre-change robot list display section 603, and a post-change robot list display section 604. The pre-change robot list display section 603 displays a list of pre-change robot models placed in the virtual space VS. That is, a list of robot models linked to information on a plurality of teaching points created in advance is displayed. 5 shows an example in which there is one robot model, but there may be multiple robot models. In this case, multiple teaching points are associated with each of the multiple robot models. The post-change robot list display section 604 also shows a list of candidates for the post-change robot model.

[0042] Fig. 6 is a flowchart of the robot change process according to the embodiment. As shown in Fig. 6, the CPU 451 sequentially executes the processes of step S1 for acquiring information corresponding to the robot model before the change, step S2 for acquiring information corresponding to the robot model after the change, and step S3 for generating output data from the robot models before and after the change. First, step S1 will be described.

[0043] 7 is a flowchart of step S1 of the robot change process according to this embodiment. In step S1-1 shown in FIG. 7, the CPU 451 displays a list of pre-change robot models registered in advance in the SSD 454 or the like of the simulator main body 401 in the pre-change robot list display section 603. In this embodiment, a list of robot models loaded into the virtual space VS is displayed in the pre-change robot list display section 603. In step S1-2, the CPU 451 accepts selection of a robot model to be changed from the robot models displayed in the pre-change robot list display section 603. In step S1-3, the CPU 451 acquires necessary information related to the selected pre-change robot model.

[0044] Steps S1-1, S1-2, and S1-3 will be described in detail below. First, in step S1-1, when the robot change window 600 is opened, the CPU 451 displays a list of pre-change robot models registered in advance in the simulator main body 401 in the pre-change robot list display section 603. When displaying the list of robot models, the CPU 451 checks whether the robot models satisfy the configuration conditions for a robot in the virtual space VS. The configuration conditions include, for example, whether the multiple links 11 to 16 of the robot model are correctly connected by multiple rotationally driven joints J1 to J6. The CPU 451 displays only robot models that satisfy the configuration conditions for a robot as candidates in the pre-change robot list display section 603.

[0045] Fig. 8 is an explanatory diagram of the processing of step S1-2 according to the embodiment. The CPU 451 accepts the selection of the pre-change robot model displayed in the pre-change robot list display section 603. Note that in the example of Fig. 8, only one robot model can be selected.

[0046] In step S1-2, the CPU 451 accepts a selection from among the pre-change robot models displayed in the pre-change robot list display section 603 in step S1-1. Here, the CPU 451 displays on the display 402 a cursor 700 that the user can operate with the mouse 404. Then, the cursor 700 is operated with the mouse 404 on the pre-change robot list display section 603, and the mouse 404 is clicked on the pre-change robot model displayed in the pre-change robot list display section 603, whereby the CPU 451 accepts the user's selection of the pre-change robot model.

[0047] In step S1-3, the CPU 451 acquires information that needs to be carried over to the post-change robot model from among all information related to the pre-change robot model corresponding to the pre-change robot model selected in step S1-2. The information to be carried over to the post-change robot model is also referred to as configuration information. The information to be carried over to the post-change robot model (configuration information) includes, for example, information on teaching points for the pre-change robot model, TCP information, interference setting information, information on parts attached to the pre-change robot model, information on the relative coordinates of parent parts as viewed from each joint axis, and information on the base coordinates of the robot model.

[0048] Here, a control point that interacts with a predetermined part of the robot model 30V, for example, a hand model that is the tip of the robot model 30V, is defined for the robot model 30V, just like the robot 30. The control point is a TCP, and is set near the predetermined part of the robot model 30V, for example, near the hand model.

[0049] The teaching point information includes relative coordinate information of the position and orientation of the tip of the robot model relative to the robot model's base in the task space, information on characteristic orientations that may exist as solutions to the inverse kinematics calculation at the teaching point, and information on the number of rotations of each axis. For example, in the case of a six-axis vertical articulated robot, the characteristic orientation information is information on the orientation of the robot's base, elbow, and wrist. The characteristic orientation information is, for example, information on the positive and negative directions of rotation relative to the reference position of each of the multiple joints. Note that, in the case of a prismatic joint, the characteristic orientation information includes information on the positive and negative directions of linear motion relative to the reference position. Note that, if multiple solutions are obtained from the inverse kinematics calculation at the teaching point, the teaching point information also includes information on characteristic orientations that may exist as alternative solutions among the multiple solutions.

[0050] The interference setting information is information on the grouping setting of the parts that make up the robot model before the change.

[0051] Furthermore, if the robot model before the change has a singular posture, the information (configuration information) to be carried over to the robot model after the change includes information on the posture that caused the singular posture to occur mechanically in the robot model before the change, i.e., information on the singular posture. For example, in the case of a six-axis vertical articulated robot in which the fourth, fifth, and sixth axes are mutually orthogonal, a singular posture is a posture in which the fifth axis is at an angle of 0 degrees or a multiple of 180 degrees. Such configuration information is information that is set to operate the robot.

[0052] The information (configuration information) to be carried over to the changed robot model includes model parameters, such as information on the relative coordinates and orientation of the position of the base of the robot model 30V in the task space, and information on the relative coordinates and orientation of the position of the tip of the robot model 30V in the task space.

[0053] The information to be carried over to the changed robot model is not limited to the above example, and additional information other than the above example may be acquired as needed.

[0054] Fig. 9 is a flowchart showing details of step S2 of the robot change processing according to the embodiment. In step S2-1 shown in Fig. 9, the CPU 451 displays a list of candidates for the changed robot model that have been registered in advance in the SSD 454 of the simulator main body 401, in the changed robot list display section 604. In step S2-2, the CPU 451 accepts the selection of a changed robot model from the candidates displayed in the changed robot list display section 604. In step S2-3, the CPU 451 acquires necessary information related to the selected changed robot model.

[0055] Steps S2-1, S2-2, and S2-3 will be described in detail below. First, in step S2-1, when the robot change window 600 is opened, the CPU 451 displays a list of candidates for the changed robot model that have been registered in advance in the simulator main body 401 in the changed robot list display section 604. When displaying the list of candidate robot models, the CPU 451 checks whether the robot model satisfies the configuration conditions for a robot in the virtual space VS. The configuration conditions include, for example, whether the multiple links 11 to 16 of the robot model are correctly connected by multiple joints J1 to J6 that are rotationally driven. The CPU 451 displays only the robot models that satisfy the configuration conditions for a robot as candidates in the changed robot list display section 604.

[0056] FIG. 10 is an explanatory diagram of the processing of step S2-2 according to the embodiment. Note that in the example of FIG. 10, a plurality of robot model candidates are displayed in the changed robot list display section 604 as at least one robot model candidate. The CPU 451 accepts the selection of the changed robot model displayed in the changed robot list display section 604. In step S2-2, the CPU 451 accepts a selection from among the changed robot model candidates displayed in the changed robot list display section 604 in step S2-1. The cursor 700 is operated with the mouse 404 on the changed robot list display section 604, and the mouse 404 is clicked on a robot model candidate displayed in the changed robot list display section 604, whereby the CPU 451 accepts the user's selection of the changed robot model.

[0057] In step S2-3, the CPU 451 acquires information necessary for the modified robot model selected in step S2-2. Here, the information necessary for the modified robot model is all of the information necessary for the modified robot model other than the configuration information obtained from the first robot model, such as three-dimensional shape information included in the modified robot model (including information on the length of each link), information on parts attached to the modified robot model, and information on the relative coordinates of parent parts as viewed from each joint axis. Note that the information necessary for this modified robot model is not limited to the above example, and additional information other than the above example may be acquired separately as necessary.

[0058] 11 is a flowchart showing details of step S3 of the robot change process according to the embodiment. In step S3-1, when the Confirm button 601 is pressed, the CPU 451 confirms the processing contents of steps S1 and S2. Then, in step S3-2, the CPU 451 generates final output data including information (configuration information) to be carried over from the pre-change robot model to the post-change robot model, and information necessary for the post-change robot model.

[0059] 12 is an explanatory diagram of the processing of step S3-1 according to the embodiment. In step S3-1, cursor 700 is operated with mouse 404, and mouse 404 is clicked on confirm button 601, whereby CPU 451 confirms the selection processing of the robot model before the change in step S1 and the selection processing of the robot model after the change in step S2.

[0060] 13 is an explanatory diagram of the processing of step S3-2 according to the embodiment. In step S3-2, the CPU 451 generates integrated information for the modified robot model 30V' as output data based on the configuration information (information to be carried over) for the robot model 30V before the change and the information necessary for the modified robot model 30V'. Here, the robot model 30V is an example of a first robot model, and the robot model 30V' is an example of a second robot model.

[0061] The teaching points set in the modified robot model 30V' are obtained by converting the teaching points in the task space set in the robot model 30V before the change into teaching points in the joint space. The teaching points in the task space are defined by the relative coordinates of the control point (TCP) with respect to the robot base in the task space. Therefore, the teaching points in the joint space are obtained by calculating the inverse kinematics of the modified robot model 30V' from the teaching points in the task space, using information on the posture of the modified robot model 30V' and information on the link lengths of the modified robot model 30V' as constants.

[0062] Here, information other than the information on the teaching points associated with the modified robot model 30V' is selectively set from the information acquired for the robot model 30V before the change and the information acquired for the robot model 30V' after the change. For example, the information selected from the robot model 30V before the change includes, in addition to the information on the teaching points, configuration information such as TCP information, interference setting information, coordinate information on the base position of the robot model 30V, and information on tools (e.g., hand models) attached to the robot model 30V. Furthermore, for example, the information selected from the modified robot model 30V' includes configuration information of the robot model 30V' and 3D-CAD information.

[0063] As described above, in this embodiment, the CPU 451 executes a process of virtually operating the robot model 30V' by using the configuration information of the robot model 30V. By using the configuration information of the robot model 30V for the robot model 30V', it is possible to reduce the number of steps required for re-teaching when changing the robot model.

[0064] Here, when the CPU 451 virtually operates the robot model 30V' based on the configuration information of the robot model 30V, a specific state may occur in the robot model 30V'. The specific state is a state in which the virtual operation of the robot model 30V' fails. In this embodiment, the specific state includes a state in which the robot model 30V' interferes with an obstacle model (interference state), a state in which the robot model 30V' has a singular posture (singular state), and a state in which the robot model 30V' is outside the movable range (no-solution state). Here, interference of the robot model 30V' with an obstacle model includes contact of the robot model 30V' with the obstacle model (e.g., tray model 31V or wall model 35V) and crossing of the robot model 30V' with the obstacle model.

[0065] Fig. 14 is a flowchart of an information processing method according to an embodiment. The flowchart shown in Fig. 14 is executed after step S3-1 shown in Fig. 11 accepts pressing of the confirm button 601 shown in Fig. 12 and after step S3-2 generates output data. In step S4-1, the CPU 451 executes a simulation process of making the robot model 30V' perform a virtual operation using configuration information used to make the robot model 30V perform a virtual operation. The process of step S4-1 is an example of a first process.

[0066] The CPU 451 determines whether or not a specific state has occurred in the virtual operation of the robot model 30V', that is, whether or not the virtual operation of the robot model 30V' has failed.

[0067] If step S4-2 is YES, that is, if the robot model 30V' has entered a specific state in the virtual operation of the robot model 30V', the CPU 451 proceeds to the processing of step S4-3. In other words, if the virtual operation of the robot model 30V' has failed, the CPU 451 proceeds to the processing of step S4-3. In step S4-3, the CPU 451 executes a notification process to notify the user that the robot model 30V' has entered a specific state. The notification process is an example of a second process. In this embodiment, in the notification process, the CPU 451 displays on the display 402 that the robot model 30V' has entered a specific state. Note that if step S4-2 is NO, that is, if the robot model 30V' has not entered a specific state in the virtual operation of the robot model 30V', the CPU 451 simply ends the processing.

[0068] Fig. 15 is an explanatory diagram of a display screen 610 according to this embodiment. In this embodiment, in the notification process of step S4-2, the CPU 451 displays the display screen 610 shown in Fig. 15 on the display 402. The display screen 610 includes a cause display section 611, a list display section 612, a confirm button 613 for confirming the robot change process, and an adjustment button 614 for making adjustments to the robot change process.

[0069] The display screen 610 functions as a GUI for notifying the user when the robot model 30V' after the change is in a specific state.

[0070] The CPU 451 displays the teaching points that become specific states and the details of the specific states in the list display section 612 of the display screen 610. Here, the CPU 451 displays a cursor 700 on the display 402 that the user can operate with the mouse 404. Then, the user operates the cursor 700 with the mouse 404 in the list display section 612, and clicks the mouse 404 on the display image of the teaching point that becomes the specific state displayed in the list display section 612, whereby the CPU 451 accepts the selection of the teaching point. Then, the CPU 451 displays, for the selected teaching point, information on the factors that caused the specific state and the corresponding location of the robot model in the factor display section 611. The details of the specific state corresponding to the teaching point selected with the mouse 404 are displayed in the factor display section 611, and the user can check the details of the specific state by referring to the factor display section 611.

[0071] Here, when the user presses the confirm button 613 on the display screen 610, the CPU 451 accepts the teaching point that becomes the specific state and performs the robot change process. That is, the CPU 451 invalidates the teaching point that becomes the specific state. When the user presses the adjust button 614 on the display screen 610, the CPU 451 performs adjustment of the robot change process. Below, the processing of the CPU 451 when the user presses the adjust button 614 will be described.

[0072] In the notification process, the CPU 451 presents to the user candidates for the posture of the robot model 30V' that avoids the specific state. In this embodiment, the CPU 451 displays on the display 402 candidates for the posture of the robot model 30V' that avoids the specific state.

[0073] 16 is an explanatory diagram of a presentation screen 620 according to the embodiment. The presentation screen 620 has a presentation list section 621, a confirmation button 622 for confirming the modification of the robot change process, and a cancel button 623 for canceling the modification of the robot change process.

[0074] The presentation screen 620 functions as a GUI that presents a suggested correction to the user and executes the correction when the robot change process is adjusted when the adjustment button 614 on the display screen 610 is pressed and the changed robot model 30V' can avoid a specific state.

[0075] When there is a correction method that can avoid the specific state for a teaching point that becomes the specific state, the CPU 451 displays the name of the teaching point and a correction plan to avoid the specific state in the presentation list section 621.

[0076] An example of deriving a correction method capable of avoiding a specific state will be described. If the interference state can be avoided by changing information on a characteristic posture that may exist as another solution of the inverse kinematics calculation at the corresponding teaching point (for example, the posture of the base, elbow, or wrist in the case of a six-axis vertical articulated robot), the CPU 451 presents that posture to the user as a correction proposal. That is, the CPU 451 acquires candidate postures of the robot model 30V' that avoid the specific state by performing inverse kinematics calculation of the robot model 30V' for the corresponding teaching point.

[0077] Specifically, in step S4-1, the CPU 451 obtains the posture of the robot model 30V' when the TCP moves to the teaching point by inverse kinematics calculation. If multiple solutions are obtained by the inverse kinematics calculation, the CPU 451 determines, among the multiple solutions, a solution in which the characteristic posture of the robot model 30V' is identical to the characteristic posture of the robot model 30V, as the posture of the robot model 30V'.

[0078] As a result, if the robot model 30V' is in the specific state in step S4-2, and if another solution among the multiple solutions obtained by the inverse kinematics calculation does not put the robot model 30V' in the specific state, the CPU 451 presents the another solution to the user as a candidate posture of the robot model 30V' in step S4-3. In the example of Fig. 16, suggested modifications to teaching points that can avoid the specific state by modification are displayed inside the area surrounded by a dashed frame.

[0079] When the user presses the Confirm button 622, the CPU 451 performs a correction process to avoid the specific state. When the user presses the Cancel button 623, the CPU 451 stops the process and transitions to the display screen 610. When the user presses the Confirm button 622, the CPU 451 performs a correction to avoid the specific state, and after the correction, returns to step S3-2 in Fig. 11 and continues the robot change process.

[0080] As described above, the CPU 451 accepts the user's selection of a candidate posture of the robot model 30V', and sets the selected candidate posture of the robot model 30V' as the posture of the robot model 30V'.

[0081] According to this embodiment, if a specific state occurs in the robot model 30V′ when the modified robot model 30V′ is virtually operated based on the configuration information of the robot model 30V before the modification, the user is notified of the information, which makes it easier to teach the robot. In this way, this embodiment provides a technology that is advantageous for teaching the robot.

[0082] Furthermore, by implementing correction processing to avoid specific states, the man-hours required for re-teaching when changing the robot model are reduced, and operability is also improved.

[0083] In the above-described embodiment, if there is no direct correction method for a teaching point related to a change, for example, if the teaching point is set at a position that is physically unreachable by the changed robot model, the teaching point is deemed to be invalid as "no solution." However, this is not limited to this. For example, the CPU 451 may set a position and orientation that is closest to the original teaching point within a range that the changed robot model can reach as a new teaching point.

[0084] Although the above-described embodiment has been described with reference to a case where a virtual robot is operated, the present invention is not limited to this. For example, consider a case where an actual robot is operated in a factory or the like. In this case, if another robot is used instead of a specific robot, configuration information set for the operation of the other robot may be used. That is, the specific robot is operated based on the configuration information set for the other robot. For example, when operating a specific robot, posture information of the robot up to each teaching point is acquired over time by a control device. If the posture information acquired over time indicates that the specific robot is approaching a singular posture or the like as a specific state, the specific robot may be stopped and a user may be notified of this. In this case, it is assumed that the surrounding environment is such that it can be confirmed that no interference will occur even if the specific robot is operated. Whether the acquired posture information is approaching a singular posture or the like may be determined by setting a threshold value for the difference between the acquired posture information and the singular posture.

[0085] Furthermore, a proximity sensor capable of detecting the approach of an object may be attached to each link of the actual robot, and a notification may be sent to the user when interference between the actual robot and a surrounding object is predicted as a specific state. That is, when a specific robot is operated based on configuration information set in another robot, information from the proximity sensor of the specific robot is acquired over time by the control device. Then, if the information acquired over time from the proximity sensor indicates that the specific robot is approaching a surrounding object, the specific robot may be stopped and a notification may be sent to the user. The determination of whether or not the robot is approaching a surrounding object may be performed by setting a threshold value for the information acquired from the proximity sensor.

[0086] Furthermore, the processing procedures executed by the simulator 400 in the above-described embodiment are specifically executed by the CPU 451. Therefore, it is also possible to configure the simulator 400 to read and execute a software program capable of executing the above-described functions from a recording medium. In this case, the program itself read from the recording medium will implement the functions of the above-described embodiment.

[0087] In the above-described embodiment, the computer-readable recording medium is a ROM, RAM, or SSD, and the program is stored in the ROM, RAM, or SSD. However, the present invention is not limited to this. The program may be recorded on any non-transitory computer-readable recording medium. For example, a hard disk drive (HDD), an external storage device, a recording disk, or the like may be used as a recording medium for supplying the program.

[0088] In the above-described embodiment, the robot arm is described as a vertically articulated robot arm, but the present disclosure is not limited to this. The robot arm may be, for example, a horizontally articulated robot arm, a parallel-link robot arm, or an orthogonal robot. The present disclosure is also applicable to machines that can automatically perform operations such as extension and contraction, bending and stretching, vertical movement, horizontal movement, or rotation, or a combination of these operations, based on information stored in a storage device in a control device.

[0089] In the above-described embodiment, the case where the robot model 30V is changed to another robot model 30V' corresponding to another robot different from the robot 30 is described, but the object of the change is not limited to this. It is also possible to change a part model of a robot model, for example, an end effector model such as a hand model, and this case is also included in the case where the robot model is changed.

[0090] Furthermore, the present disclosure is not limited to the above-described embodiments, and many modifications of the embodiments are possible within the technical concept of the present disclosure. Furthermore, the effects described in the present embodiments are merely a list of the most preferable effects resulting from the embodiments of the present disclosure, and the effects of the embodiments of the present disclosure are not limited to those described in the present embodiments.

[0091] (Other Examples) The present invention can also be realized by supplying a program that realizes one or more functions of the above-described embodiments to a system or device via a network or a storage medium, and having one or more processors in the computer of the system or device read and execute the program. It can also be realized by a circuit (e.g., ASIC) that realizes one or more functions.

[0092] The disclosure of the above embodiments includes the following sections.

[0093] (Section 1) A processor for processing information is provided, The processor: a first process of making a second robot model different from the first robot model perform a virtual operation by using configuration information used to make a first robot model perform a virtual operation; and executing a second process of notifying a user that the second robot model will be in the specific state when the second robot model is in the specific state in the first process. 1. An information processing device comprising:

[0094] (Section 2) In the second process, the processor displays on a display device a message that the second robot will be in the specific state. Item 1. An information processing device according to item 1.

[0095] (Section 3) The specific state is a state in which the virtual operation of the second robot model fails. 3. The information processing device according to item 1 or 2, characterized in that:

[0096] (Section 4) the specific state includes a state in which the second robot model interferes with an obstacle model. 4. The information processing device according to any one of items 1 to 3.

[0097] (Section 5) the specific state includes a state in which the second robot model is in a singular posture. 5. The information processing device according to any one of items 1 to 4.

[0098] (Section 6) the specific state includes a state in which the second robot model is outside its range of motion; 6. The information processing device according to any one of items 1 to 5,

[0099] (Section 7) The configuration information includes information on teaching points of the first robot model. 7. The information processing device according to any one of items 1 to 6,

[0100] (Section 8) The configuration information includes information on a control point that is linked to a predetermined portion of the first robot model. 8. The information processing device according to any one of items 1 to 7,

[0101] (Section 9) The predetermined part is a tip part of the first robot model. Item 9. The information processing device according to item 8, characterized in that:

[0102] (Section 10) The configuration information includes model parameters of the first robot model. 10. The information processing device according to any one of items 1 to 9,

[0103] (Section 11) The processor accepts a user's selection of the second robot model from among at least one candidate robot model. 11. The information processing device according to any one of items 1 to 10,

[0104] (Section 12) In the second process, the processor presents to a user candidates for a posture of the second robot model that avoids the specific state. 12. The information processing device according to any one of items 1 to 11,

[0105] (Section 13) the processor displays, on a display device, candidates for the posture of the second robot model that avoid the specific state. Item 13. The information processing device according to item 12,

[0106] (Section 14) the configuration information includes information on teaching points of the first robot model, the processor obtains candidates for the posture of the second robot model that avoid the specific state by performing inverse kinematics calculation of the second robot model with respect to the teaching point; 14. The information processing device according to item 12 or 13,

[0107] (Section 15) the processor accepts a user selection of a candidate posture of the second robot model, and sets the candidate posture of the second robot model for which the selection has been accepted as the posture of the second robot model; 15. The information processing device according to any one of items 12 to 14,

[0108] (Section 16) An information processing device according to any one of items 1 to 15; a robot controlled by information obtained from the information processing device, A robot system characterized by:

[0109] (Section 17) An information processing method by a processor that performs information processing, the processor causes a second robot model different from the first robot model to perform a virtual operation using configuration information used to cause the first robot model to perform a virtual operation; When the second robot model enters a specific state in the virtual operation of the second robot model, the processor notifies a user that the second robot model will enter the specific state. An information processing method comprising:

[0110] (Section 18) Item 17. Manufacturing an article using the robot system according to item 16. A method for manufacturing an article.

[0111] (Section 19) A processor for processing information is provided, The processor: a first process of causing a second robot different from the first robot to perform an operation using configuration information used to cause the first robot to perform an operation; If the second robot is in a specific state in the first process, a second process is executed to notify a user that the second robot is in the specific state. 1. An information processing device comprising:

[0112] (Section 20) An information processing method by a processor that performs information processing, a first process in which the processor causes a second robot different from the first robot to perform an operation using configuration information used to cause a first robot to perform an operation; and when the second robot is in a specific state in the first process, the processor executes a second process of notifying a user that the second robot is in the specific state. An information processing method comprising:

[0113] (Section 21) 21. A program for causing a computer to execute the information processing method according to claim 17 or 20.

[0114] (Section 22) Item 22. A computer-readable recording medium having the program described in item 21 recorded thereon. [Explanation of symbols]

[0115] 30V...robot model, 30V'...robot model, 400...simulator (information processing device), 451...CPU (processor), 1000...robot system

Claims

1. A processor for processing information is provided, The processor: a first process of making a second robot model different from the first robot model perform a virtual operation by using configuration information used to make a first robot model perform a virtual operation; and executing a second process of notifying a user that the second robot model will be in the specific state when the second robot model is in the specific state in the first process.

1. An information processing device comprising:

2. In the second process, the processor displays on a display device a message indicating that the second robot will be in the specific state.

2. The information processing apparatus according to claim 1, wherein:

3. The specific state is a state in which the virtual operation of the second robot model fails.

2. The information processing apparatus according to claim 1, wherein:

4. the specific state includes a state in which the second robot model interferes with an obstacle model.

2. The information processing apparatus according to claim 1, wherein:

5. the specific state includes a state in which the second robot model is in a singular posture.

2. The information processing apparatus according to claim 1, wherein:

6. the specific state includes a state in which the second robot model is outside a movable range.

2. The information processing apparatus according to claim 1, wherein:

7. The configuration information includes information on teaching points of the first robot model.

2. The information processing apparatus according to claim 1, wherein:

8. the configuration information includes information on a control point that is linked to a predetermined portion of the first robot model; 2. The information processing apparatus according to claim 1, wherein:

9. the predetermined part is a tip part of the first robot model, 9. The information processing apparatus according to claim 8,

10. The configuration information includes model parameters of the first robot model.

2. The information processing apparatus according to claim 1, wherein:

11. The processor accepts a user's selection of the second robot model from among at least one candidate robot model.

2. The information processing apparatus according to claim 1, wherein:

12. In the second process, the processor presents to a user candidates for a posture of the second robot model that avoids the specific state.

2. The information processing apparatus according to claim 1, wherein:

13. the processor displays, on a display device, candidates for the posture of the second robot model that avoid the specific state.

13. The information processing apparatus according to claim 12.

14. the configuration information includes information on teaching points of the first robot model, the processor obtains candidates for the posture of the second robot model that avoid the specific state by performing inverse kinematics calculation of the second robot model with respect to the teaching point; 13. The information processing apparatus according to claim 12.

15. the processor accepts a user selection of a candidate posture of the second robot model, and sets the candidate posture of the second robot model for which the selection has been accepted as the posture of the second robot model; 13. The information processing apparatus according to claim 12.

16. An information processing device according to any one of claims 1 to 15; a robot controlled by information obtained from the information processing device, A robot system characterized by:

17. An information processing method by a processor that performs information processing, the processor causes a second robot model different from the first robot model to perform a virtual operation using configuration information used to cause the first robot model to perform a virtual operation; When the second robot model enters a specific state in the virtual operation of the second robot model, the processor notifies a user that the second robot model will enter the specific state.

1. An information processing method comprising:

18. 17. Manufacturing an article using the robot system according to claim 16. A method for manufacturing an article.

19. A processor for processing information is provided, The processor: a first process of causing a second robot different from the first robot to perform an operation using configuration information used to cause the first robot to perform an operation; If the second robot is in a specific state in the first process, a second process is executed to notify a user that the second robot is in the specific state.

1. An information processing device comprising:

20. An information processing method by a processor that performs information processing, a first process in which the processor causes a second robot different from the first robot to perform an operation using configuration information used to cause a first robot to perform an operation; and when the second robot is in a specific state in the first process, the processor executes a second process of notifying a user that the second robot is in the specific state.

1. An information processing method comprising:

21. A program for causing a computer to execute the information processing method according to claim 17 or 20.

22. A computer-readable recording medium on which the program according to claim 21 is recorded.

Citation Information

Patent Citations

  • Information processing device, information processing method, display device, display method, robot system, method for manufacturing article, program and recording medium

    JP2023003731A

  • System for assisting creation of operation program of robot, method, and computer program

    JP2023157089A

  • Information processing device, information processing method, robot system, manufacturing method for article using robot system, teaching device, program and recording medium

    JP2023174513A

  • Teaching equipment for robot

    JP2007226290A