Robot control device
By employing an I/O data exchange mechanism in the robot control device, the problem of users finding it difficult to confirm the execution status of the application is solved, enabling external display and control of the application status, and improving user interactivity and operational efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- FANUC LTD
- Filing Date
- 2023-11-24
- Publication Date
- 2026-06-05
AI Technical Summary
In existing robot control devices, data exchanged via shared RAM is difficult to retrieve to the outside, making it difficult for users to verify the execution status of the application.
The robot language program execution unit and the application execution unit exchange data through I/O data. The I/O input/output unit is used to retrieve data to the outside and the execution status of the application is displayed through I/O data.
This allows users to easily verify the content and execution status of the application, improving the transparency and efficiency of robot operation.
Smart Images

Figure CN122161697A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a robot control device. Background Technology
[0002] A robot control device is known that has an interpreter-based robot language and is capable of executing applications that are translated into machine language by a compiler from a language different from the robot language (e.g., see Patent Document 1). In this robot control device, a control program execution unit that executes the robot language program and an application execution unit that executes the application program are connected via shared RAM. Furthermore, the robot language program execution unit and the application execution unit exchange data via the shared RAM.
[0003] Existing technical documents
[0004] Patent documents
[0005] Patent Document 1: Japanese Patent Application Publication No. 9-91022 Summary of the Invention
[0006] The problem the invention aims to solve
[0007] However, data exchanged via shared RAM is data processed internally within the processor and memory, making it difficult to retrieve externally. For example, users may find it difficult to verify the application's execution status. Therefore, it is desirable for users to be able to easily verify the application's content and status.
[0008] Solution for solving the problem
[0009] One aspect of this disclosure is a robot control device comprising: a robot language program execution unit capable of executing a robot language program described in a dedicated robot language; an application program execution unit capable of executing an application program described in a language different from the robot language; and an I / O input / output unit capable of exchanging data between the robot language program execution unit and the application program execution unit using I / O data. Attached Figure Description
[0010] Figure 1 This is a block diagram illustrating a robot system that includes a robot control device according to one embodiment of the present disclosure.
[0011] Figure 2 This is an explanation Figure 1 A block diagram detailing the robot language program execution unit of the robot control device.
[0012] Figure 3 This is an explanation Figure 1 A block diagram detailing the application execution section of the robot control device. Detailed Implementation
[0013] Hereinafter, a robot control device 1 according to an embodiment of the present disclosure will be described with reference to the accompanying drawings.
[0014] exist Figure 1 The diagram shows a robot system 100 including the robot control device 1 of this embodiment. The robot system 100 includes a robot 10, a robot control device 1, and a teach pendant 20.
[0015] like Figure 1 As shown, the robot control device 1 of this embodiment includes: a robot language program execution unit 2, an application program execution unit 3, and an I / O input / output unit 4. Additionally, the robot control device 1 includes one or more servo amplifiers 5 connected to the robot language program execution unit 2.
[0016] The teach pendant 20 has a built-in display device 21 such as a monitor and an input device 22 such as touch keys. The display device 21 and input device 22 of the teach pendant 20 may also be a user interface such as a monitor with a built-in touch sensor.
[0017] The robot 10 has one or more motors 11. Each motor 11 is connected to the servo amplifier 5 of the robot control device 1.
[0018] The application execution unit 3 can be connected to a storage device 6 such as a USB memory or an external / internal SD card. The application's script files are stored in the storage device 6 and can be executed by loading them into the application execution unit 3.
[0019] like Figure 2 As shown, the robot language program execution unit 2 includes at least one processor 7, at least one memory 8, and an interface 9. The memory 8 includes a ROM 81 for storing control programs, a RAM 82 for storing robot language programs, and a RAM 83 for operation. The interface 9 includes a teach pendant interface 91 and a servo amplifier interface 92.
[0020] The processor 7 of the robot language program execution unit 2 is capable of executing robot language programs described by a dedicated robot language. The robot language is a language described by a simple syntax, which, for example, can set the movement mode, movement trajectory, movement speed, etc. of the robot 10 between the teach positions taught by the teach pendant 20.
[0021] like Figure 3 As shown, the application execution unit 3 includes at least one processor 31, at least one memory 32, and an interface. The memory 32 includes a ROM 33 for storing a loader, a RAM 34 for storing operations, and a RAM 35 for storing applications.
[0022] The ROM 33, used for storing the loader, stores the loader. The loader stores script files of one or more applications stored in memory 6 in RAM 35, used for storing applications, via input / output interface 36 and processor 31.
[0023] The interface is, for example, an input / output interface 36 that can connect to a memory such as a USB memory.
[0024] The processor 31 of the application execution unit 3 is capable of executing applications described in a language different from the robot language. Examples of languages different from the robot language include, for example, general-purpose scripting programming languages with interpreter-based methods, such as Python (trademark).
[0025] The content of the application is not particularly limited, but it is preferably an application that performs processing that is difficult to create using a robot language program with a simple syntax. The application is created in an environment edited in a language other than the robot language. To load the application, for example, memory 6 needs to be connected to input / output interface 36. Then, the loader stored in ROM 33, which is used to store the loader, is started. As a result, the application in memory 6 is loaded into RAM 35, which is used to store the application.
[0026] In addition, the processor 7 of the robot language program execution unit 2 sends an interrupt signal and a clock signal to the processor 31 of the application execution unit 3 to stop the application.
[0027] Furthermore, the processors 7 and 31 of the robot language program execution unit 2 and the application program execution unit 3 convert the data exchanged between them into I / O data. I / O data is binary data arranged with multiple values such as "0" and "1", "ON" and "OFF", or "True" and "false". Therefore, by preparing signals assigned to specific purposes in advance based on the I / O data, the size of the exchanged data can be reduced.
[0028] In order to receive input from external sensors or output command signals to tools, etc., the I / O input / output unit 4 is usually installed in the robot control device 1.
[0029] The operation of the robot control device 1 configured as described in this embodiment will now be explained.
[0030] When controlling the robot 10 using the robot control device 1 of this embodiment, the robot language program is stored in the RAM 82 for storing robot language programs within the robot language program execution unit 2. Additionally, the application program is stored in the RAM 35 for storing application programs within the application execution unit 3.
[0031] The robot language program is created in RAM 82, which is used to store the robot language program, by teaching multiple teaching points and the actions, movement trajectories, or movement speeds between the teaching points using the teach pendant 20. Alternatively, the robot language program created offline can be stored in RAM 82 using a communication interface not shown.
[0032] Applications can also be created in an environment where they can be programmed using a general-purpose scripting language with an interpreter such as a host computer (not shown). The created applications can also be stored in RAM 35, which is used for storing applications, using a communication interface (not shown).
[0033] Any robot language program selected from the robot language programs stored in RAM 82 for storing robot language programs is stored in RAM 83 for operation. The processor 7 executes the robot language program in RAM 83 for operation according to the control program stored in ROM 81 for storing control programs, and generates position instructions for servo amplifier 5 according to the sampling period.
[0034] The servo amplifier 5 contains control loops for position control, speed control, and current control. The servo amplifier 5 rotates the motor 11 according to the position command input from the processor 7 via the servo amplifier interface 92, thereby causing the robot 10 to move.
[0035] The robot language program execution unit 2 and the application program execution unit 3 are able to work synchronously and in parallel according to the clock signal output from the robot language program execution unit 2.
[0036] To execute an application from the robot language program execution unit 2, a start command needs to be sent along with the identification information of the application to be launched, using commands within the robot language program. When the processor 7 of the robot language program execution unit 2 executes this command, the processor 7 converts the identification information of the application to be launched and the start command data into I / O data. The converted I / O data is then input to the processor 31 of the application execution unit 3 via the I / O input / output unit 4.
[0037] The application execution unit 3 identifies the identification information input via I / O data and reads the application corresponding to the identification information from the RAM 35 used for storing applications. The read application is stored in the RAM 34 used for the job.
[0038] The processor 31 of the application execution unit 3 starts the application program stored in the RAM 34 for operation using a start command. Furthermore, the processor 31 converts the execution results of the application program into I / O data and outputs it. The output I / O data is input to the processor 7 of the robot language program execution unit 2 via the I / O input / output unit 4. The input I / O data is then used within the robot language program.
[0039] Furthermore, the system can use commands within the robot language program to send status confirmation commands to the application execution unit 3 to confirm the execution status of the application. When the command is executed, the processor 7 converts the status confirmation command into I / O data and sends it to the application execution unit 3 via the I / O input / output unit 4.
[0040] The processor 31 of the application execution unit 3 inputs the execution status of the application as I / O data to the robot language program execution unit 2 based on the input I / O data. The processor 7 of the robot language program execution unit 2 can display the execution status of the application on the display device 21 of the teach pendant 20 based on the input I / O data.
[0041] The execution status of an application can be, for example, "processing", "standby", or "processing completed".
[0042] In addition to using commands from the robot language program, the execution status of the application can also be confirmed via the I / O input / output unit 4 using instructions from the input device 22 of the teach pendant 20.
[0043] Alternatively, if the user wishes to stop the execution of the application during the execution of the robot language program, they can input a stop command using the input device 22 of the teach pendant 20. In this case, the stop command is sent as an interrupt signal from the processor 7 of the robot language program execution unit 2 to the processor 31 of the application execution unit 3, thereby stopping the execution of the application.
[0044] Thus, according to the robot control device 1 of this embodiment, during the execution of the robot language program, different application programs can be controlled using commands described in the robot language program. Therefore, by using a program described by a general-purpose scripting language in an interpreter-based manner as the application program, programs that perform processing that is difficult to describe in a robot language can be easily created. Furthermore, by using a language with simple syntax as the robot language, the robot 10 can execute faster during normal operations and easily perform real-time processing at the sampling period level.
[0045] In this case, according to this embodiment, the exchange of data between two execution units using different languages is performed via the I / O input / output unit 4. Therefore, it has the advantage of being able to easily retrieve the application content and status to the outside using the I / O input / output unit 4 originally provided in the robot control device 1, facilitating user confirmation. As described above, it also has the advantage of being able to operate with smaller data sizes by preparing signals with pre-assigned purposes based on I / O data.
[0046] Furthermore, in this embodiment, Python (trademark) is used as an example of the application language, but it is not limited to this. Any other general-purpose scripting programming language with any interpreter can also be used.
[0047] Furthermore, in this embodiment, the robot language program execution unit 2 and the application program execution unit 3 are illustrated as independent of each other, but they can also be implemented as different tasks on the same processor.
[0048] Furthermore, an interpreter-based general-purpose scripting language was used as the application language, while a faster language was used as the robot language. Alternatively, an interpreter-based language could be used as the robot language, and a compiler-based general-purpose programming language such as C or Pascal could be used as the application language. Even in this case, the robot language program can be used to control the execution of the application, and the execution status of the application can be easily confirmed using I / O data.
[0049] The embodiments of this disclosure have been described in detail above, but this disclosure is not limited to the embodiments described above. Various additions, substitutions, modifications, and partial deletions can be made to these embodiments without departing from the spirit and essence of the invention, or without departing from the content of the claims and the ideas and spirit of the invention derived from their equivalents. For example, in the above embodiments, the order of each action and the order of each process are shown as an example and are not limited thereto.
[0050] The following notes further disclose the above-described embodiments and variations.
[0051] Postscript 1
[0052] A robot control device includes: a robot language program execution unit, which is capable of executing a robot language program described by a dedicated robot language;
[0053] Application execution unit, which is capable of executing applications described in a language different from the robot language; and
[0054] The I / O input / output unit is capable of exchanging data between the robot language program execution unit and the application program execution unit using I / O data.
[0055] Appendix 2
[0056] According to the robot control device described in Appendix 1, the robot language program execution unit and the application program execution unit respectively convert the data to be transmitted to the other side into I / O data.
[0057] Appendix 3
[0058] A robot control device includes at least one processor and at least one memory.
[0059] The processor is capable of executing robot language programs described in a dedicated robot language and application programs described in a language different from the robot language in parallel, and exchanging data between the robot language programs and the application programs using I / O data.
[0060] Appendix 4
[0061] According to any one of Appendix 1 to Appendix 3, the language of the robot control device, which is different from the robot language, is a general-purpose scripting programming language with an interpreter mode that has a slower execution speed than the robot language.
[0062] Appendix 5
[0063] According to any one of Appendix 1 to Appendix 3, the language of the robot control device, which is different from the robot language, is a general-purpose programming language with a compiler-based execution speed that is faster than the robot language.
[0064] Explanation of reference numerals in the attached figures:
[0065] 1: Robot control device
[0066] 2: Robot Language Program Execution Unit
[0067] 3: Application Execution Unit
[0068] 4: I / O Input / Output Section
[0069] 7, 31: Processor
[0070] 8, 32: Memory
Claims
1. A robot control device, characterized in that, have: The robot language program execution unit is capable of executing robot language programs described by a dedicated robot language; An application execution unit, which is capable of executing applications described in a language different from the robot language; as well as The I / O input / output unit is capable of exchanging data between the robot language program execution unit and the application program execution unit using I / O data.
2. The robot control device according to claim 1, characterized in that, The robot language program execution unit and the application execution unit respectively convert the data to be transmitted to the other side into I / O data.
3. A robot control device, characterized in that, It has at least one processor and at least one memory. The processor is capable of executing robot language programs described in a dedicated robot language and application programs described in a language different from the robot language in parallel, and exchanging data between the robot language programs and the application programs using I / O data.
4. The robot control device according to any one of claims 1-3, characterized in that, The language that differs from the robot language is a general-purpose scripting programming language with an interpreter that executes more slowly than the robot language.
5. The robot control device according to any one of claims 1-3, characterized in that, The language that differs from the robot language is a general-purpose programming language with a compiler that executes faster than the robot language.