Robot control device and program
The robot control device addresses the inefficiency of manual program input by using a detachable drive device and automatic server connection to acquire and update control programs, ensuring efficient and compatible operation.
Patent Information
- Application Number
- PCT/JP2023/035218
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-27
- Publication Date
- 2025-04-03
AI Technical Summary
Existing robot control devices require time-consuming manual input of program information from externally connected storage units, making it inefficient to update and load control programs.
A robot control device with a detachable drive device that can read a rewritable storage medium, allowing the control unit to automatically connect to a server via a network, read robot identification information, and match it with stored information to acquire and store a compatible control program.
Enables efficient and automated reading and updating of control programs, reducing the time and effort required for manual input and ensuring compatibility with the robot device.
Smart Images

Figure JP2023035218_03042025_PF_FP_ABST
Abstract
Description
Robot control device and program
[0001] The present invention relates to a robot control device and a program capable of updating a control program.
[0002] A robot device can be adapted to different work applications by changing the control program stored in the robot control device. Generally, the control program that is initially activated is stored in a ROM provided in the robot control device. At startup, the robot control device activates a boot loader, which reads the program stored in the ROM and executes the startup program. In recent years, because the file sizes of such programs have been increasing, the programs are now stored in a storage unit externally connected to the robot control device (see, for example, Patent Document 1).
[0003] Patent Document 1 describes a robot control device with a network function. This robot control device is configured such that when a boot loader is started at startup, the robot control device reads a program to be started at boot time from an externally connected storage unit based on a program location table containing multiple pieces of location information, and stores the program in its own memory and starts it.
[0004] Japanese Patent Application Laid-Open No. 2007-141205
[0005] The robot control device described in Patent Document 1 requires input of program information stored in an externally connected storage unit when loading a program based on execution of a boot loader. According to the robot control device described in Patent Document 1, when a program is updated, information must be input to the robot control device in order to update the program information stored in the externally connected storage unit. Generally, a teaching operation panel is connected to the robot control device, through which operations for operating the robot device are input. The teaching operation panel is configured to be optimized for inputting operations for the robot device. The robot control device described in Patent Document 1 has a problem in that it is time-consuming to input information from an externally connected storage unit and load a program based on operations on the teaching operation panel.
[0006] An object of the present invention is to provide a robot control device and a program that allow easy loading of a control program.
[0007] One aspect of the present disclosure is a robot control device comprising: a drive device capable of reading a removable and rewritable storage medium; and a control unit that controls a robot device based on a control program stored in a memory unit provided separately from the drive device; when the storage medium is installed in the drive device, the control unit reads data stored in the storage medium at startup, connects to a server device in which the control program is stored via a network based on server information included in the data, reads first robot identification information included in the control program, compares the first robot identification information with second robot identification information stored in the memory unit for identifying the robot device, and if the first robot identification information and the second robot identification information match the robot device, obtains the control program from the server device and stores it in the memory unit, and controls the robot device based on the control program.
[0008] It is a block diagram showing the configuration of a robot control device according to an embodiment.It is a flowchart showing the process flow of a control program acquisition method executed in the robot control device.
[0009] As shown in FIG. 1, the robot system 1 is composed of a robot device 20 that performs a predetermined task, a robot control device 10 that controls the robot device 20, a teaching operation panel 30 that is communicatively connected to the robot control device 10, and a server device 40 that is communicatively connected to the robot control device 10.
[0010] The robot device 20 is, for example, a work robot equipped with an articulated robot arm. The robot device 20 is controlled by the robot control device 10 based on the operation of a teaching pendant 30 operated by a user. The robot arm constituting the robot device 20 includes multiple hardware units for realizing predetermined movements. The robot arm includes multiple drive units for driving multiple joints. Each drive unit is, for example, configured by a servo motor. Each drive unit adjusts the rotation angle of each joint to operate the robot arm.
[0011] Each driving unit of the robot arm operates based on a control signal sent by the robot control device 10. Each driving unit is provided with an amplifier that adjusts the driving power of the servo motor. The driving unit is provided with various sensors, such as a force sensor that detects force and a pulse coder that detects position and speed. The various sensors output output values to the robot control device 10. The robot control device 10 operates the robot arm based on the output values of the various sensors. The robot device 20 may be composed of other devices as well as a robot arm. The configuration of the robot device 20 is a general one, and a detailed description thereof will be omitted.
[0012] The teaching pendant 30 is connected to the robot control device 10 by wire or wirelessly. The teaching pendant 30 has a display unit 31 that can display information. The display unit 31 is configured with a liquid crystal display, an organic EL (Electro Luminescence) display, or the like. The teaching pendant 30 has an operation unit 32 that accepts user operations. The operation unit 32 is configured with a user interface such as a keyboard and buttons. The operation unit 32 may be integrated into the touch-panel display unit 31 that can be operated by touch.
[0013] The teaching pendant 30 transmits an operation signal corresponding to a user's operation to the robot control device 10. Upon receiving the operation signal, the robot control device 10 transmits a control signal corresponding to the operation signal to the robot device 20, causing the robot device 20 to perform an operation corresponding to the operation content. The server device 40 is communicably connected to the robot control device 10 via the network W. The server device 40 includes a storage unit 42 that stores, for example, data and programs. The storage unit 42 stores, for example, a control program for controlling the robot device 20 and management data for managing the control program, as described below.
[0014] The management data is, for example, a database in which tables for managing the hardware components that make up the robot device 20 are recorded. The control program is updated by the user. The updated control program is stored in the storage unit 42. The management data is also updated in accordance with the updated control program. The updated management data is stored in the storage unit 42. The server device 40 is provided with a communication unit 44 that can be connected to the network W. The communication unit 44 is, for example, a communication interface that can be connected to the network W via a wired connection such as Ethernet (registered trademark). The communication unit 44 may also be a communication interface that can be connected to the network W via a wireless connection. One or more server devices 40 may be provided via the network W.
[0015] The robot control device 10 is configured by a computer device capable of controlling the robot device 20. The robot control device 10 is equipped with a communication unit 16 connectable to a network W. The communication unit 16 is a communication interface connectable to the network W via a wired connection such as Ethernet (registered trademark). The communication unit 16 may also be a communication interface connectable to the network W via a wireless connection. The robot control device 10 connects to the network W via the communication unit 16 and communicates with the server device 40.
[0016] The robot controller 10 includes a control unit 12 that controls the robot device 20 and executes various arithmetic processing. The control unit 12 is configured with a processor such as a CPU (Central Processing Unit). The control unit 12 executes various processes for controlling the robot device 20 based on a control program described below. The robot controller 10 is provided with a ROM (Read Only Memory) that stores a boot loader that is executed at startup as a peripheral device of the control unit 12, and a RAM (Random Access Memory) that is used as a work area required for processing. The boot loader is a program that is executed when the robot controller 10 is powered on.
[0017] The robot control device 10 includes a drive device 18 capable of reading a storage medium 19. The storage medium 19 is configured as a removable, rewritable storage medium, such as a USB (Universal Serial Bus) memory or a memory disk. The drive device 18 includes a USB slot, a card slot, etc. The drive device 18 is configured to be able to read the storage medium 19. When the storage medium 19 is installed, the drive device 18 outputs a recognition signal indicating that the storage medium 19 is installed to the control unit 12. The storage medium 19 stores data for communication connection to a server device 40, for example. The data includes server information required for communication connection to the server device 40 via a network W.
[0018] The server information includes, for example, the MAC address and IP address of the server device 40, the file name of the control program, and the management file name included in the management data for managing the control program. The user can write data to the storage medium 19 using an information processing terminal device other than the robot device 20, such as a personal computer. Therefore, the user does not need to write data to the storage medium 19 using the teaching pendant 30, which is difficult to input information into. Before starting the robot control device 10, the user can insert the storage medium 19 with the written data into the drive device 18 and make the storage medium 19 readable. When an updated control program is stored in the server device 40, the user removes the storage medium 19 from the drive device 18 and updates the data in the storage medium 19 using the information processing terminal device.
[0019] When the boot loader is started, the control unit 12 recognizes the storage medium 19 based on a recognition signal output from the drive device 18, reads server information from the storage medium 19, acquires a control program for controlling the robot device 20 from the server device 40, and stores the program in the storage unit 14. The robot control device 10 includes a storage unit 14 provided separately from the drive device 18. The storage unit 14 is built into the robot control device 10. The storage unit 14 may also be configured as an external storage externally connected to the robot control device 10. The storage unit 14 is configured as a non-transitory storage medium such as a hard disk drive (HDD) or flash memory that stores data and programs necessary for control. The storage unit 14 stores data and programs necessary for control executed by the control unit 12. The storage unit 14 pre-stores multiple programs, such as a startup program for an OS (Operating System). The storage unit 14 stores control programs acquired from the server device 40.
[0020] The processing executed by the control unit 12 will now be described. The user writes data including server information to the storage medium 19 and installs it in the drive device 18. With the storage medium 19 installed in the drive device 18, the user turns on the power to the robot control device 10 and starts up the robot control device 10. At startup, a boot loader stored in ROM is started up. The control unit 12 reads and executes a startup program from the storage unit 14 based on the startup of the boot loader.
[0021] When the startup program is executed, the control unit 12 recognizes the storage medium 19 based on a recognition signal output from the drive device 18 and reads the data stored in the storage medium 19. The control unit 12 connects to the server device 40 via the network W based on the server information included in the data. The control unit 12 searches for the control program stored in the memory unit 42 based on the file name of the control program and management data for managing the control program included in the server information. The control unit 12 extracts the control program and reads the first robot identification information included in the control program. The first robot identification information may be recorded within the control program or may be recorded in management data generated in association with the control program.
[0022] The control unit 12 may read out first robot identification information included in management data generated in association with the control program. The management data may include information associating the first robot identification information with the file name of the control program. The control unit 12 may extract the file name of the control program based on the first robot identification information included in the management data. The first robot identification information includes format information and version information of each hardware unit. The format information of each hardware unit includes information on the formats of various sensors, such as multiple servo motors, amplifiers, force sensors, and pulse coders, that constitute the drive unit. The version information of each hardware unit includes information on the versions of various sensors, such as multiple servo motors, amplifiers, force sensors, and pulse coders, that constitute the drive unit.
[0023] The control unit 12 reads out the second robot identification information stored in the memory unit 14. The second robot identification information is a database that is stored in advance in the memory unit 14 by the user. Like the first robot identification information, the second robot identification information includes format information and version information for each hardware component. The control unit 12 compares the first robot identification information read out from the server device 40 with the second robot identification information. If the contents of the first robot identification information and the second robot identification information match and are compatible with the robot device 20, the control unit 12 obtains a control program from the server device 40 and stores it in the memory unit 14.
[0024] For example, when the model information and version information of each hardware component included in the first robot identification information matches the model information and version information included in the second robot identification information, the control unit 12 acquires a control program from the server device. The control unit 12 may output a matching result indicating that the first robot identification information and the second robot identification information match to the display unit 31 of the teaching pendant 30. The control unit 12 may output the contents of the first robot identification information and the contents of the second robot identification information to the display unit 31. The control unit 12 controls the robot device 20 based on the control program stored in the memory unit 14.
[0025] If the content of the first robot identification information and the content of the second robot identification information do not match, the control unit 12 may output a matching result indicating that matching is not possible to the display unit 31 of the teaching pendant 30. If matching is not possible, the control unit 12 may output an operation method that the user should operate to the display unit 31. At this time, the control unit 12 may output, for example, display content to the display unit 31 that prompts the user to perform an operation to search for a different server device 40. At this time, the control unit 12 may output information that is the difference between the content of the first robot identification information and the second robot identification information to the display unit 31.
[0026] The control program is updated by the user as appropriate. The updated control program is stored in the server device 40. The first robot identification information is updated in accordance with the updated control program. The user updates the data stored in the storage medium 19 in accordance with the updated control program. The user updates the server information included in the data stored in the storage medium 19. The user installs the storage medium 19, on which the updated data is stored, into the drive device 18.
[0027] At startup, the control unit 12 connects to the server device 40 via the network W based on the updated server information included in the updated data. The control unit 12 connects to the server device 40 based on the updated data and compares the first robot identification information updated in accordance with the control program with the second robot identification information stored in the storage unit 14. The control unit 12 compares the updated first robot identification information with the second robot identification information. If the contents of the updated first robot identification information and the contents of the second robot identification information match and are compatible with the robot device 20, the control unit 12 obtains the updated control program from the server device 40 and stores it in the storage unit 14.
[0028] 2 shows the process executed by the robot controller 10. A program installed on a computer implemented in the robot controller 10 causes the robot controller 10 to execute the following process: The robot controller 10 is powered on (step S100). A boot loader stored in ROM is activated (step S102). The control unit 12 recognizes the storage medium 19 implemented in the drive device 18 based on the recognition signal and reads data stored in the storage medium 19 (step S104). The control unit 12 connects via a network to a server device 40 that stores a control program for controlling the robot device 20 based on server information included in the data (step S106). The control unit 12 reads first robot identification information included in the control program (step S108).
[0029] The control unit 12 reads the first robot identification information and the second robot identification information for identifying the robot device stored in the memory unit 14 (step S110). The control unit 12 compares the first robot identification information with the second robot identification information (step S112). The control unit 12 determines whether the first robot identification information and the second robot identification information match the robot device (step S114). If the first robot identification information and the second robot identification information match the robot device, the control unit 12 obtains a control program from the server device and stores it in the memory unit (step S116). The control unit 12 controls the robot device 20 based on the control program (step S118).
[0030] If the first robot identification information and the second robot identification information do not match the robot device, the control unit 12 causes the display unit 31 of the teaching pendant 30 to display an error message (step S120).
[0031] As described above, the robot control device 10 allows easy loading of a control program. The robot control device 10 allows a user to easily write server information to the storage medium 19 removed from the drive device 18 using an information processing terminal device other than the teaching pendant 30. The robot control device 10 can reliably obtain a control program compatible with the robot device 20 by comparing the first robot identification information with the second robot identification information when connected to the server device 40. The robot control device 10 can reliably obtain an updated control program compatible with the robot device 20 by updating the server information in the storage medium 19 when the control program of the server device 40 is updated. The robot control device 10 allows easy updating of large-capacity control programs.
[0032] The control unit 12 is a functional module implemented by a computer program executed on a processor, for example. The computer program for executing the processes of each unit of the control unit 12 may be provided in a form recorded on a computer-readable recording medium such as a semiconductor memory, a magnetic recording medium, or an optical recording medium.
[0033] Although the embodiments of the present disclosure have been described in detail, 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 idea 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. Furthermore, appropriate combinations of several of the above-described embodiments are within the scope of the present disclosure.
[0034] The following supplementary notes are further disclosed regarding the above-described embodiments and variations: (Supplementary Note 1) A robot control device comprising: a drive device capable of reading a removable and rewritable storage medium; and a control unit that controls a robot device based on a control program stored in a storage unit provided separately from the drive device, wherein, with the storage medium installed in the drive device, the control unit reads data stored in the storage medium at startup, connects to a server device in which the control program is stored via a network based on server information included in the data, reads first robot identification information included in the control program, compares the first robot identification information with second robot identification information stored in the storage unit for identifying the robot device, and, if the first robot identification information and the second robot identification information match the robot device, obtains the control program from the server device and stores it in the storage unit, and controls the robot device based on the control program. (Supplementary Note 2) The robot control device according to Supplementary Note 1, wherein the robot device includes a plurality of hardware units for realizing predetermined operations, and the control unit acquires the control program from the server device when format information and version information of each of the hardware units included in the first robot identification information match with the format information and version information included in the second robot identification information. (Supplementary Note 3) The robot control device according to Supplementary Note 1, wherein when the updated control program is stored in the server device and the data updated in accordance with the control program is stored in the storage medium, the control unit connects to the server device via a network based on the updated server information included in the updated data. (Supplementary Note 4) The robot control device according to Supplementary Note 3, wherein the control unit connects to the server device based on the updated data, compares the first robot identification information updated in accordance with the control program with the second robot identification information, and acquires the updated control program.(Appendix 5) A program installed in a computer implemented in a robot control device that controls a robot device, the program causing the computer to execute the following processes: recognize a removable and rewritable storage medium based on a recognition signal indicating that the storage medium is installed in a drive device; read data stored in the storage medium at startup; connect to a server device storing a control program for controlling the robot device via a network based on server information included in the data; read first robot identification information included in the control program; compare the first robot identification information with second robot identification information for identifying the robot device stored in a memory unit provided separately from the drive device; and, if the first robot identification information and the second robot identification information match the robot device, obtain the control program from the server device and store it in the memory unit; and control the robot device based on the control program.
[0035] 1 Robot system, 10 Robot control device, 12 Control unit, 14 Storage unit, 16 Communication unit, 18 Drive device, 19 Storage medium, 20 Robot device, 30 Teaching operation panel, 40 Server device
Claims
1. A robot control device comprising: a drive device capable of reading a removable and rewritable storage medium; and a control unit which controls a robot device based on a control program stored in a memory unit provided separately from the drive device, wherein when the storage medium is mounted in the drive device, the control unit: reads data stored in the storage medium at start-up; connects to a server device in which the control program is stored via a network based on server information included in the data; reads first robot identification information included in the control program; compares the first robot identification information with second robot identification information stored in the memory unit for identifying the robot device; and, if the first robot identification information and the second robot identification information match the robot device, obtains the control program from the server device and stores it in the memory unit; and controls the robot device based on the control program.
2. A robot control device as described in claim 1, wherein the robot device is provided with a plurality of hardware parts for realizing predetermined operations, and the control unit acquires the control program from the server device when the type information and version information of each of the hardware parts included in the first robot identification information matches the type information and version information included in the second robot identification information.
3. A robot control device as described in claim 1, wherein when the updated control program is stored in the server device and the data updated according to the control program is stored in the storage medium, the control unit connects to the server device via a network based on the updated server information contained in the updated data.
4. The robot control device according to claim 3, wherein the control unit connects to the server device based on the updated data, compares the first robot identification information updated according to the control program with the second robot identification information, and acquires the updated control program.
5. A program installed in a computer implemented in a robot control device that controls a robot device, the program recognizing a removable and rewritable storage medium based on a recognition signal indicating that the storage medium is installed in a drive device, reading data stored in the storage medium at startup, connecting to a server device in which a control program for controlling the robot device is stored via a network based on server information included in the data, reading first robot identification information included in the control program, comparing the first robot identification information with second robot identification information for identifying the robot device stored in a memory unit provided separately from the drive device, and if the first robot identification information and the second robot identification information match the robot device, obtaining the control program from the server device and storing it in the memory unit.
Citation Information
Patent Citations
Industrial robot
JP2000099123A
Distributing method and system therefor
JP2002373079A
Download system, apparatus constituting download system, management station, and removable medium
JP2005284506A
Robot control program updating method and system
JP2006007342A
Robot program updating method and system by radio tag
JP2006338219A