Patent Description:
The present invention relates to the field of machinery, and in particular, to a robot master control system.

Robots are intelligent machines that may operate semi-autonomously or fully autonomously, have basic functions such as sensing, decision-making, and executing tasks, and may assist or even replace humans in completing dangerous, laborious, and complex tasks. With the development in fields such as intelligent decision-making and automatic control, robots may be widely used in various fields. However, the operation efficiency of a single robot is low, and how to coordinate multiple robots to operate to improve the operation efficiency has become a new topic that needs to be addressed.

Some prior art regarding object detection and/or robot controlling can be seen in the following documents:.

To resolve at least one of the above technical problems, the present invention provides a robot master control system.

In order to more clearly illustrate some exemplary embodiments of the present invention, the following will briefly describe the accompanying drawings. <FIG> is a schematic diagram of a robot master control system according to some exemplary embodiments of the present invention;.

The technical solution in the exemplary embodiment of the present invention will be clearly described in combination with the accompanying drawings. Obviously, the described embodiments are only some of the exemplary embodiments of the present invention, but not all of the embodiments. It should be noted that, in the specification, claims, and the foregoing accompanying drawings of the present invention, the terms "first", "second", and so on are intended to distinguish between similar objects rather than indicating a specific order. It should be understood that the data may be interchanged, so that the exemplary embodiments of the present invention described herein may be implemented in an order other than those illustrated or described herein. Moreover, the terms "include", "contain", "comprise" and any other variants mean to cover the non-exclusive inclusion. For example, a process, method, system, product, or device that includes a list of steps or units is not necessarily limited to those steps or units, but may include other steps or units not expressly listed or inherent to such a process, method, product, or device.

The following will describe various exemplary embodiments, features and aspects of the present invention in detail with reference to the accompanying drawings. Same or similar accompanying symbols in the accompanying drawings may represent elements with the same or similar functions. Although various aspects of the exemplary embodiments are illustrated in the accompanying drawing, the accompanying drawings are not necessarily drawn in proportion unless otherwise specified.

The specific term "exemplary" herein means "used as an example, embodiment or illustrative". Any embodiment described as "exemplary" is not necessarily explained as being superior or better than other embodiments.

The term "and/or" used herein is simply a disclosure of the association relationship of the associated objects, indicating that three relationships may exist. In addition, the term "at least one" used herein means any one or any combination of at least two of a plurality, for example, including at least one of A, B, and C may mean including any one or more elements selected from a set formed by A, B and C.

In addition, for better illustration of the present invention, various specific details are given in the following disclosure. A person of ordinary skill in the art should understand that the present invention may also be implemented without the specific details. In some exemplary embodiments, methods, means, components, and circuits well known by a person skilled in the art are not described in detail, so that the subject matter of the present invention may be highlighted.

The exemplary embodiments of the present invention provide a robot master control system. As shown in <FIG>, the robot master control system may include:
A master controller <NUM>, configured to control at least one robot control system. A person skilled in the art may understand that the at least one robot control system may control at least one robot. In some exemplary embodiments of the present invention, for illustration purpose only, the at least one robot control system may be a dual-robot control system <NUM>. The master controller may control each dual-robot control system <NUM> independently.

Each dual-robot control system <NUM> may include a first robot, a second robot, a loading table, an image capturing device (e.g., a camera), and a sub-controller. The first robot, the second robot, the loading table, and the image capturing device may all be controlled by the sub-controller. Each sub-controller is controlled by the master controller. For each dual-robot control system <NUM>, the image capturing device is configured to: take photos of the objects on top of the loading table from above, that is, obtain a first image, and transmit the captured first image to the sub-controller. The sub-controller may be configured to control the first robot and the second robot according to the photos.

In some exemplary embodiments, the first and/or second robot in the present invention may be a robot capable of carrying objects. For example, the robot may include a manipulator or a suction cup and may grab or suck an object and carry the object to a designated end point position.

In some exemplary embodiments, as shown in <FIG>, the sub-controller may include:.

A first image obtaining module <NUM> may be configured to trigger the image capturing device to perform shooting to obtain the first image captured by the image capturing device.

A first image analysis module <NUM> may be configured to analyze the first image to obtain a distribution of the objects on top of the loading table.

A second position obtaining unit <NUM> may be configured to obtain a second position, where the second position may be an end point position to which the first robot and/or the second robot conveys an object. The second position in some exemplary embodiments may also be set by the master controller.

An instruction sequence generation unit <NUM> may be configured to generate, according to the distribution of the objects in the first image and the second position, a first instruction sequence used for controlling the first robot and a second instruction sequence used for controlling the second robot.

A movement control unit <NUM> may be configured to respectively control the first robot and the second robot based on the first instruction sequence and the second instruction sequence.

As shown in <FIG>, the first image analysis module <NUM> may include:.

In existing technologies, the accuracy of object boundary recognition is not high, which may affect a boundary information obtaining result and further affect the accuracy of a final control instruction (such as path planning). Therefore, a new neural network is self-designed and trained to improve the accuracy of object boundary recognition. The neural network includes: a hierarchical convolutional network, an attention-based coding network, a fusion network, and a recognition network.

The neural network may be trained by using the following method:.

In existing technologies, the feature extraction capability of a conventional convolutional network may be insufficient and may not fully mine sufficient detailed information or sufficient recognizable information for target recognition. Therefore, in some exemplary embodiments of the present invention, a hierarchical convolutional network may be designed to extract adequately recognizable information layer by layer, thereby increasing the enrichment of information in the extracted first feature information. The hierarchical convolutional network in some exemplary embodiments of the present invention may include at least two extraction branches. Certainly, the quantity of extraction branches is not limited in the present invention. However, a larger quantity of extraction branches may indicate a lower speed, and accordingly a better extraction effect.

For example, when the hierarchical convolutional network includes two extraction branches, a first branch performs a feature extraction operation on an inputted image, to obtain a first feature extraction result. The first feature extraction result may be inputted into a second branch after a feature filtering operation, and a second feature extraction result may be obtained after a feature extraction operation of the second branch. The first feature extraction result and the second feature extraction result may be fused, so that hidden information may be mined to obtain a more thorough extraction result.

<FIG> is a schematic diagram of a hierarchical convolutional network. In some exemplary embodiments, three extraction branches may be used. The hierarchical convolutional network may include a first branch, a second branch, and a third branch. The first branch, the second branch, and the third branch may all be configured to perform a feature extraction operation. A specific feature extraction operation is not limited in the present invention. For example, the feature extraction operation may be a convolution operation or a multi-scale convolution operation.

In addition, the hierarchical convolutional network may further include a fourth branch and a fifth branch. The fourth branch and the fifth branch may be respectively connected to the first branch and the second branch and may be both configured to perform a feature filtering operation. For example, the feature filtering operation may include an importance degree determining operation and a feature erasing operation based on the importance degree.

Taking the fourth branch as an example, an original feature filtering operation in this embodiment is exemplarily described in detail as follows. The first feature extraction result outputted by the first branch may be inputted into the fourth branch. Region division may be performed in the fourth branch to obtain, for example, at least nine regions. Importance degree determining may be performed on information in the first feature extraction result and corresponds to each region, to obtain a first importance degree corresponding to each of the nine regions. Information corresponding to a region with a first importance degree greater than a preset threshold may be erased from the first feature extraction result to obtain a first correction information. The first correction information may be outputted by the fourth branch and used as an input of the second branch.

In some exemplary embodiments, the information corresponding to a relatively important region has already been expressed in the first feature extraction result. After erasing such relatively important information, the fourth branch may record information corresponding to a less important region in the first correction information, and input the first correction information into a next branch (the second branch) to continue to perform feature extraction and obtain the second feature extraction result, so that the hidden information may be mined, and information that is difficult to be extracted in the existing technologies may be extracted by the next branch. Based on such a conception, information that is difficult to be extracted may be mined layer by layer.

Similarly, the second branch may obtain the second feature extraction result through a feature extraction operation. The second feature extraction result may be then inputted into the fifth branch to perform a feature filtering operation (similar to the feature filtering operation performed by the fourth branch) to obtain a second correction information. The second correction information may be inputted into the third branch to obtain a third feature extraction result by a feature extraction operation.

Finally, the first feature extraction result, the second feature extraction result, and the third feature extraction result respectively outputted by the first branch, the second branch, and the third branch may be fused, so that information mined layer by layer may be fused to obtain the first feature information that is highly recognizable.

Further, in the existing technologies the feature extraction capability of a conventional convolutional network may be insufficient. In view of this, in some exemplary embodiments of the present invention, a unique hierarchical convolutional network may be designed for multi-layer mining, so as to partially or completely compensate such insufficiency. However, even if information that is fully recognizable is extracted by using a hierarchical convolutional network, the quality of such information may still not meet requirements for the boundary prediction accuracy in some exemplary embodiments of the present invention. This is because the hierarchical convolutional network uses a convolution operation as a core operation of feature extraction, but the convolution operation lacks the ability to control global information and pays more attention to local information within the convolution sensory field. Such a lack of the ability to control the global information may affect the expressiveness of the first feature information.

In order to solve this problem, some exemplary embodiments of the present invention provide an attention-based coding performed on a sample image. The attention-based coding process may serialize the sample image, and a coding process of a serialized result focuses on global information, so that the obtained second feature information may include sufficient global information. A specific execution process of an attention-based coding operation and a convolution operation is not described in the present invention, and reference may be made to the related technologies of the neural network.

Coding points are treated equally without discrimination in attention-based coding in the existing technologies. However, such a processing manner may reduce the convergence speed of the neural network in some exemplary embodiments of the present invention, thus needs to be improved. In some exemplary embodiments of the present invention, weights may be respectively set for coding points in the process of attention-based coding. The weights may respectively represent importance degrees of the coding points. After the attention-based coding is performed on the coding points to obtain coding information corresponding to the coding points, weight-based information fusion may be performed on the coding points to obtain the second feature information. A main purpose of such an operation is to enable the foregoing neural network to converge faster.

In some exemplary embodiments of the present invention, a reasonable degree of weight setting may have certain impact on the convergence speed. Some exemplary embodiments of the present invention further provide a weight calculation method for a coding point PA. PA may be any one of the foregoing coding points, and the weight calculation method may include:.

In some exemplary embodiments, the first feature information may include adequately recognizable information and focus on local parts of the sample image, the second feature information may focus on global information of the sample image, and the third feature information obtained by fusing the first feature information and the second feature information may be high quality information including those features.

The loss of the neural network in some exemplary embodiments of the present invention may include two parts: a first loss may be generated based on the difference between the foregoing boundary prediction information and the foregoing labels, and a second loss may be generated by an importance degree determining process. That is, the second loss may be a loss generated by branches that perform an importance degree determining operation. Using <FIG> as an example, the second loss may be a sum of losses generated by the fourth branch and the fifth branch.

Specifically, using the loss generated by the fourth branch as an example, the loss generated by the fourth branch may be determined by using the following method:.

In some exemplary embodiments, the target recognition may be based on a mature network in the existing technologies. This is not limited herein. Because the target recognition is only used for determining a relative importance degree of each region rather than an absolute importance degree, requirements for the quality of a target recognition algorithm are not high, and a mature network may be used. It may be understood that a smaller difference between the target recognition result and the label may indicate a less important region.

A specific type of the self-fusion operation is not limited in the present invention. The self-fusion operation may fuse the information corresponding to the region that is in the first feature extraction result, and finally, the information may be fused into a value (the information index value). Reference may be made to the existing technologies for the fusion in some exemplary embodiments of the present invention, which is not limited herein. All fusion operations in the neural network field may be referred to and selected to support the exemplary embodiments of the present invention.

The neural network may be trained based on the first loss and the second loss, and a trained neural network may be used for recognizing objects in the first image to obtain boundary information of the objects.

In some exemplary embodiments, as shown in <FIG>, the instruction sequence generation unit may include:
an object sequence generation unit <NUM>, configured to generate a first object grabbing sequence and a second object grabbing sequence according to the distribution of the objects in the first image.

The object sequence generation unit <NUM> may perform the following operations:.

For example, a quantity of objects in each region and information about relative positions may be obtained according to a distribution of the objects in each region, and the operation path(s) of the first robot (manipulator) and/or the second robot (manipulator) may be planned according to the quantity of the objects in the each region and the information about the relative position, so as to implement a coordinated operation of the first robot and the second robot (which means the first robot and the second robot do not interfere with each other), for example, reduce operating interference through partition allocation, or reduce interference through operations that reduce congestion.

For example, two types of marks (for example, a first mark is a synchronous mark and a second mark is an asynchronous mark) may be used for distinguishing and planning a synchronous operation and an asynchronous operation (such as an alternate operation). When it is determined that the first robot and second robot execute the sequences without interfering each other, a synchronous mark may be used, and the two robots may operate simultaneously (operate synchronously). When the first robot and the second robot execute sequences that will interfere with each other, an asynchronous mark may be used, and the two robots may not operate synchronously (i.e., asynchronously). They may operate in turn with a preset time difference, for example, they may operate alternately.

In some exemplary embodiments, the robot operation may be planned with a shorter movement path by using an accurate relative position information. For example, when a robot is going to grab one object, an object closest (or closer) to a previous selected object may be selected as the one to be grabbed.

Specifically, the object sequence generation unit <NUM> may perform the following operations:.

In some exemplary embodiments, a method for sorting the objects in the first region may include:.

A method for sorting the objects in the second region may be the same or similar to the foregoing method, and is not repeated herein.

In order to minimize movement paths of the first robot and the second robot, the objects in a designated region should be grabbed and moved in a certain order.

If the first quantity is equal to the second quantity, and the third quantity is zero, the first object grabbing sequence may be a sequence of instructions corresponding to the objects in the first region, and the second object grabbing sequence may be a sequence of instructions corresponding to the objects in the second region. The instructions corresponding to the objects in a region may indicate that the instructions are used to grab and move the corresponding objects to the pre-set position(s).

If the first quantity is not equal to the second quantity, taking the case when the first quantity is greater than the second quantity as an example, the following method may be implemented. And the same principles may be applicable in the case when the first quantity is less than the second quantity. In some exemplary embodiments, the method may include:.

In some exemplary embodiments, a sequence of instructions corresponding to a certain number of objects in the third region wherein the number is equal to the difference may be generated in the following way, including:.

In such a manner of generating the sequence, a movement path of the robots may be shortened, and a generation speed of the sequence may be ensured.

In some exemplary embodiments, a method of generating the sequence of instructions corresponding to a certain number of objects in the third region wherein the number is equal to the difference may be further provided. The method may include:.

In the method of generating the foregoing sequence, a chance of which the first robot and the second robot may operate synchronously may be increased with a greater probability. This is because that in the method, a congestion degree among the objects in the third region may be minimized, and the reduction of the congestion degree among the objects may be conducive to synchronous operation.

The objects that corresponding to the instructions in the first object grabbing sequence and the second object grabbing sequence obtained in the steps (a) to (c) may be grabbed and moved synchronously, thereby improving the work efficiency. If an object grabbing sequence is generated through the above steps <NUM>-<NUM>, a technical effect of shortening a movement path of the end effector may also be achieved.

If a first preset condition is met, the following operations may be performed to generate the first object grabbing sequence and the second object grabbing sequence:.

The first preset condition may include, for example, two conditions: (<NUM>). the first quantity is equal to the second quantity, but the third quantity is not zero; and (<NUM>). the first quantity is not equal to the second quantity, but there are still objects not selected in the third region after the steps (a) ~ (c) are performed.

The first execution termination condition may also include, for example, two conditions: there is no object unselected in the third region (which means the no first object can be selected), or, after the first object is selected, there's no second object can be selected.

In some exemplary embodiments, an execution process of the first algorithm may be described as (a1) ~ (b1). The execution process of the first algorithm may shorten a movement path of the first robot as much as possible, and may be beneficial to synchronous operation by reducing the congestion degree. The execution process may include:.

In some exemplary embodiments, an execution process of the first algorithm may be described as (a10) ~ (b10). The execution process of the first algorithm may shorten movement paths of the first robot and the second robot as much as possible. The execution process may include:.

When the first execution termination condition is met and there is no object unselected in the third region (i.e., all objects have been selected in the third region), the first object grabbing sequence and the second object grabbing sequence may have been completely generated.

When the first execution termination condition is met, but there are still to-be-selected objects in the third region (for example, the unselected objects are within the interference area of the current first object, so no second object can be selected), the following operations may be further performed:.

The asynchronous marks may indicate the asynchronous instructions.

The instructions with asynchronous marks may be executed with a preset staggered time difference. For example, when the first robot executes the instruction(s) corresponding to the objects in the third region, the second robot does not immediately enter the third region, waits a period, and enter the third region to execute the instruction corresponding to the fourth object when the first robot is about to leave (or when the first robot is about to rise).

The instructions with asynchronous marks may be alternate instructions. Alternate instructions may be executed by the first robot (the first manipulator) and the second robot (the second manipulator) alternatively, or may be regarded as exclusive instructions. For example, when the first robot (the first manipulator) executes the alternate instruction, the second robot (the second manipulator) does not execute the instruction, and when the first robot (the first manipulator) has completed the alternate instruction, the second robot (the second manipulator) may then execute the instruction while the first robot (the first manipulator) does not execute the instruction.

The second execution termination condition may include two conditions: there's no third or fourth object that can be selected.

In some exemplary embodiments, an execution process of the second algorithm may be described as follows:.

Through the steps (a100) ~ (c100), the movement path of the first robot and the second robot may be shortened as much as possible.

A path generation unit <NUM> may be configured to generate a first path sequence by using positions of objects, corresponding to the instructions in the first object grabbing sequence, as start points and the second position(s) of the first robot as an end point(s); and generate a second path sequence by using positions of objects corresponding to the instructions in the second object grabbing sequence, as start points and the second position(s) of the second robot as an end point(s).

Specifically, if the instruction in the first object grabbing sequence carries a synchronous mark, a corresponding path may also carry the synchronous mark, and if the instruction in the first object grabbing sequence carries an asynchronous mark, the corresponding path may also carry the asynchronous mark. This is the same for the second path sequence.

An instruction generation unit <NUM> may be configured to generate a first instruction sequence based on the first path sequence and generate a second instruction sequence based on the second path sequence. Corresponding to the paths in the first path sequence, instructions for controlling the first robot to move along the paths are generated, and the first instruction sequence is obtained accordingly. Corresponding to the paths in the second path sequence, instructions for controlling the second robot to move along the paths are generated, and the second instruction sequence is obtained accordingly. When robot moves along the path, the robot may grab an object at a start point of the path, and release the object at an end point of the path, so as to complete the transfer of the object. In some exemplary embodiments, an instruction generated based on a path with a synchronous mark may also carry a synchronous mark, and an instruction generated based on a path with an asynchronous mark may also carry an asynchronous mark. In some exemplary embodiments, the instructions with the synchronous mark may be synchronous instructions, that is, the first manipulator and the second manipulator may execute corresponding instructions synchronously. The instructions with the asynchronous mark may be asynchronous, for example, alternate instructions. The alternate instructions may be instructions executed alternately by the first manipulator and the second manipulator, or may be regarded as exclusive instructions. For example, when the first manipulator executes an alternate instruction, the second manipulator does not execute the instruction, and when the first manipulator has completed the alternate instruction, the second manipulator may then execute the instruction while the first manipulator does not execute the instruction.

Specifically, the movement control unit <NUM> may perform the following operations: sequentially extracting instructions with synchronous marks from the first instruction sequence to obtain a first sub-sequence; sequentially extracting instructions with asynchronous marks from the first instruction sequence to obtain a second sub-sequence; sequentially extracting instructions with synchronous marks from the second instruction sequence to obtain a third sub-sequence; and sequentially extracting instructions with asynchronous marks from the second instruction sequence to obtain a fourth sub-sequence.

Certainly, when there is no instruction with an asynchronous mark, the second sub-sequence and the fourth sub-sequence are null.

Specifically, a first instruction in the head of the first sub-sequence and a third instruction in the head of the third sub-sequence may be popped out synchronously. "Pop out" in some exemplary embodiments of the present invention means obtaining and deleting from an original position. Popping out the first instruction in the head of the first sub-sequence means obtaining an instruction from the head of the first sub-sequence and deleting the obtained instruction from the first sub-sequence.

The first instruction may be transmitted to the first robot to control the first robot to perform a first action, and the third instruction may be synchronously transmitted to the second robot to control the second robot to perform a third action synchronously.

In response to a case that the first robot completes the first action and the second robot completes the third action, a step of synchronously popping out a new first instruction from the head of the first sub-sequence and a new third instruction from the head of the third sub-sequence may be repeated.

The first instruction may be an instruction in the head of the first sub-sequence, and the first action may be an action corresponding to the first instruction. The third instruction may be an instruction in the head of the third sub-sequence, and the third action may be an action corresponding to the third instruction.

In response to a case that both the first sub-sequence and the third sub-sequence are null, and both the second sub-sequence and the fourth sub-sequence are null, a control process ends.

In response to a case that both the first sub-sequence and the third sub-sequence are null and the second sub-sequence is not null, a second instruction at the head of the second sub-sequence may be popped out, and the second instruction may be transmitted to the first robot for the first robot to perform the second action.

In response to a case that the second action is completed and the head of the fourth sub-sequence is null, the control process ends.

In response to a case that the second action is completed and the head of the fourth sub-sequence is not null, a fourth instruction in the head of the fourth sub-sequence may be popped out, and the fourth instruction may be transmitted to the second manipulator for the second manipulator to perform a fourth action.

The second instruction may be an instruction in the head of the second sub-sequence, and the second action may be an action corresponding to the second instruction. The fourth instruction may be an instruction in the head of the fourth sub-sequence, and the fourth action may be an action corresponding to the fourth instruction.

In response to a case that the second robot completes a fourth action, and the remaining second sub-sequence is not null, a new second instruction is popped out from the head of the second sub-sequence and is transmitted to the first robot to perform a new second action.

In response to a case that the second robot completes a fourth action, the remaining second sub-sequence is null, and the fourth sub-sequence is not null, a new fourth instruction is popped out from the head of the fourth sub-sequence and is transmitted to the second robot (manipulator) to perform a new fourth action.

In some exemplary embodiments of the present invention, the robot master control system may further include at least one storage medium and at least one processor. Accordingly, the master controller <NUM>, the dual-robot control system <NUM>, the sub-controller, as well as the units and modules described above may be sets of instructions stored in the storage medium and/or may be independent entities that also includes at least one processor and at least one storage medium.

The storage medium may include a data storage device. The data storage device may be a non-transitory storage medium or a temporary storage medium. For example, the data storage device may include one or more of a magnetic disk, a read-only storage medium (ROM), and a random access storage medium (RAM). The storage medium may also include at least one set of instructions stored in the data storage device. The instructions may be computer program code, and the computer program code may include the programs, routines, objects, components, data structures, processes, modules, etc. for executing the methods as provided by the present invention.

The at least one processor may be in communication connection with the master controller <NUM> and the dual-robot control system <NUM>. The at least one processor may also be in communication connection with the at least one storage medium. The at least one processor may be used to execute the at least one set of instructions. When the robot master control system is in operation, the at least one processor may read the at least one set of instructions and executes the methods as provided by the present invention according to the instruction of the at least one set of instructions. The at least one processor may perform some or all of the steps included in the methods as provided by the present invention. The at least one processor may be in the form of one or more processors. In some exemplary embodiments, the at least one processor may include one or more hardware processors, for example, microcontrollers, microprocessors, reduced set of instructions computers (RISC), application specific integrated circuits (ASICs), application-specific set of instructions processors (ASIP), central processing units (CPU), graphics processing units (GPU), physical processing units (PPU), microcontroller units, digital signal processors (DSP), field programmable gate arrays (FPGA), advanced RISC machines (ARM), programmable logic devices (PLD), or any circuit or processor that is capable of executing one or more functions, or any combination thereof. For the purpose of description, only one processor is described in the robot master control system in the present invention. However, it should be noted that the robot master control system in the present application may also include multiple processors. Thus, the operations and/or method steps disclosed in the present invention may be performed by one processor as described in the present invention, or may be performed jointly by multiple processors. For example, if the at least one processor of the robot master control system performs steps A and B in the present invention, it should be understood that step A and step B may be performed jointly or separately by two different processors (for example, a first processor performs step A, a second processor performs step B, or the first and second processors perform steps A and B together).

The robot master control system provided in some exemplary embodiments of the present invention may coordinate and comprehensively control multiple robots to grab and move objects. Compared with a single robot, the efficiency may be greatly improved. In addition, each dual-robot control system may be designed individually, thereby improving the work efficiency of coordinated work of dual-robot control systems.

Claim 1:
A robot master control system, comprising:
a master controller, configured to control at least one dual-robot control system,
wherein each of the at least one dual-robot control system includes a first robot, a second robot, an image capturing device, and a sub-controller controlling the first robot and the second robot, and
the sub-controller is controlled by the master controller;
the image capturing device is configured to take photos of objects on top of a loading table from above, so as to obtain a first image, and transmit the first image to the sub-controller;
the sub-controller is configured to analyze the first image to obtain the distribution of the objects, including
using a preset neural network to obtain boundary information of the objects in the first image; and
obtaining the distribution of the objects in the first image according to the boundary information; wherein the neural network includes a hierarchical convolutional network, an attention-based coding network, a fusion network, and a recognition network.