A modular architecture and method for mobile robots

Through the combination of the application layer, algorithm layer and hardware abstraction layer of the modular architecture of the mobile robot, the problem of lack of modular features of mobile robot software development in the existing technology is solved, the reuse of functional modules and algorithm modules is realized, and software development is improved Efficiency and product stability.

CN116021533BActive Publication Date: 2025-02-21SHANGHAI SAGE INTELLIGENT TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202310159546.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-23
Publication Date
2025-02-21
Estimated Expiration
2043-02-23

AI Technical Summary

Technical Problem

The lack of modular features of existing mobile robot software development, resulting in problems such as repeated development, long development cycles, and poor software algorithm stability.

Method used

A modular architecture of mobile robots is proposed, including application layer, algorithm layer and hardware abstraction layer. Through the combination of action type and functional module library, algorithm module library and signal driving layer, function multiplexing and algorithm stability are achieved. .

Benefits of technology

The reuse of functional modules and algorithm modules is realized, reducing duplicate development, shortening software development time, improving the stability of software algorithms, and thus improving the stability of the product.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116021533B_ABST
    Figure CN116021533B_ABST
Patent Text Reader

Abstract

The present application discloses a modular architecture and method for a mobile robot. A modular architecture for a mobile robot of the present application includes: an application layer, an algorithm layer, and a hardware abstraction layer; the application layer includes an action type and a function module library for controlling the action type and function of the mobile robot; the algorithm layer includes an algorithm module library and an action and sub-element library; the hardware abstraction layer includes a signal driver layer and a hardware layer, the signal driver layer is used to generate a drive signal for driving the hardware, and the hardware layer includes robot hardware. This technical solution utilizes a modular program architecture and method, which can realize the reuse of various function modules and algorithm modules, reduce repeated development, and improve the reliability of program algorithms, and can be widely used in the field of mobile robots.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of mobile robot technology, and specifically to a modular architecture and method of a mobile robot. Background Art

[0002] Mobile robots have various product forms, such as service robots, cargo robots, mobile operating robots, etc. Although different mobile robots have different functions and uses, they have a lot of commonalities from the perspective of control methods and control algorithms. This requires a modular software development method that can achieve corresponding functions according to different robot functional requirements by combining different modules, so as to save development time and development cycle.

[0003] However, under existing technical conditions, in many cases, different robots often have to re-develop control functions and algorithms, the development software does not have modular characteristics, and many algorithms and functions cannot be reused and have to be re-developed, resulting in defects such as repeated development, long development cycle, and poor software algorithm stability.

[0004] Therefore, in actual situations, a new software development method is urgently needed to reduce repetitive development, shorten software development time, improve the stability of software algorithms and thus improve product stability. Summary of the invention

[0005] Therefore, the embodiments of the present invention intend to provide a modular architecture and method for a mobile robot.

[0006] In a first aspect, embodiments of the present invention provide a modular architecture and method for a mobile robot;

[0007] The application layer includes an action type and function module library for controlling the action type and function of the mobile robot;

[0008] The algorithm layer includes the algorithm module library and the action and sub-element library;

[0009] The hardware abstraction layer includes a signal driver layer and a hardware layer. The signal driver layer is used to generate a driving signal for driving the hardware to work, and the hardware layer includes robot hardware.

[0010] In one embodiment, the action types include moving walking and operating actions.

[0011] 2022122301-PCN222353I

[0012] In one embodiment, the algorithm module in the algorithm module library is an independent algorithm module including at least one function, and the action and sub-element library includes basic function modules.

[0013] In one embodiment, the signal driving layer generates and processes driving signals and acquisition signals of the action mechanism and sensor.

[0014] In one embodiment, the modules in the functional module library are large functional modules required for the mobile robot to move or operate. When the large functional module is selected, the underlying algorithm where the large functional module is located is called; then when the algorithm module is selected in the algorithm module library, the selected algorithm module is automatically called by the functional module of the upper level.

[0015] In one of the embodiments, a message layer is further included between the application layer and the algorithm layer. The message layer is configured with a message layer management module. The message layer management module is used to manage the communication and data interaction between the modules of the algorithm layer and upload the messages of the modules of the algorithm layer to the corresponding modules of the application layer.

[0016] In one of the embodiments, the architecture further includes a robot control software module, the robot control software module including a module kernel and content portion, a module parameter extraction portion, and a module file header;

[0017] When the module number from the program interface matches the module number itself, the module writes the parameter value in the parameter value script file;

[0018] The script file is parsed by the script interpreter, and the values ​​that need to be returned are extracted to the program interface, which is read by the corresponding driver module and finally generates the robot hardware control instructions.

[0019] In a second aspect, an embodiment of the present invention provides a mobile robot modularization method, which is applied to any of the methods described in the previous embodiments, including:

[0020] When the module number from the program interface matches the module number itself, write the parameter value in the parameter value script file;

[0021] Extract the values ​​that need to be returned to the program interface and generate robot hardware control instructions.

[0022] In a mobile robot modular architecture and method used in an embodiment of the present invention, a modular program architecture and method are utilized to achieve reuse of various functional modules and algorithm modules, reduce repeated development, and improve the reliability of program algorithms.

[0023] Other optional features and technical effects of the embodiments of the present invention are partially described below, and partially can be understood by reading this document.

[0024] 2022122301-PCN222353I BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The elements shown are not limited to the proportions shown in the accompanying drawings. The same or similar reference numerals in the accompanying drawings represent the same or similar elements, wherein:

[0026] Figure 1 A modular software overall hierarchy diagram of a mobile robot modular architecture according to an embodiment of the present invention is shown;

[0027] Figure 2 A module configuration diagram of a mobile robot modular architecture according to an embodiment of the present invention is shown;

[0028] Figure 3 A schematic diagram of inter-module data communication based on a message mechanism according to an embodiment of the present invention is shown;

[0029] Figure 4 A schematic diagram of robot control based on a message layer mechanism according to an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0030] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with specific implementation methods and drawings. Here, the exemplary implementation methods of the present invention and their descriptions are used to explain the present invention, but are not intended to limit the present invention.

[0031] As used herein, the term "including" and its variations mean open inclusion, i.e., "including but not limited to". Unless otherwise stated, the term "or" means "and / or". The term "based on" means "based at least in part on". The terms "an example embodiment" and "an embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.

[0032] Mobile robots have various product forms, such as service robots, cargo robots, mobile operating robots, etc. Although different mobile robots have different functions and uses, they have a lot of commonalities from the perspective of control methods and control algorithms. This requires a modular software development method that can achieve corresponding functions according to different robot functional requirements by combining different modules, so as to save development time and development cycle.

[0033] However, under the existing technical conditions, in many cases, different robots often redevelop control functions and algorithms, the development software does not have modular characteristics, and many algorithms and functions cannot be reused.

[0034] The robot controller sends control information to each driver separately through the industrial communication bus connected to the robot driver; the robot controller is also connected to the robot group control system to realize the transmission of robot control related information with the robot group control system. This method does not have modular characteristics and is difficult to respond in time when dealing with complex needs.

[0035] Therefore, in actual situations, a new software development method is urgently needed to reduce repetitive development, shorten software development time, improve the stability of software algorithms and thus improve product stability.

[0036] In order to solve the above problems, the present application proposes a modular architecture, method, electronic device and storage medium for a mobile robot. The purpose of the present application is to provide a modular software development method for mobile robot development to solve the practical problems of long development time and repeated development in robot software development. The present application mainly discloses a modular software development method and a modular method for realizing software functions and algorithms. Relying on such modular software, the speed of robot software development and the stability of software functions can be greatly improved. It should be noted that the robot referred to in the present application refers to an intelligent machine that can work semi-autonomously or fully autonomously, and can perform tasks such as operations or movement through programming and automatic control.

[0037] Figure 1 FIG. 1 shows a modular software overall hierarchy diagram of a mobile robot modular architecture according to an embodiment of the present invention. Figure 1 As shown, the present application proposes a modular architecture of a mobile robot, including: an application layer, an algorithm layer and a hardware abstraction layer; the application layer includes an action type and a function module library, which is used to control the action type and function of the mobile robot; the algorithm layer includes an algorithm module library and an action and sub-element library; the hardware abstraction layer includes a signal driver layer and a hardware layer, the signal driver layer is used to generate a driving signal for driving the hardware, and the hardware layer includes the robot hardware.

[0038] The hardware abstraction layer of this embodiment is an interface layer between the operating system kernel and the hardware circuit, and its purpose is to extract the hardware features and parameter interaction interface and express them in an abstract programming language. It hides the hardware interface details of a specific platform, provides a virtual hardware platform for the operating system, makes it hardware-independent, and can be transplanted on multiple platforms. Among them, the hardware abstraction layer is a programming layer that allows the computer operating system to interact with hardware devices at the logical layer rather than the hardware layer. The operating system kernel or the hardware driver can call the hardware abstraction layer. In either case, the calling program does not need to understand the specific design details of the hardware, but only needs to provide the parameters required by the abstraction layer.

[0039] like Figure 1 As shown in the figure, when the mobile robot needs to move and walk, the mobile walking action type will be sent to the function module library of navigation, obstacle avoidance and trajectory tracking, calling navigation, obstacle avoidance and trajectory 2022122301-PCN222353I

[0040] Functional module for tracking. Among them, the navigation function module calls the laser algorithm 1 in the algorithm module library, and then performs specific robot operations such as braking in the action and sub-element library. After that, the signal driver layer of the hardware abstraction layer sends a driving signal. The driving signal mainly includes the driving signal of several walking wheels. Finally, the driving signal drives the walking wheels of the hardware layer to make the mobile robot walk. The above examples are only to illustrate the calling relationship between the upper and lower modules. In fact, in many cases, the upper module may be configured to call several lower modules to complete a certain function or a series of actions.

[0041] Furthermore, when it is necessary to control the robot to perform other operations (such as grasping, picking, carrying, dragging, twisting, etc.), the signal transmission method between each layer is as follows: the application layer accepts relevant operation instructions, and the terminal control module and target control module in the functional module library call the terminal control algorithm module and the target image recognition algorithm module respectively. The terminal control algorithm can control the robot to perform actions such as grasping, and the target image recognition algorithm module can control the robot to identify the operation target and output the recognition data; then, the robot arm joint drive signal layer that receives the action instruction sends a drive signal to drive the robot arm joint to work and complete the robot action. On the other hand, the sensor data collected by the hardware abstraction layer of each sensor module can be called by the signal processing module of the upper layer, and the result data of the signal processing can be called by the module in the algorithm layer; such as Figure 1 The image partitioning module shown in the example can call the visual signal processing 1 module from the next layer, and the visual signal processing 1 module can collect data from the visual sensor 1.

[0042] Specifically, the modular software architecture of this technical solution includes three major levels, namely the application layer, the algorithm layer, and the hardware abstraction layer. The application layer includes action types and function module libraries; the action types are divided into two categories: moving and walking and operating actions. The algorithm layer is divided into an algorithm module library and an action and sub-element library. The algorithm module library is an algorithm module that can independently complete a function, such as a laser algorithm; a visual algorithm, etc.; the action and sub-element library module completes the most basic and more subdivided functions, such as the robot's forward algorithm module, steering algorithm module, etc. The hardware abstraction layer is divided into a signal drive layer and a hardware layer. The signal drive layer is the drive signal or acquisition signal and processing module of various action mechanisms, sensors, etc., and the hardware layer is various hardware of the robot.

[0043] like Figure 1As shown in the figure, it is a top-down layered, modular software architecture. The arrow lines in the figure represent examples of algorithm modules selected during software programming. Each box represents a module. When programming, select the corresponding module from top to bottom according to the robot function. The modules in the functional module library shown in the figure are all large functional modules required for the mobile robot to move or operate. When a large functional module is selected, it means that the underlying algorithm of the module is called; then in the next layer, the algorithm module 2022122301-PCN222353I

[0044] When a module is selected in the block library, the selected algorithm module will be automatically called by the upper-level function module according to the arrow connection.

[0045] It should be noted that the algorithm modules in the algorithm module library of this embodiment are independent algorithm modules including at least one function, and the action and sub-element library includes basic function modules.

[0046] It should be noted that the modules in the functional module library are large functional modules required for the mobile robot to move or operate. When the large functional module is selected, the underlying algorithm of the large functional module is called; then when the algorithm module is selected in the algorithm module library, the selected algorithm module is automatically called by the functional module of the previous level. For example, the functional module selects the navigation module, and the algorithm module library selects the laser algorithm 1. In the execution of the control program, the laser algorithm 1 module will be called by the navigation functional module. In the next level of action and sub-module library, the braking module is selected, which means that during navigation, the mobile robot will perform braking actions when necessary based on the laser algorithm 1, and the braking module will transmit the braking signal to the drivers of the walking wheels 1 and 2 in the signal drive layer to complete the braking action.

[0047] Figure 2 The module configuration diagram of a mobile robot modular architecture according to an embodiment of the present invention is shown. The present application also provides a modular graphical configuration interface, such as Figure 2 As shown, from left to right, you can click on the required modules in turn, and the algorithm of the selected module will be called by the upper-level module.

[0048] according to Figure 1 and Figure 2 As shown, after selecting the corresponding module, the required robot control function can be realized, thereby improving the reuse rate of each algorithm module, reducing repeated development, and focusing the development on new algorithms and new functions.

[0049] Figure 3 FIG. 4 shows a schematic diagram of inter-module data communication based on a message mechanism according to an embodiment of the present invention. Figure 3As shown, taking the application layer module and the algorithm layer module as examples, the upper-level functional module can directly call the configured lower-level module.

[0050] A message layer is also configured between the application layer and the algorithm layer. The message layer is configured with a message layer management module. The message layer management module is used to manage the communication and data interaction between the modules of the algorithm layer and upload the messages of the modules of the algorithm layer to the corresponding modules of the application layer.

[0051] like Figure 3 When algorithm module 1 in the same layer calls algorithm module 8, module 1 sends a message to the message layer. The message layer management module receives the message and transmits the call information to algorithm module 8. Algorithm module 8 returns the parameter value to the message layer according to the instruction, and the message layer management module sends the parameter to algorithm module 1; thus completing the data interaction between modules in the same layer.

[0052] 2022122301-PCN222353I

[0053] In addition, when a lower-level module, such as an algorithm layer module, calls a module in an upper layer, such as an application layer, it also sends a message to the message layer, and then the message layer management module sends a message to the corresponding module in the upper layer. After the corresponding module in the upper layer responds, the upper-level module can be directly called by the corresponding module in the lower layer (returning data values ​​to the lower-level modules).

[0054] Figure 3 Some modules may be displayed in gray, indicating that the module is not selected when configuring or checking the module, and the module will not be called or respond to any information in the message layer.

[0055] Robot control software modules, module structure, and signal and module relationships based on the message layer mechanism are as follows: Figure 4 shown. Figure 4 The internal structure of the module and its interaction with the program interface are shown in Figure 1. The module mainly consists of the module kernel and content part, the module parameter extraction part, and the module file header (including module number, parameter return value, etc.). When the module number from the program interface matches the module number itself, the module can write the parameter value in the parameter value script file; the script file is parsed by the script interpreter, and the value to be returned is extracted to the program interface, which is read by the corresponding driver module and finally generates the robot hardware control instruction.

[0056] In addition, the present application also proposes a mobile robot modularization method, which is applied to any of the methods described in the previous embodiments, including: when the module number from the program interface matches the module number itself, writing the parameter value in the parameter value script file; extracting the numerical value to be returned to the program interface, and generating robot hardware control instructions.

[0057] Furthermore, in order to meet user needs, the present application may also include a server, which includes a storage module and a processing module; the server is bidirectionally connected with the information management module, the robot management module, the robot creation module, the sharing module, and the feedback module. The storage module includes user information storage, robot information storage, and user feedback information storage; the robot information storage includes peripheral return information storage and motion sensor unit, sensor unit, customization module information storage, and buyer feedback information storage; the server stores user information, robot information, and user feedback information in the user account. The processing module includes user feedback information integration and feedback information reminder; the processing module integrates the user upload experience in the feedback module, summarizes the feedback information on the robot to the user of the corresponding robot, and reminds the user.

[0058] The systems, devices, modules or units described in the above embodiments may be implemented by a computer or its associated components. The computer may be, for example, a mobile terminal, a smart phone, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a personal digital assistant, a media player, a navigation device, a game console, a tablet computer, a wearable device, a smart TV, an Internet of Things system, a smart home, 2022122301-PCN222353I

[0059] Industrial computers, servers or a combination thereof.

[0060] Although not shown, in an embodiment of the present invention, a storage medium is provided, the storage medium storing a computer program, the computer program being configured to execute any file difference-based compilation method of the embodiments of the present invention when executed.

[0061] Storage media in embodiments of the present invention include permanent and non-permanent, removable and non-removable items that can be used to store information by any method or technology. Examples of storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device.

[0062] The methods, programs, systems, devices, etc. of the embodiments of the present invention may be executed or implemented in a single or multiple networked computers, or may be practiced in a distributed computing environment. In the embodiments of this specification, in these distributed computing environments, tasks may be performed by remote processing devices connected via a communication network.

[0063] Those skilled in the art should understand that the embodiments of the present specification may be provided as methods, systems or computer program products. Therefore, those skilled in the art may imagine that the functional modules / units or controllers and related method steps described in the above embodiments may be implemented in software, hardware or a combination of software / hardware.

[0064] Unless explicitly stated, the actions or steps of the methods, programs, and embodiments of the present invention do not have to be performed in a specific order and can still achieve the desired results. In some implementations, multitasking and parallel processing are also possible or may be advantageous.

[0065] In this article, multiple embodiments of the present invention are described, but for the sake of brevity, the description of each embodiment is not exhaustive, and the same or similar features or parts between the embodiments may be omitted. In this article, "one embodiment", "some embodiments", "examples", "specific examples", or "some examples" are meant to be applicable to at least one embodiment or example according to the present invention, but not all embodiments. The above terms do not necessarily mean to refer to the same embodiment or example. In the absence of contradiction, those skilled in the art can combine and combine the different embodiments or examples described in this specification and the features of the different embodiments or examples.

[0066] 2022122301-PCN222353I

[0067] The exemplary systems and methods of the present invention have been specifically shown and described with reference to the above embodiments, which are merely examples of the best modes for implementing the present systems and methods. It will be appreciated by those skilled in the art that various changes may be made to the embodiments of the systems and methods described herein when implementing the present systems and / or methods without departing from the spirit and scope of the present invention as defined in the appended claims.

Claims

1. A modular architecture of a mobile robot, characterized in that: include: Application layer, algorithm layer, hardware abstraction layer and robot control software module; The application layer includes an action type and function module library for controlling the action type and function of the mobile robot; The algorithm layer includes the algorithm module library and the action and sub-element library; The hardware abstraction layer includes a signal driver layer and a hardware layer, wherein the signal driver layer is used to generate a driving signal to drive the hardware to work, and the hardware layer includes robot hardware; The robot control software module includes a module kernel and content part, a module parameter extraction part, and a module file header; When the module number from the program interface matches the module number itself, the module writes the parameter value in the parameter value script file; The script file is parsed by the script interpreter, and the values ​​that need to be returned are extracted to the program interface, which are read by the corresponding driver module and finally generate robot hardware control instructions.

2. A modular architecture of a mobile robot according to claim 1, characterized in that: The action types include moving and operating actions.

3. A modular architecture of a mobile robot according to claim 1, characterized in that: The algorithm modules in the algorithm module library are independent algorithm modules including at least one function, and the action and sub-element library includes basic function modules.

4. A modular architecture of a mobile robot according to claim 1, characterized in that: The signal driving layer generates and processes driving signals and acquisition signals of action mechanisms and sensors.

5. The modular architecture of a mobile robot according to claim 1, characterized in that: The modules in the functional module library are large functional modules required for the mobile robot to move or operate. When the large functional module is selected, the underlying algorithm where the large functional module is located is called; then when the algorithm module is selected in the algorithm module library, the selected algorithm module is automatically called by the functional module of the upper level.

6. A modular architecture of a mobile robot according to claim 1, characterized in that: A message layer is also included between the application layer and the algorithm layer. The message layer is configured with a message layer management module. The message layer management module is used to manage the communication and data interaction between the modules of the algorithm layer and upload the messages of the modules of the algorithm layer to the corresponding modules of the application layer.

7. A mobile robot modularization method, characterized in that: The method applied to any of claims 1 to 6, comprising: When the module number from the program interface matches the module number itself, write the parameter value in the parameter value script file; Extract the values ​​that need to be returned to the program interface and generate robot hardware control instructions.

Citation Information

Patent Citations

  • Platform system for controlling automatic guided vehicle

    KR1020160001404A

  • Artificial Intelligence Engine Having Various Algorithms to Build Different Concepts Contained Within a Same AI Model

    US20180357552A1

  • Method and apparatus for quick prototyping of embedded peripherals

    US20190272155A1