WO2024001302A1 - 一种建图系统及相关方法 - Google Patents

一种建图系统及相关方法 Download PDF

Info

Publication number
WO2024001302A1
WO2024001302A1 PCT/CN2023/081301 CN2023081301W WO2024001302A1 WO 2024001302 A1 WO2024001302 A1 WO 2024001302A1 CN 2023081301 W CN2023081301 W CN 2023081301W WO 2024001302 A1 WO2024001302 A1 WO 2024001302A1
Authority
WO
WIPO (PCT)
Prior art keywords
subtask
edge site
mapping
central cloud
edge
Prior art date
Application number
PCT/CN2023/081301
Other languages
English (en)
French (fr)
Inventor
周顺波
徐乔博
王烽
Original Assignee
华为云计算技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN202210983140.XA external-priority patent/CN117376347A/zh
Application filed by 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2024001302A1 publication Critical patent/WO2024001302A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Definitions

  • the present application relates to the field of computer technology, and in particular to a mapping system, a mapping method, a computing device cluster, a computer-readable storage medium, and a computer program product.
  • mapping refers to the process of constructing a three-dimensional (3D) point cloud map, a 2D raster map, or a semantic map.
  • 3D point cloud maps and 2D raster maps are the basis for autonomous positioning, obstacle avoidance, and route planning of smart devices.
  • Semantic maps are an important product that assists smart device navigation.
  • SLAM simultaneous localization and mapping
  • SLAM technology can be divided into three types: laser SLAM, visual SLAM, and multi-sensor fusion SLAM.
  • laser SLAM laser SLAM
  • visual SLAM visual SLAM
  • multi-sensor fusion SLAM multi-sensor fusion SLAM.
  • the processes between different SLAM technologies are roughly similar, but in different SLAM technologies, there are different processing methods for signal processing of specific sensors.
  • Tracking which specifically includes detecting sensor input information (point clouds, pictures, etc.), then identifying some feature frames, and then using these feature frames to find similar features with previously existing image frames, based on the two frames. Based on the similar characteristics between spaces, the mileage information of the smart device is calculated. According to the SLAM algorithm rules, the information judged to be key frames is used as the input for local mapping.
  • Local Mapping If there are key frames input to Local Mapping, the Local Mapping module will calculate the intersection or similar feature information between the current key frame and the existing key frames in the map, and then perform local bundle adjustment (local bundle adjustment, local BA) process to refine the relative coordinates of different images.
  • local bundle adjustment local bundle adjustment, local BA
  • Loop Closure As a resident process, the entire SLAM process is always performing closed-loop operations. Whenever a new keyframe is added to the map, and it is determined that the position of the new keyframe is the same or similar to the previously passed position, then the fusion of the newly added frame and the previous frame will be performed.
  • mapping usually requires a lot of computing resources and takes a lot of time to calculate.
  • Current mapping solutions generally have the problem of slow mapping speed and difficulty in meeting business needs.
  • This application provides a mapping system that can increase the speed of mapping while reducing the computing power consumption of the smart device itself, allowing the smart device to support application expansion in more and more complex scenarios.
  • This application also provides mapping methods, computing device clusters, computer-readable storage media and computer program products corresponding to the system.
  • this application provides a mapping system, which includes a smart device, a central cloud, and at least one edge site.
  • the central cloud is used to send the stock resource information of at least one edge site and the network quality information between the smart device and the at least one edge site to the smart device, and the smart device is used to build a network based on the stock resource information and network quality information, and
  • the resource demand estimate and real-time demand assessment result of at least one subtask in the graph task generate a scheduling decision for at least one subtask, and schedule at least one subtask to the central cloud or at least one edge site based on the scheduling decision.
  • a central cloud or at least one edge site is used to perform subtasks, thereby completing the mapping.
  • the system relies on the large computing power and large bandwidth resource base of the central cloud to perform statistical analysis on historical data to obtain network quality information between smart devices and at least one edge site.
  • the central cloud can combine network quality information with each edge site.
  • the stock resource information is delivered to the smart device.
  • the smart device flexibly assigns the sub-task based on the resource demand estimate of at least one sub-task in the mapping task, the real-time demand assessment results, and the above-mentioned network quality information and stock resource information delivered by the central cloud. be dispatched to different edge sites or central clouds.
  • this method can reduce the computing power consumption of the smart device itself, allowing the smart device to support application expansion in more and more complex scenarios.
  • At least one subtask includes a feature detection subtask, a new keyframe decision subtask, a relocation subtask, a local mapping subtask, a loop closure detection subtask, a loop closure correction subtask, and a bundle adjustment subtask.
  • This system splits the mapping task into multiple subtasks and flexibly schedules multiple subtasks between edge clouds. On the one hand, it can fully utilize resources and improve mapping efficiency. On the other hand, it can reduce the computing power of the smart device itself. Consumption, so that lightweight smart devices can also meet the requirements.
  • the smart device when the first subtask of at least one subtask is scheduled to the central cloud, the smart device is also used to transmit the task data of the first subtask to at least one edge site, and the at least one edge site also Used to send the task data of the first subtask to the central cloud, so that the central cloud executes the first subtask based on the task data of the first subtask.
  • the system keeps the task data nearby, and the edge site acts as a transit point to synchronize the task data to the central cloud, thereby improving data upload efficiency and shortening transmission time.
  • the smart device is specifically configured to determine a first edge site from at least one edge site based on inventory resource information and network quality information, and transmit task data of the first subtask to the first edge site.
  • the system can combine stock resource information and network quality information to select appropriate edge sites to transmit data, thereby improving the efficiency of data transmission.
  • the first subtask includes global mapping
  • the task data of the first subtask includes key frames in the sensing data collected by the end-side device.
  • the system schedules global mapping subtasks that consume a lot of computing power to the central cloud, and uploads key frames in the sensing data collected by end-side devices to the central cloud.
  • the central cloud uses its own huge computing power to perform global mapping.
  • the graph subtask improves the efficiency of graph construction.
  • At least one edge site is also used to deprivece the task data of the first subtask, so that the central cloud executes the first subtask based on the deprived task data.
  • This system can de-privacy process task data to ensure data privacy and security.
  • the smart device when the second subtask of the at least one subtask is scheduled to the second edge site of the at least one edge site, the smart device is also configured to transmit the second subtask to the second edge site.
  • the task data enables the second edge site to execute the second subtask based on the task data of the second subtask.
  • the system uploads the task data to the nearby edge site, and the edge site executes the subtask, thereby utilizing the computing power and low latency of the edge site to improve mapping efficiency.
  • the second subtask includes a local mapping subtask
  • the task data of the second subtask includes key frames in the sensing data collected by the end-side device.
  • Local mapping subtasks usually consume a certain amount of computing power and have relatively high latency requirements. This system schedules the local mapping subtasks to edge sites and uploads key frames so that edge sites can perform local construction based on key frames. Graph can achieve a balance between computing power and latency.
  • the smart device is also used to obtain key frame decision information from the central cloud, and identify key frames from the sensing data based on the key frame decision information.
  • the system can quickly and accurately identify key frames based on the key frame decision information issued by the central cloud. This can avoid a lot of time spent in identifying key frames and improve the efficiency of mapping.
  • the central cloud is also used to perform behavior analysis on edge sites, obtain behavior analysis results, and determine key frame decision information based on the analysis results.
  • the system can perform behavioral analysis on edge sites to determine key frame decision information to quickly identify key frames, and perform key frame identification based on the key frame decision information instead of using a fixed method of identification, which can improve identification accuracy.
  • the smart device includes any one or more of robots, drones, and smartphones.
  • robots can meet the needs of sweeping, food delivery and other application scenarios through mapping
  • drones can meet the needs of express delivery scenarios through mapping
  • smartphones can meet the needs of augmented reality through mapping.
  • augmented reality, AR augmented reality
  • VR virtual reality
  • the central cloud can construct a global map by combining key frames uploaded by the smart device at the first location and key frames uploaded when the smart device moves to the second location. Specifically, the central cloud can create a global map based on the key frames uploaded by the smart device at the first location, and then update the global map based on the key frames uploaded when the smart device moves to the second location. For example, the central cloud can update the global map through map fusion. map. In this way, a more comprehensive global map can be constructed to help smart devices implement corresponding functions.
  • this application provides a mapping method.
  • the methods include:
  • the central cloud sends the stock resource information of at least one edge site and the network quality information between the smart device and the at least one edge site to the smart device;
  • the intelligent device generates a scheduling decision for the at least one subtask based on the stock resource information and the network quality information, as well as the resource demand estimate and the real-time demand assessment result of at least one subtask in the mapping task, and Schedule the at least one subtask to the central cloud or the at least one edge site according to the scheduling decision;
  • the central cloud or the at least one edge site performs the sub-task.
  • the at least one subtask includes a feature detection subtask, a new key frame decision subtask, a relocation subtask, a local mapping subtask, a closed loop detection subtask, a closed loop correction subtask, and a bundle Adjustment One or more of the subtasks or global mapping subtasks.
  • the method further includes:
  • the intelligent device When a first subtask of the at least one subtask is scheduled to the central cloud, the intelligent device transmits the task data of the first subtask to the at least one edge site;
  • the at least one edge site sends the task data of the first subtask to the central cloud
  • the central cloud performs the subtasks, including:
  • the central cloud executes the first subtask according to the task data of the first subtask.
  • the smart device transmits the task data of the first subtask to the at least one edge site, including:
  • the intelligent device determines a first edge site from the at least one edge site based on the stock resource information and the network quality information;
  • the smart device transmits the task data of the first subtask to the first edge site.
  • the first subtask includes global mapping
  • the task data of the first subtask includes key frames in the sensing data collected by the end-side device.
  • the method further includes:
  • the at least one edge site performs privacy processing on the task data of the first subtask
  • the central cloud executes the first subtask based on the task data of the first subtask, including:
  • the central cloud executes the first subtask based on the privacy-removed task data.
  • the method further includes:
  • the smart device transmits the task of the second subtask to the second edge site.
  • the at least one edge site performs the sub-task, including:
  • the second edge site executes the second subtask according to the task data of the second subtask.
  • the second subtask includes a local mapping subtask
  • the task data of the second subtask includes key frames in the sensing data collected by the end-side device.
  • the method further includes:
  • the intelligent device obtains key frame decision information from the central cloud
  • the smart device identifies the key frame from the sensing data based on the key frame decision information.
  • the method further includes:
  • the central cloud performs behavioral analysis on the edge site and obtains behavioral analysis results
  • the central cloud determines the key frame decision information based on the analysis results.
  • this application provides a computing device cluster.
  • the cluster of computing devices includes at least one computing device including at least one processor and at least one memory.
  • the at least one processor and the at least one memory communicate with each other.
  • the at least one processor is configured to execute instructions stored in the at least one memory, so that the computing device or a cluster of computing devices executes the mapping method described in the first aspect or any implementation of the first aspect.
  • the present application provides a computer-readable storage medium in which instructions are stored, and the instructions instruct a computing device or a cluster of computing devices to execute the above-mentioned first aspect or any one of the first aspects. accomplish The mapping method described in the method.
  • the present application provides a computer program product containing instructions that, when run on a computing device or a cluster of computing devices, cause the computing device or a cluster of computing devices to execute the first aspect or any one of the first aspects. Implement the mapping method described in the method.
  • Figure 1 is a schematic architectural diagram of a mapping system provided by an embodiment of the present application.
  • Figure 2 is a flow chart of a mapping method provided by an embodiment of the present application.
  • Figure 3 is a schematic flowchart of global mapping subtask scheduling provided by an embodiment of the present application.
  • Figure 4 is a schematic flowchart of local mapping subtask scheduling provided by an embodiment of the present application.
  • Figure 5 is a schematic flowchart of a key frame upload provided by an embodiment of the present application.
  • Figure 6 is a schematic structural diagram of a mapping system provided by an embodiment of the present application.
  • Figure 7 is a schematic structural diagram of a computing device provided by an embodiment of the present application.
  • Figure 8 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application.
  • Figure 9 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application.
  • Figure 10 is a schematic structural diagram of a computing device cluster provided by an embodiment of the present application.
  • first and second in the embodiments of this application are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, features defined as “first” and “second” may explicitly or implicitly include one or more of these features.
  • Mapping refers to the process of constructing 3D point cloud maps, 2D raster maps, and semantic maps. Smart devices such as robots and drones rely on mapping when automatically performing tasks. Mapping includes offline mapping or real-time mapping. The following describes offline mapping and real-time mapping respectively.
  • Offline mapping refers to offline calculation of maps based on stored sensory data (such as data collected by end-side devices).
  • the computing resources used for offline mapping have no platform requirements and can be provided by robots or other computing devices other than robots, for example.
  • Real-time mapping refers to the real-time calculation of sensory data during the movement of smart devices to build a map.
  • the real-time mapping process involves multiple subtasks. Multiple subtasks can include real-time signal processing, pose estimation, key frame recognition, bundle adjustment BA, and map fusion.
  • real-time signal processing includes processing of real-time collected signals, such as filtering, noise reduction, etc.
  • pose estimation is to estimate the movement of the camera based on images at different times, and then estimate the movement of the robot.
  • Keyframe identification refers to identifying keyframes used to build a map from a large number of frames.
  • Bundling adjustment refers to minimizing the reprojection error between the observed and predicted images to obtain an accurate value of the movement direction.
  • map fusion is It refers to fusing local maps of different areas to obtain a global map. Different subtasks may have different latency requirements.
  • End-side equipment refers to the equipment that collects data.
  • the end-side devices themselves do not have complex data processing capabilities and are usually not managed by the central cloud.
  • Common end-side devices include but are not limited to: cameras, radars, inertial motion units (IMU) or other sensors.
  • the camera can include an ordinary color camera, such as a red green blue (RGB) camera, or a depth camera with depth of field, also called an RGBD camera.
  • the radar can be Lidar.
  • End-side devices can be deployed on the smart device body to collect environmental data (such as various images, point clouds, etc.), or to collect motion data of the smart device (such as speed, acceleration, etc.).
  • Central cloud is a centralized data center, also called cloud computing data center.
  • Cloud computing data center is a kind of cloud computing architecture based on which computing, storage and network resources are loosely coupled, completely virtualizes various information technology (IT) equipment, has a high degree of modularity, a high degree of automation, and has a relatively high degree of A new data center with a high degree of green energy saving.
  • the central cloud can provide users with computing, storage or network resources according to needs.
  • Intelligent devices such as robots have certain computing capabilities, so they can build maps based on their own computing capabilities. Considering that some sub-tasks in the mapping process require a large amount of resources, the above-mentioned smart devices can also collaborate with the central cloud to achieve mapping. The latency between smart devices such as robots and the central cloud is usually large, making it difficult to meet the needs of some subtasks. To this end, the industry has also introduced collaborative mapping with other edge devices.
  • Edge devices are devices that can be directly managed by the central cloud.
  • the edge device itself has certain computing capabilities and can be used to process various types of data collected by end-side devices.
  • the edge device itself has limited storage, network, and computing resources, but it is closer to the end-side device and has smaller latency.
  • Edge devices can be divided into smart devices and edge sites. Among them, smart devices can include mobile edge devices such as robots and drones.
  • Edge sites are usually fixed-position edge devices, which can be small or medium-sized data centers close to the data side (end side).
  • a common form of edge location might be: a data center with several servers.
  • edge-assisted visual SLAM for simultaneous positioning and mapping.
  • This method attempts to use the advantages of edge sites to optimize the entire visual SLAM process.
  • smart devices such as robots run tracking tasks, maintain a local map, and select key frames to send to edge sites.
  • the edge sites serve as backends to supplement computing power, perform closed-loop detection and optimization and other computing power-consuming tasks, and maintain the overall situation. map, and actively updates the local map maintained by the smart device based on the key frames sent by the smart device.
  • inventions of the present application provide a mapping system.
  • the system includes smart devices, a central cloud and at least one edge site.
  • the central cloud is used to send the stock resource information of the at least one edge site and the network quality information between the smart device and the at least one edge site to the smart device, and the smart device is used to send the information according to the The stock resource information and the network quality information, as well as the resource demand estimate and real-time demand assessment result of at least one subtask in the mapping task, generate a scheduling decision for the at least one subtask, and use the scheduling decision to The at least one subtask is scheduled to the central cloud or the at least one edge site.
  • the central cloud or at least one edge site is used to perform the sub-tasks, thereby completing the mapping.
  • the system relies on the large computing power and large bandwidth resource base of the central cloud to perform statistical analysis on historical data and obtain Network quality information between the smart device and at least one edge site.
  • the central cloud can deliver the network quality information and the inventory resource information of each edge site to the smart device.
  • the smart device is based on the resource demand estimate of at least one subtask in the mapping task.
  • the subtasks are flexibly scheduled to different edge sites or central clouds based on the value, real-time demand assessment results, and the above network quality information and stock resource information issued by the central cloud.
  • it can avoid the insufficient spare resources of some edge sites, or the poor network quality between smart devices and edge sites, which makes it difficult to transmit data to the edge sites in time, resulting in execution waiting time, and improve the speed of mapping.
  • this method can reduce the computing power consumption of the smart device itself, allowing the smart device to support application expansion in more and more complex scenarios.
  • the system 100 can be divided into three parts: the cloud side, the edge side, and the end side.
  • the functions of the above three parts are introduced below.
  • end-side device As a data collection terminal, the end-side device itself does not have complex data processing capabilities. Common end-side devices include but are not limited to: RGB cameras, RGBD cameras, Lidar, IMU and other sensor devices. In the entire system architecture, end-side devices are mainly used to collect and obtain environmental data (such as various images, point clouds, etc.) and robot motion data (such as speed, acceleration, etc.).
  • environmental data such as various images, point clouds, etc.
  • robot motion data such as speed, acceleration, etc.
  • the edge side usually has certain complex data processing capabilities.
  • the edge side includes edge sites and smart devices.
  • the edge site can be a small or medium-sized data center close to the data side (specifically, the terminal side).
  • Common forms of edge sites can be data centers with several servers, and common forms of smart devices can be robots, drones, etc. with computing power. The following uses a robot as an example.
  • the robot may include at least one functional module of a decision maker, an executor, a resource analyzer, a data processor, or a local task pool.
  • the decision maker as a decision control center, is responsible for coordinating various end-side capabilities deployed on an edge device to complete specific tasks (such as inspection, delivery, data collection, mapping), etc.
  • the executor as the executor of scheduling decisions, is responsible for scheduling different subtasks of the mapping task to the cloud side (such as the central cloud) or the edge side (such as robots or edge sites) for execution.
  • the resource analyzer obtains edge-side statistical information collected by cloud-side aggregation, such as available computing resources, available storage resources, available bandwidth resources, computing power categories and other inventory resource information, and the relationship between the robot and at least one edge site. network quality information such as delay and jitter, and then use the statistical information provided by the cloud side as the basis for determining scheduling decisions. Furthermore, the resource analyzer can also monitor the usage patterns and instantaneous conditions of its own computing resources, storage resources, and bandwidth resources as a basis for determining scheduling decisions.
  • the computing power category is used to indicate the computing architecture type of the computing resource, such as a central processing unit (CPU) or a graphics processing unit (GPU).
  • the data processor serves as a data transfer station for data collection, preprocessing and uploading to other edge devices or central clouds. It provides multiple mechanisms such as data privacy processing, compression, and failure retransmission, while ensuring that edge services are not affected. , upload as much data as possible to the cloud side.
  • a local task pool is a collection of tasks.
  • the local task pool mainly includes the following tasks:
  • this process is a resident process and is the input of the mapping process.
  • New keyframe detection the robot can decide which frames are key frames based on the sensing data of various sensors (Lidar, RGBD, RGB, IMU, etc.) input in real time. If they are key frames, they will be synchronized to Other edge devices or the cloud side serve as the basis for updating the final global map.
  • the robot's positioning and actions rely on the local local map to make decisions and perform operations. This is the basis for the normal operation of the robot. How to perform Local Mapping quickly and accurately is the key to whether the robot can quickly respond to the environment. After the New keyframe decision is made, the keyframe will also be used as the input of Local Mapping to build the Local Map.
  • the Local Map itself can include auxiliary information provided by the cloud side, such as the structural characteristics of the environment, the speed of the robot and other status information. The cloud side can adaptively calculate the size and detail of the Local Map based on this information. degree, etc., thereby ensuring that the computing resources of smart devices such as robots are maximized.
  • the cloud side may include a central cloud.
  • the central cloud can be a common form of a large data center.
  • the cloud side can centrally integrate, process and correct the data generated by each edge device to ensure that the data generated by hundreds or thousands of edge devices can be globally aggregated and optimized through globally consistent processing.
  • the cloud side can deploy a data analysis center and maintain a global task pool.
  • the data analysis center provides a basic supporting data collection for the business scheduling and execution decisions of the edge device itself by globally analyzing the stock resource information, network quality information, and business behavior information of each edge device.
  • the data analysis center can include the following functional modules:
  • the edge device network quality analyzer analyzes/predicts the network quality (delay, network fluctuation, available bandwidth, etc.) information of each edge device (such as edge site), and then synchronizes this network quality information to the robot regularly as a follow-up robot. The basis for task scheduling and decision-making.
  • the edge device computing power quality analyzer analyzes/predicts the stock resource information such as CPU, memory, storage space, etc. available at each edge site in the future, and then synchronizes these stock resource information to the robot regularly as a follow-up robot, etc. The basis for task scheduling and decision-making.
  • Edge device behavior analyzer statistical analysis of various tasks (Feature Detection, New key Frame Decision, Re localization, Local Mapping, Loop Detection, Loop Correction, Full BA, Update Map) and other quantification of the computing power consumed on different edge devices Indicator analysis results.
  • the analysis result can be the effect achieved by n frames through time t while spending m servers.
  • the above analysis result can also be synchronized to all edge devices (such as edge sites, robots) as subsequent edge devices (robots). / edge site), etc., are the basis for edge cloud task scheduling and decision-making.
  • the edge device behavior analyzer can also analyze the historical experience values of different thresholds for key frame judgment of edge devices in different scenarios.
  • Global task pool For tasks that consume relatively large computing power and are not sensitive to delay during the mapping process, this solution chooses to execute them on the cloud side. In different scenarios, the breadth and accuracy required for mapping tasks are different. This part is mainly divided into 2 functions Group, the first one is closed loop, including: Loop Detection, Loop Correction, etc.; the second one is global map optimization, including: Full BA, Update Map and other operations.
  • Loop Detection When a new keyframe is added, it is necessary to compare the current keyframe with all other keyframes in history to determine whether the current keyframe is at the position it passed before.
  • Loop Correction If the previously passed position is found in the Loop Detection stage, loop correction will be performed subsequently to correct the pose of the keyframe and optimize the global map.
  • Global BA Full Bundle Adjustment calculates the moving speed and orientation of all edge devices (robots/collection devices) during the collection process, and obtains the precise values of movement speed and orientation.
  • speed of the edge device Robot/collection device Only after accurate evaluation of orientation and orientation can the drift in the global map be minimized and the global map become more accurate.
  • Update Map integrate elements involved in key frames into the existing global map, and update the content of the global map.
  • intelligent devices such as robots can achieve more flexible sub-task scheduling for completing the sub-tasks required for mapping.
  • edge based on the results of the edge device network quality analyzer, edge
  • the results of the device computing power quality analyzer and the results of the edge device behavior analyzer can be scheduled flexibly in time and space. This can keep the total cost of computing power and network at the lowest level and reduce the user's construction costs.
  • graph cost more computing resources are freed up for smart devices such as robots to support richer application deployment.
  • the system relies on behavioral analysis on the cloud side to provide a more flexible key frame judgment mechanism in different scenarios. Intelligent devices such as robots can obtain these key frame judgment mechanisms and achieve the same results while saving bandwidth and computing power. Mapping business goals.
  • mapping method of the embodiment of the present application will be introduced from the perspective of the mapping system.
  • the method includes:
  • the central cloud collects statistics on the existing resource information of at least one edge site and the network quality information between the smart device and the at least one edge site.
  • the central cloud may periodically collect statistics on the inventory resource information of at least one edge site and the network quality information between the smart device and the at least one edge site.
  • the inventory resource information may include the amount and type of resources available on the edge site, where the amount of available resources includes the amount of computing resources available, the amount of storage resources available, and the amount of network resources available.
  • the resource types may include, for example, computing power. type.
  • Network quality information may include one or more of delay and jitter.
  • the central cloud can also collect statistics on network quality information between edge sites and existing resource information on the smart device itself.
  • the statistical process of the network quality information between edge sites is similar to the statistical method of the network quality information between smart devices and edge sites.
  • the statistical method of the stock resource information of the smart device body is similar to the stock resource information of the edge site. This will not be explained here. Again.
  • S204 The central cloud delivers existing resource information and network quality information to smart devices.
  • the central cloud can periodically send inventory resource information and network quality information to smart devices.
  • the mapping system can include one or more smart devices.
  • the central cloud can deliver inventory resource information and network quality information to each smart device to facilitate scheduling decisions.
  • the intelligent device uses the stock resource information, the network quality information, and at least one of the mapping tasks to The resource demand estimate of the subtask and the real-time demand assessment result are used to generate the scheduling decision of the at least one subtask.
  • Mapping tasks can include feature detection subtasks, new keyframe decision subtasks, relocation subtasks, local mapping subtasks, loop closure detection subtasks, loop closure correction subtasks, bundle adjustment subtasks, or global mapping subtasks. of one or more.
  • the global mapping subtask can be to fuse local maps to update the map. Based on this, the global mapping subtask can also be called the map update subtask.
  • Smart devices can analyze historical data to obtain an estimate of resource requirements for at least one subtask.
  • the resource demand estimate may include calculation resource demand estimate and storage resource demand estimate.
  • Smart devices can also evaluate the real-time requirements of subtasks based on business logic and obtain the real-time requirements assessment results of subtasks.
  • the smart device can select a device for performing the above-mentioned sub-task based on the stock resource information and the network quality information, as well as the resource demand estimate of the sub-task and the real-time demand assessment result, for example It is the central cloud or at least one edge site that generates the scheduling decision of at least one subtask.
  • the resource demand estimate of the global mapping subtask indicates that the subtask consumes a large amount of computing resources, and the real-time demand assessment result of the global mapping subtask indicates that the real-time demand of the global mapping subtask is relatively low. Based on this, intelligent The device can generate a scheduling decision to schedule the global mapping subtask to the central cloud.
  • the resource demand estimate of the local mapping subtask indicates that the amount of computing resources consumed by the subtask is less than the amount of computing resources consumed by the global mapping subtask.
  • the real-time demand assessment result of the local mapping subtask represents that the local mapping subtask consumes less computing resources.
  • the task has relatively high real-time requirements. Based on this, the smart device can generate a scheduling decision to schedule the local mapping subtask to at least one edge site.
  • the smart device can also determine a target edge site from the at least one edge site based on the stock resource information and the network quality information. Accordingly, the smart device can generate a scheduling decision to schedule the local mapping subtask to the target edge site.
  • S208 The intelligent device schedules at least one subtask to the central cloud or at least one edge site based on the scheduling decision of at least one subtask.
  • the smart device can offload the subtask to the central cloud or the corresponding edge site according to the scheduling decision of the subtask. For example, smart devices can schedule global mapping subtasks to the central cloud and local mapping subtasks to target edge sites.
  • the smart device when the first subtask of the at least one subtask is scheduled to the central cloud, can also transmit the task of the first subtask to the at least one edge site. data.
  • the at least one edge site may also send task data of the first subtask to the central cloud.
  • the intelligent device may determine the first edge site from the at least one edge site based on the inventory resource information and the network quality information, and then transmit the task data of the first subtask to the first edge site.
  • the task data may include key frames in the sensing data collected by the end-side device. Furthermore, the task data may also include other data collected by the end-side device, such as motion data.
  • the first edge site can also pre-process the task data after receiving the above task data, for example, perform de-privacy processing to ensure data privacy and security.
  • This system relies on the wide coverage and low latency characteristics of edge devices to bring task data close to the top.
  • the edge devices serve as transfers to synchronize task data to the central cloud, thus solving the problem of massive data transmission through wireless networks. Resources, a lot of time and difficulty in ensuring transmission reliability have improved the mapping efficiency and accuracy.
  • the smart device may transmit task data of the second subtask to the second edge site.
  • the task data of the second subtask includes key frames in the sensing data collected by the end-side device.
  • the key frame may be obtained by the intelligent device obtaining key frame decision information from the central cloud, and identifying the key frame from the sensing data according to the key frame decision information.
  • the central cloud can conduct behavior analysis on the edge site, obtain the behavior analysis results, and then determine the key frame decision information based on the analysis results.
  • the key frame decision information may include a threshold for identifying key frames.
  • S210 The central cloud or at least one edge site performs subtasks to complete mapping.
  • the central cloud or at least one edge site can execute corresponding subtasks based on the task data received respectively, thereby completing the mapping.
  • the central cloud can execute the first subtask based on the task data of the first subtask
  • the edge site can execute the second subtask based on the task data of the second subtask.
  • the central cloud can also execute the first subtask based on the task data after deprivation.
  • embodiments of the present application provide a mapping method.
  • This method uses the central cloud statistics/inference network quality information between smart devices and edge sites, the inventory resource information of edge sites, resource demand estimates of different subtasks, real-time demand assessment results of different subtasks, etc., for Adaptively generate scheduling decisions for smart devices, and flexibly schedule tasks between edge clouds based on the scheduling decisions, thus improving the efficiency of task completion while ensuring the normal and smooth completion of the smart device's own tasks.
  • it frees up more available space for smart devices, supports the deployment of more and richer applications, and greatly improves the resource utilization efficiency of the edge cloud.
  • the nodes that can be offloaded include not only the central cloud, but also other edge sites close to the user side, which can support smart devices to more flexibly schedule tasks while ensuring low latency while ensuring the construction of smart devices.
  • the graph task is completed, the user bandwidth and computing cost are guaranteed to be the lowest.
  • this method can use the key frame selection strategy provided by the central cloud and analyzed based on different scenarios to improve the dynamic flexibility of key frame selection of the SLAM mapping algorithm in different scenarios and enhance the adaptability to different scenarios.
  • the intelligent device is used as a robot below, and the global mapping subtask offloading, local mapping subtask offloading and key frame uploading processes of the embodiment of the present application are introduced with reference to the accompanying drawings.
  • the robot's computing, storage, and bandwidth are limited.
  • the robot can dynamically upload task data to the central cloud through the edge site based on the network quality information (delay, jitter, packet loss, etc.) between itself and different edge sites.
  • the edge site itself As a data preprocessing center close to the user side, it provides the ability to protect private information.
  • the final task data is aggregated in the central cloud, globally calculated, and a global map is generated.
  • the central cloud C regularly collects the statistically obtained stock resource information (stock computing resource information) of each edge site. information, inventory storage resource information), and network quality information between edge sites and robots are synchronously pushed to all robots.
  • robot A reaches point A at time T1. After obtaining the information of central cloud C, it can find a location with sufficient stock resources (computing, storage) and available network quality (delay, jitter, packet loss, etc.) site, and then the robot transmits the task data to the nearest edge site A, and the robot A's transmission task ends.
  • Edge site A performs data preprocessing (such as removing private information) and asynchronously uploads task data to central cloud C.
  • Central Cloud C performs Loop Detection, Loop Correction, Full BA, and Update Map operations on all key frame information before T1 time to generate the latest global global map at T1 time.
  • Robot A uploads the task data to edge site B nearby at T2 time.
  • Edge site B performs data preprocessing (removing private information) and asynchronously uploads task data to central cloud C.
  • Central Cloud C performs Loop Detection, Loop Correction, Full BA, and Update Map operations on all key frame information before T2 time to generate the latest global global map at T2 time.
  • the robot can also offload the Local Mapping subtask to the edge site based on the resource conditions of the edge site.
  • the robot chooses to offload the Local Mapping subtask to edge sites A and B based on its own computing power limitations, the resource conditions of the edge sites, and the network quality, as shown below:
  • robot A moves to point A and receives the existing resource information of the edge site and the network information between the edge site and the robot synchronized by the central cloud C.
  • robot A Based on the existing resource information of the edge site and the network information between the edge site and the robot, robot A found through calculation and decision-making that offloading the Local Mapping subtask to edge site A will not cause function unavailability. Robot A can Schedule the Local Mapping subtask to edge site A, and edge site A executes the local mapping subtask. After edge site A completes execution, robot A can obtain the latest version of the Local Map from edge site A.
  • Edge site A synchronizes and uploads the key frame information of the local map to the central cloud C.
  • the central cloud C is responsible for completing the construction of the global map at time T1.
  • robot A During the movement of robot A, at time T2, it moves to point B and receives the existing resource information of the edge site and the network information between the edge site and the robot synchronized by the central cloud C.
  • robot A Based on the existing resource information of the edge site and the network information between the edge site and the robot, robot A found through calculation and decision-making that offloading the Local Mapping subtask to edge site B will not cause function unavailability. Robot A can Schedule the Local Mapping subtask to edge site B, and edge site B executes the Local Mapping subtask. After edge site B completes execution, robot A can obtain the latest version of the Local Map from edge site B.
  • Edge site B synchronizes the key frame information of the constructed Local Map and uploads it to central cloud C.
  • Central cloud C responsible for completing the construction of the global map at T2 time.
  • the robot can quickly make decisions and identify which key frames are based on the judgment basis information of the key frames obtained by analyzing the edge device behavior analyzer provided on the cloud. Then select a free time and upload the keyframes to the central cloud.
  • Robot A modifies the judgment and decision-making logic of key frames based on key frame decision-making information. These key frames will be used as the input of Local Mapping to construct a local map. At the same time, these key frames can be uploaded to central cloud C. Central Cloud C completes the construction of the global Map at time T1.
  • key frames can be uploaded to edge site A, and edge site A will construct the local map.
  • Key frames can also be uploaded to central cloud C through edge site A, and central cloud C will complete the construction based on the information including the key frames. Construction of global Map at time T1.
  • Robot A modifies the judgment and decision-making logic of key frames based on the key frame decision-making information. These key frames will be used as the input of Local Mapping to construct a local map. At the same time, these key frames will be uploaded to central cloud C. The central cloud C completes the construction of the global Map at time T2.
  • key frames can be uploaded to edge site B, which constructs the local map.
  • the key frame can also be uploaded to the central cloud C through the edge site B, and the central cloud C completes the construction of the global map at T2 based on the information including the key frame.
  • the embodiment of the present application also provides a mapping system as described above.
  • the mapping system is introduced below with reference to the accompanying drawings.
  • the system 600 includes a central cloud 602, a smart device 604 and at least one edge site 606;
  • the central cloud 602 is used to send the inventory resource information of at least one edge site 606 and the network quality information between the smart device 604 and the at least one edge site 606 to the smart device 604;
  • the intelligent device 604 is configured to generate a scheduling decision for at least one subtask based on the stock resource information and network quality information, as well as the resource demand estimate and real-time demand assessment result of at least one subtask in the mapping task, and based on the scheduling decision Schedule at least one subtask to the central cloud 602 or at least one edge site 606;
  • the central cloud 602 or at least one edge site 606 is used to perform subtasks.
  • the central cloud 602 may include an information collection module 6022 and a communication module 6024. Further, the central cloud may also include an execution module 6026.
  • the information collection module 6022 is used to collect the inventory information of at least one edge site 606. Source information, network quality information between the smart device 604 and at least one edge site 606, the communication module 6024 is used to send inventory resource information and network quality information to the smart device 604.
  • the execution module 6026 is configured to execute at least one subtask in the mapping task when the subtask is scheduled to the central cloud 602 .
  • smart device 604 includes communication module 6042 and decision-making module 6044. Further, the smart device 604 may also include an execution module 6046.
  • the communication module 6042 is used to receive the inventory resource information and network quality information
  • the decision-making module 6044 is used to receive the inventory resource information and network quality information, as well as the resource demand estimate and real-time demand evaluation result of at least one subtask in the mapping task. , generate a scheduling decision of at least one subtask
  • the communication module 6042 is also configured to schedule at least one subtask in the mapping task to the central cloud 602 or at least one edge site 606 according to the scheduling decision.
  • the execution module 6046 is used to execute the subtask when there is a subtask that has not been scheduled to the central cloud 602 or the edge site 606 .
  • Edge site 606 includes communication module 6062 and execution module 6064. Further, the edge site 606 may also include a preprocessing module 6066. Among them, the communication module 6062 receives the subtasks scheduled by the smart device 604, and the execution module 6064 is used to execute the subtasks scheduled to the edge site 606. Among them, the communication module 6062 is also used to receive task data, the pre-processing module 6066 is used to pre-process the task data, for example, perform deprivation processing (desensitization processing), and the execution module 6064 can be based on the task data after deprivation processing. Execute subtasks.
  • deprivation processing deprivation processing
  • the above-mentioned information collection module 6022, communication module 6024, execution module 6026 and communication module 6042, decision-making module 6044, execution module 6046 and communication module 6062, execution module 6064 and pre-processing module 6066 can be implemented by hardware modules or by software modules.
  • the information collection module 6022, the communication module 6024, the execution module 6026 and the communication module 6042, the decision-making module 6044, the execution module 6046 and the communication module 6062, the execution module 6064 and the pre-processing module 6066 may be running on a computing device or An application or application module on a cluster of computing devices.
  • the information collection module 6022 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD).
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • the above-mentioned PLD can be a complex programmable logical device (CPLD), a field-programmable gate array (field-programmable gate array, FPGA), a general array logic (generic array logic, GAL), or any combination thereof.
  • the execution module 6026, decision-making module 6044, execution module 6046, execution module 6064, and pre-processing module 6066 may include at least one computing device, or a device implemented using ASIC or PLD.
  • the communication module 6024, the communication module 6042, and the communication module 6062 can be implemented through transceiver modules such as network interface cards and transceivers.
  • At least one subtask includes a feature detection subtask, a new keyframe decision subtask, a relocation subtask, a local mapping subtask, a loop closure detection subtask, a loop closure correction subtask, and a bundle adjustment subtask.
  • the smart device 604 (for example, the communication module 6042) is also used to:
  • At least one edge site 606 (e.g., communication module 6062) is also used to:
  • the central cloud 602 (for example, the execution module 6026) is specifically used for:
  • the first subtask is executed according to the task data of the first subtask.
  • the smart device 604 (such as the decision-making module 6044) is specifically used to:
  • the smart device 604 (for example, the communication module 6042) is specifically used to:
  • the first subtask includes global mapping
  • the task data of the first subtask includes key frames in the sensing data collected by the end-side device.
  • the smart device 604 (for example, the communication module 6042) is also used to:
  • the second edge site (for example, the execution module 6064 in the second edge site) is specifically used to:
  • the second subtask is executed according to the task data of the second subtask.
  • the second subtask includes a local mapping subtask
  • the task data of the second subtask includes key frames in the sensing data collected by the end-side device.
  • the smart device 604 (for example, the communication module 6042) is also used to:
  • the smart device 604 (such as the decision-making module 6044) is also used to:
  • the central cloud 602 (for example, the information collection module 6022) is also used to:
  • key frame decision information is determined.
  • computing device 700 includes: bus 702, processor 704, memory 706, and communication interface 708.
  • the processor 704, the memory 706 and the communication interface 708 communicate through the bus 702.
  • the computing device 700 may be a smart device, or a computing device in an edge site or a central cloud. It should be understood that this application does not limit the number of processors and memories in the computing device 700.
  • the bus 702 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • the bus can be divided into address bus, data bus, control bus, etc. For ease of presentation, only one line is used in Figure 7, but it does not mean that there is only one bus or one type of bus.
  • Bus 702 may include a path that carries information between various components of computing device 700 (eg, memory 706, processor 704, communications interface 708).
  • the processor 704 may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (micro processor, MP) or a digital signal processor (digital signal processor, DSP). any one or more of them.
  • CPU central processing unit
  • GPU graphics processing unit
  • MP microprocessor
  • DSP digital signal processor
  • Memory 706 may include volatile memory, such as random access memory (RAM).
  • the processor 704 may also include non-volatile memory (non-volatile memory), such as read-only memory (ROM), flash memory, hard disk drive (HDD) or solid state drive (solid state drive). drive, SSD).
  • ROM read-only memory
  • HDD hard disk drive
  • SSD solid state drive
  • the memory 706 stores executable program code, and the processor 704 executes the executable program code. Lines of program code to implement the aforementioned mapping method. Specifically, the memory 706 stores instructions for executing the mapping method.
  • the communication interface 708 uses transceiver modules such as, but not limited to, network interface cards and transceivers to implement communication between the computing device 700 and other devices or communication networks.
  • An embodiment of the present application also provides a computing device cluster.
  • the computing device cluster includes at least one computing device.
  • the computing device may be a server, such as a central server or an edge server.
  • the computing device may also be a robot, a drone, and other devices.
  • the computing device cluster includes at least one computing device 700 .
  • the same instructions for performing the mapping method may be stored in the memory 706 of one or more computing devices 700 in the computing device cluster.
  • one or more computing devices 700 in the computing device cluster may also execute part of the instructions for executing the mapping method.
  • a combination of one or more computing devices 700 may collectively execute instructions of the mapping system for performing the mapping method.
  • memories 706 in different computing devices 700 in the computing device cluster can store different instructions for implementing some functions of the mapping system 600 .
  • FIG. 9 shows a possible implementation.
  • computing devices 700A, 700B, and 700C may be connected through communication interface 708 .
  • the memory in the computing device 700A stores instructions for performing the functions of the central cloud 602 (such as the functions of the information collection module 6022, the communication module 6024, and the execution module 6026).
  • the memory in the computing device 700B stores instructions for performing the functions of the smart device 604 (such as the functions of the communication module 6042, the decision-making module 6044, and the execution module 6046).
  • the memory in the computing device 700C stores instructions for performing the functions of the edge site 606 (eg, the functions of the communication module 6062, the execution module 6064, and the preprocessing module 6066).
  • the memories 706 of the computing devices 700A, 700B, and 700C collectively store instructions for the mapping system 600 to perform the mapping method.
  • computing device 700A shown in FIG. 9 may also be performed by multiple computing devices 700.
  • the functions of computing device 700B may also be performed by multiple computing devices 700 .
  • one or more computing devices in a cluster of computing devices may be connected through a network.
  • the network may be a wide area network or a local area network, etc.
  • Figure 10 shows a possible implementation.
  • computing devices 700D, 700E, and 700F are connected through a network.
  • the connection to the network is made through a communication interface in each computing device.
  • the memory 706 in the computing device 700D stores instructions for performing the functions of the central cloud 602
  • the memory 706 in the computing device 700E stores instructions for performing the functions of the smart device 604.
  • the computing device Memory 706 in 700F contains instructions for performing the functions of edge site 606.
  • computing device 700D shown in FIG. 10 may also be performed by multiple computing devices 700.
  • the functions of computing device 700E can also be completed by multiple computing devices 700
  • the functions of computing device 700F can also be completed by multiple computing devices 700 .
  • An embodiment of the present application also provides a computer-readable storage medium.
  • the computer-readable storage medium may be any available medium that a computing device can store or a data storage device such as a data center that contains one or more available media.
  • the available media may be magnetic media (eg, floppy disk, hard disk, tape), optical media (eg, DVD), or semiconductor media (eg, solid state drive), etc.
  • the computer-readable storage medium includes instructions that instruct the computing device to execute the above-described application to the mapping system for performing the mapping method.
  • An embodiment of the present application also provides a computer program product containing instructions.
  • the computer program product may be A software or program product that contains instructions that can be run on a computing device or stored on any available medium.
  • the computer program product is run on at least one computing device, at least one computing device is caused to execute the above mapping method.

Abstract

本申请提供了一种建图系统,包括:智能设备、中心云和至少一个边缘站点。其中,中心云用于将至少一个边缘站点的存量资源信息、智能设备与至少一个边缘站点之间的网络质量信息发送至智能设备;智能设备用于根据存量资源信息和网络质量信息,以及建图任务中至少一个子任务的资源需求估计值、实时性需求评估结果,生成至少一个子任务的调度决策,并根据调度决策将至少一个子任务调度至中心云或至少一个边缘站点;中心云或至少一个边缘站点用于执行所述子任务。该系统可以提高建图速度,同时,还可以降低智能设备本体的算力消耗,让智能设备可以支持更多、更复杂场景下的应用扩展。

Description

一种建图系统及相关方法
本申请要求于2022年06月30日提交中国国家知识产权局、申请号为202210762689.6、发明名称为“一种机器人建图系统及方法”的中国专利申请的优先权,以及要求于2022年08月16日提交中国国家知识产权局、申请号为202210983140.X、发明名称为“一种建图系统及相关方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种建图系统、建图方法、计算设备集群、计算机可读存储介质、计算机程序产品。
背景技术
随着计算机技术的不断发展,产生了实现不同功能的智能设备,包括但不限于实现扫地或送餐功能的机器人、实现快递配送的无人机。上述智能设备通常处于网络的边缘位置,并且通常是可移动的。为了实现扫地、送餐等功能,智能设备通常需要先进行地图探索。地图探索也称作建图。建图是指构建三维(3dimension,3D)点云地图或者2D栅格地图、语义地图的过程。其中,3D点云地图和2D栅格地图是智能设备自主定位、避障、规划路线的基础,语义地图是一个辅助智能设备导航的重要产物。
建图的核心技术是同时定位和建图(simultaneous localization and mapping,SLAM)。SLAM是指智能设备如机器人根据传感器的信息,一边计算自身位置,一边构建环境地图的过程。SLAM技术可以分为三种类型:激光SLAM、视觉SLAM、多传感器融合SLAM。不同的SLAM技术之间流程大致类似,只不过在不同的SLAM技术中,针对于特定传感器的信号处理的方法会存在不同的处理方式。
以视觉SLAM为例,常见的视觉SLAM过程大致如下:
1.追踪(Tracking),具体包括检测传感器输入的信息(点云、图片等),然后识别出一些特征帧,然后使用这些特征帧和以前存在的图像帧之间寻找类似特征,基于两帧之间的类似特征,计算出智能设备的里程信息,根据SLAM算法规则约定,将判断为关键帧的信息作为局部建图的输入。
2.局部建图(Local Mapping),如果有关键帧输入到Local Mapping,Local Mapping模块就会计算当前关键帧和map中已有关键帧的交叉或者类似的特征信息,然后执行本地捆集调整(local bundle adjustment,local BA)过程,对不同的图像进行相对坐标细化。
3.闭环(Loop Closure),作为常驻过程,整个SLAM的过程一直在进行闭环操作。每当一个新的关键帧加入到地图,然后判断到新的关键帧的位置和以前经过的位置相同或者类似,那么就会执行新加入帧和以前帧的融合。
然而,建图通常需要大量的计算资源,耗费大量的时间进行计算。目前的建图方案普遍存在建图速度慢的问题,难以满足业务需求。
发明内容
本申请提供了一种建图系统,该系统可以提高建图速度,同时降低智能设备本体的算力消耗,让智能设备可以支持更多、更复杂场景下的应用扩展。本申请还提供了该系统对应的建图方法、计算设备集群、计算机可读存储介质以及计算机程序产品。
第一方面,本申请提供了一种建图系统,该系统包括智能设备、中心云和至少一个边缘站点。具体地,中心云用于将至少一个边缘站点的存量资源信息、智能设备与至少一个边缘站点之间的网络质量信息发送至智能设备,智能设备用于根据存量资源信息和网络质量信息,以及建图任务中至少一个子任务的资源需求估计值、实时性需求评估结果,生成至少一个子任务的调度决策,并根据调度决策将至少一个子任务调度至中心云或至少一个边缘站点。中心云或至少一个边缘站点用于执行子任务,由此完成建图。
该系统借助于中心云的大算力和大带宽的资源基础,对历史数据进行统计分析,获取智能设备与至少一个边缘站点之间的网络质量信息,中心云可以将网络质量信息以及各边缘站点的存量资源信息下发至智能设备,智能设备基于建图任务中至少一个子任务的资源需求估计值、实时性需求评估结果以及中心云下发的上述网络质量信息和存量资源信息将子任务灵活地调度到不同的边缘站点或中心云上。一方面可以避免部分边缘站点的余量资源不足,或者智能设备与边缘站点之间网络质量较差导致数据难以及时传输至边缘站点,进而产生的执行等待时间,提高建图速度。另一方面,该方法可以降低智能设备本体的算力消耗,让智能设备可以支持更多、更复杂场景下的应用扩展。
在一些可能的实现方式中,至少一个子任务包括特征检测子任务、新关键帧决策子任务、重定位子任务、局部建图子任务、闭环检测子任务、闭环纠正子任务、捆集调整子任务或全局建图子任务中的一种或多种。
该系统通过将建图任务拆分为多个子任务,并在边云之间灵活调度多个子任务,一方面可以提高充分利用资源,提高建图效率,另一方面可以降低智能设备本体的算力消耗,如此可以使得轻量级的智能设备也能够满足要求。
在一些可能的实现方式中,当至少一个子任务中的第一子任务被调度至中心云时,智能设备还用于向至少一个边缘站点传输第一子任务的任务数据,至少一个边缘站点还用于向中心云发送第一子任务的任务数据,从而使中心云根据第一子任务的任务数据,执行第一子任务。
当子任务调度至中心云时,该系统让任务数据就近上边,边缘站点作为中转将任务数据同步到中心云,从而提高数据上传效率,缩短传输时间。
在一些可能的实现方式中,智能设备具体用于根据存量资源信息和网络质量信息,从至少一个边缘站点,确定第一边缘站点,并向第一边缘站点传输第一子任务的任务数据。该系统可以结合存量资源信息和网络质量信息,选择合适的边缘站点传输数据,从而提升数据传输的效率。
在一些可能的实现方式中,第一子任务包括全局建图,第一子任务的任务数据包括端侧设备采集的感知数据中的关键帧。
该系统通过将算力消耗极大的全局建图子任务调度至中心云,并将端侧设备采集的感知数据中的关键帧上传至中心云,由中心云利用自身庞大的算力执行全局建图子任务,提高了建图效率。
在一些可能的实现方式中,至少一个边缘站点还用于对第一子任务的任务数据进行去隐私处理,使得中心云根据去隐私后的任务数据,执行第一子任务。该系统可以对任务数据进行去隐私处理,从而保障数据隐私安全。
在一些可能的实现方式中,当至少一个子任务中的第二子任务被调度至至少一个边缘站点中的第二边缘站点时,智能设备还用于向第二边缘站点传输第二子任务的任务数据,使得第二边缘站点根据第二子任务的任务数据,执行第二子任务。
当子任务调度到边缘站点时,该系统将任务数据就近上传至边缘站点,并由边缘站点执行子任务,从而实现利用边缘站点的算力和低时延提高建图效率。
在一些可能的实现方式中,第二子任务包括局部建图子任务,第二子任务的任务数据包括端侧设备采集的感知数据中的关键帧。
局部建图子任务通常需要消耗一定算力,且对时延要求相对较高,该系统通过将局部建图子任务调度至边缘站点,并将关键帧上传,以便边缘站点根据关键帧进行局部建图,可以实现算力与时延的均衡。
在一些可能的实现方式中,智能设备还用于从中心云获取关键帧决策信息,并根据关键帧决策信息从感知数据中识别关键帧。该系统可以根据中心云下发的关键帧决策信息,快速精准地识别出关键帧,由此可以避免识别关键帧耗费大量时间,提高了建图效率。
在一些可能的实现方式中,中心云还用于对边缘站点进行行为分析,获得行为分析结果,并根据分析结果,确定关键帧决策信息。该系统可以通过对边缘站点进行行为分析,确定关键帧决策信息,以便快速识别出关键帧,并且基于该关键帧决策信息进行关键帧识别,而不是采用固定方式识别,能够提高识别准确度。
在一些可能的实现方式中,智能设备包括机器人、无人机、智能手机中的任意一种或多种。如此,可以满足不同应用场景的需求,例如机器人可以通过建图满足扫地、送餐等应用场景的需求,无人机可以通过建图满足快递配送场景的需求,智能手机可以通过建图满足增强现实(augmented reality,AR)或虚拟现实(virtual reality,VR)应用的需求。
在一些可能的实现方式中,中心云可以将智能设备在第一位置上传的关键帧和智能设备移动到第二位置时上传的关键帧构建全局地图。具体地,中心云可以根据智能设备在第一位置上传的关键帧创建全局地图,然后根据智能设备移动到第二位置时上传的关键帧更新全局地图,例如中心云可以通过地图融合的方式更新全局地图。如此,可以构建较为全面的全局地图,从而为智能设备实现相应的功能提供帮助。
第二方面,本申请提供了一种建图方法。所述方法包括:
中心云将至少一个边缘站点的存量资源信息、智能设备与所述至少一个边缘站点之间的网络质量信息发送至所述智能设备;
所述智能设备根据所述存量资源信息和所述网络质量信息,以及建图任务中至少一个子任务的资源需求估计值、实时性需求评估结果,生成所述至少一个子任务的调度决策,并根据所述调度决策将所述至少一个子任务调度至所述中心云或所述至少一个边缘站点;
所述中心云或所述至少一个边缘站点执行所述子任务。
在一些可能的实现方式中,所述至少一个子任务包括特征检测子任务、新关键帧决策子任务、重定位子任务、局部建图子任务、闭环检测子任务、闭环纠正子任务、捆集调整 子任务或全局建图子任务中的一种或多种。
在一些可能的实现方式中,所述方法还包括:
当所述至少一个子任务中的第一子任务被调度至所述中心云时,智能设备向所述至少一个边缘站点传输所述第一子任务的任务数据;
所述至少一个边缘站点向所述中心云发送所述第一子任务的任务数据;
所述中心云执行所述子任务,包括:
所述中心云根据所述第一子任务的任务数据,执行所述第一子任务。
在一些可能的实现方式中,所述智能设备向所述至少一个边缘站点传输所述第一子任务的任务数据,包括:
所述智能设备根据所述存量资源信息和所述网络质量信息,从所述至少一个边缘站点,确定第一边缘站点;
所述智能设备向所述第一边缘站点传输所述第一子任务的任务数据。
在一些可能的实现方式中,所述第一子任务包括全局建图,所述第一子任务的任务数据包括端侧设备采集的感知数据中的关键帧。
在一些可能的实现方式中,所述方法还包括:
所述至少一个边缘站点对所述第一子任务的任务数据进行去隐私处理;
所述中心云根据所述第一子任务的任务数据,执行所述第一子任务,包括:
所述中心云根据去隐私后的所述任务数据,执行所述第一子任务。
在一些可能的实现方式中,所述方法还包括:
当所述至少一个子任务中的第二子任务被调度至所述至少一个边缘站点中的第二边缘站点时,所述智能设备向所述第二边缘站点传输所述第二子任务的任务数据;
所述至少一个边缘站点执行所述子任务,包括:
所述第二边缘站点根据所述第二子任务的任务数据,执行所述第二子任务。
在一些可能的实现方式中,所述第二子任务包括局部建图子任务,所述第二子任务的任务数据包括端侧设备采集的感知数据中的关键帧。
在一些可能的实现方式中,所述方法还包括:
所述智能设备从所述中心云获取关键帧决策信息;
所述智能设备根据所述关键帧决策信息从所述感知数据中识别所述关键帧。
在一些可能的实现方式中,所述方法还包括:
所述中心云对所述边缘站点进行行为分析,获得行为分析结果;
所述中心云根据所述分析结果,确定所述关键帧决策信息。
第三方面,本申请提供一种计算设备集群。所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器。所述至少一个处理器、所述至少一个存储器进行相互的通信。所述至少一个处理器用于执行所述至少一个存储器中存储的指令,以使得计算设备或计算设备集群执行如第一方面或第一方面的任一种实现方式所述的建图方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示计算设备或计算设备集群执行上述第一方面或第一方面的任一种实现 方式所述的建图方法。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算设备或计算设备集群上运行时,使得计算设备或计算设备集群执行上述第一方面或第一方面的任一种实现方式所述的建图方法。
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。
附图说明
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。
图1为本申请实施例提供的一种建图系统的架构示意图;
图2为本申请实施例提供的一种建图方法的流程图;
图3为本申请实施例提供的一种全局建图子任务调度的流程示意图;
图4为本申请实施例提供的一种局部建图子任务调度的流程示意图;
图5为本申请实施例提供的一种关键帧上传的流程示意图;
图6为本申请实施例提供的一种建图系统的结构示意图;
图7为本申请实施例提供的一种计算设备的结构示意图;
图8为本申请实施例提供的一种计算设备集群的结构示意图;
图9为本申请实施例提供的一种计算设备集群的结构示意图;
图10为本申请实施例提供的一种计算设备集群的结构示意图。
具体实施方式
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
首先对本申请实施例中所涉及到的一些技术术语进行介绍。
建图,是指构建3D点云地图或者2D栅格地图、语义地图的过程。机器人、无人机等智能设备在自动执行任务时依赖于建图。建图包括离线建图或实时建图。下面对离线建图和实时建图分别进行介绍。
离线建图是指基于存储的感知数据(如端侧设备采集的数据)离线计算得到地图。离线建图所使用的计算资源对平台无要求,例如可以是机器人提供,或者是机器人之外的其他计算设备提供。
实时建图是指在智能设备的移动过程中对感知数据进行实时计算以构建地图。实时建图过程中涉及多个子任务。多个子任务可以包括实时信号处理、位姿估计、关键帧识别、捆集调整BA、地图融合。其中,实时信号处理包括对实时采集的信号进行处理,如滤波、降噪等。位姿估计具体是基于不同时刻的图像估计相机的运动,进而估计机器人的运动情况。关键帧识别是指从大量的帧中识别出用于构建地图的关键帧。捆集调整是指将观测到的图像和预测的图像之间的再投影误差最小化,以此得到移动方向的精确值。地图融合是 指将不同区域的局部地图融合,获得全局地图。不同子任务对于时延的要求可以是不同的。
端侧设备,是指采集数据的设备。端侧设备本身不具有复杂数据处理能力,通常不被中心云纳管。常见的端侧设备包括但不限于:相机、雷达、惯性运动单元(inertial motion unit,IMU)或其他传感器。其中,相机可以包括普通的彩色相机,例如为红绿蓝(red green blue,RGB)相机,或者是具有景深的深度相机,也称作RGBD相机。雷达可以是激光雷达Lidar。端侧设备可以部署在智能设备本体,以用于采集环境数据(如各类图像、点云等)、或者是采集智能设备的运动数据(如速度、加速度等)。
中心云,是一种集中的数据中心,也称作云计算数据中心。云计算数据中心是一种基于云计算架构的,计算、存储及网络资源松耦合,完全虚拟化各种信息技术(information technology,IT)设备、模块化程度较高、自动化程度较高、具备较高绿色节能程度的新型数据中心。中心云能够根据需求为用户提供计算、存储或网络等资源。
机器人等智能设备本身具有一定计算能力,因此可以基于自身的计算能力实现建图。考虑到建图过程中的一些子任务需要消耗大量的资源,上述智能设备也可以和中心云协同实现建图。机器人等智能设备和中心云交互的时延通常较大,难以满足一些子任务的需求。为此,业界还引入了其他边缘设备协同建图。
边缘(edge)设备,是能够被中心云直接纳管的设备。边缘设备本身具有一定的计算能力,可以用来处理端侧设备采集的各类数据。边缘设备自身的存储、网络、计算资源有限,但是离端侧设备较近,时延较小。边缘设备可以分为智能设备、边缘站点。其中,智能设备可以包括机器人、无人机等可移动的边缘设备,边缘站点通常是固定位置的边缘设备,具体可以是靠近数据侧(端侧)的小型或中型的数据中心。边缘站点的常见形式可能是:几台服务器的数据中心。
目前,业界尝试采用边缘辅助视觉同步定位和建图edge-assisted visual SLAM。该方法尝试使用边缘站点的优势优化整个visual SLAM的过程。具体地,机器人等智能设备运行tracking任务,维护一个局部地图,同时选取关键帧发送给边缘站点,边缘站点作为算力补充的后端,执行闭环检测和优化等算力消耗大的任务,维护全局地图,同时基于智能设备发送的关键帧主动对智能设备维护的局部地图进行更新。
然而,上述方法中子任务的分配缺乏灵活性,边缘站点和智能设备本体上可完成的子任务是固定的。当部分边缘站点的余量资源不足,或者智能设备与边缘站点之间网络质量较差导致数据难以及时传输至边缘站点时,将会产生难以接受的任务执行等待时间,影响了整体的建图速度。
有鉴于此,本申请实施例提供了一种建图系统。该系统包括智能设备、中心云和至少一个边缘站点。其中,中心云用于将所述至少一个边缘站点的存量资源信息、所述智能设备与所述至少一个边缘站点之间的网络质量信息发送至所述智能设备,所述智能设备用于根据所述存量资源信息和所述网络质量信息,以及建图任务中至少一个子任务的资源需求估计值、实时性需求评估结果,生成所述至少一个子任务的调度决策,并根据所述调度决策将所述至少一个子任务调度至所述中心云或所述至少一个边缘站点。中心云或至少一个边缘站点用于执行所述子任务,由此完成建图。
该系统借助于中心云的大算力和大带宽的资源基础,对历史数据进行统计分析,获取 智能设备与至少一个边缘站点之间的网络质量信息,中心云可以将网络质量信息以及各边缘站点的存量资源信息下发至智能设备,智能设备基于建图任务中至少一个子任务的资源需求估计值、实时性需求评估结果以及中心云下发的上述网络质量信息和存量资源信息将子任务灵活地调度到不同的边缘站点或中心云上。一方面可以避免部分边缘站点的余量资源不足,或者智能设备与边缘站点之间网络质量较差导致数据难以及时传输至边缘站点,进而产生的执行等待时间,提高建图速度。另一方面,该方法可以降低智能设备本体的算力消耗,让智能设备可以支持更多、更复杂场景下的应用扩展。
为了使得本申请的技术方案更加清楚、易于理解,下面结合附图对本申请实施例的建图系统的架构进行介绍。
参见图1所示的建图系统的结构示意图,该系统100可以分为云侧、边缘侧和端侧三部分。下面对上述三部分的功能分别进行介绍。
端侧设备作为数据采集端,本身不具有复杂数据处理能力。常见的端侧设备包括但不限于:RGB相机、RGBD相机、激光雷达Lidar、IMU以及其他的传感器设备。在整个系统架构中,端侧设备主要用来采集获取环境数据(如各类图像、点云等)、机器人的运动数据(如速度、加速度等)。
边缘侧作为数据处理端,通常具有一定的复杂数据处理能力。边缘侧包括边缘站点和智能设备。边缘站点可以是靠近数据侧(具体是端侧)的一个小型或者中型的数据中心。边缘站点的常见形式可以是几台服务器的数据中心,智能设备的常见形式可以是具有算力的机器人、无人机等。下面以机器人进行示例说明。
机器人可以包括决策器、执行器、资源分析器、数据处理器或局部任务池中的至少一个功能模块。
决策器,作为决策控制中心,负责协调在一个边缘设备上部署的各类端侧能力,去完成特定的任务(如巡检、送货、数据采集、建图)等。执行器,作为调度决策的执行者,负责将建图任务的不同子任务调度至云侧(如中心云)或边缘侧(如机器人或边缘站点)执行。
资源分析器,获取到云侧汇聚收集的边缘侧的统计信息,如计算资源可用量、存储资源可用量、带宽资源可用量、算力类别等存量资源信息,机器人和至少一个边缘站点之间的时延、抖动等网络质量信息,然后使用云侧提供的统计信息,作为确定调度决策的基础。进一步地,资源分析器还可以监控自身的计算资源、存储资源、带宽资源的使用规律和瞬时情况,作为确定调度决策的基础。其中,算力类别用于指示计算资源的计算架构类型,例如为中央处理器(central processing unit,CPU)或图形处理器(Graphic Processing Unit,GPU)。
数据处理器,作为数据收集、预处理和上传到其他边缘设备或中心云的数据中转站,提供数据的隐私处理、压缩、失败重传等多种机制,在保证边缘业务不受影响的前提下,把尽量多的数据上传到云侧。
局部任务池,是一个任务集合。特别地,对于建图应用,局部任务池主要包括如下任务:
特征检测(Feature Detection),该过程是一个常驻过程,是建图过程的输入。
新关键帧检测(New keyframe Decision),机器人可以根据实时输入的各类传感器(Lidar、RGBD、RGB、IMU等)的感知数据,去决策哪些帧属于关键帧,如果属于关键帧,就会同步到其他边缘设备或者云侧,作为最终全局地图的更新的依据。
重定位(Relocation),在机器人运行过程中,会存在漂移、定位丢失的情况,在这种情况下,机器人如何快速重定位是一个关键的环节。在该系统中,机器人的重定位过程可以依赖于云侧提供的环境先验信息及语义标签,然后结合本地的局部地图local Map去做重定位,从而在保证使用最小算力的基础上,实现快速的Relocation。
局部建图(Local Mapping),在机器人实际运行过程中,机器人本身的定位、行动都是依赖于本地的局部地图去决策和执行操作的,这是机器人正常运行的基础。如何快速、精确地进行Local Mapping是关乎机器人是否可以快速对环境做出响应的关键。在New keyframe决策后,该keyframe也会作为Local Mapping的输入,去构建Local Map。此外,Local Map本身可以包括云侧提供的辅助信息,比如所处环境的结构特征、机器人的速度等状态信息等,云侧可以基于这些信息,自适应地计算出Local Map创建时的大小、精细程度等,从而保证机器人等智能设备本身的算力资源得到最大化的使用。
云侧可以包括中心云。中心云作为最终的大算力中心,常见形式可以是一个大型数据中心。云侧可以将各个边缘设备上产生的数据,进行集中融合处理和修正,保证成百上千的边缘设备产生的数据,通过全局一致的处理,进行全局的汇聚和优化。
云侧可以部署数据分析中心以及维护全局任务池。其中,数据分析中心通过全局分析各个边缘设备的存量资源信息、网络质量信息、边缘设备的业务行为信息,为边缘设备本身的业务调度、执行决策,提供基础的支撑数据集合。
具体地,数据分析中心可以包括如下多个功能模块:
边缘设备网络质量分析器,分析/预测各个边缘设备(如边缘站点)的网络质量(时延、网络波动、可用带宽等)信息,然后将这些网络质量信息,定时同步到机器人上,作为后续机器人等进行任务调度、决策的依据。
边缘设备算力质量分析器,分析/预测各个边缘站点上,在未来一段时间内可用的CPU、内存、存储空间等存量资源信息,然后将这些存量资源信息定时同步到机器人上,作为后续机器人等进行任务调度、决策的依据。
边缘设备行为分析器,统计分析各类任务(Feature Detection、New key Frame Decision、Re localization、Local Mapping、Loop Detection、Loop Correction、Full BA、Update Map)在不同边缘设备上所消耗的算力等量化指标的分析结果。该分析结果例如可以是n个帧在花费m个服务器的情况下通过时间t实现的效果,上述分析结果也可以同步到所有的边缘设备(如边缘站点、机器人)上,作为后续边缘设备(机器人/边缘站点)等进行边云任务调度、决策的依据。边缘设备行为分析器还可以分析边缘设备在不同场景下,key frame判断时的不同阈值的历史经验值。
子任务的实时性需求分析,判断子任务的实时性需求,作为后续边缘设备(如机器人)等进行边云任务调度、决策的依据。
全局任务池,对于建图过程中相对大算力消耗、时延不敏感的任务,本方案选择在云侧执行。在不同场景下,建图任务要求的广度、精度都不一样。该部分主要分为2个功能 群,第一个是闭环,包括:Loop Detection、Loop Correction等;第二个是全局地图优化,包括:Full BA、Update Map等操作。
闭环检测(Loop Detection),当一个新的关键帧被添加后,就需要把当前关键帧和历史上所有的其他关键帧进行对比,去判断当前的关键帧是否处于之前经过的位置。
闭环纠正(Loop Correction),如果在Loop Detection阶段找到了以前经过的位置,就会随后执行进行loop修正,去纠正关键帧的位姿,以及优化全局地图。
全局BA(Full Bundle Adjustment),对采集过程中所有的边缘设备(机器人/采集设备)进行移动速度和朝向的计算,获取移动速度和朝向的精确值,当边缘设备(机器人/采集设备)的速度和朝向评估准确后,才能最小化全局地图中的drift,让全局地图变得更加精确。
更新地图(Update Map),把关键帧涉及的元素融合到已经存在的全局地图中,更新全局地图的内容。
在该系统中,智能设备如机器人对于完成建图所需要的子任务,可以实现更加灵活地子任务调度,在保证对机器人业务无影响的前提下,基于边缘设备网络质量分析器的结果、边缘设备算力质量分析器的结果、边缘设备行为分析器的结果,可以在时间、空间上做到灵活的调度,如此可以将算力、网络的总成本保持在最低的水平,在降低用户的建图成本的基础上,为机器人等智能设备腾挪出更多的计算资源,支持更加丰富的应用部署。而且,该系统依托于云侧的行为分析提供不同场景下更加灵活的关键帧判断机制,机器人等智能设备获取到这些关键帧判断机制,就可以在节省带宽、算力的基础上,达到相同的建图的业务目标。
接下来,将从建图系统的角度,对本申请实施例的建图方法进行介绍。
参见图2所示的建图方法的流程图,该方法包括:
S202:中心云统计至少一个边缘站点的存量资源信息、智能设备与所述至少一个边缘站点之间的网络质量信息。
具体地,中心云可以周期性地统计至少一个边缘站点的存量资源信息、智能设备与所述至少一个边缘站点之间的网络质量信息。其中,存量资源信息可以包括边缘站点上可用的资源量、资源类型,其中,可用的资源量包括可用的计算资源量、可用的存储资源量、可用的网络资源量,资源类型例如可以包括算力类型。网络质量信息可以包括时延、抖动中的一种或多种。
在一些可能的实现方式中,中心云还可以统计边缘站点之间的网络质量信息、智能设备本体的存量资源信息。边缘站点之间的网络质量信息的统计过程与智能设备和边缘站点之间的网络质量信息的统计方式类似,智能设备本体的存量资源信息与边缘站点的存量资源信息的统计方式类似,在此不再赘述。
S204:中心云下发存量资源信息、网络质量信息至智能设备。
具体地,中心云可以周期性地下发存量资源信息、网络质量信息至智能设备。其中,建图系统可以包括一个或多个智能设备,当采用多个智能设备实现建图时,中心云可以向各个智能设备下发存量资源信息、网络质量信息,以便于进行调度决策。
S206:智能设备根据所述存量资源信息和所述网络质量信息,以及建图任务中至少一 个子任务的资源需求估计值、实时性需求评估结果,生成所述至少一个子任务的调度决策。
建图任务可以包括特征检测子任务、新关键帧决策子任务、重定位子任务、局部建图子任务、闭环检测子任务、闭环纠正子任务、捆集调整子任务或全局建图子任务中的一种或多种。其中,全局建图子任务可以是对局部地图进行融合以更新地图,基于此,全局建图子任务也可以称作地图更新子任务。
智能设备可以根据历史数据进行分析,从而获得至少一个子任务的资源需求估计值。资源需求估计值可以包括计算资源需求估计值、存储资源需求估计值。智能设备还可以根据业务逻辑对子任务的实时性需求进行评估,获得子任务的实时性需求评估结果。
针对建图任务中的至少一个子任务,智能设备可以根据存量资源信息和所述网络质量信息,以及子任务的资源需求估计值,实时性需求评估结果选择用于执行上述子任务的设备,例如是中心云或至少一个边缘站点,生成至少一个子任务的调度决策。
为了便于理解,下面以全局建图子任务、局部建图子任务为例进行说明。
全局建图子任务的资源需求估计值表征该子任务需要消耗大量计算资源,全局建图子任务的实时性需求评估结果表征该全局建图子任务对实时性需求相对较低,基于此,智能设备可以生成将该全局建图子任务调度至中心云的调度决策。
局部建图子任务的资源需求估计值表征该子任务消耗的计算资源量少于全局建图子任务所消耗的计算资源量,局部建图子任务的实时性需求评估结果表征该局部建图子任务对实时性需求相对较高,基于此,智能设备可以生成将该局部建图子任务调度至至少一个边缘站点的调度决策。
进一步地,智能设备还可以根据所述存量资源信息和所述网络质量信息,从所述至少一个边缘站点,确定目标边缘站点。相应地,智能设备可以生成将该局部建图子任务调度至目标边缘站点的调度决策。
S208:智能设备根据至少一个子任务的调度决策,将至少一个子任务调度至中心云或至少一个边缘站点。
具体地,针对至少一个子任务中的每个子任务,智能设备可以根据该子任务的调度决策,将该子任务卸载至中心云或相应的边缘站点。例如,智能设备可以将全局建图子任务调度至中心云,将局部建图子任务调度至目标边缘站点。
在一些可能的实现方式中,当所述至少一个子任务中的第一子任务被调度至所述中心云时,智能设备还可以向所述至少一个边缘站点传输所述第一子任务的任务数据。所述至少一个边缘站点还可以向所述中心云发送所述第一子任务的任务数据。其中,智能设备可以根据存量资源信息和所述网络质量信息,从所述至少一个边缘站点,确定第一边缘站点,然后向所述第一边缘站点传输所述第一子任务的任务数据。
其中,第一子任务为全局建图子任务时,任务数据可以包括端侧设备采集的感知数据中的关键帧。进一步地,任务数据还可以包括端侧设备采集的其他数据,如运动数据。第一边缘站点还可以在接收到上述任务数据,对任务数据进行预处理,例如是进行去隐私处理,从而保障数据隐私安全。
该系统借助边缘设备的广覆盖、低时延的特点,让任务数据就近上边,边缘设备作为中转将任务数据同步到中心云,由此解决了海量数据通过无线网络传输所存在的占用大量 资源、耗费大量时间且传输可靠性难以得到保障的问题,提高了建图效率和建图精度。
当所述至少一个子任务中的第二子任务被调度至所述至少一个边缘站点中的第二边缘站点时,智能设备可以向所述第二边缘站点传输所述第二子任务的任务数据。其中,第二子任务包括局部建图子任务时,所述第二子任务的任务数据包括端侧设备采集的感知数据中的关键帧。
需要说明的时,关键帧可以是智能设备从所述中心云获取关键帧决策信息,根据所述关键帧决策信息从所述感知数据中识别得到。具体地,中心云可以对所述边缘站点进行行为分析,获得行为分析结果,然后根据所述分析结果,确定所述关键帧决策信息。其中,关键帧决策信息可以包括判别关键帧的阈值。
S210:中心云或至少一个边缘站点执行子任务,以完成建图。
具体地,中心云或至少一个边缘站点可以基于各自接收到的任务数据,执行相应的子任务,从而完成建图。例如,中心云可以基于第一子任务的任务数据,执行第一子任务,边缘站点可以基于第二子任务的任务数据,执行第二子任务。其中,考虑到数据隐私安全,所述中心云还可以根据去隐私后的所述任务数据,执行所述第一子任务。
基于上述内容描述,本申请实施例提供了一种建图方法。该方法使用中心云统计/推理智能设备与边缘站点之间的网络质量信息、边缘站点的存量资源信息、不同子任务的资源需求量估计值、不同子任务的实时性需求评估结果等,用于自适应生成智能设备的调度决策,基于该调度决策将任务在边云之间进行灵活调度,如此在保证智能设备本身任务正常顺利完成的情况下,提高任务完成的效率。同时为智能设备腾挪更多的可用空间,支持更多、更丰富的应用的部署,极大提升边云的资源利用效率。并且,智能设备任务调度时,可以卸载的节点不仅包括中心云,也包括靠近用户侧的其他边缘站点,可以在保证低时延的要求下,支持智能设备更加灵活地任务调度,同时在保证建图任务完成的情况下,保证用户带宽、计算成本最低。
进一步地,该方法可以使用中心云提供的、根据不同场景分析除的关键帧选择策略,提高SLAM建图算法在不同场景下的关键帧选择的动态灵活性,增强了不同场景的适应能力。
为了使得本申请的技术方案更清楚、易于理解,下面以智能设备为机器人,结合附图对本申请实施例的全局建图子任务卸载、局部建图子任务卸载以及关键帧上传过程进行介绍。
机器人的计算、存储、带宽有限,机器人可以根据自身和不同边缘站点之间的网络质量信息(时延、抖动、丢包等),动态地将任务数据通过边缘站点上传至中心云,边缘站点本身作为靠近用户侧的数据预处理中心,提供隐私信息保护的能力,最后任务数据在中心云进行汇聚,全局计算,生成全局地图global Map。
参见图3所示的全局建图子任务调度的流程示意图,机器人本体在移动过程中,机器人的计算、存储、带宽资源都在变化,机器人何时把自身的数据在特定时间内传输到云上,是一个需要决策的过程。具体如下所示:
1)中心云C定时把统计获取到的各个边缘站点的存量资源信息(存量计算资源信 息、存量存储资源信息)、边缘站点和机器人之间的网络质量信息同步推送给所有的机器人本体。
2)机器人A在移动过程中,在T1时刻到达A点,获取到中心云C的信息后,可以找到一个存量资源(计算、存储)充足、网络质量(时延、抖动、丢包等)可用的站点,然后机器人将任务数据就近传输到边缘站点A,机器人A传输任务结束。
3)边缘站点A执行数据的预处理(例如去掉隐私信息),把任务数据异步上传到中心云C。中心云C把T1时刻之前的所有关键帧key frame的信息,进行Loop Detection、Loop Correction、Full BA、Update Map操作,生成T1时刻的一个最新的全局的global地图。
4)在机器人A移动过程中,在T2时刻到B点时,获取到中心云C的信息后,计算决策后,找到最优的边缘站点B。
5)机器人A在T2时刻,就近将任务数据上传到边缘站点B。
6)边缘站点B执行数据的预处理(去掉隐私信息),将任务数据异步上传到中心云C。中心云C把T2时刻之前的所有关键帧key frame的信息,进行Loop Detection、Loop Correction、Full BA、Update Map操作,生成T2时刻的一个最新的全局的global地图。
在保证机器人建图能力无影响的情况下,机器人还可以根据边缘站点的资源情况,将Local Mapping子任务卸载(offload)到边缘站点。
参见图4所示的局部建图子任务调度的流程示意图。在该实施例中,机器人根据自身的算力限制、边缘站点的资源情况和网络质量,选择把Local Mapping子任务offload到边缘站点A和B,如下所示:
1)在T1时刻,机器人A移动到A点,收到中心云C同步的边缘站点的存量资源信息、边缘站点和机器人之间的网络信息。
2)机器人A根据边缘站点的存量资源信息、边缘站点和机器人之间的网络信息,通过计算决策后发现,把Local Mapping子任务offload到边缘站点A,不会带来功能不可用,机器人A可以调度Local Mapping子任务至边缘站点A,由边缘站点A执行local Mapping子任务,边缘站点A执行完毕,机器人A可以从边缘站点A获取最新版的Local Map。
3)边缘站点A同步将构造Local Map的关键帧信息,上传到中心云C,中心云C负责完成T1时刻的全局地图global Map的构建。
4)机器人A移动过程中,在T2时刻,移动到B点,收到中心云C同步的边缘站点的存量资源信息、边缘站点和机器人之间的网络信息。
5)机器人A根据边缘站点的存量资源信息、边缘站点和机器人之间的网络信息,通过计算决策后发现,把Local Mapping子任务offload到边缘站点B,不会带来功能不可用,机器人A可以调度Local Mapping子任务至边缘站点B,由边缘站点B执行Local Mapping子任务,边缘站点B执行完毕,机器人A可以从边缘站点B获取最新版的Local Map。
6)边缘站点B同步将构造Local Map的关键帧信息,上传到中心云C,中心云C 负责完成T2时刻的全局地图global Map的构建。
在图3或图4所示实施例中,机器人可以根据云上提供的边缘设备行为分析器分析获得的关键帧的判断依据信息,快速决策、识别出哪些是关键帧。然后选择空闲的时间,上传关键帧到中心云。
参见图5所示的关键帧上传流程示意图,具体如下:
1)在T1时刻,机器人A运动到A点,然后收到中心云C同步过来的关键帧决策信息。
2)机器人A根据关键帧决策信息,修改关键帧的判断和决策逻辑,这些关键帧就会作为Local Mapping的输入,进行本地的local Map构建,同时这些关键帧可以上传到中心云C,中心云C完成T1时刻的global Map的构建。
需要说明的时,关键帧可以上传到边缘站点A,由边缘站点A进行local Map构建,关键帧还可以通过边缘站点A上传到中心云C,由中心云C基于该关键帧在内的信息完成T1时刻的global Map的构建。
3)机器人在T2时刻运行到B点,收到中心云C同步过来的关键帧的决策信息。
4)机器人A根据关键帧决策信息,修改关键帧的判断和决策逻辑,这些关键帧就会作为Local Mapping的输入,进行本地的local Map构建,同时这些关键帧会上传到中心云C,中心云C完成T2时刻的global Map的构建。
类似地,关键帧可以上传到边缘站点B,由边缘站点B进行local Map的构建。并且,关键帧还可以通过边缘站点B上传到中心云C,由中心云C基于该关键帧在内的信息完成T2时刻的global Map的构建。
需要说明的时,当前大部分算法判断关键帧的依据都是一个硬性数值指标,例如:超过1s没有关键帧的加入,同时相比于参考关键帧,Tracking里面的points过于少,这样判断起来的效率比较低,可能会引入多余的计算量,通过中心云上提供的关键帧决策信息,可以让机器人本体灵活地决策关键帧的选取策略,保证机器人本地的资源得到最大化使用。
基于本申请实施例提供的建图方法,本申请实施例还提供了一种如前述的建图系统。下面结合附图对建图系统进行介绍。
参见图6所示的建图系统600的结构示意图,该系统600包括中心云602、智能设备604和至少一个边缘站点606;
中心云602,用于将至少一个边缘站点606的存量资源信息、智能设备604与至少一个边缘站点606之间的网络质量信息发送至智能设备604;
智能设备604,用于根据存量资源信息和网络质量信息,以及建图任务中至少一个子任务的资源需求估计值、实时性需求评估结果,生成至少一个子任务的调度决策,并根据该调度决策将至少一个子任务调度至中心云602或至少一个边缘站点606;
中心云602或至少一个边缘站点606,用于执行子任务。
其中,中心云602可以包括信息收集模块6022和通信模块6024。进一步地,中心云还可以包括执行模块6026。信息收集模块6022用于收集至少一个边缘站点606的存量资 源信息、智能设备604与至少一个边缘站点606之间的网络质量信息,通信模块6024用于发送存量资源信息和网络质量信息至智能设备604。执行模块6026用于当建图任务中的至少一个子任务调度至中心云602时,执行该子任务。
类似地,智能设备604包括通信模块6042和决策模块6044。进一步地,智能设备604还可以包括执行模块6046。其中,通信模块6042用于接收存量资源信息和网络质量信息,决策模块6044用于根据存量资源信息和网络质量信息,以及建图任务中至少一个子任务的资源需求估计值、实时性需求评估结果,生成至少一个子任务的调度决策,通信模块6042还用于根据调度决策将建图任务中的至少一个子任务调度至中心云602或至少一个边缘站点606。执行模块6046用于当存在子任务未被调度至中心云602或边缘站点606时,执行该子任务。
边缘站点606包括通信模块6062和执行模块6064。进一步地,边缘站点606还可以包括预处理模块6066。其中,通信模块6062接收智能设备604调度的子任务,执行模块6064用于执行调度至该边缘站点606的子任务。其中,通信模块6062还用于接收任务数据,预处理模块6066用于对任务数据进行预处理,例如是进行去隐私处理(脱敏处理),执行模块6064可以根据去隐私处理后的任务数据,执行子任务。
上述信息收集模块6022、通信模块6024、执行模块6026和通信模块6042、决策模块6044、执行模块6046以及通信模块6062、执行模块6064、预处理模块6066可以通过硬件模块实现或通过软件模块实现。
当通过软件实现时,信息收集模块6022、通信模块6024、执行模块6026和通信模块6042、决策模块6044、执行模块6046以及通信模块6062、执行模块6064、预处理模块6066可以是运行在计算设备或计算设备集群上的应用程序或者应用程序模块。
当通过硬件实现时,信息收集模块6022也可以是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。类似地,执行模块6026、决策模块6044、执行模块6046、执行模块6064、预处理模块6066可以包括至少一个计算设备,或者是是利用ASIC实现、PLD实现的设备。通信模块6024、通信模块6042、通信模块6062可以通过网络接口卡、收发器一类的收发模块实现。
在一些可能的实现方式中,至少一个子任务包括特征检测子任务、新关键帧决策子任务、重定位子任务、局部建图子任务、闭环检测子任务、闭环纠正子任务、捆集调整子任务或全局建图子任务中的一种或多种。
在一些可能的实现方式中,智能设备604(例如是通信模块6042)还用于:
当至少一个子任务中的第一子任务被调度至中心云602时,向至少一个边缘站点606传输第一子任务的任务数据;
至少一个边缘站点606(例如是通信模块6062)还用于:
向中心云602发送第一子任务的任务数据;
中心云602(例如是执行模块6026)具体用于:
根据第一子任务的任务数据,执行第一子任务。
在一些可能的实现方式中,智能设备604(例如是决策模块6044)具体用于:
根据存量资源信息和网络质量信息,从至少一个边缘站点606,确定第一边缘站点;
智能设备604(例如是通信模块6042)具体用于:
向第一边缘站点传输第一子任务的任务数据。
在一些可能的实现方式中,第一子任务包括全局建图,第一子任务的任务数据包括端侧设备采集的感知数据中的关键帧。
在一些可能的实现方式中,智能设备604(例如是通信模块6042)还用于:
当至少一个子任务中的第二子任务被调度至至少一个边缘站点606中的第二边缘站点时,向第二边缘站点传输第二子任务的任务数据;
该第二边缘站点(例如是第二边缘站点中的执行模块6064)具体用于:
根据第二子任务的任务数据,执行第二子任务。
在一些可能的实现方式中,第二子任务包括局部建图子任务,第二子任务的任务数据包括端侧设备采集的感知数据中的关键帧。
在一些可能的实现方式中,智能设备604(例如是通信模块6042)还用于:
从中心云602获取关键帧决策信息;
智能设备604(例如是决策模块6044)还用于:
根据关键帧决策信息从感知数据中识别关键帧。
在一些可能的实现方式中,中心云602(例如是信息收集模块6022)还用于:
对边缘站点606进行行为分析,获得行为分析结果;
根据分析结果,确定关键帧决策信息。
本申请还提供一种计算设备700。如图7所示,计算设备700包括:总线702、处理器704、存储器706和通信接口708。处理器704、存储器706和通信接口708之间通过总线702通信。计算设备700可以是智能设备,也可以是边缘站点或者中心云中的计算设备。应理解,本申请不限定计算设备700中的处理器、存储器的个数。
总线702可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线702可包括在计算设备700各个部件(例如,存储器706、处理器704、通信接口708)之间传送信息的通路。
处理器704可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器706可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器704还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard disk drive,HDD)或固态硬盘(solid state drive,SSD)。存储器706中存储有可执行的程序代码,处理器704执行该可执 行的程序代码以实现前述建图方法。具体的,存储器706上存有用于执行建图方法的指令。
通信接口708使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备700与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器。在一些实施例中,计算设备也可以是机器人、无人机等设备。
如图8所示,所述计算设备集群包括至少一个计算设备700。计算设备集群中的一个或多个计算设备700中的存储器706中可以存有相同的、用于执行建图方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备700也可以执行用于执行建图方法的部分指令。换言之,一个或多个计算设备700的组合可以共同执行建图系统用于执行建图方法的指令。
需要说明的是,计算设备集群中的不同的计算设备700中的存储器706可以存储不同的指令,用于实现建图系统600的部分功能。
图9示出了一种可能的实现方式。如图9所示,计算设备700A、700B、700C可以通过通信接口708实现连接。计算设备700A中的存储器上存有用于执行中心云602的功能(如信息收集模块6022、通信模块6024、执行模块6026的功能)的指令。计算设备700B中的存储器上存有用于执行智能设备604的功能(如通信模块6042、决策模块6044、执行模块6046的功能)的指令。计算设备700C中的存储器上存有用于执行边缘站点606的功能(如通信模块6062、执行模块6064、预处理模块6066的功能)的指令。换言之,计算设备700A、700B和700C的存储器706共同存储了建图系统600用于执行建图方法的指令。
应理解,图9中示出的计算设备700A的功能也可以由多个计算设备700完成。同样,计算设备700B的功能也可以由多个计算设备700完成。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图10示出了一种可能的实现方式。如图10所示,计算设备700D、700E、700F之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备700D中的存储器706中存有执行中心云602的功能的指令,计算设备700E中的存储器706中存有执行智能设备604的功能的指令,计算设备700F中的存储器706中存有执行边缘站点606的功能的指令。
应理解,图10中示出的计算设备700D的功能也可以由多个计算设备700完成。同样,计算设备700E的功能也可以由多个计算设备700完成,计算设备700F的功能也可以由多个计算设备700完成。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述应用于建图系统用于执行建图方法。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是 包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行上述建图方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。

Claims (23)

  1. 一种建图系统,其特征在于,所述系统包括智能设备、中心云和至少一个边缘站点;
    所述中心云,用于将所述至少一个边缘站点的存量资源信息、所述智能设备与所述至少一个边缘站点之间的网络质量信息发送至所述智能设备;
    所述智能设备,用于根据所述存量资源信息和所述网络质量信息,以及建图任务中至少一个子任务的资源需求估计值、实时性需求评估结果,生成所述至少一个子任务的调度决策,并根据所述调度决策将所述至少一个子任务调度至所述中心云或所述至少一个边缘站点;
    所述中心云或所述至少一个边缘站点,用于执行所述子任务。
  2. 根据权利要求1所述的系统,其特征在于,所述至少一个子任务包括特征检测子任务、新关键帧决策子任务、重定位子任务、局部建图子任务、闭环检测子任务、闭环纠正子任务、捆集调整子任务或全局建图子任务中的一种或多种。
  3. 根据权利要求1或2所述的系统,其特征在于,所述智能设备还用于:
    当所述至少一个子任务中的第一子任务被调度至所述中心云时,向所述至少一个边缘站点传输所述第一子任务的任务数据;
    所述至少一个边缘站点还用于:
    向所述中心云发送所述第一子任务的任务数据;
    所述中心云具体用于:
    根据所述第一子任务的任务数据,执行所述第一子任务。
  4. 根据权利要求3所述的系统,其特征在于,所述智能设备具体用于:
    根据所述存量资源信息和所述网络质量信息,从所述至少一个边缘站点,确定第一边缘站点;
    向所述第一边缘站点传输所述第一子任务的任务数据。
  5. 根据权利要求3或4所述的系统,其特征在于,所述第一子任务包括全局建图,所述第一子任务的任务数据包括端侧设备采集的感知数据中的关键帧。
  6. 根据权利要求3至5任一项所述的系统,其特征在于,所述至少一个边缘站点还用于:
    对所述第一子任务的任务数据进行去隐私处理;
    所述中心云具体用于:
    根据去隐私后的所述任务数据,执行所述第一子任务。
  7. 根据权利要求1或2所述的系统,其特征在于,所述智能设备还用于:
    当所述至少一个子任务中的第二子任务被调度至所述至少一个边缘站点中的第二边缘站点时,向所述第二边缘站点传输所述第二子任务的任务数据;
    所述第二边缘站点具体用于:
    根据所述第二子任务的任务数据,执行所述第二子任务。
  8. 根据权利要求7所述的系统,其特征在于,所述第二子任务包括局部建图子任务,所述第二子任务的任务数据包括端侧设备采集的感知数据中的关键帧。
  9. 根据权利要求5或8所述的系统,其特征在于,所述智能设备还用于:
    从所述中心云获取关键帧决策信息;
    根据所述关键帧决策信息从所述感知数据中识别所述关键帧。
  10. 根据权利要求9所述的系统,其特征在于,所述中心云还用于:
    对所述边缘站点进行行为分析,获得行为分析结果;
    根据所述分析结果,确定所述关键帧决策信息。
  11. 一种建图方法,其特征在于,应用于建图系统,所述建图系统包括智能设备、中心云和至少一个边缘站点,所述方法包括:
    所述中心云将至少一个边缘站点的存量资源信息、智能设备与所述至少一个边缘站点之间的网络质量信息发送至所述智能设备;
    所述智能设备根据所述存量资源信息和所述网络质量信息,以及建图任务中至少一个子任务的资源需求估计值、实时性需求评估结果,生成所述至少一个子任务的调度决策,并根据所述调度决策将所述至少一个子任务调度至所述中心云或所述至少一个边缘站点;
    所述中心云或所述至少一个边缘站点执行所述子任务。
  12. 根据权利要求11所述的方法,其特征在于,所述至少一个子任务包括特征检测子任务、新关键帧决策子任务、重定位子任务、局部建图子任务、闭环检测子任务、闭环纠正子任务、捆集调整子任务或全局建图子任务中的一种或多种。
  13. 根据权利要求11或12所述的方法,其特征在于,所述方法还包括:
    当所述至少一个子任务中的第一子任务被调度至所述中心云时,所述智能设备向所述至少一个边缘站点传输所述第一子任务的任务数据;
    所述至少一个边缘站点向所述中心云发送所述第一子任务的任务数据;
    所述中心云执行所述子任务,包括:
    所述中心云根据所述第一子任务的任务数据,执行所述第一子任务。
  14. 根据权利要求13所述的方法,其特征在于,所述智能设备向所述至少一个边缘站点传输所述第一子任务的任务数据,包括:
    所述智能设备根据所述存量资源信息和所述网络质量信息,从所述至少一个边缘站点,确定第一边缘站点;
    所述智能设备向所述第一边缘站点传输所述第一子任务的任务数据。
  15. 根据权利要求13或14所述的方法,其特征在于,所述第一子任务包括全局建图,所述第一子任务的任务数据包括端侧设备采集的感知数据中的关键帧。
  16. 根据权利要求13至15任一项所述的方法,其特征在于,所述方法还包括:
    所述至少一个边缘站点对所述第一子任务的任务数据进行去隐私处理;
    所述中心云根据所述第一子任务的任务数据,执行所述第一子任务,包括:
    所述中心云根据去隐私后的所述任务数据,执行所述第一子任务。
  17. 根据权利要求11或12所述的方法,其特征在于,所述方法还包括:
    当所述至少一个子任务中的第二子任务被调度至所述至少一个边缘站点中的第二边缘站点时,所述智能设备向所述第二边缘站点传输所述第二子任务的任务数据;
    所述至少一个边缘站点执行所述子任务,包括:
    所述第二边缘站点根据所述第二子任务的任务数据,执行所述第二子任务。
  18. 根据权利要求17所述的方法,其特征在于,所述第二子任务包括局部建图子任务,所述第二子任务的任务数据包括端侧设备采集的感知数据中的关键帧。
  19. 根据权利要求15或18所述的方法,其特征在于,所述方法还包括:
    所述智能设备从所述中心云获取关键帧决策信息;
    所述智能设备根据所述关键帧决策信息从所述感知数据中识别所述关键帧。
  20. 根据权利要求19所述的方法,其特征在于,所述方法还包括:
    所述中心云对所述边缘站点进行行为分析,获得行为分析结果;
    所述中心云根据所述分析结果,确定所述关键帧决策信息。
  21. 一种计算设备集群,其特征在于,所述计算设备集群包括至少一台计算设备,所述至少一台计算设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有计算机可读指令;所述至少一个处理器执行所述计算机可读指令,以使得所述计算设备集群执行如权利要求11至20中任一项所述的方法。
  22. 一种计算机可读存储介质,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求11至20任一项所述的方法。
  23. 一种计算机程序产品,其特征在于,包括计算机可读指令;所述计算机可读指令用于实现权利要求11至20任一项所述的方法。
PCT/CN2023/081301 2022-06-30 2023-03-14 一种建图系统及相关方法 WO2024001302A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202210762689 2022-06-30
CN202210762689.6 2022-06-30
CN202210983140.X 2022-08-16
CN202210983140.XA CN117376347A (zh) 2022-06-30 2022-08-16 一种建图系统及相关方法

Publications (1)

Publication Number Publication Date
WO2024001302A1 true WO2024001302A1 (zh) 2024-01-04

Family

ID=89382612

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/081301 WO2024001302A1 (zh) 2022-06-30 2023-03-14 一种建图系统及相关方法

Country Status (1)

Country Link
WO (1) WO2024001302A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180150085A1 (en) * 2016-11-28 2018-05-31 Tata Consultancy Services Limited System and method for offloading robotic functions to network edge augmented clouds
CN111262906A (zh) * 2020-01-08 2020-06-09 中山大学 分布式边缘计算服务系统下的移动用户终端任务卸载方法
CN111273892A (zh) * 2020-02-13 2020-06-12 济南浪潮高新科技投资发展有限公司 一种基于云端技术和边缘计算实现智能机器人的方法
CN112099510A (zh) * 2020-09-25 2020-12-18 东南大学 一种基于端边云协同的智能体控制方法
CN112995023A (zh) * 2021-03-02 2021-06-18 北京邮电大学 一种多接入边缘计算网络计算卸载系统及其计算卸载方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180150085A1 (en) * 2016-11-28 2018-05-31 Tata Consultancy Services Limited System and method for offloading robotic functions to network edge augmented clouds
CN111262906A (zh) * 2020-01-08 2020-06-09 中山大学 分布式边缘计算服务系统下的移动用户终端任务卸载方法
CN111273892A (zh) * 2020-02-13 2020-06-12 济南浪潮高新科技投资发展有限公司 一种基于云端技术和边缘计算实现智能机器人的方法
CN112099510A (zh) * 2020-09-25 2020-12-18 东南大学 一种基于端边云协同的智能体控制方法
CN112995023A (zh) * 2021-03-02 2021-06-18 北京邮电大学 一种多接入边缘计算网络计算卸载系统及其计算卸载方法

Similar Documents

Publication Publication Date Title
Zhou et al. Edge-enabled two-stage scheduling based on deep reinforcement learning for internet of everything
CN109491790B (zh) 基于容器的工业物联网边缘计算资源分配方法及系统
CN110390246A (zh) 一种边云环境中的视频分析方法
Baidya et al. Vehicular and edge computing for emerging connected and autonomous vehicle applications
Spatharakis et al. A scalable edge computing architecture enabling smart offloading for location based services
Wei et al. Reinforcement learning-empowered mobile edge computing for 6G edge intelligence
Khochare et al. Heuristic algorithms for co-scheduling of edge analytics and routes for UAV fleet missions
US20200409744A1 (en) Workflow engine framework
Zhang et al. Edgebatch: Towards ai-empowered optimal task batching in intelligent edge systems
EP3951741B1 (en) Method for acquiring traffic state, relevant apparatus, roadside device and cloud control platform
US11972184B2 (en) Method and system for designing a robotic system architecture with optimized system latency
Delgado et al. OROS: Orchestrating ROS-driven collaborative connected robots in mission-critical operations
WO2024001302A1 (zh) 一种建图系统及相关方法
KR20230034926A (ko) 분산 이벤트 기반 조정 모델
Hussain et al. Resource allocation of industry 4.0 micro-service applications across serverless fog federation
CN116996941A (zh) 基于配网云边端协同的算力卸载方法、装置及系统
CN117376347A (zh) 一种建图系统及相关方法
CN110855507B (zh) 一种基于软件定义的无人驾驶数据网络交互方法
Reffad et al. A Dynamic Adaptive Bio-Inspired Multi-Agent System for Healthcare Task Deployment
Yang et al. Fog-enabled multi-robot system
Hu et al. A Dynamic Distributed Scheduler for Computing on the Edge
US20220058813A1 (en) Distributed Computation for Real-Time Object Detection and Tracking
Kumara et al. Smart vehicle parking system on fog computing for effective resource management
CN111784029A (zh) 一种雾节点资源分配方法
Bhattacharya et al. Multitask Scheduling of Computer Vision Workload on Edge Graphical Processing Units

Legal Events

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

Ref document number: 23829493

Country of ref document: EP

Kind code of ref document: A1