WO2021139727A1 - 机器人的软件升级方法、升级服务器、机器人及存储介质 - Google Patents

机器人的软件升级方法、升级服务器、机器人及存储介质 Download PDF

Info

Publication number
WO2021139727A1
WO2021139727A1 PCT/CN2021/070669 CN2021070669W WO2021139727A1 WO 2021139727 A1 WO2021139727 A1 WO 2021139727A1 CN 2021070669 W CN2021070669 W CN 2021070669W WO 2021139727 A1 WO2021139727 A1 WO 2021139727A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
robot
upgrade
platform
package
Prior art date
Application number
PCT/CN2021/070669
Other languages
English (en)
French (fr)
Inventor
杨志钦
潘乐
王翔宇
Original Assignee
炬星科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 炬星科技(深圳)有限公司 filed Critical 炬星科技(深圳)有限公司
Publication of WO2021139727A1 publication Critical patent/WO2021139727A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • the embodiment of the present invention relates to the technical field of robots, and in particular to a software upgrade method of a robot, an upgrade server, a robot, and a storage medium.
  • the purpose of the embodiments of the present invention is to provide a robot software upgrade method, an upgrade server, a robot, and a storage medium, so as to solve the need to complete the robot software through the pre-sales and after-sales service engineers of the robot manufacturer in the prior art. Upgrade operation has low efficiency and high labor cost.
  • a robot software upgrade method which is applied to an upgrade server, and the robot software upgrade method includes:
  • the latest version of the robot full-platform application software upgrade package in the upgrade server is sent to the customer's application construction server, so that the construction server will be based on the robot full-platform application software
  • the upgrade package constructs a client APK, tests the client APK, and returns the client APK to the upgrade server after the test passes.
  • a complete package for robot upgrade is generated based on the client APK and the robot full-platform application software upgrade package, and the complete package is sent To the robot, enable the robot to upgrade the robot's full-platform software and client software according to the complete package; and/or, if the client APK returned by the build server after the test is not received within a preset time period , The software upgrade process of the robot is terminated.
  • a robot software upgrade method which is applied to a robot, and the robot software upgrade method includes:
  • the complete package is generated by the upgrade server according to the robot's full-platform application software upgrade package and the customer's application program construction server according to the customer's APK constructed by the robot's full-platform application software upgrade package;
  • the software upgrade package corresponding to the software function module at the bottom layer is sent to the Linux platform through the Android platform, and the software function module at the bottom layer is upgraded through the Linux platform.
  • the low-power embedded platform If the verification fails, the low-power embedded platform returns a verification failure prompt message to the Linux platform, deletes the software upgrade package corresponding to the software function module at the bottom layer, and exits the bootloader;
  • the Linux platform ends the software update process after receiving the prompt information that the verification is successful, and re-initiates a software update request to the low-power embedded platform after receiving the prompt information that the verification fails.
  • an upgrade server including a memory, a processor, and a computer program stored on the memory and capable of running on the processor, and the computer program is processed by the processor.
  • the steps of the robot software upgrade method as described in any one of the above first aspects are realized.
  • a robot including a memory, a processor, and a computer program stored on the memory and executable on the processor, the computer program being executed by the processor At the time, the steps of the robot software upgrade method as described in any one of the above second aspects are implemented.
  • a computer-readable storage medium having a computer program stored on the computer-readable storage medium, and when the computer program is executed by a processor, any one of the above-mentioned first aspects is implemented
  • the steps of the robot software upgrade method; or, the steps of the robot software upgrade method described in any one of the above second aspects is provided.
  • the robot software upgrade method, the upgrade server, the robot, and the storage medium provided by the embodiment of the present invention because the upgrade server detects the preset software upgrade trigger condition, will upgrade the latest version of the robot full-platform application software upgrade package on the server Send to the customer’s application construction server, so that the construction server constructs the customer APK according to the robot full-platform application software upgrade package; then receives the customer APK returned by the construction server, according to the robot full-platform application software upgrade package And the customer APK generates a complete package for the robot upgrade, and sends the complete package to the target customer’s robot, so that the robot performs software upgrades according to the complete package, so that the robot can realize remote automated software upgrades without the need for robots.
  • Fig. 1 is an architecture diagram of a software upgrade system for a robot in an embodiment of the present invention.
  • FIG. 2 is a schematic diagram of a specific implementation process of a method for upgrading software of a robot provided in Embodiment 1 of the present invention.
  • Fig. 3 is a schematic diagram of a specific implementation process of a method for upgrading software of a robot provided in the second embodiment of the present invention.
  • Fig. 4 is a schematic structural diagram of an upgrade server provided in the third embodiment of the present invention.
  • Fig. 5 is a schematic structural diagram of a robot provided in the fourth embodiment of the present invention.
  • Fig. 1 is an architecture diagram of a software upgrade system for a robot in an embodiment of the present invention. For ease of description, only the parts related to this embodiment are shown.
  • the robot software upgrade system in the embodiment of the present invention includes a robot manufacturer's construction server 1, a robot manufacturer's upgrade server 2, a customer's application construction server 3, and a robot 4; wherein, the upgrade server 2 It communicates with the robot manufacturer's construction server 1, the client's application construction server 3, and the robot 4, respectively.
  • the construction server of the robot manufacturer is used to generate Android SDK (Software Development Kit, software development kit), and pass the Android SDK
  • the SDK develops the robot full-platform application software package, and publishes it to the upgrade server after a new version of the robot full-platform application software upgrade package is developed.
  • the upgrade server 2 is an OTA (Over the Air, over the air) server, used to store the latest version of the robot full-platform application software upgrade package released by the robot manufacturer’s build server;
  • the client APK returned by the construction server 3 and the robot full-platform application software upgrade package constructs a complete package for robot upgrade.
  • the upgrade server receives the client APK returned by the client's application program construction server 3, it uses a compilation tool to compile the client APK and the robot full-platform application software package, and then uses the packaging tool to compile the compiled The files are packaged into the complete package.
  • the client's application program construction server 3 may be developed by the robot manufacturer itself, or may be developed by an external customer of the robot manufacturer.
  • the client’s application building server 3 is used to build a client APK (Android application package, Android application package), and test the client APK.
  • client APK Application, application
  • the construction of a client APP (Application, application) in the robot needs to rely on the robot's full-platform application software.
  • the client's application building server 3 can correspond to multiple robots, that is, the upgrade server can be constructed based on the client APK returned by the client's application server 3 and the robot's full-platform application software upgrade package.
  • the complete package upgrades multiple robots corresponding to the client's application program construction server 3.
  • the upgrade server can establish a communication connection with the application program construction server of multiple customers at the same time, so as to simultaneously upgrade the software of the robot clusters of multiple customers; when the upgrade server is established with the application construction server of multiple customers During the communication connection, the upgrade server will generate multiple complete packages corresponding to the robot full-platform application software upgrade package and the customer APK returned by the application building server of each customer, and deliver the multiple complete packages to the corresponding
  • the customer APK constructed by the application building server of different customers according to the robot’s full-platform application software upgrade package may be different, and the corresponding upgrade server may generate different complete packages according to different customer APKs.
  • the robot includes, but is not limited to, an intelligent mobile robot.
  • FIG. 2 is a schematic diagram of a specific implementation process of a method for upgrading software of a robot provided in Embodiment 1 of the present invention.
  • the execution subject of this method is the upgrade server 2 in the system shown in FIG. 1.
  • the software upgrade method for a robot provided in this embodiment includes:
  • Step S201 When a preset software upgrade trigger condition is detected, the latest version of the robot full-platform application software upgrade package in the upgrade server 2 is sent to the client's application construction server 3, so that the construction server 3 is The application software upgrade package for the whole platform of the robot constructs the customer APK.
  • the preset software upgrade trigger conditions include, but are not limited to: a new version of the robot's full platform application software upgrade package is released on the upgrade server 2; or, the upgrade server 2 receives a message sent by the robot 4 Software update request.
  • the upgrade server 2 when a new version of the robot full platform application software upgrade package is released on the upgrade server 2, the upgrade server 2 will actively push the latest version of the robot full platform application software upgrade package to at least A client's application is built on the server 3.
  • the robot 4 of the target customer will periodically inquire whether the robot full-platform application software upgrade package on the upgrade server 2 has been updated, and when the robot full-platform application software on the upgrade server 2 is detected When the software upgrade package is updated, it will send an operating system update request to the upgrade server 2 to trigger the upgrade server 2 to passively send the latest version of the robot full-platform application software upgrade package to the client's application program construction server 3.
  • the target customer’s robot 4 when the operating system of the target customer’s robot 4 fails, the target customer’s robot 4 will send a software update request to the upgrade server 2, triggering the upgrade server 2 to passively update The latest version of the robot full-platform application software upgrade package is sent to the client's application program construction server 3.
  • Step S202 If the client APK returned by the construction server 3 is received within a preset time period, a complete package for robot upgrade is generated according to the client APK and the robot's full-platform application software upgrade package, and all Sending the complete package to the robot of the target customer, so that the robot performs software upgrades according to the complete package;
  • Step S203 If the client APK returned by the construction server 3 is not received within a preset time period, the software upgrade process of the robot 4 is terminated.
  • the client's application construction server 3 After the client's application construction server 3 receives the latest version of the robot full platform application software upgrade package sent by the upgrade server 2, it will upgrade according to the latest version of the robot full platform application software
  • the package builds the customer APK, then tests the customer APK, and returns the customer APK to the upgrade server 2 after the test passes, so as to ensure the reliability of subsequent software upgrades.
  • the client's build server has a complete pipeline (pipeline), each step in the build and test process is set with a timeout time, and the preset time period is equal to the timeout time corresponding to each stage in the pipeline
  • the sum is related to the number of codes of the project and the performance of the client's construction server. The smaller the number of codes of the project, the higher the performance of the client's construction server, and the shorter the preset time period.
  • the latest version of the robot full-platform application software upgrade package is a set of dependent software packages of a certain version
  • the version rules of the robot full-platform application software upgrade package and the dependent software package are both : ⁇ major version>. ⁇ minor version>. ⁇ incremental version>;
  • the major version number and the minor version number in the version number of the dependent software package are respectively the same as the major version number and the minor version number in the version number of the robot full-platform application software upgrade package.
  • the robot full-platform application software package needs to be thoroughly tested before being released. Because the robot full-platform application software package in this embodiment is a collection of dependent software packages with a certain version, only It is only necessary to test this robot full-platform application software upgrade package that contains the specific version combination dependent software package. It is not necessary to test the permutation and combination of all possible software packages, which reduces the test cost.
  • the customer-defined APP needs to rely on some dependent software packages in the operating system of the robot 4 provided by the robot manufacturer. Therefore, it may happen that the customer-defined APP A needs the dependent software package B of version V.10, and the customer The customized APP C needs the V.1.1 version of the dependent software package B. Therefore, during the upgrade process of the customer-defined APP, the dependent software package version conflict may cause the upgrade to fail.
  • the robot full-platform application software upgrade package released by the upgrade server 2 targets all dependent software packages on the robot 4 body except for the customer-defined APP. It does not target each dependent software package, that is, all new robots released each time
  • the platform application software upgrade package is a specific version combination included in all dependent software.
  • the version number of each dependent software package is unique.
  • the application software upgrade package is sent to the customer’s application construction server 3, and the customer’s application construction server 3 builds the customer APK according to the robot’s full platform application software upgrade package, tests the customer APK, and returns the customer APK to Upgrade server 2, and then the upgrade server 2 decides whether to continue the robot 4 software upgrade process based on whether it receives the client’s application build server to return the fully tested client APK, which can avoid the problem of upgrade failure due to software package version conflicts. .
  • the upgrade server 2 in order to prevent the failure of the customer-defined APP upgrade on the robot 4 due to the conflict of the dependent software package version, the upgrade server 2 will first complete the latest version of the robot when it detects the software upgrade trigger condition preset by the robot 4
  • the platform application software upgrade package is sent to the construction server 3 of the target customer robot 4, and the construction server 3 of the target customer robot 4 uses the latest version of the robot’s full platform application software upgrade package to construct the customer APK. If the construction is successful, and the customer If the APK successfully passes the test, it means that the Android full-platform application software upgrade package of this version will not conflict with the customer-defined APP on the robot 4.
  • the customer APK is returned to the upgrade server 2 so that the upgrade server 2 will
  • the customer APK is sent to the robot 4 to be upgraded to upgrade the software of the robot 4 to be upgraded; otherwise, it means that the version of the robot's full-platform application software upgrade package will conflict with the customer-defined APP on the robot 4, so Return a message indicating the failure of the build to the upgrade server 2.
  • the upgrade server 2 directly terminates the software upgrade process of the robot 4 in order to avoid the failure of the robot 4 software upgrade, and informs the customer of the robot's full-platform application software upgrade package and the customer on the robot 4 There is a dependency conflict in the custom APP, so that the customer can deal with it accordingly.
  • the robot software upgrade method uses the upgrade server 2 to send the latest version of the robot's full-platform application software upgrade package on the upgrade server 2 to the client when the preset software upgrade trigger condition is detected.
  • the application construction server 3 of the application program construction server 3 enables the construction server 3 to construct a customer APK according to the robot full-platform application software upgrade package; and then receives the customer APK returned by the construction server 3, according to the robot full-platform application software upgrade package Generate a complete package for the robot upgrade with the customer’s APK, and send the complete package to the robot 4, so that the robot 4 can upgrade the software according to the complete package, so that the robot 4 can realize remote automated software upgrades without the need for pre-sales by the robot manufacturer
  • the after-sales service engineer intervenes in the software upgrade process of the robot 4, which improves the efficiency of software upgrade and saves labor costs; in addition, the upgrade server 2 in the embodiment of the present invention is sending the latest version of the robot to the client's application building server 3.
  • the software upgrade process of the robot 4 is terminated, which can ensure the reliability of the software upgrade of the robot 4 and prevent Due to version conflicts, the robot's 4-end software upgrade fails; because the complete package sent to the robot includes the robot's full-platform application software upgrade package and the customer APK, the robot's full-platform software and customer software can be upgraded at the same time to the customer Provides a more unified software upgrade experience.
  • Fig. 3 is a schematic diagram of a specific implementation process of a method for upgrading software of a robot provided in the second embodiment of the present invention.
  • the main body of execution of this method is the robot 4 in the system shown in FIG. 1.
  • the robot software upgrade method provided in this embodiment includes:
  • step S301 the complete package for robot upgrade sent by the upgrade server is received through the Android platform, and the complete package is split to obtain the software upgrade package corresponding to the software function module at the application layer and the software function module at the bottom layer.
  • Software upgrade package; the complete package is generated by the upgrade server according to the robot's full-platform application software upgrade package and the customer's application program construction server according to the customer APK constructed by the robot's full-platform application software upgrade package.
  • the complete package is generated by the upgrade server based on the latest version of the robot's full-platform application software upgrade package and the customer's application program construction server based on the customer APK constructed by the robot's full-platform application software upgrade package
  • the latest version of the robot full-platform application software upgrade package is a set of dependent software packages of a certain version. Therefore, the complete package includes not only the software upgrade package of the client APP, but also the latest version of the robot full-platform application software upgrade. package.
  • the robot 4 can split out multiple upgrade packages corresponding to the software function modules at the application layer and multiple software upgrade packages corresponding to the software function modules at the bottom layer according to the manifest.xml.
  • step S302 the software function modules at the application layer are software upgraded according to the software upgrade package corresponding to the software function modules at the application layer through the Android platform.
  • the robot 4 includes an Android platform, a Linux platform, and a low-power embedded platform. Some software function modules in the robot 4 are located in the Android platform of the application layer, and some software function modules are located in the bottom low-power Within the embedded platform, the Android platform and the low-power embedded platform are respectively maintained by their respective OTA Service processes to upgrade their software modules.
  • the Android platform passes the first OTA
  • the Service process obtains the software upgrade package corresponding to the software function module in the application layer, and performs software upgrade on the software function module in the Android platform according to the obtained software upgrade package.
  • the software function module is upgraded by means of small patching.
  • the method before entering step S302, the method further includes: controlling the robot 4 to go to the power-on area and enter the standby state.
  • the software package will be restarted, resulting in inability to locate. Therefore, in this embodiment, the robot 4 is moved to the boot area in advance before the robot 4 is upgraded, so as to avoid affecting the robot 4 when the navigation technology software package is upgraded. Navigation function.
  • Step S303 The software upgrade package corresponding to the software function module at the bottom layer is sent to the Linux platform through the Android platform, and the software function module at the bottom layer is upgraded through the Linux platform.
  • the robot 4 sends the software upgrade package corresponding to the software function module in the underlying low-power embedded platform to the Linux platform through the Android platform, and the Linux platform obtains it through the second OTA Service process.
  • the sending the software upgrade package corresponding to the software function module at the bottom layer to the Linux platform, and upgrading the software function module in the low-power embedded platform through the Linux platform includes:
  • the Linux platform receives the second version number, and compares the first version number with the second version number, and determines whether to upgrade the software function module at the bottom layer;
  • the software upgrade package corresponding to the software function module at the bottom layer is sent to the low-power embedded platform, so that the low-power embedded platform is based on The software upgrade package upgrades the software function modules at the bottom layer.
  • the upgrade includes:
  • the low-power embedded platform After receiving the soft link file name, the low-power embedded platform jumps to the bootloader boot program, and reads the software upgrade corresponding to the software function module at the bottom from the Linux platform according to the soft link file name package;
  • the low-power embedded platform upgrades the software function module at the bottom layer according to the software upgrade package corresponding to the software function module at the bottom layer, and exits the bootloader after the upgrade is completed.
  • the low-power embedded platform jumps to the bootloader after receiving the soft link file name, and reads the software corresponding to the software function module at the bottom layer from the Linux platform according to the soft link file name After the upgrade package, it also includes:
  • the low-power embedded platform If the verification is successful, the low-power embedded platform returns a prompt message indicating that the verification is successful to the Linux platform, and at the same time upgrades the software function module at the bottom layer according to the software upgrade package corresponding to the software function module at the bottom layer , Exit the bootloader after the upgrade is complete;
  • the low-power embedded platform If the verification fails, the low-power embedded platform returns a verification failure prompt message to the Linux platform, and at the same time deletes the software upgrade package corresponding to the software function module at the bottom layer, and exits the bootloader;
  • the Linux platform ends the software update process after receiving the prompt information that the verification is successful, and re-initiates a software update request to the low-power embedded platform after receiving the prompt information that the verification fails.
  • the robot software upgrade method provided in this embodiment can also enable the robot 4 to realize remote automated software upgrades, without requiring the pre-sales and after-sales service engineers of the robot manufacturer to intervene in the software upgrade process of the robot 4, which improves the efficiency of software upgrades, and Labor costs are saved; in addition, in this embodiment, since the OTA of the robot manufacturer’s full-platform application software upgrade package is directly integrated into the OTA upgrade process of the customer-defined APP, it can provide customers with a more unified OTA upgrade experience, and further Improved the software upgrade efficiency and user experience of Robot 4.
  • Fig. 4 is a schematic structural diagram of the upgrade server 2 provided in the third embodiment of the present invention. For ease of description, only the parts related to this embodiment are shown.
  • the upgrade server 2 provided in this embodiment includes a memory 21, a processor 22, and a computer program 23 stored on the memory 21 and running on the processor 22.
  • the upgrade server 2 of this embodiment and the robot software upgrade method of the above-mentioned embodiment 1 belong to the same concept.
  • the specific implementation process is detailed in the corresponding method embodiment, and the technical features in the method embodiment are correspondingly applicable in this embodiment. , I won’t repeat it here.
  • FIG. 5 is a schematic structural diagram of the robot 4 provided in the fourth embodiment of the present invention. For ease of description, only the parts related to this embodiment are shown.
  • the robot 4 provided in this embodiment includes a memory 41, a processor 42, and a computer program 43 stored on the memory 41 and running on the processor 42.
  • the computer program 43 is When the processor 42 executes, it implements the steps of the robot software upgrade method described in the second embodiment.
  • the robot 4 in this embodiment and the software upgrade method of the robot in the second embodiment above belong to the same concept.
  • the specific implementation process is detailed in the corresponding method embodiment, and the technical features in the method embodiment are correspondingly applicable in this embodiment. I won't repeat it here.
  • the fifth embodiment of the present invention provides a computer-readable storage medium having a computer program stored on the computer-readable storage medium, and when the computer program is executed by a processor, the computer program described in the first embodiment or the second embodiment is implemented.
  • the steps of the robot's software upgrade method are not limited to:
  • the computer-readable storage medium of this embodiment belongs to the same concept as the software upgrade method of the robot in the first embodiment or the second embodiment.
  • the specific implementation process is detailed in the corresponding method embodiment, and the technical features in the method embodiment are described in this embodiment. All the embodiments are correspondingly applicable, and will not be repeated here.
  • the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may consist of several physical components.
  • the components are executed cooperatively.
  • Some physical components or all physical components can be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit .
  • a processor such as a central processing unit, a digital signal processor, or a microprocessor
  • Such software may be distributed on a computer-readable medium, and the computer-readable medium may include a computer storage medium (or a non-transitory medium) and a communication medium (or a transitory medium).
  • computer storage medium includes volatile and nonvolatile implementations in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data).
  • Information such as computer-readable instructions, data structures, program modules, or other data.
  • Computer storage media include but are not limited to RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or Any other medium used to store desired information and that can be accessed by a computer.
  • communication media usually contain computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as carrier waves or other transmission mechanisms, and may include any information delivery media. .
  • the robot software upgrade method, the upgrade server, the robot, and the storage medium provided by the embodiment of the present invention because the upgrade server detects the preset software upgrade trigger condition, will upgrade the latest version of the robot full-platform application software upgrade package on the server Send to the customer’s application construction server, so that the construction server constructs the customer APK according to the robot full-platform application software upgrade package; then receives the customer APK returned by the construction server, according to the robot full-platform application software upgrade package And the customer APK generates a complete package for the robot upgrade, and sends the complete package to the target customer’s robot, so that the robot performs software upgrades according to the complete package, so that the robot can realize remote automated software upgrades without the need for robots.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

一种机器人的软件升级方法、升级服务器、机器人及存储介质,其中方法包括:当检测到预设的软件升级触发条件时,将升级服务器中最新版本的机器人全平台应用软件升级包发送至客户的应用程序构建服务器,使构建服务器根据全平台应用软件升级包构建客户APK(S201);若在预设时间段内接收到客户的应用程序构建服务器返回的客户APK,则根据客户APK和全平台应用软件升级包生成对机器人升级的完整包,将完整包发送至机器人,使机器人根据完整包进行软件升级(S202);和/或,若在预设时间段内未接收到客户构建服务器返回的客户APK,则终止机器人的软件升级流程(S203)。可同时对机器人全平台及客户软件进行升级,提高了机器人软件升级效率,节省人工成本。

Description

机器人的软件升级方法、升级服务器、机器人及存储介质 技术领域
本发明实施例涉及机器人技术领域,特别涉及一种机器人的软件升级方法、升级服务器、机器人及存储介质。
背景技术
随着智能化时代的到来,机器人已经逐渐走进人们的生活,从工厂产品线上的智能机械手到生活中的服务机器人,我们的社会即将进入智能机器人时代。由于机器人的开发和制造成本较高,频繁更换硬件成本高而且不方便,因此为了提高机器人的使用效能,就需要不断的在原有硬件基础上提升机器人的功能,常用的方式是不断地升级软件。目前,当顾客需要对出厂后的机器人进行软件升级时,需要通过机器人厂商的售前售后服务工程师来完成机器人的软件升级操作,效率较低,且人工成本较高。
技术问题
有鉴于此,本发明实施例的目的在于提供一种机器人的软件升级方法、升级服务器、机器人及存储介质,以解决上述现有技术中需要通过机器人厂商的售前售后服务工程师来完成机器人的软件升级操作,效率较低,且人工成本较高的问题。
技术解决方案
本发明实施例解决上述技术问题所采用的技术方案如下:
根据本发明实施例的第一方面,提供一种机器人的软件升级方法,该方法应用于升级服务器,所述机器人的软件升级方法包括:
当检测到预设的软件升级触发条件时,将所述升级服务器中最新版本的机器人全平台应用软件升级包发送至客户的应用程序构建服务器,使所述构建服务器根据所述机器人全平台应用软件升级包构建客户APK,并对所述客户APK进行测试,在测试通过后将所述客户APK返回至所述升级服务器。
若在预设时间段内接收到所述构建服务器返回的所述客户APK,则根据所述客户APK和所述机器人全平台应用软件升级包生成对机器人升级的完整包,将所述完整包发送至所述机器人,使所述机器人根据所述完整包进行机器人全平台软件及客户软件升级;和/或,若在预设时间段内未接收到所述构建服务器返回的测试通过后的客户APK,则终止所述机器人的软件升级流程。
根据本发明实施例的第二方面,提供一种机器人的软件升级方法,该方法应用于机器人,所述机器人的软件升级方法包括:
通过Android平台接收升级服务器发送的对机器人升级的完整包,对所述完整包进行拆分,分别得到位于应用层的软件功能模块对应的软件升级包及位于底层的软件功能模块对应的软件升级包;所述完整包由所述升级服务器根据机器人全平台应用软件升级包及客户的应用程序构建服务器根据所述机器人全平台应用软件升级包构建的客户APK生成;
通过所述Android平台根据位于应用层的软件功能模块对应的软件升级包对位于应用层的软件功能模块进行软件升级;
通过所述Android平台将位于底层的软件功能模块对应的软件升级包发送到Linux平台,通过所述Linux平台对位于底层的软件功能模块进行升级。
若校验失败,则所述低功耗嵌入式平台向所述Linux平台返回校验失败的提示信息,同时删除与位于底层的软件功能模块对应的软件升级包,并退出bootloader;
所述Linux平台在接收到校验成功的提示信息后结束软件更新流程,在接收到校验失败的提示信息后重新向所述低功耗嵌入式平台发起软件更新请求。
根据本发明实施例的第三方面,提供一种升级服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,该所述计算机程序被所述处理器执行时,实现如上述第一方面中任一项所述的机器人的软件升级方法的步骤。
根据本发明实施例的第四方面提供一种机器人,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,该所述计算机程序被所述处理器执行时,实现如上述第二方面中任一项所述的机器人的软件升级方法的步骤。
根据本发明实施例的第五方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面中任一项所述的机器人的软件升级方法的步骤;或者,实现上述第二方面中任一项所述的机器人的软件升级方法的步骤。
有益效果
本发明实施例提供的机器人的软件升级方法、升级服务器、机器人及存储介质,由于采用升级服务器在检测到预设的软件升级触发条件时,将升级服务器上最新版本的机器人全平台应用软件升级包发送至客户的应用程序构建服务器,使所述构建服务器根据所述机器人全平台应用软件升级包构建客户APK;然后再接收构建服务器返回的所述客户APK,根据所述机器人全平台应用软件升级包及所述客户APK生成对机器人升级的完整包,将所述完整包发送至目标客户的机器人,使所述机器人根据所述完整包进行软件升级,从而可以使机器人实现远程自动化软件升级,无需机器人厂商的售前售后服务工程师介入机器人的软件升级流程,节省了人工成本,提高了软件升级效率;此外,本发明实施例中的升级服务器由于在向客户的应用程序构建服务器发送最新版本的机器人全平台应用软件升级包后,若在预设时间段内未接收到所述构建服务器返回的客户APK,则终止所述机器人的软件升级流程,这样可以保证机器人软件升级的可靠性,防止由于依赖版本冲突导致机器人端软件升级失败的情况发生;由于向机器人发送的完整包包括机器人全平台应用软件升级包及客户APK,从而可以同时完成机器人全平台软件及客户软件进行升级,给客户提供了更统一的软件升级体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中机器人的软件升级系统的架构图。
图2是本发明实施例一提供的机器人的软件升级方法的具体实现流程示意图。
图3是本发明实施例二提供的机器人的软件升级方法的具体实现流程示意图。
图4是本发明实施例三提供的升级服务器的结构示意图。
图5是本发明实施例四提供的机器人的结构示意图。
本发明的实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅以解释本发明,并不用于限定本发明。
图1是本发明实施例中机器人的软件升级系统的架构图。为了便于说明仅仅示出了与本实施例相关的部分。
参见图1所示,本发明实施例中的机器人的软件升级系统包括机器人厂商的构建服务器1、机器人厂商的升级服务器2、客户的应用程序构建服务器3及机器人4;其中,所述升级服务器2分别与所述机器人厂商的构建服务器1、客户的应用程序构建服务器3及所述机器人4通信连接。
其中,所述机器人厂商的构建服务器用于生成Android SDK(Software Development Kit,软件开发工具包),并通过所述Android SDK开发机器人全平台应用软件包,在开发出新版本的机器人全平台应用软件升级包后将其发布至所述升级服务器。
其中,所述升级服务器2为OTA(Over the Air,空中下载)服务器,用于存储所述机器人厂商的构建服务器发布的最新版本的机器人全平台应用软件升级包;还用于根据客户的应用程序构建服务器3返回的客户APK及所述机器人全平台应用软件升级包构建对机器人升级的完整包。具体的,所述升级服务器在接收到客户的应用程序构建服务器3返回的客户APK后,利用编译工具对所述客户APK和所述机器人全平台应用软件包进行编译,然后利用打包工具将编译后的文件打包成所述完整包。
其中,所述客户的应用程序构建服务器3,可以由机器人厂商自己开发,也可以由机器人厂商的外部的客户开发。所述客户的应用程序构建服务器3,用于根据机器人全平台应用软件升级包构建客户APK(Android application package,Android应用程序包),并对所述客户APK进行测试。所述机器人中客户APP(Application,应用程序)的构建需要依赖机器人全平台应用软件。
需要说明的是,所述客户的应用程序构建服务器3可对应多个机器人,即所述升级服务器可利用根据客户的应用程序服务器3返回的客户APK及所述机器人全平台应用软件升级包构建的完整包对该客户的应用程序构建服务器3对应的多个机器人进行升级。进一步的,所述升级服务器可同时与多个客户的应用程序构建服务器建立通信连接,以同时对多个客户的机器人集群进行软件升级;当所述升级服务器与多个客户的应用程序构建服务器建立通信连接时,所述升级服务器会分别根据所述机器人全平台应用软件升级包和各客户的应用程序构建服务器返回的客户APK对应生成多个完整包,并将多个完整包分别下发至对应的客户的机器人集群,不同客户的应用程序构建服务器根据机器人全平台应用软件升级包构建的客户APK可以不同,对应的所述升级服务器根据不同的客户APK生成的完整包也不同。所述机器人包括但不限于智能移动机器人。
基于上述系统结构,提出本发明的以下实施例。
实施例一
图2是本发明实施例一提供的机器人的软件升级方法的具体实现流程示意图。该方法的执行主体为图1所示系统中的升级服务器2,参见图2所示,本实施例提供的机器人的软件升级方法包括:
步骤S201,当检测到预设的软件升级触发条件时,将所述升级服务器2中最新版本的机器人全平台应用软件升级包发送至客户的应用程序构建服务器3,使所述构建服务器3根据所述机器人全平台应用软件升级包构建客户APK。
其中,所述预设的软件升级触发条件包括但不限于:所述升级服务器2上有新版本的机器人全平台应用软件升级包发布;或者,所述升级服务器2接收到所述机器人4发送的软件更新请求。
在一具体实现示例中,当所述升级服务器2上有新版本的机器人全平台应用软件升级包发布时,所述升级服务器2会将主动将最新版本的机器人全平台应用软件升级包推送至至少一个客户的应用程序构建服务器3。
在另一具体实现示例中,所述目标客户的机器人4会定时查询所述升级服务器2上的机器人全平台应用软件升级包是否有更新,当检测到所述升级服务器2上的机器人全平台应用软件升级包有更新时会向所述升级服务器2发送操作系统更新请求,触发所述升级服务器2被动将最新版本的机器人全平台应用软件升级包发送至所述客户的应用程序构建服务器3。
在另一具体实现示例中,当所述目标客户的机器人4的操作系统发生故障时,所述目标客户的机器人4会向所述升级服务器2发送软件更新请求,触发所述升级服务器2被动将最新版本的机器人全平台应用软件升级包发送至所述客户的应用程序构建服务器3。
步骤S202,若在预设时间段内接收到所述构建服务器3返回的所述客户APK,则根据所述客户APK和所述机器人全平台应用软件升级包生成对机器人升级的完整包,将所述完整包发送至所述目标客户的机器人,使所述机器人根据所述完整包进行软件升级;
步骤S203,若在预设时间段内未接收到所述构建服务器3返回的所述客户APK,则终止所述机器人4的软件升级流程。
在本实施例中,所述客户的应用程序构建服务器3在接收到所述升级服务器2发送的最新版本的机器人全平台应用软件升级包后,会根据所述最新版本的机器人全平台应用软件升级包构建客户APK,然后对该客户APK进行测试,在测试通过后将该客户APK返回至升级服务器2,这样可以保证后续软件升级的可靠性。其中,所述客户的构建服务器有一个完整的pipeline(流水线),构建和测试过程中的每一个步骤均对应设置有一个超时时间,所述预设时间段等于pipeline中每个阶段对应的超时时间总和,与项目的代码数量和客户的构建服务器的性能相关,项目的代码数量越少,客户的构建服务器的性能越高,所述预设时间段越短。
在本实施例中,所述最新版本的机器人全平台应用软件升级包为一组确定版本的依赖软件包的集合,所述机器人全平台应用软件升级包和所述依赖软件包的版本规则均为:<主版本>.<次版本>.<增量版本>;
所述依赖软件包的版本号中的主版本号和次版本号分别与所述机器人全平台应用软件升级包的版本号中的主版本号和次版本号相同。
在本实施例中,机器人全平台应用软件包在发布前需要进行完备的测试,由于本实施例中的机器人全平台应用软件包是包括一组确定版本的依赖软件包的集合,这样发布前只需要对这个包含特定版本组合依赖软件包的机器人全平台应用软件升级包进行测试即可,无需测试所有可能软件包的排列组合,减少了测试成本。
在本实施例中,客户自定义APP需要依赖于机器人厂商提供的机器人4的操作系统中的一些依赖软件包,因此可能出现客户自定义的APP A需要V.10版本的依赖软件包B,客户自定义的APP C需要V.1.1版本的依赖软件包B的情况,因此在客户自定义APP升级过程中可能会出现依赖软件包版本冲突导致升级失败的情况,为克服该问题,本实施例中升级服务器2发布的机器人全平台应用软件升级包以机器人4本体上除客户自定义APP以外的所有依赖软件包为对象,不以每个依赖软件包为对象,即每次发布的新的机器人全平台应用软件升级包均为一个所有依赖软件包括的特定版本组合,这样在一个新的机器人全平台应用软件升级包中,每依赖软件包的版本号都是唯一的,这样后续通过将机器人全平台应用软件升级包发送至客户的应用程序构建服务器3,由客户的应用程序构建服务器3根据机器人全平台应用软件升级包构建客户APK,并对客户APK进行测试,在测试通过后将客户APK返回至升级服务器2,然后由升级服务器2根据是否接收到客户的应用程序构建服务器返回的经过完备测试的客户APK决定是否继续执行机器人4软件升级流程,可以避免由于依赖软件包版本冲突导致升级失败的问题。
在本实施例中,为了防止由于依赖软件包版本冲突导致机器人4上的客户自定义APP升级失败,升级服务器2在检测到机器人4预设的软件升级触发条件时,首先将最新版本的机器人全平台应用软件升级包发送至目标客户机器人4的构建服务器3,由目标客户机器人4的构建服务器3利用所述最新版本的机器人全平台应用软件升级包构建客户APK,若构建成功,且所述客户APK成功通过测试,则说明该版本的机器人全平台应用软件升级包不会和机器人4上的客户自定义APP发生依赖关系冲突,因此将所述客户APK返回至升级服务器2,使升级服务器2将所述客户APK发送至待升级的机器人4对待升级的机器人4进行软件升级;反之,则说明该版本的机器人全平台应用软件升级包会与机器人4上的客户自定义APP发生依赖关系冲突,因此向升级服务器2返回构建失败的提示信息,此时升级服务器2为避免机器人4软件升级失败,直接终止机器人4软件升级流程,并通知客户所述机器人全平台应用软件升级包与机器人4上的客户自定义APP存在依赖关系冲突,使客户做出相应的处理。
以上可以看出,本实施例提供的机器人的软件升级方法由于采用升级服务器2在检测到预设的软件升级触发条件时,将升级服务器2上最新版本的机器人全平台应用软件升级包发送至客户的应用程序构建服务器3,使所述构建服务器3根据所述机器人全平台应用软件升级包构建客户APK;然后再接收构建服务器3返回的所述客户APK,根据所述机器人全平台应用软件升级包和客户APK生成对机器人升级的完整包,将完整包发送至机器人4,使所述机器人4根据所述完整包进行软件升级,从而可以使机器人4实现远程自动化软件升级,无需机器人厂商的售前售后服务工程师介入机器人4的软件升级流程,提高了软件升级效率,且节省了人工成本;此外,本发明实施例中的升级服务器2由于在向客户的应用程序构建服务器3发送最新版本的机器人全平台应用软件升级包后,若在预设时间段内未接收到所述构建服务器3返回的客户APK,则终止所述机器人4的软件升级流程,这样可以保证机器人4软件升级的可靠性,防止由于依赖版本冲突导致机器人4端软件升级失败的情况发生;由于向机器人发送的完整包包括机器人全平台应用软件升级包及客户APK,从而可以同时完成机器人全平台软件及客户软件进行升级,给客户提供了更统一的软件升级体验。
实施例二
图3是本发明实施例二提供的机器人的软件升级方法的具体实现流程示意图。该方法的执行主体为图1所示系统中的机器人4,参见图3所示,本实施例提供的机器人的软件升级方法包括:
步骤S301,通过Android平台接收升级服务器发送的对机器人升级的完整包,对所述完整包进行拆分,分别得到位于应用层的软件功能模块对应的软件升级包及位于底层的软件功能模块对应的软件升级包;所述完整包由所述升级服务器根据机器人全平台应用软件升级包及客户的应用程序构建服务器根据所述机器人全平台应用软件升级包构建的客户APK生成。
在本实施例中,由于所述完整包是升级服务器基于最新版本的机器人全平台应用软件升级包和客户的应用程序构建服务器根据所述机器人全平台应用软件升级包构建的客户APK生成的,而该最新版本的机器人全平台应用软件升级包为一组确定版本的依赖软件包的集合,因此所述完整包不仅包括客户APP的软件升级包还包括所述最新版本的机器人全平台应用软件的升级包。所述机器人4在接收到所述完整包后可根据manifest.xml拆分出多个位于应用层的软件功能模块对应的升级包和多个位于底层的软件功能模块对应的软件升级包。
步骤S302,通过所述Android平台根据位于应用层的软件功能模块对应的软件升级包对位于应用层的软件功能模块进行软件升级。
在本实施例中,所述机器人4内包括Android平台、Linux平台及低功耗嵌入式平台,机器人4内一些软件功能模块位于应用层的Android平台内,一些软件功能模块位于底层的低功耗嵌入式平台内,Android平台和低功耗嵌入式平台分别由各自的OTA Service进程来维护各自的软件模块的升级。
在本实施例中,由所述Android平台通过第一OTA Service进程获取位于应用层中的软件功能模块对应的软件升级包,并根据获取到的软件升级包对位于Android平台中的软件功能模块进行软件升级。在本实施例中,所述Android平台在获取到应用层中软件功能模块的升级包后采用小修补的方式对所述软件功能模块进行升级。
优选的,在本实施例中,在进入步骤S302之前还包括:控制所述机器人4前往开机区,并进入到待机状态。由于导航技术软件包更新时,会重启软件包,导致无法定位,因此本实施例中在对机器人4进行升级前先提前将机器人4移动至开机区,以避免导航技术软件包升级时影响机器人4导航功能。
步骤S303,通过所述Android平台将位于底层的软件功能模块对应的软件升级包发送到Linux平台,通过所述Linux平台对位于底层的软件功能模块进行升级。
在本实施例中,所述机器人4通过所述Android平台将位于底层低功耗嵌入式平台中的软件功能模块对应的软件升级包发送到Linux平台,所述Linux平台通过第二OTA Service进程获取位于     低功耗嵌入式平台中的软件功能模块对应的升级包,并根据获取到的软件升级包对位于低功耗嵌入式平台中的软件功能模块进行软件升级。进一步的,所述将位于底层的软件功能模块对应的软件升级包发送到Linux平台,通过所述Linux平台对位于低功耗嵌入式平台中的软件功能模块进行升级包括:
通过Linux平台接收位于底层的软件功能模块对应的软件升级包,解析与位于底层的软件功能模块对应的软件升级包的第一版本号;
向低功耗嵌入式平台发送软件更新请求,使所述低功耗嵌入式平台根据所述软件更新请求将与位于底层的软件功能模块对应的软件的第二版本号返回至所述Linux平台;
所述Linux平台接收所述第二版本号,并将所述第一版本号与所述第二版本号进行比较,判断是否对位于底层的软件功能模块进行升级;
若所述第一版本号大于所述第二版本号,则将与位于底层的软件功能模块对应的软件升级包发送至所述低功耗嵌入式平台,使所述低功耗嵌入式平台根据所述软件升级包对位于底层的软件功能模块进行升级。
进一步的,将与位于底层的软件功能模块对应的软件升级包发送至所述低功耗嵌入式平台,使所述低功耗嵌入式平台根据所述软件升级包对位于底层的软件功能模块进行升级包括:
通过Linux平台创建与位于底层的软件功能模块对应的软件升级包的软链接,将软链接文件名称发送至所述低功耗嵌入式平台;
所述低功耗嵌入式平台接收到所述软链接文件名后跳转至bootloader引导程序,并根据所述软链接文件名从所述Linux平台读取与位于底层的软件功能模块对应的软件升级包;
所述低功耗嵌入式平台根据与位于底层的软件功能模块对应的软件升级包对位于底层的软件功能模块进行升级,并在升级完成后退出bootloader。
进一步的,所述低功耗嵌入式平台接收到所述软链接文件名后跳转至bootloader,并根据所述软链接文件名从所述Linux平台读取与位于底层的软件功能模块对应的软件升级包之后还包括:
当所述低功耗嵌入式平台读取完与位于底层的软件功能模块对应的软件升级包后,对所述升级包进行校验;
若校验成功,则所述低功耗嵌入式平台向所述Linux平台返回校验成功的提示信息,同时根据与位于底层的软件功能模块对应的软件升级包对位于底层的软件功能模块进行升级,在升级完成后退出bootloader;
若校验失败,则所述低功耗嵌入式平台向Linux平台返回校验失败的提示信息,同时删除与位于底层的软件功能模块对应的软件升级包,退出bootloader;
所述Linux平台在接收到校验成功的提示信息后结束软件更新流程,在接收到校验失败的提示信息后重新向所述低功耗嵌入式平台发起软件更新请求。
以上可以看出,本实施例提供的机器人的软件升级方法同样可以使机器人4实现远程自动化软件升级,无需机器人厂商的售前售后服务工程师介入机器人4的软件升级流程,提高了软件升级效率,且节省了人工成本;此外,本实施例中由于直接将机器人厂商机器人全平台应用软件升级包的OTA融入到客户自定义APP的OTA升级流程中,从而可以给客户提供更统一的OTA升级体验,进一步提升了机器人4的软件升级效率和用户体验。
实施例三
图4是本发明实施例三提供的升级服务器2的结构示意图。为了便于说明,仅仅示出了与本实施例相关的部分。
参见图4所示,本实施例提供的升级服务器2,包括存储器21、处理器22及存储在所述存储器21上并可在所述处理器22上运行的计算机程序23,该所述计算机程序23被所述处理器22执行时,实现如上述实施例一所述的机器人的软件升级方法的步骤。
本实施例的升级服务器2与上述实施例一的机器人的软件升级方法属于同一构思,其具体实现过程详细见对应的方法实施例,且方法实施例中的技术特征在本实施例中均对应适用,这里不再赘述。
实施例四
图5是本发明实施例四提供的机器人4的结构示意图。为了便于说明仅仅示出了与本实施例相关的部分。
参见图5所示,本实施例提供的机器人4包括存储器41、处理器42及存储在所述存储器41上并可在所述处理器42上运行的计算机程序43,该所述计算机程序43被所述处理器42执行时,实现如上述实施例二所述的机器人的软件升级方法的步骤。
本实施例的机器人4与上述实施例二的机器人的软件升级方法属于同一构思,其具体实现过程详细见对应的方法实施例,且方法实施例中的技术特征在本实施例中均对应适用,这里不再赘述。
实施例五
本发明实施例五提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述实施例一或实施例二所述的机器人的软件升级方法的步骤。
本实施例的计算机可读存储介质与上述实施例一或实施例二的机器人的软件升级方法属于同一构思,其具体实现过程详细见对应的方法实施例,且方法实施例中的技术特征在本实施例中均对应适用,这里不再赘述。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
工业实用性
本发明实施例提供的机器人的软件升级方法、升级服务器、机器人及存储介质,由于采用升级服务器在检测到预设的软件升级触发条件时,将升级服务器上最新版本的机器人全平台应用软件升级包发送至客户的应用程序构建服务器,使所述构建服务器根据所述机器人全平台应用软件升级包构建客户APK;然后再接收构建服务器返回的所述客户APK,根据所述机器人全平台应用软件升级包及所述客户APK生成对机器人升级的完整包,将所述完整包发送至目标客户的机器人,使所述机器人根据所述完整包进行软件升级,从而可以使机器人实现远程自动化软件升级,无需机器人厂商的售前售后服务工程师介入机器人的软件升级流程,节省了人工成本,提高了软件升级效率;此外,本发明实施例中的升级服务器由于在向客户的应用程序构建服务器发送最新版本的机器人全平台应用软件升级包后,若在预设时间段内未接收到所述构建服务器返回的客户APK,则终止所述机器人的软件升级流程,这样可以保证机器人软件升级的可靠性,防止由于依赖版本冲突导致机器人端软件升级失败的情况发生;由于向机器人发送的完整包包括机器人全平台应用软件升级包及客户APK,从而可以同时完成机器人全平台软件及客户软件进行升级,给客户提供了更统一的软件升级体验。因此,具有工业适用性。

Claims (10)

  1. 一种机器人的软件升级方法,应用于机器人升级服务器,所述机器人的软件升级方法包括:
    当检测到预设的软件升级触发条件时,将所述升级服务器中最新版本的机器人全平台应用软件升级包发送至客户的应用程序构建服务器,使所述构建服务器根据所述机器人全平台应用软件升级包构建客户APK,并对所述客户APK进行测试,将测试通过后将所述客户APK返回至所述升级服务器;
    若在预设时间段内接收到所述构建服务器返回的所述测试通过后的客户APK,则根据所述客户APK和所述机器人全平台应用软件升级包生成对机器人升级的完整包,将所述完整包发送至所述机器人,使所述机器人根据所述完整包进行机器人全平台软件及客户软件升级;和/或,
    若在预设时间段内未接收到所述构建服务器返回的客户APK,则终止所述机器人的软件升级流程。
  2. 如权利要求1所述机器人的软件升级方法,其中,所述最新版本的机器人全平台应用软件升级包为一组确定版本的依赖软件包的集合,所述机器人全平台应用软件升级包和所述依赖软件包的版本规则均为:<主版本>.<次版本>.<增量版本>;
    所述依赖软件包的版本号中的主版本号和次版本号分别与所述机器人全平台应用软件升级包的版本号中的主版本号和次版本号相同。
  3. 如权利要求1所述的机器人的软件升级方法,其中,所述预设的软件升级触发条件包括:
    所述升级服务器上有新版本的机器人全平台应用软件升级包发布;或者,所述升级服务器接收到所述机器人发送的软件更新请求。
  4. 一种机器人的软件升级方法,应用于机器人,所述机器人的软件升级方法包括:
    通过Android平台接收升级服务器发送的对机器人升级的完整包,对所述完整包进行拆分,分别得到位于应用层的软件功能模块对应的软件升级包及位于底层的软件功能模块对应的软件升级包;所述完整包由所述升级服务器根据机器人全平台应用软件升级包及客户的应用程序构建服务器根据所述机器人全平台应用软件升级包构建的客户APK生成;
    通过所述Android平台根据位于应用层的软件功能模块对应的软件升级包对位于应用层的软件功能模块进行软件升级;
    通过所述Android平台将位于底层的软件功能模块对应的软件升级包发送到Linux平台,通过所述Linux平台对位于底层的软件功能模块进行升级。
  5. 如权利要求4所述的机器人的软件升级方法,其中,所述通过所述Android平台将位于底层的软件功能模块对应的软件升级包发送到Linux平台,通过所述Linux平台对位于底层的软件功能模块进行升级包括:
    通过所述Android平台将位于底层的软件功能模块对应的软件升级包发送到Linux平台,通过Linux平台接收位于底层的软件功能模块对应的软件升级包,解析与位于底层的软件功能模块对应的软件升级包的第一版本号;
    向低功耗嵌入式平台发送软件更新请求,使所述低功耗嵌入式平台根据所述软件更新请求将与位于底层的软件功能模块对应的软件的第二版本号返回至所述Linux平台;
    所述Linux平台接收所述第二版本号,并将所述第一版本号与所述第二版本号进行比较,判断是否对位于底层的软件功能模块进行升级;
    若所述第一版本号大于所述第二版本号,则将与位于底层的软件功能模块对应的软件升级包发送至所述低功耗嵌入式平台,使所述低功耗嵌入式平台根据所述软件升级包对位于底层的软件功能模块进行升级。
  6. 如权利要求5所述的机器人的软件升级方法,其中,将与位于底层的软件功能模块对应的软件升级包发送至所述低功耗嵌入式平台,使所述低功耗嵌入式平台根据所述软件升级包对位于底层的软件功能模块进行升级包括:
    通过Linux平台创建与位于底层的软件功能模块对应的软件升级包的软链接,将软链接文件名称发送至所述低功耗嵌入式平台;
    所述低功耗嵌入式平台接收到所述软链接文件名后跳转至bootloader,并根据所述软链接文件名从所述Linux平台读取与位于底层的软件功能模块对应的软件升级包;
    所述低功耗嵌入式平台根据与位于底层的软件功能模块对应的软件升级包对位于底层的软件功能模块进行升级,并在升级完成后退出bootloader。
  7. 如权利要求6所述的机器人的软件升级方法,其中,所述低功耗嵌入式平台接收到所述软链接文件名后跳转至bootloader,并根据所述软链接文件名从所述Linux平台读取与位于底层的软件功能模块对应的软件升级包之后还包括:
    当所述低功耗嵌入式平台读取完与位于底层的软件功能模块对应的软件升级包后,对所述升级包进行校验;
    若校验成功,则所述低功耗嵌入式平台向所述Linux平台返回校验成功的提示信息,同时根据与位于底层的软件功能模块对应的软件升级包对位于底层的软件功能模块进行升级,在升级完成后退出bootloader;
    若校验失败,则所述低功耗嵌入式平台向所述Linux平台返回校验失败的提示信息,同时删除与位于底层的软件功能模块对应的软件升级包,退出bootloader;
    所述Linux平台在接收到校验成功的提示信息后结束软件更新流程,在接收到校验失败的提示信息后重新向所述低功耗嵌入式平台发起软件更新请求。
  8. 一种升级服务器,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,该所述计算机程序被所述处理器执行时,实现如权利要求1至3中任一项所述的机器人的软件升级方法的步骤。
  9. 一种机器人,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,该所述计算机程序被所述处理器执行时,实现如权利要求4至7中任一项所述的机器人的软件升级方法的步骤。
  10. 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1~3任一项所述的机器人的软件升级方法的步骤;或者,实现如权利要求4至7中任一项所述的机器人的软件升级方法的步骤。
PCT/CN2021/070669 2020-01-09 2021-01-07 机器人的软件升级方法、升级服务器、机器人及存储介质 WO2021139727A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010023057.9A CN110837388B (zh) 2020-01-09 2020-01-09 机器人的软件升级方法、升级服务器、机器人及存储介质
CN202010023057.9 2020-01-09

Publications (1)

Publication Number Publication Date
WO2021139727A1 true WO2021139727A1 (zh) 2021-07-15

Family

ID=69578608

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/070669 WO2021139727A1 (zh) 2020-01-09 2021-01-07 机器人的软件升级方法、升级服务器、机器人及存储介质

Country Status (2)

Country Link
CN (1) CN110837388B (zh)
WO (1) WO2021139727A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110837388B (zh) * 2020-01-09 2020-05-29 炬星科技(深圳)有限公司 机器人的软件升级方法、升级服务器、机器人及存储介质
CN111309636B (zh) * 2020-05-14 2020-09-08 炬星科技(深圳)有限公司 机器人自动化测试系统、方法、构建服务器及存储介质
CN111722861B (zh) * 2020-06-17 2023-03-10 中国第一汽车股份有限公司 一种应用程序升级方法、装置、设备及存储介质
CN111857767B (zh) * 2020-06-19 2022-07-19 苏州浪潮智能科技有限公司 一种基于虚拟机自动迁移的虚拟化系统升级方法及装置
CN114090049A (zh) * 2021-11-30 2022-02-25 上海有个机器人有限公司 机器人远程打包升级方法、系统及相关产品
CN113918196B (zh) * 2021-12-10 2022-03-04 北京云迹科技有限公司 数据处理方法、升级方法、装置、服务器及移动机器人

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105005491A (zh) * 2015-08-11 2015-10-28 上海斐讯数据通信技术有限公司 一种Linux内核和应用程序的升级方法及系统
CN106897086A (zh) * 2017-01-13 2017-06-27 北京光年无限科技有限公司 用于升级机器人操作系统的方法、装置及系统
US20170255458A1 (en) * 2016-03-07 2017-09-07 Luxrobo Module system, module based robot system, and update method for module system
CN107566444A (zh) * 2017-07-13 2018-01-09 塔米智能科技(北京)有限公司 一种机器人远程内容定制服务系统及工作方法
CN110378153A (zh) * 2019-07-18 2019-10-25 上海擎感智能科技有限公司 一种升级包安全下载方法及系统
CN110837388A (zh) * 2020-01-09 2020-02-25 炬星科技(深圳)有限公司 机器人的软件升级方法、升级服务器、机器人及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110003682A (ko) * 2009-07-06 2011-01-13 주식회사 엘지유플러스 동일 연결세션에서 동기화 과정과 업그레이드 과정을 수행하는 이동통신 단말기 및 그 제어방법과, 해당 이동통신 단말기와 통신하는 업그레이드 서버
CN102098303A (zh) * 2011-01-21 2011-06-15 汉柏科技有限公司 实现自动化升级的硬件防火墙及其升级方法
US9348573B2 (en) * 2013-12-02 2016-05-24 Qbase, LLC Installation and fault handling in a distributed system utilizing supervisor and dependency manager nodes
KR20180051001A (ko) * 2016-11-07 2018-05-16 삼성전자주식회사 카메라와 연결되는 전자 장치 및 그 제어 방법
CN107291511A (zh) * 2017-06-30 2017-10-24 百度在线网络技术(北京)有限公司 用于车载安卓系统的应用程序升级的方法和装置
CN108377250A (zh) * 2018-05-08 2018-08-07 山西乐博特机器人教育科技有限公司 教育机器人编程系统
CN108845562A (zh) * 2018-06-09 2018-11-20 铠龙东方汽车有限公司 一种基于车联网的智能车载服务系统
CN109508249B (zh) * 2018-11-15 2022-05-31 厦门美图之家科技有限公司 崩溃处理方法、装置及电子设备
CN110659049A (zh) * 2019-09-24 2020-01-07 北京智行者科技有限公司 自动驾驶车辆的ota升级方法及终端设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105005491A (zh) * 2015-08-11 2015-10-28 上海斐讯数据通信技术有限公司 一种Linux内核和应用程序的升级方法及系统
US20170255458A1 (en) * 2016-03-07 2017-09-07 Luxrobo Module system, module based robot system, and update method for module system
CN106897086A (zh) * 2017-01-13 2017-06-27 北京光年无限科技有限公司 用于升级机器人操作系统的方法、装置及系统
CN107566444A (zh) * 2017-07-13 2018-01-09 塔米智能科技(北京)有限公司 一种机器人远程内容定制服务系统及工作方法
CN110378153A (zh) * 2019-07-18 2019-10-25 上海擎感智能科技有限公司 一种升级包安全下载方法及系统
CN110837388A (zh) * 2020-01-09 2020-02-25 炬星科技(深圳)有限公司 机器人的软件升级方法、升级服务器、机器人及存储介质

Also Published As

Publication number Publication date
CN110837388A (zh) 2020-02-25
CN110837388B (zh) 2020-05-29

Similar Documents

Publication Publication Date Title
WO2021139727A1 (zh) 机器人的软件升级方法、升级服务器、机器人及存储介质
US7200845B2 (en) System and method for high availability firmware load
US11068252B2 (en) System and method for dynamically determining applicable updates
CN109117168A (zh) 无人机固件更新方法、装置、无人机及存储介质
US20110283274A1 (en) Firmware image update and management
CN106250192A (zh) 上位机的软件升级方法及系统
CN111813428A (zh) 终端固件的升级方法、装置、电子设备及存储介质
CN110678850B (zh) 自动化装置测试分类系统和技术
US7418589B2 (en) System and method for updating a basic input/output system
US10274919B2 (en) Method, device and computer program product for programming a plurality of control units
JP7345921B2 (ja) マスタースレーブアーキテクチャのota差分更新方法とシステム
US20030106052A1 (en) System and method for high availability firmware load
CN112394966A (zh) 设备升级方法、装置、计算机可读介质及设备
WO2021227690A1 (zh) 机器人自动化测试系统、方法、构建服务器及存储介质
CN108182078B (zh) 一种优化的弹载设备不拆弹软件在线升级方法
CN110569053A (zh) 电子设备中应用芯片的升级方法及电子设备
CN117170803A (zh) 生成信创操作系统流水线的方法、电子设备及存储介质
WO2020107436A1 (zh) 程序的升级方法和嵌入式设备
US20130080751A1 (en) Method and device for updating bios program for computer system
CN111459524A (zh) 软件的升级方法、装置、系统
CN114489711A (zh) 终端升级方法、装置及存储介质
WO2021057880A1 (zh) 物联网设备的程序升级方法、装置及物联网设备
US20220391192A1 (en) Ota master, center, system, method, non-transitory storage medium, and vehicle
US20220391194A1 (en) Ota master, system, method, non-transitory storage medium, and vehicle
KR102238378B1 (ko) 단말의 펌웨어 다운로드를 제어하는 방법 및 서버

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21738624

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21738624

Country of ref document: EP

Kind code of ref document: A1