Firmware deployment method and device of control system, control system and storage medium
Patent Information
- Application Number
- CN202311795349.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-25
- Publication Date
- 2026-08-28
- Estimated Expiration
- 2043-12-25
AI Technical Summary
[0004]本发明的目的在于,提供一种机器人控制系统的固件部署方法、装置、控制系统和存储介质,以解决相关方案中SCRAR机器人的固件版本混乱,只能依靠U盘手动烧录的方式进行固件传输,机器人现场调试效率和开发效率低下的问题,达到通过执行固件部署脚本文件,使示教器与控制器自动完成固件部署,提升了固件更新的效率,进而提高了机器人软件开发的开发效率和测试效率的效果
[0013]与上述装置相匹配,本发明再一方面提供一种控制系统,包括:以上所述的机器人控制系统的固件部署装置。
Smart Images

Figure CN117784758B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of robot control system technology, specifically relating to a firmware deployment method, apparatus, control system, and storage medium for a robot control system. Background Technology
[0002] SCARA (Selective Compliance Assembly Robot Arm) robot software includes human-machine interaction systems, motion controllers, servo drives, operating systems, and other aspects. As research and development work continues to deepen, the amount of software code increases dramatically, software quality is inconsistent, and firmware versions are chaotic. Firmware can only be transferred manually by flashing it via USB, which makes the efficiency of on-site robot debugging and development low.
[0003] The above content is only used to help understand the technical solution of the present invention and does not represent an admission that the above content is prior art. Summary of the Invention
[0004] The purpose of this invention is to provide a firmware deployment method, apparatus, control system, and storage medium for a robot control system, in order to solve the problems of inconsistent firmware versions in related solutions for SCRAR robots, which can only be transferred by manually burning firmware via USB flash drive, resulting in low efficiency in on-site debugging and development. This invention achieves the goal of automatically completing firmware deployment by executing a firmware deployment script file, thereby improving the efficiency of firmware updates and ultimately enhancing the development and testing efficiency of robot software.
[0005] This invention provides a firmware deployment method for a robot control system. The robot control system includes a teach pendant and a controller. The teach pendant is connected to the controller. The controller has a controller terminal for executing operation instructions. The controller can connect to a user terminal. The user terminal has a firmware deployment script file capable of automated firmware deployment, whereby automated firmware deployment refers to automatically deploying firmware files to the teach pendant and the controller respectively. The method includes: when automated firmware deployment is required, executing the firmware deployment script file in the user terminal; under the control of the firmware deployment script file, controlling the user terminal to establish a connection with the controller; then controlling the controller to receive the script file and firmware file from the user terminal; under the control of the firmware deployment script file, controlling the controller to execute the script file so that the teach pendant completes the deployment of the firmware file; and then controlling the controller to complete the deployment of the firmware file.
[0006] In some implementations, controlling the controller to receive script files and firmware files from the user terminal includes: before controlling the controller to receive script files and firmware files from the user terminal, determining whether a file with the same name as the firmware file exists in the target path where the firmware file will be stored in the controller; if a file with the same name as the firmware file exists, deleting the file with the same name as the firmware file, and storing the firmware file in the target path after the controller receives the firmware file; if no file with the same name as the firmware file exists, storing the firmware file in the target path after the controller receives the firmware file.
[0007] In some implementations, under the control of the firmware deployment script file, the controller is controlled to execute the script file, enabling the teach pendant to complete the deployment of the firmware file. Then, the controller is controlled to complete the firmware deployment, including: connecting the user terminal to the controller terminal; after the controller terminal receives a first control instruction from the user terminal, it controls the controller to execute the script file according to the first control instruction, causing the script file to send a second control instruction to restart the teach pendant and deploy the firmware file; wherein, during the restart process, the teach pendant reads the firmware file from the controller; after the controller terminal receives a third control instruction from the user terminal, it controls the controller to restart and deploy the firmware file according to the third control instruction; wherein, during the restart process, the controller reads the firmware file stored within itself.
[0008] In some implementations, the user terminal is connected to the controller via FTP; the user terminal is connected to the controller via Telnet; and the script file sends the second control command to the controller via Telnet.
[0009] In conjunction with the above method, another aspect of the present invention provides a firmware deployment apparatus for a robot control system, comprising: the robot control system including a teach pendant and a controller; the teach pendant being connected to the controller; the controller having a controller terminal for executing operation instructions; the controller being capable of connecting to a user terminal; the user terminal having a firmware deployment script file capable of automated firmware deployment, wherein automated firmware deployment refers to automatically deploying firmware files to the teach pendant and the controller respectively; the apparatus comprising: an execution unit configured to execute the firmware deployment script file in the user terminal when automated firmware deployment is required; a control unit configured to, under the control of the firmware deployment script file, control the user terminal to establish a connection with the controller; and then control the controller to receive the script file and firmware file from the user terminal; the control unit is further configured to, under the control of the firmware deployment script file, control the controller to execute the script file so that the teach pendant completes the deployment of the firmware file; and then control the controller to complete the deployment of the firmware file.
[0010] In some embodiments, the control unit controls the controller to receive script files and firmware files from the user terminal, including: before controlling the controller to receive the script files and firmware files from the user terminal, determining whether a file with the same name as the firmware file exists in the target path where the firmware file will be stored in the controller; if a file with the same name as the firmware file exists, deleting the file with the same name as the firmware file, and storing the firmware file in the target path after the controller receives the firmware file; if no file with the same name as the firmware file exists, storing the firmware file in the target path after the controller receives the firmware file.
[0011] In some embodiments, the control unit, under the control of the firmware deployment script file, controls the controller to execute the script file, enabling the teach pendant to complete the deployment of the firmware file, and then controls the controller to complete the deployment of the firmware file, including: controlling the user terminal to connect to the controller terminal; after the controller terminal receives a first control instruction from the user terminal, controlling the controller to execute the script file according to the first control instruction, causing the script file to send a second control instruction to cause the teach pendant to restart and deploy the firmware file; wherein, during the restart process, the teach pendant reads the firmware file from the controller; after the controller terminal receives a third control instruction from the user terminal, controlling the controller to restart and deploy the firmware file according to the third control instruction; wherein, during the restart process, the controller reads the firmware file stored within itself.
[0012] In some implementations, the user terminal is connected to the controller via FTP; the user terminal is connected to the controller via Telnet; and the script file sends the second control command to the controller via Telnet.
[0013] In conjunction with the above-described device, the present invention further provides a control system, comprising: a firmware deployment device for the robot control system described above.
[0014] In conjunction with the above method, the present invention further provides a storage medium comprising a stored program, wherein, when the program is executed, the device on which the storage medium is located executes the firmware deployment method of the robot control system described above.
[0015] The solution of this invention, when automated firmware deployment is required, executes a firmware deployment script file in the user terminal. Under the control of the firmware deployment script file, the user terminal establishes a connection with the controller, and then the controller receives the script file and firmware file from the user terminal; the controller executes the script file to enable the teach pendant to complete the firmware deployment; and then the controller completes the firmware deployment. Thus, by controlling the teach pendant and controller to automatically complete the firmware deployment, the time consumed by firmware deployment is reduced, thereby improving the development and testing efficiency of robot software development.
[0016] Other features and advantages of the invention will be set forth in the description which follows, and will be apparent in part from the description, or may be learned by practicing the invention.
[0017] The technical solution of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. Attached Figure Description
[0018] Figure 1 This is a flowchart illustrating an embodiment of the firmware deployment method for the robot control system of the present invention.
[0019] Figure 2 This is a flowchart illustrating an embodiment of the method of the present invention in which the controller receives the firmware file;
[0020] Figure 3 This is a schematic flowchart illustrating an embodiment of the firmware deployment performed by the teach pendant and controller in the method of the present invention;
[0021] Figure 4 This is a schematic diagram of a structure of an embodiment of the firmware deployment device for the robot control system of the present invention;
[0022] Figure 5 This is a flowchart illustrating an embodiment of the automated firmware deployment method for the robot control system of the present invention.
[0023] Referring to the accompanying drawings, the reference numerals in the embodiments of the present invention are as follows:
[0024] 102 - Execution unit; 104 - Control unit. Detailed Implementation
[0025] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this invention, and not all of them. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.
[0026] According to embodiments of the present invention, a firmware deployment method for a robot control system is provided. The robot control system includes a teach pendant and a controller; the controller is responsible for receiving instructions, executing programs, monitoring sensors and actuators, etc. It typically includes hardware and software, capable of managing the robot's movement, performing complex tasks, and communicating with other systems. The teach pendant is a device used to teach the robot to perform specific tasks and motion paths. An operator can manually guide the robot to perform actions through the teach pendant, record and store the robot's motion trajectory, and then use it as a program for automatic robot execution. The teach pendant is connected to the controller; the controller has a controller terminal for executing operation instructions; the controller can connect to a user terminal; the user terminal has a firmware deployment script file capable of automated firmware deployment. This firmware deployment script file can be a Python script file. Executing this Python script file can control the teach pendant and the controller to complete firmware deployment. Automated firmware deployment refers to automatically deploying the firmware file to the teach pendant and the controller respectively. Figure 1 The diagram shows a flowchart of an embodiment of the method of the present invention. The firmware deployment method of the robot control system may include steps S110 to S130.
[0027] In step S110, when automated firmware deployment is required, the firmware deployment script file is executed on the user terminal.
[0028] VMware can be used as the development environment, running an Ubuntu virtual machine under Linux to achieve automated firmware deployment. Prerequisites include a user terminal host with dual network ports, two network adapters configured in the virtual machine, and the network adapter connecting to the SCARA robot controller set to bridged mode. After running the virtual machine, modify the configuration information of the bridged network port to match the network segment information corresponding to the port connecting to the SCARA robot controller. After configuration, connect the computer host to the network interface of the SCARA robot controller using a network cable. Verify the network connection by pinging the IP address. Subsequent operations can only be performed after a successful network connection.
[0029] In step S120, under the control of the firmware deployment script file, the user terminal is controlled to establish a connection with the controller; then the controller is controlled to receive the script file and firmware file from the user terminal.
[0030] In some implementations, the user terminal is connected to the controller via an FTP connection.
[0031] For the transmission protocol, FTP can be used to transfer firmware and script files. The Python script file deployed in the firmware calls the FTP library to establish an FTP connection to the controller and handle the uploading and storage of firmware files.
[0032] In some implementations, step S120 involves the specific process of controlling the controller to receive the script file and firmware file from the user terminal, such as... Figure 2 As shown, it includes steps S210 to S230.
[0033] Step S210: Before controlling the controller to receive the script file and firmware file from the user terminal, determine whether there is a file with the same name as the firmware file in the target path where the firmware file will be stored in the controller.
[0034] Step S220: If a file with the same name as the firmware file exists, delete the file with the same name as the firmware file, and store the firmware file in the target path after the controller receives the firmware file.
[0035] Step S230: If no file with the same name as the firmware file exists, the firmware file is stored in the target path after the controller receives the firmware file.
[0036] When firmware files are updated, replacing the firmware files stored in the controller allows for faster testing of the new firmware, improving the delivery speed and quality of DevOps processes.
[0037] In step S130, under the control of the firmware deployment script file, the controller is controlled to execute the script file so that the teach pendant completes the deployment of the firmware file; then the controller is controlled to complete the deployment of the firmware file.
[0038] After the teach pendant and controller complete firmware deployment, if the robot does not need to immediately enter the running state after the firmware update, the robot does not need to be restarted immediately. When the robot is powered on and started running subsequently, it can still read the updated firmware information during the startup process, achieving the same effect as restarting immediately after the firmware update. This approach is suitable for scenarios where a large number of robots are simultaneously undergoing automated firmware deployment and update upgrades.
[0039] This solution enables automatic transmission and deployment of firmware files by executing firmware deployment script files in the user terminal to control the teach pendant and controller of the robot control system. It eliminates the need for manual firmware updates and manual restart of the teach pendant and controller, achieving full automation of the firmware deployment process. This greatly reduces the time spent on firmware deployment and improves the testing and development efficiency of SCARA robots.
[0040] In some implementations, in step S130, under the control of the firmware deployment script file, the controller is controlled to execute the script file, enabling the teach pendant to complete the deployment of the firmware file. The specific process of controlling the controller to complete the firmware file deployment is as follows: Figure 3 As shown, it includes steps S310 to S330.
[0041] Step S310: Control the connection between the user terminal and the controller terminal.
[0042] In some implementations, the user terminal and the controller terminal are connected via a telnet connection.
[0043] In terms of communication, after the Python script file deployed in the firmware completes the code for transmitting the firmware file and the script file, it calls the telnet library to connect to the controller terminal using telnet and logs in to the controller to perform command operations. The login account and password are provided by the developers.
[0044] Step S320: After the controller terminal receives the first control instruction from the user terminal, it controls the controller to execute the script file according to the first control instruction, so that the script file sends a second control instruction to cause the teach pendant to restart and deploy the firmware file; wherein, the teach pendant reads the firmware file from the controller during the restart process.
[0045] In some implementations, the script file sends the second control command to the controller via a telnet connection.
[0046] Upon logging into the controller, the Python script file deployed in the firmware sends the first control command via a telnet connection, causing the controller to execute the script file already transferred to the controller. This script file is a shell script used to restart the teach pendant. Specifically, this shell script enables a secondary telnet connection; after already connecting to the controller via telnet, it can reconnect to the teach pendant via telnet, allowing control commands to be sent to the teach pendant for operation. The teach pendant and controller are connected via a shielded cable that supports telnet connections.
[0047] After connecting to the teach pendant, the shell script sends a second control command to restart the teach pendant. Upon receiving this command, the teach pendant restarts. Because the teach pendant establishes a connection with the controller and reads the firmware file and version information stored on the controller during restart, it will read the latest version of the firmware file previously transferred and stored on the controller, thus enabling firmware deployment and version updates. The teach pendant automatically disconnects from the shell script's telnet connection during restart, so it is not necessary to actively disconnect after sending the restart command.
[0048] Step S330: After receiving a third control command from the user terminal, the controller terminal controls the controller to restart and deploy the firmware file according to the third control command; wherein, during the restart process, the controller reads the firmware file stored in its own memory.
[0049] If the controller restarts during the teach pendant's restart process, the teach pendant will be unable to establish a connection with the restarting controller. Consequently, the teach pendant will be unable to read the firmware file from the controller, leading to firmware deployment and upgrade failures. Therefore, the firmware deployment Python script file will wait for a period of time before sending third-party control commands. The specific time can be set according to the actual situation, and can be set to 1 minute.
[0050] Once the teach pendant update is successful, the Python script file deployed in the firmware sends a third-party control command to the controller terminal. This command is used to restart the controller. During the restart process, the controller reads the new firmware file stored within its own memory, thus enabling firmware deployment and version updates.
[0051] This solution uses FTP for file transfer and telnet for remote operation of the controller and teach pendant. After firmware deployment, the robot can automatically restart, update, and read firmware information before being put into use without any other manual operation.
[0052] Optionally, automated deployment can be achieved through GitLab. By writing YAML files in GitLab, the manual processes of downloading and unzipping Python scripts and firmware files can be replaced. Furthermore, GitLab can use a Docker image as the environment for each automated deployment, such as an Ubuntu virtual machine that supports Python. Docker can package an environment as an image, temporarily downloading it during automated deployment and deleting it after deployment. By modifying the name of the firmware file to be updated in the YAML file, GitLab can execute the corresponding operations from top to bottom according to the YAML file, achieving automated deployment.
[0053] By building different Docker images to adapt to different robot operating systems and device information, the firmware deployment method of this invention can be executed by building only specific Docker images for different operating systems or devices, thereby improving the versatility of the automated deployment method.
[0054] Optionally, by storing the firmware, Python code, and shell script to be transferred in the same directory within an Ubuntu virtual machine under Linux, and then manually executing the Python code, automated firmware deployment can be achieved in the Ubuntu environment. However, modifying parameters within the code and unpacking the firmware file package require manual execution.
[0055] Optionally, a public machine can be set up for automated firmware deployment. Since the controller's network port IP is a static IP, the public machine's IP address can be configured to a specific network port IP segment during actual use. Subsequently, when the controller is connected to the computer host via a network cable, the specified network port can be selected to connect to the host, allowing automated firmware deployment to be performed directly without modifying the configuration parameters.
[0056] When automated firmware deployment is required, this solution automatically establishes a connection between the user terminal, controller, and teach pendant by executing the firmware deployment script file, and performs firmware file transfer and corresponding control. This enables the controller and teach pendant to automatically complete the deployment of the new firmware. Compared with the traditional manual firmware update method, this improves the efficiency of robot development and testing, and enhances the delivery speed and quality in the robot software development process.
[0057] Figure 5 This is a flowchart illustrating an embodiment of the automated firmware deployment method for the robot control system of the present invention, as shown below. Figure 5 As shown, the automated firmware deployment method of the present invention includes:
[0058] Step 1: Begin automated deployment by establishing an FTP connection between the user host and the controller, transferring firmware and script files, and determining if a file with the same name exists in the target path where the firmware file is to be stored. If it exists, delete the file with the same name, store the firmware file in the target path, and proceed to Step 2. If it does not exist, store the firmware file directly in the target path and proceed to Step 2.
[0059] Step 2: Establish a telnet connection between the user host and the controller, and control the controller to execute a script file. When this script file is executed, it enables the teach pendant connected to the controller to restart. During the restart process, the teach pendant reads the firmware file from the controller to complete the firmware deployment and upgrade of the teach pendant. Then proceed to Step 3.
[0060] Step 3: After the firmware deployment and upgrade of the teach pendant is completed, restart the controller. During the restart process, the controller will read the firmware file stored in itself, thereby completing the firmware deployment and upgrade of the controller.
[0061] By employing the technical solution of this embodiment, when automated firmware deployment is required, the firmware deployment script file in the user terminal is executed. Under the control of the firmware deployment script file, the user terminal establishes a connection with the controller. The controller then receives the script file and firmware file from the user terminal; the controller executes the script file to enable the teach pendant to complete the firmware deployment; and finally, the controller completes the firmware deployment. This automatically completes firmware deployment by controlling the teach pendant and controller, reducing the time spent on firmware deployment and thus improving the development and testing efficiency of robot software.
[0062] According to embodiments of the present invention, a firmware deployment apparatus for a robot control system corresponding to a firmware deployment method for a robot control system is also provided. The robot control system includes a teach pendant and a controller; the controller is responsible for receiving instructions, executing programs, monitoring sensors and actuators, etc. It typically includes hardware and software, capable of managing the robot's movement, performing complex tasks, and communicating with other systems. The teach pendant is a device used to teach the robot to perform specific tasks and movement paths. An operator can manually guide the robot to perform actions through the teach pendant, record and store the robot's movement trajectory, and then use it as a program for automatic robot execution. The teach pendant is connected to the controller; the controller has a controller terminal for executing operation instructions; the controller can connect to a user terminal; the user terminal has a firmware deployment script file capable of automated firmware deployment. This firmware deployment script file can be a Python script file. Executing this Python script file can control the teach pendant and the controller to complete firmware deployment. Automated firmware deployment refers to automatically deploying the firmware file to the teach pendant and the controller respectively. See also Figure 4 The diagram shows a structural schematic of an embodiment of the device of the present invention. The firmware deployment device for the robot control system may include: an execution unit 102 and a control unit 104.
[0063] Execution unit 102 is configured to execute the firmware deployment script file on the user terminal when automated firmware deployment is required. The specific functions and processing of execution unit 102 are described in step S110.
[0064] VMware can be used as the development environment, running an Ubuntu virtual machine under Linux to achieve automated firmware deployment. Prerequisites include a user terminal host with dual network ports, two network adapters configured in the virtual machine, and the network adapter connecting to the SCARA robot controller set to bridged mode. After running the virtual machine, modify the configuration information of the bridged network port to match the network segment information corresponding to the port connecting to the SCARA robot controller. After configuration, connect the computer host to the network interface of the SCARA robot controller using a network cable. Verify the network connection by pinging the IP address. Subsequent operations can only be performed after a successful network connection.
[0065] Control unit 104 is configured to, under the control of the firmware deployment script file, control the user terminal to establish a connection with the controller; and then control the controller to receive the script file and firmware file from the user terminal. The specific functions and processing of this control unit 104 are described in step S120.
[0066] In some implementations, the user terminal is connected to the controller via an FTP connection.
[0067] For the transmission protocol, FTP can be used to transfer firmware and script files. The Python script file deployed in the firmware calls the FTP library to establish an FTP connection to the controller and handle the uploading and storage of firmware files.
[0068] In some embodiments, the control unit 104 controls the controller to receive script files and firmware files from the user terminal, including:
[0069] The control unit 104 is further configured to determine, before controlling the controller to receive the script file and firmware file from the user terminal, whether a file with the same name as the firmware file exists in the target path where the firmware file will be stored in the controller. The specific functions and processing of this control unit 104 are described in step S210.
[0070] The control unit 104 is further configured to delete a file with the same name as the firmware file if such a file already exists, and to store the firmware file in the target path after the controller receives the firmware file. The specific functions and processing of this control unit 104 are described in step S220.
[0071] The control unit 104 is further configured to store the firmware file in the target path after the controller receives the firmware file if no file with the same name as the firmware file exists. The specific functions and processing of the control unit 104 are described in step S230.
[0072] When firmware files are updated, replacing the firmware files stored in the controller allows for faster testing of the new firmware, improving the delivery speed and quality of DevOps processes.
[0073] The control unit 104 is further configured to, under the control of the firmware deployment script file, control the controller to execute the script file so that the teach pendant completes the deployment of the firmware file; and then control the controller to complete the deployment of the firmware file. The specific functions and processing of the control unit 104 are described in step S130.
[0074] After the teach pendant and controller complete firmware deployment, if the robot does not need to immediately enter the running state after the firmware update, the robot does not need to be restarted immediately. When the robot is powered on and started running subsequently, it can still read the updated firmware information during the startup process, achieving the same effect as restarting immediately after the firmware update. This approach is suitable for scenarios where a large number of robots are simultaneously undergoing automated firmware deployment and update upgrades.
[0075] This solution enables automatic transmission and deployment of firmware files by executing firmware deployment script files in the user terminal to control the teach pendant and controller of the robot control system. It eliminates the need for manual firmware updates and manual restart of the teach pendant and controller, achieving full automation of the firmware deployment process. This greatly reduces the time spent on firmware deployment and improves the testing and development efficiency of SCARA robots.
[0076] In some embodiments, the control unit 104, under the control of the firmware deployment script file, controls the controller to execute the script file, enabling the teach pendant to complete the deployment of the firmware file, and then controls the controller to complete the deployment of the firmware file, including:
[0077] The control unit 104 is further configured to control the connection between the user terminal and the controller terminal. The specific functions and processing of the control unit 104 are described in step S310.
[0078] In some implementations, the user terminal and the controller terminal are connected via a telnet connection.
[0079] In terms of communication, after the Python script file deployed in the firmware completes the code for transmitting the firmware file and the script file, it calls the telnet library to connect to the controller terminal using telnet and logs in to the controller to perform command operations. The login account and password are provided by the developers.
[0080] The control unit 104 is further configured to, after receiving a first control command from the user terminal, control the controller to execute the script file according to the first control command, causing the script file to send a second control command to restart the teach pendant and deploy the firmware file; wherein, during the teach pendant restart process, the firmware file is read from the controller. The specific functions and processing of this control unit 104 are described in step S320.
[0081] In some implementations, the script file sends the second control command to the controller via a telnet connection.
[0082] Upon logging into the controller, the Python script file deployed in the firmware sends the first control command via a telnet connection, causing the controller to execute the script file already transferred to the controller. This script file is a shell script used to restart the teach pendant. Specifically, this shell script enables a secondary telnet connection; after already connecting to the controller via telnet, it can reconnect to the teach pendant via telnet, allowing control commands to be sent to the teach pendant for operation. The teach pendant and controller are connected via a shielded cable that supports telnet connections.
[0083] After connecting to the teach pendant, the shell script sends a second control command to restart the teach pendant. Upon receiving this command, the teach pendant restarts. Because the teach pendant establishes a connection with the controller and reads the firmware file and version information stored on the controller during restart, it will read the latest version of the firmware file previously transferred and stored on the controller, thus enabling firmware deployment and version updates. The teach pendant automatically disconnects from the shell script's telnet connection during restart, so it is not necessary to actively disconnect after sending the restart command.
[0084] The control unit 104 is further configured to, after receiving a third control command from the user terminal, control the controller to restart and deploy the firmware file according to the third control command; wherein, during the restart process, the controller reads the firmware file stored in its own memory. The specific functions and processing of this control unit 104 are described in step S330.
[0085] If the controller restarts during the teach pendant's restart process, the teach pendant will be unable to establish a connection with the restarting controller. Consequently, the teach pendant will be unable to read the firmware file from the controller, leading to firmware deployment and upgrade failures. Therefore, the firmware deployment Python script file will wait for a period of time before sending third-party control commands. The specific time can be set according to the actual situation, and can be set to 1 minute.
[0086] Once the teach pendant update is successful, the Python script file deployed in the firmware sends a third-party control command to the controller terminal. This command is used to restart the controller. During the restart process, the controller reads the new firmware file stored within its own memory, thus enabling firmware deployment and version updates.
[0087] This solution uses FTP for file transfer and telnet for remote operation of the controller and teach pendant. After firmware deployment, the robot can automatically restart, update, and read firmware information before being put into use without any other manual operation.
[0088] Optionally, automated deployment can be achieved through GitLab. By writing YAML files in GitLab, the manual processes of downloading and unzipping Python scripts and firmware files can be replaced. Furthermore, GitLab can use a Docker image as the environment for each automated deployment, such as an Ubuntu virtual machine that supports Python. Docker can package an environment as an image, temporarily downloading it during automated deployment and deleting it after deployment. By modifying the name of the firmware file to be updated in the YAML file, GitLab can execute the corresponding operations from top to bottom according to the YAML file, achieving automated deployment.
[0089] By building different Docker images to adapt to different robot operating systems and device information, the firmware deployment method of this invention can be executed by building only specific Docker images for different operating systems or devices, thereby improving the versatility of the automated deployment method.
[0090] Optionally, by storing the firmware, Python code, and shell script to be transferred in the same directory within an Ubuntu virtual machine under Linux, and then manually executing the Python code, automated firmware deployment can be achieved in the Ubuntu environment. However, modifying parameters within the code and unpacking the firmware file package require manual execution.
[0091] Optionally, a public machine can be set up for automated firmware deployment. Since the controller's network port IP is a static IP, the public machine's IP address can be configured to a specific network port IP segment during actual use. Subsequently, when the controller is connected to the computer host via a network cable, the specified network port can be selected to connect to the host, allowing automated firmware deployment to be performed directly without modifying the configuration parameters.
[0092] When automated firmware deployment is required, this solution automatically establishes a connection between the user terminal, controller, and teach pendant by executing the firmware deployment script file, and performs firmware file transfer and corresponding control. This enables the controller and teach pendant to automatically complete the deployment of the new firmware. Compared with the traditional manual firmware update method, this improves the efficiency of robot development and testing, and enhances the delivery speed and quality in the robot software development process.
[0093] Figure 5 This is a flowchart illustrating an embodiment of the automated firmware deployment method for the robot control system of the present invention, as shown below. Figure 5 As shown, the automated firmware deployment method of the present invention includes:
[0094] Step 1: Begin automated deployment by establishing an FTP connection between the user host and the controller, transferring firmware and script files, and determining if a file with the same name exists in the target path where the firmware file is to be stored. If it exists, delete the file with the same name, store the firmware file in the target path, and proceed to Step 2. If it does not exist, store the firmware file directly in the target path and proceed to Step 2.
[0095] Step 2: Establish a telnet connection between the user host and the controller, and control the controller to execute a script file. When this script file is executed, it enables the teach pendant connected to the controller to restart. During the restart process, the teach pendant reads the firmware file from the controller to complete the firmware deployment and upgrade of the teach pendant. Then proceed to Step 3.
[0096] Step 3: After the firmware deployment and upgrade of the teach pendant is completed, restart the controller. During the restart process, the controller will read the firmware file stored in itself, thereby completing the firmware deployment and upgrade of the controller.
[0097] Since the processing and functions implemented by the device in this embodiment are basically the same as the embodiments, principles and examples of the aforementioned methods, any details not covered in the description of this embodiment can be found in the relevant descriptions in the aforementioned embodiments, and will not be repeated here.
[0098] By employing the technical solution of this invention, when automated firmware deployment is required, a firmware deployment script file in the user terminal is executed. Under the control of the firmware deployment script file, the user terminal establishes a connection with the controller. The controller then receives the script file and firmware file from the user terminal; the controller executes the script file to enable the teach pendant to complete the firmware deployment; and finally, the controller completes the firmware deployment. This automatically completes firmware deployment by controlling the teach pendant and controller, reducing the time spent on firmware deployment and thus improving the development and testing efficiency of robot software.
[0099] According to embodiments of the present invention, a control system corresponding to a firmware deployment device for a robot control system is also provided. This control system may include the firmware deployment device for the robot control system described above.
[0100] Since the processing and functions implemented by the control system in this embodiment are basically the same as those in the embodiments, principles and examples of the aforementioned device, any details not covered in this embodiment can be found in the relevant descriptions in the aforementioned embodiments, and will not be repeated here.
[0101] By employing the technical solution of this invention, when automated firmware deployment is required, a firmware deployment script file in the user terminal is executed. Under the control of the firmware deployment script file, the user terminal establishes a connection with the controller. The controller then receives the script file and firmware file from the user terminal; the controller executes the script file to enable the teach pendant to complete the firmware deployment; and finally, the controller completes the firmware deployment. This automatically completes firmware deployment by controlling the teach pendant and controller, reducing the time spent on firmware deployment and thus improving the development and testing efficiency of robot software.
[0102] According to an embodiment of the present invention, a storage medium corresponding to a firmware deployment method for a robot control system is also provided. The storage medium includes a stored program, wherein the program, when running, controls the device where the storage medium is located to execute the firmware deployment method for the robot control system described above.
[0103] Since the processing and functions implemented by the storage medium in this embodiment are basically the same as the embodiments, principles and examples of the aforementioned methods, any details not covered in this embodiment can be found in the relevant descriptions in the aforementioned embodiments, and will not be repeated here.
[0104] By employing the technical solution of this invention, when automated firmware deployment is required, a firmware deployment script file in the user terminal is executed. Under the control of the firmware deployment script file, the user terminal establishes a connection with the controller. The controller then receives the script file and firmware file from the user terminal; the controller executes the script file to enable the teach pendant to complete the firmware deployment; and finally, the controller completes the firmware deployment. This automatically completes firmware deployment by controlling the teach pendant and controller, reducing the time spent on firmware deployment and thus improving the development and testing efficiency of robot software.
[0105] In summary, it is readily understood by those skilled in the art that, without conflict, the aforementioned advantageous methods can be freely combined and superimposed.
[0106] The above description is merely an embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of the claims of the present invention.
Claims
1. A firmware deployment method for a robot control system, characterized in that, The robot control system includes a teach pendant and a controller; the teach pendant is connected to the controller; the controller has a controller terminal for executing operation instructions; the controller can be connected to a user terminal; the user terminal has a firmware deployment script file that enables automated firmware deployment, wherein automated firmware deployment refers to automatically deploying firmware files to the teach pendant and the controller respectively; The method includes: When automated firmware deployment is required, the firmware deployment script file is executed on the user terminal. Under the control of the firmware deployment script file, the user terminal is controlled to establish a connection with the controller; then the controller is controlled to receive the script file and firmware file from the user terminal. Under the control of the firmware deployment script file, the controller is controlled to execute the script file so that the teach pendant completes the deployment of the firmware file; then the controller is controlled to complete the deployment of the firmware file.
2. The firmware deployment method for the robot control system according to claim 1, characterized in that, The controller receives script files and firmware files from the user terminal, including: Before the controller receives the script file and firmware file from the user terminal, it determines whether there is a file with the same name as the firmware file in the target path where the firmware file will be stored in the controller. If a file with the same name as the firmware file exists, delete the file with the same name as the firmware file, and store the firmware file in the target path after the controller receives the firmware file; If no file with the same name as the firmware file exists, the controller will store the firmware file in the target path after receiving it.
3. The firmware deployment method for the robot control system according to claim 1, characterized in that, Under the control of the firmware deployment script file, the controller is controlled to execute the script file, enabling the teach pendant to complete the deployment of the firmware file. Then, the controller is controlled to complete the firmware deployment, including: The user terminal is connected to the controller terminal; After receiving a first control command from the user terminal, the controller terminal controls the controller to execute the script file according to the first control command, causing the script file to send a second control command to cause the teach pendant to restart and deploy the firmware file; wherein, the teach pendant reads the firmware file from the controller during the restart process; After receiving a third control command from the user terminal, the controller terminal controls the controller to restart and deploy the firmware file according to the third control command; wherein, during the restart process, the controller reads the firmware file stored in its own memory.
4. The firmware deployment method for a robot control system according to any one of claims 1-3, characterized in that, The user terminal is connected to the controller via FTP; the user terminal is connected to the controller via Telnet; the script file sends the second control command to the controller via Telnet.
5. A firmware deployment device for a robot control system, characterized in that, The robot control system includes a teach pendant and a controller; the teach pendant is connected to the controller; the controller has a controller terminal for executing operation instructions; the controller can be connected to a user terminal; the user terminal has a firmware deployment script file that enables automated firmware deployment, wherein automated firmware deployment refers to automatically deploying firmware files to the teach pendant and the controller respectively; The device includes: The execution unit is configured to execute the firmware deployment script file in the user terminal when automated firmware deployment is required; The control unit is configured to, under the control of the firmware deployment script file, control the user terminal to establish a connection with the controller; and then control the controller to receive the script file and firmware file from the user terminal. The control unit is further configured to, under the control of the firmware deployment script file, control the controller to execute the script file so that the teach pendant completes the deployment of the firmware file; and then control the controller to complete the deployment of the firmware file.
6. The firmware deployment device for a robot control system according to claim 5, characterized in that, The control unit controls the controller to receive script files and firmware files from the user terminal, including: Before the controller receives the script file and firmware file from the user terminal, it determines whether there is a file with the same name as the firmware file in the target path where the firmware file will be stored in the controller. If a file with the same name as the firmware file exists, delete the file with the same name as the firmware file, and store the firmware file in the target path after the controller receives the firmware file; If no file with the same name as the firmware file exists, the controller will store the firmware file in the target path after receiving it.
7. The firmware deployment device for a robot control system according to claim 5, characterized in that, The control unit, under the control of the firmware deployment script file, controls the controller to execute the script file, enabling the teach pendant to complete the deployment of the firmware file, and then controls the controller to complete the deployment of the firmware file, including: The user terminal is connected to the controller terminal; After receiving a first control command from the user terminal, the controller terminal controls the controller to execute the script file according to the first control command, causing the script file to send a second control command to cause the teach pendant to restart and deploy the firmware file; wherein, the teach pendant reads the firmware file from the controller during the restart process; After receiving a third control command from the user terminal, the controller terminal controls the controller to restart and deploy the firmware file according to the third control command; wherein, during the restart process, the controller reads the firmware file stored in its own memory.
8. The firmware deployment device for a robot control system according to any one of claims 5-7, characterized in that, The user terminal is connected to the controller via FTP; the user terminal is connected to the controller via Telnet; the script file sends the second control command to the controller via Telnet.
9. A control system, characterized in that, include: Firmware deployment device for a robot control system as described in any one of claims 5 to 8.
10. A storage medium, characterized in that, The storage medium includes a stored program, wherein, when the program is executed, the device containing the storage medium is controlled to perform the firmware deployment method of the robot control system according to any one of claims 1 to 4.
Citation Information
Patent Citations
Firmware burn method and firmware burn device
CN103399761A
Robot programming method and device as well as controller
CN109822549A