Robot control device
The robot control device facilitates easy monitoring of application program execution status by enabling data exchange between the robot language and application program execution units via I/O data, addressing the challenge of external retrieval of shared RAM data.
Patent Information
- Application Number
- PCT/JP2023/042163
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-24
- Publication Date
- 2025-05-30
AI Technical Summary
Existing robot control devices struggle to allow users to easily check the execution status of application programs, as the data exchanged through shared RAM is difficult to retrieve externally.
A robot control device with a robot language program execution unit, an application program execution unit, and an I/O input/output unit that enables data exchange between the two units via I/O data, allowing users to easily monitor the execution status of application programs.
Enables users to easily confirm the content and status of application programs by exchanging data through the I/O input/output unit, improving user accessibility and operational efficiency.
Smart Images

Figure JP2023042163_30052025_PF_FP_ABST
Abstract
Description
Robot control device
[0001] The present disclosure relates to a robot control device.
[0002] There is known a robot control device that has an interpreted robot language and can execute an application program written in a language different from the robot language and converted into machine language by a compiler (see, for example, Patent Document 1). In this robot control device, a control program execution unit that executes the robot language program and an application program execution unit that executes the application program are connected via a shared RAM. The robot language program execution unit and the application program execution unit exchange data via the shared RAM.
[0003] Japanese Patent Application Publication No. 9-91022
[0004] However, data exchanged through the shared RAM is processed internally by the processor and memory, making it difficult to retrieve it externally. For example, it is difficult for users to check the execution status of application programs. Therefore, it is desirable for users to be able to easily check the contents and status of application programs.
[0005] One aspect of the present disclosure is a robot control device that includes a robot language program execution unit capable of executing a robot language program written in a dedicated robot language, an application program execution unit capable of executing an application program written in a language different from the robot language, and an I / O input / output unit that can exchange data via I / O data between the robot language program execution unit and the application program execution unit.
[0006] 1 is a block diagram illustrating a robot system including a robot control device according to an embodiment of the present disclosure; FIG. 2 is a block diagram illustrating details of a robot language program execution unit of the robot control device of FIG. 1; and FIG. 3 is a block diagram illustrating details of an application program execution unit of the robot control device of FIG.
[0007] A robot control device 1 according to an embodiment of the present disclosure will be described below with reference to the drawings. A robot system 100 including the robot control device 1 according to this embodiment is shown in Fig. 1. The robot system 100 includes a robot 10, the robot control device 1, and a teaching pendant 20.
[0008] 1, a robot control device 1 according to this embodiment includes a robot language program execution unit 2, an application program execution unit 3, and an I / O unit 4. The robot control device 1 also includes one or more servo amplifiers 5 connected to the robot language program execution unit 2.
[0009] The teaching pendant 20 incorporates a display device 21 such as a display and an input device 22 such as touch keys. The display device 21 and input device 22 of the teaching pendant 20 may be a user interface such as a display with a built-in touch sensor. The robot 10 is equipped with one or more motors 11. Each motor 11 is connected to a servo amplifier 5 of the robot control device 1.
[0010] A memory 6 such as a USB memory or an external / internal SD card can be connected to the application program execution unit 3. Script files of application programs are stored in the memory 6, and can be executed by loading them into the application program execution unit 3.
[0011] 2, 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 working RAM 83. The interface 9 includes a teaching operation panel interface 91 and a servo amplifier interface 92.
[0012] The processor 7 of the robot language program execution unit 2 can execute a robot language program written in a dedicated robot language. The robot language is a language written in a simple syntax that allows the user to set the movement form, movement trajectory, movement speed, etc. of the robot 10 between teaching positions taught by the teaching pendant 20, for example.
[0013] 3, the application program 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 program, a working RAM 34, and a RAM 35 for storing an application program.
[0014] The loader program storage ROM 33 stores a loader program. The loader program stores script files of one or more application programs stored in the memory 6 in the application program storage RAM 35 via the input / output interface 36 and the processor 31. The interface is the input / output interface 36 to which the memory 6, such as a USB memory, can be connected.
[0015] The processor 31 of the application program execution unit 3 can execute application programs written in a language other than the robot language, such as an interpreted general-purpose script programming language such as Python (trademark).
[0016] The content of the application program is not particularly limited, but it is preferable that it performs processing that is difficult to create using a robot language program with a simple syntax. The application program is created in an editing environment using a language other than the robot language. To load the application program, for example, the memory 6 is connected to the input / output interface 36. Then, the loader program stored in the loader program storage ROM 33 is started. This loads the application program in the memory 6 into the application program storage RAM 35.
[0017] Furthermore, the processor 7 of the robot language program execution unit 2 sends an interrupt signal for stopping the application program and a clock signal to the processor 31 of the application program execution unit 3 .
[0018] Furthermore, the processors 7, 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 a sequence of binary data such as "0" and "1", "ON" and "OFF", or "True" and "false". Therefore, by using I / O data, the size of the data to be exchanged can be reduced by preparing signals with specific uses in advance.
[0019] The I / O input / output unit 4 is normally provided in the robot control device 1 in order to receive input from external sensors and output command signals to tools and the like.
[0020] The operation of the robot control device 1 according to this embodiment configured as described above will be described below. When the robot 10 is controlled using the robot control device 1 according to this embodiment, a robot language program is stored in the robot language program storage RAM 82 in the robot language program execution unit 2. In addition, an application program is stored in the application program storage RAM 35 in the application program execution unit 3.
[0021] The robot language program is created in the robot language program storage RAM 82 by teaching a plurality of teaching points and the motion patterns, movement trajectories, or motion speeds between the teaching points using the teaching pendant 20. Alternatively, a robot language program created offline may be stored in the robot language program storage RAM 82 using a communication interface (not shown).
[0022] The application program may be created in an environment where it can be programmed using a general-purpose script-type programming language of an interpreter system, such as a host computer (not shown). The created application program may be stored in the application program storage RAM 35 using a communication interface (not shown).
[0023] Any robot language program selected from the robot language programs stored in the robot language program storage RAM 82 is stored in the work RAM 83. The processor 7 executes the robot language program in the work RAM 83 in accordance with the control program stored in the control program storage ROM 81, and generates a position command to the servo amplifier 5 in accordance with the sampling period.
[0024] The servo amplifier 5 has control loops for position control, speed control, and current control. The servo amplifier 5 rotates the motor 11 in response to a position command input from the processor 7 via the servo amplifier interface 92, thereby operating the robot 10.
[0025] The robot language program execution unit 2 and the application program execution unit 3 can operate in parallel in synchronization with each other by a clock signal output from the robot language program execution unit 2 .
[0026] To execute an application program from the robot language program execution unit 2, a start command is sent along with the identification information of the application program to be started by a command in the robot language program. When this command is executed by the processor 7 of the robot language program execution unit 2, the processor 7 converts the identification information of the application program to be started and the start command data into I / O data. The converted I / O data is input to the processor 31 of the application program execution unit 3 via the I / O input / output unit 4.
[0027] The application program execution unit 3 recognizes the identification information input by the I / O data, and reads the application program corresponding to the identification information from the application program storage RAM 35. The read application program is stored in the work RAM 34.
[0028] The processor 31 of the application program execution unit 3 starts an application program in the work RAM 34 in response to a start command. The processor 31 also 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 used within the robot language program.
[0029] Furthermore, a command in the robot language program can be used to send a status check command for checking the execution status of the application program to the application program execution unit 3. When the command is executed, the processor 7 converts the status check command into I / O data and sends it to the application program execution unit 3 via the I / O input / output unit 4.
[0030] Based on the input I / O data, the processor 31 of the application program execution unit 3 outputs the execution status of the application program 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 program on the display device 21 of the teaching pendant 20.
[0031] The execution status of the application program is, for example, "processing," "waiting," or "processing completed." In addition to being determined by a command in the robot language program, the execution status of the application program can also be confirmed via the I / O unit 4 in response to a command from the input device 22 of the teaching pendant 20.
[0032] Furthermore, if the user wishes to stop the execution of the application program while the robot language program is being executed, the user inputs a stop command using the input device 22 of the teaching 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 program execution unit 3, and the execution of the application program is stopped.
[0033] As described above, the robot control device 1 according to this embodiment can control application programs written in different languages using commands written in the robot language program while the robot language program is running. Therefore, by using an application program written in an interpreted, general-purpose scripting language, it is possible to easily create a program that performs processing that is difficult to write in a robot language. Furthermore, by using a language with a simple syntax as the robot language, the execution speed of the robot 10 during normal operation is fast, and real-time processing at the sampling cycle level can be easily performed.
[0034] In this case, according to this embodiment, data is exchanged between two execution units using different languages via the I / O input / output unit 4. This has the advantage that the content and status of the application program can be easily retrieved externally by the I / O input / output unit 4 originally provided in the robot control device 1, allowing the user to easily check it. As mentioned above, I / O data also has the advantage that operations can be performed with small data sizes by preparing signals with uses assigned in advance.
[0035] In this embodiment, Python (trademark) is used as an example of the language of the application program, but the language is not limited to this. Any other general-purpose script-type programming language using an interpreter system may be used.
[0036] Furthermore, in this embodiment, the robot language program execution unit 2 and the application program execution unit 3 are independent from each other, but they may be realized as separate tasks by the same processor.
[0037] In addition, an interpreted general-purpose script programming language is used as the application program language, and a language with a faster execution speed is used as the robot language. Alternatively, an interpreted language may be used as the robot language, and a compiled general-purpose programming language such as C or PASCAL may be used as the application program language. In this case, too, the execution of the application program is controlled by the robot language program, and the execution status of the application program can be easily confirmed by I / O data.
[0038] Although each embodiment of the present disclosure has been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible to these embodiments without departing from the gist of the invention or the concept and spirit of the present invention derived from the content described in the claims and their equivalents. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these.
[0039] The following supplementary notes are further disclosed regarding the above-described embodiments and modifications: (Supplementary Note 1) A robot control device comprising: a robot language program execution unit capable of executing a robot language program written in a dedicated robot language; an application program execution unit capable of executing an application program written in a language different from the robot language; and an I / O input / output unit capable of exchanging data via I / O data between the robot language program execution unit and the application program execution unit.
[0040] (Supplementary Note 2) The robot control device according to Supplementary Note 1, wherein the robot language program execution unit and the application program execution unit convert the data to be passed to each other into the I / O data.
[0041] (Supplementary Note 3) A robot control device comprising at least one processor and at least one memory, wherein the processor is capable of executing a robot language program written in a dedicated robot language and an application program written in a language different from the robot language in parallel, and exchanging data between the robot language program and the application program via I / O data.
[0042] (Supplementary Note 4) The robot control device according to any one of Supplementary Note 1 to Supplementary Note 3, wherein the language different from the robot language is an interpreted general-purpose script-type programming language that is slower in execution speed than the robot language.
[0043] (Supplementary Note 5) The robot control device according to any one of Supplementary Note 1 to Supplementary Note 3, wherein the language different from the robot language is a general-purpose programming language using a compiler system that has a faster execution speed than the robot language.
[0044] 1 Robot control device 2 Robot language program execution unit 3 Application program execution unit 4 I / O input / output unit 7, 31 Processor 8, 32 Memory
Claims
1. 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 by I / O data between the robot language program execution unit and the application program execution unit.
2. The robot control device according to claim 1, wherein the robot language program execution unit and the application program execution unit convert the data to be passed to the other party into the I / O data, respectively.
3. A robot control device comprising at least one processor and at least one memory, wherein the processor is capable of executing in parallel a robot language program described in a dedicated robot language and an application program described in a language different from the robot language, and of exchanging data by I / O data between the robot language program and the application program.
4. The robot control device according to any one of claims 1 to 3, wherein the language different from the robot language is an interpreter-based general-purpose script-type programming language having a slower execution speed than the robot language.
5. The robot control device according to any one of claims 1 to 3, wherein the language different from the robot language is a compiler-based general-purpose programming language having a faster execution speed than the robot language.
Citation Information
Patent Citations
Robot controller
JP1997091022A
Programmable controller and positioning controller
JP1998320021A
Robot simulation device
JP2003117863A
Robot control device and robot control method
JP2011062798A
Method for controlling an automated work cell
US20170001307A1