CN109995711B - Application development method and device of intelligent robot, terminal equipment and medium - Google Patents

Application development method and device of intelligent robot, terminal equipment and medium Download PDF

Info

Publication number
CN109995711B
CN109995711B CN201711484095.9A CN201711484095A CN109995711B CN 109995711 B CN109995711 B CN 109995711B CN 201711484095 A CN201711484095 A CN 201711484095A CN 109995711 B CN109995711 B CN 109995711B
Authority
CN
China
Prior art keywords
intelligent robot
function
rpc
calling
associated data
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201711484095.9A
Other languages
Chinese (zh)
Other versions
CN109995711A (en
Inventor
熊友军
刘志立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Youbijie Education Technology Co ltd
Shenzhen Ubtech Technology Co ltd
Original Assignee
Ubtech Robotics Corp
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 Ubtech Robotics Corp filed Critical Ubtech Robotics Corp
Priority to CN201711484095.9A priority Critical patent/CN109995711B/en
Publication of CN109995711A publication Critical patent/CN109995711A/en
Application granted granted Critical
Publication of CN109995711B publication Critical patent/CN109995711B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

The invention is suitable for the technical field of robots and provides an application development method, terminal equipment and a medium of an intelligent robot, wherein the method comprises the following steps: starting a remote procedure call protocol (RPC) client pre-installed on terminal equipment; establishing communication connection with an intelligent robot running with an RPC server through the RPC client; acquiring associated data corresponding to an application program developed by a user on the terminal equipment; and transmitting the associated data to the intelligent robot so that the intelligent robot calls an Application Programming Interface (API) function corresponding to the associated data in a preset SDK library. In the invention, the user does not need to burn the developed executable program into the intelligent robot, so that the operation complexity of application development is reduced; in addition, the user only needs to develop the robot application on the terminal equipment of the user, so that platform independence and language independence of application development are realized, and the difficulty of the user in application development of the intelligent robot is reduced.

Description

Application development method and device of intelligent robot, terminal equipment and medium
Technical Field
The invention belongs to the technical field of robots, and particularly relates to an application development method and device of an intelligent robot, terminal equipment and a medium.
Background
Currently, when an intelligent robot leaves a factory, a manufacturer usually provides a Software Development Kit (SDK) Kit. If the user wants to control the intelligent robot to execute a certain function, the user can directly link the SDK library in the terminal of the user. And calling the SDK to complete the development of the function and further output an executable program corresponding to the function. After that, the developer burns the executable program into the control unit of the intelligent robot, and the intelligent robot can execute the developed functions based on the local application program.
In the application and development process of the existing intelligent robot, many developers only want to control the intelligent robot to perform simple actions such as walking, leg lifting, retreating and the like so as to verify the experimental theory of the developers, and the intelligent robot integrating the simple functions is not needed to be used as a formed commercial product. However, for developers, each experiment requires burning the application program to the intelligent robot again, so the whole process is cumbersome to operate. In addition, since the SDK provided by the manufacturer must run on a specific hardware platform and operating system, developers must additionally learn the knowledge of the hardware platform and the operating system to develop normal applications. For example, if the SDK library of the smart robot needs to run on a Linux ARM (Advanced RISC Machine) platform, the developer must learn some knowledge of Linux development and ARM embedding before code development. Therefore, the application development process of the existing intelligent robot is greatly restricted, and the difficulty of user development is high.
Disclosure of Invention
In view of this, embodiments of the present invention provide an application development method and apparatus for an intelligent robot, a terminal device, and a medium, so as to solve the problems that in the prior art, the application development difficulty of the intelligent robot is high and the operation is complicated.
The first aspect of the embodiments of the present invention provides an application development method for an intelligent robot, including:
starting a remote procedure call protocol (RPC) client pre-installed on terminal equipment;
establishing communication connection with an intelligent robot running with an RPC server through the RPC client;
acquiring a calling parameter of an application program developed on the terminal equipment by a user;
and transmitting the calling parameters to the intelligent robot so that the intelligent robot calls an Application Programming Interface (API) function corresponding to the calling parameters in a preset Software Development Kit (SDK) library.
A second aspect of an embodiment of the present invention provides an application development apparatus for an intelligent robot, including:
the starting unit is used for starting a remote procedure call protocol (RPC) client pre-installed on the terminal equipment;
the connection unit is used for establishing communication connection with the intelligent robot running with the RPC server through the RPC client;
the acquisition unit is used for acquiring associated data corresponding to an application program developed on the terminal equipment by a user;
and the transmission unit is used for transmitting the associated data to the intelligent robot so that the intelligent robot calls an Application Programming Interface (API) function corresponding to the associated data in a preset Software Development Kit (SDK) library.
A third aspect of the embodiments of the present invention provides a terminal device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the following steps when executing the computer program:
starting a remote procedure call protocol (RPC) client pre-installed on terminal equipment;
establishing communication connection with an intelligent robot running with an RPC server through the RPC client;
acquiring associated data corresponding to an application program developed by a user on the terminal equipment;
and transmitting the associated data to the intelligent robot so that the intelligent robot calls an Application Programming Interface (API) function corresponding to the associated data in a preset Software Development Kit (SDK) library.
A fourth aspect of embodiments of the present invention provides a computer-readable storage medium storing a computer program which, when executed by a processor, implements the steps of:
starting a remote procedure call protocol (RPC) client pre-installed on terminal equipment;
establishing communication connection with an intelligent robot running with an RPC server through the RPC client;
acquiring associated data corresponding to an application program developed by a user on the terminal equipment;
and transmitting the associated data to the intelligent robot so that the intelligent robot calls an Application Programming Interface (API) function corresponding to the associated data in a preset Software Development Kit (SDK) library.
In the embodiment of the invention, the communication connection between the RPC client and the intelligent robot running with the RPC server is established by starting the installed RPC client at the terminal equipment of the user, so that the user can directly remotely control the intelligent robot to execute the function operation corresponding to the application program after developing the application program, therefore, in the process of controlling the operation of the robot, the user does not need to burn the developed executable program into the intelligent robot, and the operation complexity of application development is reduced; in addition, the SDK library is preset in the intelligent robot, and a user only needs to develop the robot application on own terminal equipment, so that the limitation of the SDK operation environment and the programming language is avoided, the platform independence and the language independence of application development are realized, the development program on the terminal equipment and the control program on the robot are distributed and deployed, and the application development difficulty of the user on the intelligent robot is reduced.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive exercise.
Fig. 1 is a flowchart of an implementation of an application development method for an intelligent robot according to an embodiment of the present invention;
fig. 2 is a flowchart illustrating a specific implementation of the application development method S104 of the intelligent robot according to an embodiment of the present invention;
fig. 3 is a flowchart of another specific implementation of the application development method S104 of the intelligent robot according to the embodiment of the present invention;
fig. 4 is a flowchart of an implementation of an application development method for an intelligent robot according to another embodiment of the present invention;
fig. 5 is a block diagram of an application development apparatus of an intelligent robot according to an embodiment of the present invention;
fig. 6 is a schematic diagram of a terminal device according to an embodiment of the present invention.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail.
In order to explain the technical means of the present invention, the following description will be given by way of specific examples.
Referring to fig. 1, fig. 1 is a flowchart illustrating an implementation of an application development method for an intelligent robot according to an embodiment of the present invention. The implementation flow shown in fig. 1 includes steps S101 to S104, and the implementation principle of each step is specifically as follows:
s101: and starting a remote procedure call protocol (RPC) client pre-installed on the terminal equipment.
In the embodiment of the invention, RPC refers to a protocol of remote procedure call. And integrating the development client installed on the terminal equipment in advance according to the RPC framework program introduced by a developer or a manufacturer to obtain the RPC client. The development client provides an application program of a program development environment for the terminal device, and the program development environment comprises a code editor, a compiler, a debugger, a graphical user interface and the like.
Terminal devices include, but are not limited to, servers, desktop computers, laptops, smart phones, tablets, and Personal Digital Assistants (PDAs), among others.
In the embodiment of the present invention, the RPC framework program may be an existing open-source RPC framework program, such as a gRPC, Apache thread, and bRPC, or may be a set of RPC framework programs written by developers themselves or an RPC framework program written in combination with the open-source RPC framework, which is not limited herein.
When an RPC client function service starting instruction in the development client is detected, or when the development client is detected to be started, the RPC client is determined to be started.
S102: and establishing communication connection with the intelligent robot running with the RPC server side through the RPC client side.
In the embodiment of the invention, based on the same implementation principle as the RPC client, the RPC server is pre-installed in the intelligent robot, but the difference is that for the intelligent robot, the imported RPC framework program is used for providing the RPC server function, and for the development client on the developer terminal equipment, the imported RPC framework program is used for providing the RPC client function, so that partial function difference exists between the RPC framework programs of the intelligent robot and the development client, and the difference between the specific implementation codes is caused.
And when the RPC server side in the intelligent robot is detected to be started, starting the RPC server side function service.
In the embodiment of the invention, the network address and the port number input by a developer or a robot administrator in the RPC server are obtained, or the network address and the port number of the RPC server are determined based on an address automatic detection mode of the RPC server. And receiving the network address and the port number input by the developer in the RPC client.
According to the network address and the port number received by the RPC client, the RPC client sends a host search request in the Internet or the local area network to determine the network resource position of the RPC server corresponding to the network address, and requests to establish communication connection with the intelligent robot running the network resource position of the RPC server. And when the communication connection confirmation instruction is detected, establishing remote connection between the RPC client and the RPC server based on the service port corresponding to the port number.
Preferably, after the network resource address of the RPC server is determined, a communication connection request is sent, and after the legitimacy authentication is completed, the RPC server is connected. The legality authentication process includes but is not limited to account information authentication, terminal equipment serial number authentication, other authentication modes and the like.
S103: and acquiring associated data corresponding to the application program developed on the terminal equipment by the user.
In the development client, a developer develops the intelligent robot application program, that is, the development client can receive the application program source code input by the user. And compiling the source code by using the development client to obtain the application program to be developed.
In the embodiment of the invention, the RPC client needs to communicate with the RPC server based on the binary RPC protocol, so that each parameter value related to the application program is read, and each obtained parameter value is serialized into a binary form. The parameter values include, but are not limited to, method names, function names, and other types of variable parameters called by the application.
S104: and transmitting the associated data to the intelligent robot so that the intelligent robot calls an Application Programming Interface (API) function corresponding to the associated data in a preset Software Development Kit (SDK) library.
In the embodiment of the invention, an SDK library issued by a robot manufacturer and used for developing the function application of the robot is preset in the intelligent robot. The SDK library is preset in the intelligent robot by a manufacturer.
In particular, for an intelligent robot that has been shipped from a factory and does not have an SDK library stored therein, since the SDK library is provided separately by a manufacturer to a developer, the SDK library can be reintroduced into the intelligent robot by the developer.
When an RPC client on the terminal equipment initiates a remote procedure call to an RPC server in the intelligent robot, parameters of the method call in the RPC client need to pass through a bottom-layer network protocol so as to transmit serialized associated data to the RPC server.
And transmitting the relevant data corresponding to the serialized Application program to a connected intelligent robot through a network so that the intelligent robot carries out deserialization processing on the relevant data, and searching an Application Programming Interface (API) function corresponding to the relevant data in an address space of the intelligent robot after the relevant data can be converted into a preset format which can be read by the intelligent robot.
And the intelligent robot calls the API function obtained by local search. Since each API function is used for controlling the intelligent robot to perform a function, for example, controlling the intelligent robot to walk straight, turn, dance, etc., remote control of the intelligent robot through the terminal device of the developer is achieved.
In the embodiment of the invention, the communication connection between the RPC client and the intelligent robot running with the RPC server is established by starting the installed RPC client at the terminal equipment of the user, so that the user can directly remotely control the intelligent robot to execute the function operation corresponding to the application program after developing the application program, therefore, in the process of controlling the operation of the robot, the user does not need to burn the developed executable program into the intelligent robot, and the operation complexity of application development is reduced; in addition, the SDK library is preset in the intelligent robot, and a user only needs to develop the robot application on own terminal equipment, so that the limitation of the SDK operation environment and the programming language is avoided, the platform independence and the language independence of application development are realized, the development program on the terminal equipment and the control program on the robot are distributed and deployed, and the application development difficulty of the user on the intelligent robot is reduced.
As an embodiment of the present invention, fig. 2 shows a specific implementation flow of the application development method S104 of the intelligent robot provided in the embodiment of the present invention, which is detailed as follows:
s1041: and acquiring a function identification code corresponding to the calling parameter name based on a comparison table maintained in advance by the RPC client.
The RPC client pre-maintains a comparison table which is used for storing the corresponding relation between the calling function name and the function identification code. The function identification code represents a unique identification number of the calling function, and the program code of the calling function is associated with the function identification code corresponding to the calling function in the address space corresponding to the terminal equipment.
In the embodiment of the invention, each parameter value related to the application program developed by a developer comprises a function name of a function required to be called by the application program, namely a calling function name. And determining a function identification code corresponding to each function name required to be called by the application program in the comparison table maintained by the RPC client. The expression form of the function identifier includes, but is not limited to, a character string, an integer value, and the like.
S1042: and transmitting the associated data carrying the function identification code to the intelligent robot so that the intelligent robot calls the API function corresponding to the calling function name in a preset SDK library within the function calling duration after determining the calling function name corresponding to the function identification code according to the comparison table maintained by the RPC server.
When the RPC client executes remote process calling on the intelligent robot, the associated data of the application program is serialized to obtain a data stream represented in a binary form. And for each determined function identification code, attaching the function identification code to the data stream of the corresponding calling function name, and transmitting the data stream carrying the function identification code to the RPC server of the intelligent robot through the network.
In the embodiment of the invention, the RPC server of the intelligent robot maintains a comparison table, and the comparison table is also used for storing the corresponding relation between the calling function name and the function identification code. And for the same calling function name, the corresponding function identification codes in the comparison table maintained by the RPC client and the comparison table maintained by the RPC server are the same.
When the RPC server of the intelligent robot receives the data stream transmitted by the RPC client, the data stream is deserialized, and the function identification code contained in the data stream is extracted. And the intelligent robot searches the calling function name corresponding to the extracted function identification code in a comparison table maintained by the RPC server. According to the function identification code, the intelligent robot determines an address space for storing the function code, so as to obtain the API function code matched with the calling function name from the address space, and execute the API function code.
In the embodiment of the invention, the comparison table of the calling function name and the function identification code corresponding relation is respectively maintained at the RPC client and the RPC server, so that the problem that the API function code cannot be searched by the function pointer due to the fact that the RPC client and the RPC server are distributed in different terminal equipment or correspond to different address spaces when the RPC client executes remote process calling is avoided, and the communication stability of the RPC client and the RPC server is ensured, so that a user only needs to develop robot application on own terminal equipment without being limited by an SDK (software development kit) operating environment and a programming language, and the application development difficulty of the user on the intelligent robot is reduced.
As an embodiment of the present invention, fig. 3 shows another specific implementation flow of the application development method S104 of the intelligent robot provided in the embodiment of the present invention, which is detailed as follows:
s1043: and acquiring the calling function name and the function calling duration set by the user in the development process of the application program.
In the development process of an application program, a developer calls a series of functions in program codes, and most of the functions need to input parameter values, so that the output result of the functions can be changed due to different input parameters. For example, in the following function abc (), if a developer needs to call the function abc () in an application program, integer parameter values a and b need to be input so that a product of output values a and b can be obtained by operating the input parameter values a and b based on the function abc ().
Figure BDA0001534403020000091
In the embodiment of the invention, the incoming parameter value corresponding to the calling function name is obtained according to each calling function name associated with the application program. Wherein, for a calling function whose incoming parameter value includes a time period length, the incoming parameter value may also be a function call duration.
S1044: and converting the calling function name and the function calling duration into associated data in a preset format.
In order to transmit each calling function name and function calling duration associated with an application program to an RPC server of an intelligent robot in a binary data stream mode, in the embodiment of the invention, the calling function names and the function calling durations are serialized to output associated data in a preset format.
Preferably, the preset format may be protobuf, for example. Based on the language-independent characteristic of protobuf, the method ensures that no matter which language a user develops the application program, the method can also convert various parameter values related to the application program into an extensible serialization structure data format.
S1045: and transmitting the associated data to the intelligent robot so that the intelligent robot can continuously call the API function corresponding to the calling function name in a preset SDK library within the function calling duration after decoding the associated data.
And the RPC server analyzes the calling function name required by the application program and the parameter value corresponding to each calling function name in the received data stream. And the intelligent robot searches the API function corresponding to the calling function name in each API function stored in the SDK library, and takes the analyzed parameter value as the input parameter of the API function. Therefore, when the incoming parameters include the function call duration, the intelligent robot will continuously execute the searched API function within the function call duration.
In the embodiment of the invention, the calling function name and the function calling duration which are set by the user in the development process of the application program are obtained, and the associated data carrying the calling function name and the function calling duration are transmitted to the intelligent robot, so that the API function corresponding to the calling function name can be continuously called in the preset SDK library within the function calling duration appointed by the developer after the intelligent robot carries out deserialization decoding processing on the associated data, and therefore, the remote calling control on the local function stored by the intelligent robot is realized, the control precision is improved, and a more accurate control effect is achieved.
Referring to fig. 4, fig. 4 is a flowchart illustrating an implementation of an application development method for an intelligent robot according to another embodiment of the present invention. The implementation flow shown in fig. 4 includes steps S401 to S405, and the implementation principle of each step is specifically as follows:
s401: and starting a remote procedure call protocol (RPC) client pre-installed on the terminal equipment.
S402: and establishing communication connection with the intelligent robot running with the RPC server side through the RPC client side.
S403: and acquiring associated data corresponding to the application program developed on the terminal equipment by the user.
S404: and transmitting the associated data to the intelligent robot so that the intelligent robot calls an Application Programming Interface (API) function corresponding to the associated data in a preset Software Development Kit (SDK) library.
The implementation principle of the steps not mentioned in the embodiments of the present invention is the same as that of the steps mentioned in other embodiments, and therefore, the description thereof is omitted.
S405: and acquiring a function call result returned by the intelligent robot through the RPC server.
In the intelligent robot, when the RPC server executes any API function in the SDK library, whether the API function is successfully called is detected. If the API function is interrupted in the calling process or the API function calling error information is detected, sending function calling error prompt information to the RPC client; and if no error information still appears when the API function call is completed, sending a function call success prompt message to the RPC client.
And the RPC client displays the received prompt information of each type returned by the RPC server.
Preferably, if the API function is interrupted in the calling process, or the API function calling error information is detected, the intelligent robot uploads the API function calling error information to the cloud server, so that the SDK publisher detects an error code in the API function. The cloud server is a server of an SDK issuing manufacturer.
In the embodiment of the invention, based on the function call result detected when the intelligent robot calls different API functions, the prompt message for describing the function call result is returned to the RPC client of the developer, so that the developer can clearly know whether the intelligent robot is successfully controlled or not at present or can know the specific reason of the failure of the current control after remotely calling the intelligent robot to execute the corresponding function. For different failure reasons, developers need to perform troubleshooting from different directions, and therefore the troubleshooting efficiency of the developers in the process of controlling the intelligent robot is improved.
It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
Fig. 5 shows a block diagram of an application development apparatus of an intelligent robot according to an embodiment of the present invention, and for convenience of description, only the parts related to the embodiment of the present invention are shown.
Referring to fig. 5, the apparatus includes:
the starting unit 51 is configured to start a remote procedure call protocol (RPC) client pre-installed on the terminal device.
And the connection unit 52 is used for establishing communication connection with the intelligent robot running with the RPC server side through the RPC client side.
The first obtaining unit 53 is configured to obtain associated data corresponding to an application program developed by a user on the terminal device.
And a transmission unit 54, configured to transmit the associated data to the intelligent robot, so that the intelligent robot invokes an API function corresponding to the associated data in a preset software development kit SDK library.
Optionally, the transmission unit 54 includes:
and the first acquisition subunit is used for acquiring the calling function name and the function calling duration set by the user in the development process of the application program.
And the conversion unit is used for converting the calling function name and the function calling duration into associated data in a preset format.
And the calling unit is used for transmitting the associated data to the intelligent robot so that the intelligent robot can continuously call the API function corresponding to the calling function name in a preset SDK library within the function calling duration after decoding the associated data.
Optionally, the transmission unit 54 includes:
and the second acquisition subunit is used for acquiring the function identification code corresponding to the calling parameter name based on a comparison table maintained in advance by the RPC client.
And the transmission subunit is used for transmitting the associated data carrying the function identification code to the intelligent robot so that the intelligent robot calls the API function corresponding to the calling function name in a preset SDK library within the function calling duration after determining the calling function name corresponding to the function identification code according to the comparison table maintained by the RPC server.
Optionally, the connection unit 52 includes:
and the third acquisition subunit is used for acquiring the network address and the port number input by the user in the RPC client, and the network address and the port number respectively correspond to the RPC server.
And the connection request subunit is used for determining the network resource position of the RPC server based on the network address and the port number and requesting to establish communication connection with the intelligent robot running the RPC server.
Optionally, the application development apparatus of the intelligent robot further includes:
and a second obtaining unit 55, configured to obtain a function call result returned by the intelligent robot through the RPC server.
In the embodiment of the invention, the communication connection between the RPC client and the intelligent robot running with the RPC server is established by starting the installed RPC client at the terminal equipment of the user, so that the user can directly remotely control the intelligent robot to execute the function operation corresponding to the application program after developing the application program, therefore, in the process of controlling the operation of the robot, the user does not need to burn the developed executable program into the intelligent robot, and the operation complexity of application development is reduced; in addition, the SDK library is preset in the intelligent robot, and a user only needs to develop the robot application on own terminal equipment, so that the limitation of the SDK operation environment and the programming language is avoided, the platform independence and the language independence of application development are realized, the development program on the terminal equipment and the control program on the robot are distributed and deployed, and the application development difficulty of the user on the intelligent robot is reduced.
Fig. 6 is a schematic diagram of a terminal device according to an embodiment of the present invention. As shown in fig. 6, the terminal device 6 of this embodiment includes: a processor 60, a memory 61 and a computer program 62, such as an application development program for an intelligent robot, stored in said memory 61 and executable on said processor 60. The processor 60, when executing the computer program 62, implements the steps in the above-described application development method embodiments of the respective intelligent robots, such as the steps 101 to 104 shown in fig. 1. Alternatively, the processor 60, when executing the computer program 62, implements the functions of the modules/units in the above-mentioned device embodiments, such as the functions of the units 51 to 55 shown in fig. 5.
Illustratively, the computer program 62 may be partitioned into one or more modules/units that are stored in the memory 61 and executed by the processor 60 to implement the present invention. The one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution of the computer program 62 in the terminal device 6.
The terminal device 6 may be a desktop computer, a notebook, a palm computer, a cloud server, or other computing devices. The terminal device may include, but is not limited to, a processor 60, a memory 61. Those skilled in the art will appreciate that fig. 6 is merely an example of a terminal device 6 and does not constitute a limitation of terminal device 6 and may include more or less components than those shown, or some components in combination, or different components, for example, the terminal device may also include input output devices, network access devices, buses, etc.
The Processor 60 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 61 may be an internal storage unit of the terminal device 6, such as a hard disk or a memory of the terminal device 6. The memory 61 may also be an external storage device of the terminal device 6, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like, which are provided on the terminal device 6. Further, the memory 61 may also include both an internal storage unit and an external storage device of the terminal device 6. The memory 61 is used for storing the computer program and other programs and data required by the terminal device. The memory 61 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus/terminal device and method may be implemented in other ways. For example, the above-described embodiments of the apparatus/terminal device are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implemented, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated modules/units, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, all or part of the flow of the method according to the embodiments of the present invention may also be implemented by a computer program, which may be stored in a computer-readable storage medium, and when the computer program is executed by a processor, the steps of the method embodiments may be implemented. . Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, and the like. It should be noted that the computer readable medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable media does not include electrical carrier signals and telecommunications signals as is required by legislation and patent practice.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present invention, and not for limiting the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present invention, and are intended to be included within the scope of the present invention.

Claims (6)

1. An application development method of an intelligent robot is characterized by comprising the following steps:
starting a remote procedure call protocol (RPC) client pre-installed on terminal equipment;
establishing communication connection with an intelligent robot running with an RPC server through the RPC client;
acquiring associated data corresponding to an application program developed by a user on the terminal equipment;
transmitting the associated data to the intelligent robot so that the intelligent robot calls an Application Programming Interface (API) function corresponding to the associated data in a preset Software Development Kit (SDK) library;
wherein, the transmitting the associated data to the intelligent robot to enable the intelligent robot to call an Application Programming Interface (API) function corresponding to the associated data in a preset SDK library includes:
acquiring a calling function name and a function calling duration set by the user in the development process of the application program;
converting the calling function name and the function calling duration into associated data in a preset format;
acquiring a function identification code corresponding to the calling function name based on a comparison table maintained in advance by the RPC client;
and transmitting the associated data carrying the function identification code to the intelligent robot so that the intelligent robot calls the API function corresponding to the calling function name in a preset SDK library within the function calling duration after determining the calling function name corresponding to the function identification code according to the comparison table maintained by the RPC server.
2. The application development method of claim 1, wherein the establishing, by the RPC client, a communication connection with an intelligent robot running an RPC server comprises:
acquiring a network address and a port number input by the user in the RPC client, wherein the network address and the port number respectively correspond to the RPC server;
and based on the network address and the port number, determining the network resource position of the RPC server, and requesting to establish communication connection with an intelligent robot operating the RPC server.
3. The application development method of claim 1, further comprising:
and acquiring a function call result returned by the intelligent robot through the RPC server.
4. An application development device of an intelligent robot, comprising:
the starting unit is used for starting a remote procedure call protocol (RPC) client pre-installed on the terminal equipment;
the connection unit is used for establishing communication connection with the intelligent robot running with the RPC server through the RPC client;
the acquisition unit is used for acquiring associated data corresponding to an application program developed on the terminal equipment by a user;
the transmission unit is used for transmitting the associated data to the intelligent robot so that the intelligent robot calls an Application Programming Interface (API) function corresponding to the associated data in a preset Software Development Kit (SDK) library;
wherein the transmission unit includes:
the first acquisition subunit is used for acquiring a calling function name and a function calling duration which are set by the user in the development process of the application program;
the conversion unit is used for converting the calling function name and the function calling duration into associated data in a preset format;
the second acquiring subunit is used for acquiring a function identification code corresponding to the calling function name based on a comparison table maintained in advance by the RPC client;
and the transmission subunit is used for transmitting the associated data carrying the function identification code to the intelligent robot so that the intelligent robot calls the API function corresponding to the calling function name in a preset SDK library within the function calling duration after determining the calling function name corresponding to the function identification code according to the comparison table maintained by the RPC server.
5. A terminal device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any of claims 1 to 3 when executing the computer program.
6. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 3.
CN201711484095.9A 2017-12-29 2017-12-29 Application development method and device of intelligent robot, terminal equipment and medium Active CN109995711B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711484095.9A CN109995711B (en) 2017-12-29 2017-12-29 Application development method and device of intelligent robot, terminal equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711484095.9A CN109995711B (en) 2017-12-29 2017-12-29 Application development method and device of intelligent robot, terminal equipment and medium

Publications (2)

Publication Number Publication Date
CN109995711A CN109995711A (en) 2019-07-09
CN109995711B true CN109995711B (en) 2021-08-27

Family

ID=67110338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711484095.9A Active CN109995711B (en) 2017-12-29 2017-12-29 Application development method and device of intelligent robot, terminal equipment and medium

Country Status (1)

Country Link
CN (1) CN109995711B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112433700B (en) * 2020-11-16 2024-03-29 中国建设银行股份有限公司 Development and operation method and device of robot application, electronic equipment and medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104007974A (en) * 2014-05-30 2014-08-27 电子科技大学 System and method for online simulation and remote verification of robot applications
CN104821954A (en) * 2015-03-27 2015-08-05 中国海洋大学 Cross-platform remote procedure call method
CN105467858A (en) * 2015-12-01 2016-04-06 西安电子科技大学 Graphical integrated development environment for control program of robot
CN105843630A (en) * 2016-06-08 2016-08-10 江西洪都航空工业集团有限责任公司 Method for graphical programming development based on robot
CN107305375A (en) * 2016-04-19 2017-10-31 上海慧流云计算科技有限公司 A kind of robot control method, controller and robot

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088448A1 (en) * 2001-10-16 2004-05-06 Userspace Corporation Embedded system and method for controlling, monitoring of instruments or devices and processing their data via control and data protocols that can be combined or interchanged
AU2017246274A1 (en) * 2016-04-06 2018-11-01 Soroco Private Limited Techniques for implementing persistently interactive software robots

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104007974A (en) * 2014-05-30 2014-08-27 电子科技大学 System and method for online simulation and remote verification of robot applications
CN104821954A (en) * 2015-03-27 2015-08-05 中国海洋大学 Cross-platform remote procedure call method
CN105467858A (en) * 2015-12-01 2016-04-06 西安电子科技大学 Graphical integrated development environment for control program of robot
CN107305375A (en) * 2016-04-19 2017-10-31 上海慧流云计算科技有限公司 A kind of robot control method, controller and robot
CN105843630A (en) * 2016-06-08 2016-08-10 江西洪都航空工业集团有限责任公司 Method for graphical programming development based on robot

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《机器人与计算机之间的通信编程》;王宏杰;《计算机工程》;20020331;第28卷(第3期);正文第52-53页 *

Also Published As

Publication number Publication date
CN109995711A (en) 2019-07-09

Similar Documents

Publication Publication Date Title
CN108830720B (en) Intelligent contract running method, device, system and computer readable storage medium
US11599348B2 (en) Container image building using shared resources
CN110198247B (en) Interface test method and system
EP3454213B1 (en) Function library build architecture for serverless execution frameworks
CN109918055B (en) Application program generation method and device
CA2915619C (en) Method and apparatus for customized software development kit (sdk) generation
KR101674515B1 (en) System and method of providing embedded software development environment for IoT device
CN109815107B (en) Method and device for automatic testing
CN111176801B (en) Multi-process management method, device, equipment and storage medium
CN109492181B (en) Page jump method, device, computer equipment and storage medium
US10191751B2 (en) Information processing device for generating application programming interface information
KR102073678B1 (en) Method and apparatus for firmware virtualization
CN113553257B (en) Test method, device, storage medium and electronic equipment
KR20180061589A (en) Software build system and software build method using the system
AU2014412020B2 (en) Techniques to transform network resource requests to zero rated network requests
CN111369237A (en) Data processing method and device and computer storage medium
CN111596951A (en) Method and device for configuring engineering file
CN109995711B (en) Application development method and device of intelligent robot, terminal equipment and medium
CN112015384A (en) Interface mapping method and device
CN108667902B (en) Remote control system, method, device and equipment of iOS equipment
CN107341038B (en) Compatibility processing method and device and electronic equipment
WO2018121652A1 (en) Method and device for connecting wireless access point through application in user equipment
CN116166457A (en) Data processing method and related equipment
EP3872630A2 (en) Request processing method and apparatus, electronic device, and computer storage medium
CN114021133A (en) Code processing method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 518000 16th and 22nd Floors, C1 Building, Nanshan Zhiyuan, 1001 Xueyuan Avenue, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen UBTECH Technology Co.,Ltd.

Address before: 518000 16th and 22nd Floors, C1 Building, Nanshan Zhiyuan, 1001 Xueyuan Avenue, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen UBTECH Technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230822

Address after: No. 60, Guohe Road, Yangpu District, Shanghai 200082

Patentee after: Shanghai youbijie Education Technology Co.,Ltd.

Address before: 518000 16th and 22nd Floors, C1 Building, Nanshan Zhiyuan, 1001 Xueyuan Avenue, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: Shenzhen UBTECH Technology Co.,Ltd.