Data processing method and device applied to separable robot
By replacing the upper machine on the AI mobile base, a separate robot can quickly adapt to different business needs, solve the problem of insufficient flexibility of the equipment, improve efficiency and reduce costs.
Patent Information
- Application Number
- CN202411876810.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-19
- Publication Date
- 2025-01-21
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing mobile smart devices with wheels are not flexible enough to adapt to new business needs or launch new products, resulting in a full evaluation and development every time a new product is needed or a business application is replaced, which is time-consuming and costly. .
Provide a data processing method for separate robots, and processing different types of businesses by replacing the upper machine on the AI mobile base to achieve rapid iteration updates. The specific steps include the map data of the current area of the base, send it to the upper machine, identify and mark the obstacles, update the map data, and send the update data back to the upper machine.
Through this method, it can ensure that the host computer formulates a reasonable movement strategy based on the latest environmental layout, improve the robot's adaptability to different environments, and support navigation in new areas without reprogramming the entire system, reducing R&D costs and Improved work efficiency.
Smart Images

Figure CN119336034A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a data processing method, apparatus, computer equipment, computer-readable storage medium and computer program product applied to a detachable robot. Background Art
[0002] In the field of artificial intelligence, there are many mobile smart devices with wheels, such as sweepers, lobby service robots, etc. As technology advances, these devices become more intelligent and can perform more complex tasks. However, they also face some challenges, especially the flexibility issues when adapting to new business needs or launching new products.
[0003] However, the existing related equipment on the market usually integrates multiple functions in one, including environmental perception, navigation, cleaning and other functions. This means that every time a new product needs to be developed or a business application needs to be changed, a comprehensive re-evaluation and development work is required. This process is not only time-consuming but also costly. Therefore, there is an urgent need for a detachable robot that can handle different types of business by simply replacing the host computer on the AI mobile base, so as to achieve rapid iterative updates, thereby improving efficiency and reducing costs. Summary of the invention
[0004] Based on this, it is necessary to provide a data processing method, device, computer equipment, computer-readable storage medium and computer program product for a detachable robot that can handle different types of business by simply replacing the host computer on the AI mobile base to address the above technical problems.
[0005] In a first aspect, the present application provides a data processing method applied to a detachable robot, wherein the detachable robot comprises a base and a host computer connected to the base, wherein the base and the host computer are detachable, and the method is applied to the base, and the method comprises:
[0006] Obtaining map data corresponding to the area where the base is currently located, and sending the map data to the host computer;
[0007] receiving a mobile task fed back by the host computer, wherein the mobile task is generated by the host computer based on the map data;
[0008] During the execution of the movement task, obstacles in the area where the base is currently located are identified, and the obstacles are marked in the map data to obtain updated map data;
[0009] The updated map data is sent to the host computer.
[0010] In one embodiment, sending the map data to the host computer includes:
[0011] Sending the map data to a first application of the host computer, so that the first application sends the map data to a second application of the host computer, and the second application generates a movement task based on the map data;
[0012] The mobile task receiving feedback from the host computer includes:
[0013] receiving a mobile task fed back by the second application of the host computer;
[0014] The sending the updated map data to the host computer comprises:
[0015] The updated map data is sent to the first application of the host computer.
[0016] In one embodiment, during the execution of the moving task, identifying obstacles in the area where the base is currently located, marking the obstacles in the map data, and obtaining updated map data includes:
[0017] The radar located on the base is used to obtain map data of the area where the base is currently located; the camera located on the base is used to identify obstacles in the area where the base is currently located; the position data of the obstacle in the map data and the obstacle type of the obstacle are determined; based on the position data of the obstacle in the map data and the obstacle type of the obstacle, the obstacle is marked in the map data to obtain updated map data.
[0018] In one embodiment, determining the location data of the obstacle in the map data includes:
[0019] Obtain an obstacle image taken by the camera to identify the obstacle, and determine first position data of the obstacle in the obstacle image; determine camera parameters used by the camera when identifying the obstacle; and determine position data of the obstacle in the map data based on the camera parameters and the first position data.
[0020] In one embodiment, determining the position data of the obstacle in the map data according to the camera parameters and the first position data includes:
[0021] Acquire a coordinate system corresponding to the camera; determine second position data of the obstacle in the coordinate system corresponding to the camera based on the camera parameters and the first position data; determine relative position data between the camera and the radar when identifying the obstacle; and convert the second position data into third position data of the obstacle in the coordinate system corresponding to the base based on the relative position data, the third position data being the position data of the obstacle in the map data.
[0022] In one of the embodiments, current task status data and gear status data of the base are obtained, and the task status data and the gear status data are sent to the host computer;
[0023] The receiving of the mobile task fed back by the host computer, wherein the mobile task is generated by the host computer based on the map data, comprises:
[0024] The mobile task fed back by the host computer is received, where the mobile task is generated by the host computer based on the map data, the task status data and the gear status data.
[0025] In a second aspect, the present application further provides a data processing device applied to a detachable robot, comprising:
[0026] A first sending module, used to obtain map data corresponding to the area where the base is currently located, and send the map data to the host computer;
[0027] A receiving module, used for receiving a mobile task fed back by the host computer, wherein the mobile task is generated by the host computer based on the map data;
[0028] an identification module, used to identify obstacles in the area where the base is currently located during the execution of the movement task, and mark the obstacles in the map data to obtain updated map data;
[0029] The second sending module is used to send the updated map data to the host computer.
[0030] In a third aspect, the present application further provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:
[0031] Obtaining map data corresponding to the area where the base is currently located, and sending the map data to the host computer;
[0032] receiving a mobile task fed back by the host computer, wherein the mobile task is generated by the host computer based on the map data;
[0033] During the execution of the movement task, obstacles in the area where the base is currently located are identified, and the obstacles are marked in the map data to obtain updated map data;
[0034] The updated map data is sent to the host computer.
[0035] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the following steps are implemented:
[0036] Obtaining map data corresponding to the area where the base is currently located, and sending the map data to the host computer;
[0037] receiving a mobile task fed back by the host computer, wherein the mobile task is generated by the host computer based on the map data;
[0038] During the execution of the movement task, obstacles in the area where the base is currently located are identified, and the obstacles are marked in the map data to obtain updated map data;
[0039] The updated map data is sent to the host computer.
[0040] In a fifth aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:
[0041] Obtaining map data corresponding to the area where the base is currently located, and sending the map data to the host computer;
[0042] receiving a mobile task fed back by the host computer, wherein the mobile task is generated by the host computer based on the map data;
[0043] During the execution of the movement task, obstacles in the area where the base is currently located are identified, and the obstacles are marked in the map data to obtain updated map data;
[0044] The updated map data is sent to the host computer.
[0045] The above-mentioned data processing method, device, computer equipment, computer-readable storage medium and computer program product applied to the detachable robot can obtain the map data corresponding to the area where the base is currently located and send the map data to the host computer, which can ensure that the host computer can formulate a reasonable movement strategy based on the latest environmental layout. It helps to improve the robot's adaptability to different environments and support navigation in new areas without reprogramming the entire system.
[0046] Receive the mobile task fed back by the host computer, the mobile task is generated by the host computer based on the map data; the host computer generates specific mobile instructions according to the received map data. This method makes the decision-making process more flexible, and can dynamically adjust the path planning according to the actual scenario, so as to better cope with complex and changing working environments. At the same time, it also simplifies the design of the base because it only needs to focus on execution rather than decision-making.
[0047] During the execution of the mobile task, the obstacles in the area where the base is currently located are identified, and the obstacles are marked in the map data to obtain updated map data; the surrounding environment is continuously monitored to promptly discover new or changing obstacles, and this information is fed back to the host computer to update the map database. This enhances the real-time and accuracy of the system, ensuring that it can respond quickly even in the face of emergencies and ensuring the safety of operations.
[0048] Send the updated map data to the host computer. This ensures that the host computer always has the most accurate spatial cognition, which is conducive to more accurate route planning and task allocation in the future. In addition, this also provides convenience for other services that may need to use the same map resources. Through the efficient data interaction process between the base and the host computer, not only the ability of a single device to handle a variety of tasks is improved, but also the possibility of rapid iteration and upgrading of products is promoted, which greatly improves the overall work efficiency and reduces R&D costs. It solves the problem of insufficient flexibility brought about by traditional integrated design, enabling developers to respond to market changes more quickly and meet the diverse needs of users. BRIEF DESCRIPTION OF THE DRAWINGS
[0049] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.
[0050] Figure 1 is an application environment diagram of a data processing method applied to a detachable robot in one embodiment;
[0051] Figure 2 is a flow chart of a data processing method applied to a detachable robot in one embodiment;
[0052] Figure 3 A schematic diagram of a data processing method applied to a detachable robot in an embodiment of a sweeping machine;
[0053] Figure 4is a flow chart of a data processing method applied to a detachable robot in another embodiment;
[0054] Figure 5 is a structural block diagram of a data processing device applied to a detachable robot in one embodiment;
[0055] Figure 6 is a structural block diagram of a data processing device applied to a detachable robot in another embodiment;
[0056] Figure 7 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0057] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.
[0058] The data processing method for a detachable robot provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. Among them, the terminal 102 communicates with the server 104 through the network. The data storage system can store the data that the server 104 needs to process. The data storage system can be integrated on the server 104, or it can be placed on the cloud or other network servers. The terminal 102 is used to generate a data processing request applied to the detachable robot, and send the data processing request applied to the detachable robot to the server 104, so that the server 104 sends the updated map data to the host computer. Among them, the terminal 102 can be, but is not limited to, various personal computers, laptops, smart phones, tablets, Internet of Things devices and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart car devices, projection devices, etc. Portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. The head-mounted device can be a virtual reality (VR) device, an augmented reality (AR) device, smart glasses, etc. The server 104 can be a server located in a base.
[0059] In an exemplary embodiment, Figure 2 As shown, a data processing method for a detachable robot is provided. Figure 1 The server 104 in the example is used as an example to illustrate, including the following steps 202 to 208. Among them:
[0060] Step 202, obtaining map data corresponding to the area where the base is currently located, and sending the map data to the host computer.
[0061] Among them, a detachable robot refers to a robot that can be designed to separate the base and the host computer (i.e., the device that executes specific business logic). This design allows users to adapt to different application scenarios or functional requirements by replacing or upgrading the host computer without changing the base.
[0062] The base refers to the part of the robot that is mainly responsible for the mobile function and environmental perception (such as obstacle recognition, etc.). It usually includes AI visual recognition, obstacle avoidance and other functions, and can interact with the host computer for data. In this application, the base itself can be understood as a mobile platform with autonomous navigation capabilities.
[0063] The host computer refers to the device or system installed on the base, which is responsible for processing specific business logic. For example, in the example of a sweeping robot, the host computer formulates cleaning strategies or performs other tasks based on the data received from the base (such as map information). The host computer can be replaced as needed to achieve different business functions.
[0064] The current area refers to the specific physical location of the base and its surrounding environment.
[0065] Map data refers to the environmental mapping information generated by the base, including but not limited to room layout, obstacle locations and paths. This data is critical for planning safe and efficient movement paths. Map data is continuously updated as the base continues to perceive the environment, especially when encountering new obstacles.
[0066] Specifically, first, the applications on the base and the host computer are started. The host computer establishes a communication connection with the base through a service application. Then when the base starts working, it uses built-in sensors (such as radar, camera) to scan the surrounding environment and generate or update the map data of the current location based on this information. This includes key information such as room layout, obstacle location and path. Once the communication channel between the base and the host computer is established, the base will package the map data of the current location according to a predetermined protocol format. Optionally, these current location map data are sent to the service application of the host computer through a network interface.
[0067] Step 204: receiving the mobile task fed back by the host computer, where the mobile task is generated by the host computer based on the map data.
[0068] Among them, the mobile task refers to the specific action instructions entered by the user in the application of the host computer, which is fed back by the host computer from the map data received from the base. These instructions are planned by the user based on the current environmental information (such as maps, obstacle locations, etc.) to guide the base to perform specific operations or achieve a certain goal. For example, in the scenario of a sweeping robot, the mobile task can be to clean a specific area, return to the charging station, or avoid new obstacles that have been identified.
[0069] Specifically, after the host computer receives the map data from the base, it will feed back the received map data to the user, and the user will input specific action instructions, namely mobile tasks, based on the current environmental information (such as maps, obstacle locations, etc.). Including but not limited to: identifying key information such as room layout, obstacle locations and paths. Based on the mobile tasks issued by the user, the base calculates the optimal path or formulates a task strategy to ensure the efficient completion of the scheduled tasks arranged by the user. These optimal paths or task strategies include but are not limited to: starting a certain action, setting speed, adjusting direction, etc. Once the optimal path or formulating a task strategy is determined, the base will start to act according to the formulated route or strategy.
[0070] Step 206 , during the execution of the moving task, obstacles in the area where the base is currently located are identified, and the obstacles are marked in the map data to obtain updated map data.
[0071] The current area refers to the physical location of the base when performing a task and its surrounding environment. This includes the spatial range that the base can perceive, such as specific areas such as rooms and corridors. The base determines this area through its sensors (such as radar and cameras) and generates corresponding map data.
[0072] Obstacles are any objects or entities in the environment around the base that may hinder its movement. These obstacles may be fixed (such as walls, furniture) or dynamically changing (such as pets, temporarily placed objects). In this application, the base uses AI visual recognition technology to detect and identify these obstacles to ensure safe navigation.
[0073] When the base encounters new obstacles or changes in the environment during a mobile mission, it will update the original map data in real time to reflect the latest environmental conditions. This process includes rescanning the environment, identifying new obstacles, and adding this information to the map. The updated map data not only contains the original map information, but also adds new obstacle annotations and possible path adjustment information. This updated data is then sent to the host computer so that the host computer can make more accurate mission planning and decisions.
[0074] Specifically, the base starts to operate according to the mobile task issued by the host computer. This may include cleaning a specific area, moving to a specified location, etc. During the movement, the base continuously scans the surrounding environment through its equipped sensors (such as radar, camera). It can be understood that these sensors are used to detect and identify objects or obstacles in the area where the base is currently located.
[0075] The base then processes the collected data using AI visual recognition technology to accurately identify potential obstacles. For example, it can identify wires, animal feces, etc. Once new obstacles are identified, the location information of these obstacles is recorded. And for each identified obstacle, the base will add corresponding marks to the existing map data. This involves marking the specific location and type of obstacles on the map. Understandably, the annotation process ensures that the map can reflect the latest environmental conditions, thereby helping to improve the safety and efficiency of subsequent navigation.
[0076] Finally, after the obstacles are marked, the base will generate a map data containing the latest environmental information. This updated map not only contains the original geographic information, but also adds relevant details of the newly discovered obstacles. The updated map data reflects the most accurate current environmental status, which is crucial for avoiding collisions and optimizing path planning.
[0077] Step 208: Send the updated map data to the host computer.
[0078] Specifically, the base sends the updated map data to the host computer through an established communication protocol (such as using a socket connection). After receiving this information, the host computer can adjust the next task strategy or provide more accurate status feedback to the user.
[0079] In one of the embodiments, map data is sent to a first application of a host computer, so that the first application sends the map data to a second application of the host computer, and the second application generates a mobile task based on the map data; receives the mobile task feedback from the second application of the host computer; and sends the updated map data to the first application of the host computer.
[0080] Among them, the first application refers to a background service program that runs on the Android board. The first application establishes a communication connection with the base through a socket, and is responsible for receiving data from the base, such as map data, path information, and obstacle recognition results. In addition, it is also responsible for forwarding this data to other business applications, such as a sweeper application. At the same time, the first application also receives instructions from the sweeper application and passes them to the base to perform corresponding tasks. The Android board located in the host computer refers to a hardware circuit board with the Android operating system installed. This board usually integrates computing resources such as processors, memory, storage, etc., and runs the Android system, which can execute various applications. In this application, the role of the Android board is to process product business logic, such as interaction with users, displaying map data, receiving user instructions, and controlling sweeper tasks.
[0081] The second application refers to a front-end application installed on the Android board, through which users can control the behavior of the sweeping robot. Based on the map data provided by the first application, the sweeping robot application can generate cleaning tasks and send these task instructions back to the first application, which are then transmitted to the base for execution. The sweeping robot application can also display real-time status information transmitted by the base, such as the current map, cleaning path, and the location of identified obstacles.
[0082] Specifically, after the AI mobile chassis (i.e., the base) is started, it will generate map data, including information such as the map of the current environment and the location of obstacles. The base transmits these map data to the first application on the Android board through the socket channel in a defined protocol format. The first application on the Android board receives the map data sent by the base. The first application then uses AIDL (Android Interface Definition Language) or other communication mechanisms to forward these map data to the second application for user interface display and task planning. It can be understood that the Android interface definition language is the Android interface definition language.
[0083] Then, after the second application receives the map data transmitted by the first application, it generates a specific mobile task based on the map information and the cleaning area or specific task requirements set by the user. It can be understood that these tasks may include instructions such as path planning and obstacle avoidance. The generated mobile task is sent back to the base by the second application through the first application. After the base receives the task instruction from the second application, it starts to perform the corresponding operation, such as moving to a specified location, cleaning a specific area, avoiding specified obstacles, etc.
[0084] Finally, during the execution, the base continuously updates the map data, such as rescanning to find new obstacles or changed environmental conditions. The updated map data will be compressed and sent to the first application on the Android board through the socket channel. The first application is responsible for receiving the latest map data and may further pass it to the second application for real-time updating of the user interface or adjusting subsequent task plans.
[0085] Since the solution supports multi-terminal interaction, including data exchange between the base and different applications on the Android board. Such an architecture helps to realize complex application scenarios, such as remote control, cloud management, etc. And because AI functions and business logic are decoupled, different host devices or applications can be easily configured for different business needs. For example, in addition to sweeper applications, other types of robot services can also be developed as long as they can communicate with the base and use the AI data it provides.
[0086] In one of the embodiments, map data of the area where the base is currently located is obtained through a radar located on the base; obstacles in the area where the base is currently located are identified through a camera located on the base; position data of the obstacle in the map data and the obstacle type of the obstacle are determined; based on the position data of the obstacle in the map data and the obstacle type of the obstacle, the obstacle is marked in the map data to obtain updated map data.
[0087] Here, radar refers to a sensor device mounted on a base that detects the surrounding environment and generates map data. In this application, radar creates a map that represents the location of objects in the area by scanning the surrounding area.
[0088] The camera is a visual sensor located on the base that captures images or video streams. The camera is used to identify obstacles in the area where the base is currently located. Combined with AI visual recognition technology, the camera can not only detect the existence of obstacles, but also classify obstacles, such as different types of objects such as wires and animal feces.
[0089] Position data refers to the specific location information of obstacles relative to the base or map coordinate system. When radar and cameras are working, they determine the exact location of obstacles in the map. This location information is usually expressed in the form of coordinates, such as (x, y) coordinate values. This helps the system know exactly where the obstacles are, so as to plan paths and avoid collisions.
[0090] Obstacle type refers to the result of the determination of the obstacle type by the camera and AI recognition algorithm. For example, it can be identified as a wire, a stone, or other specific type of object. Understandably, knowing the type of obstacle is crucial for the robot to decide how to deal with it, and different obstacle types may require different obstacle avoidance strategies.
[0091] Specifically, the radar device located on the base is first used to scan and collect environmental information in the area where the base is currently located. The map data generated by the radar includes information such as the location and distance of objects in the area, forming a detailed map representing the surrounding environment. The camera installed on the base is used to capture images or video streams. These images or videos are analyzed using AI visual recognition technology to identify obstacles in the area where the base is currently located. This step involves classifying different types of obstacles (such as wires, animal feces, etc.).
[0092] Then, based on the information captured by the camera and the position reference provided by the radar, the specific location of each identified obstacle is determined. At the same time, based on the processing results of AI visual recognition technology, the category of each obstacle is clarified, such as wires, furniture or other objects. Based on the previously generated map data, the identified obstacles and their location information are marked on the map. This process marks the location coordinates and type information of the obstacles, thereby creating a new version of the map containing all known obstacles. Understandably, the updated map data not only shows the layout of the environment, but also specifically marks the obstacles that need to be avoided, providing an accurate basis for subsequent path planning and obstacle avoidance.
[0093] By identifying and marking the specific location and type of obstacles, the robot can plan the path more effectively and avoid collisions. This not only improves the safety of the robot, but also enables it to move more flexibly in complex and changing environments. And based on the updated map data, equipment such as sweepers can complete tasks more efficiently. For example, different handling strategies can be adopted for different types of obstacles, or detour routes can be planned in advance, thereby reducing unnecessary movements or adjustments and improving overall work efficiency.
[0094] In one of the embodiments, an obstacle image taken by a camera to identify the obstacle is obtained, and first position data of the obstacle in the obstacle image is determined; camera parameters used by the camera when identifying the obstacle are determined; and position data of the obstacle in the map data is determined based on the camera parameters and the first position data.
[0095] The first position data refers to the specific position information of the obstacle relative to the image coordinate system in the obstacle image. For example, in an image, the obstacle may be located at a specific pixel coordinate (x, y). This position data is based on the image itself, and it indicates the exact position of the obstacle in the image.
[0096] Obstacle images refer to images containing obstacles captured by the camera on the base. When the camera identifies an obstacle in the area where the base is currently located, it will take one or more pictures, which are obstacle images. It can be understood that obstacle images are the basis for AI visual recognition algorithms to analyze and identify obstacles.
[0097] Camera parameters refer to a series of parameters used to describe the working status and technical characteristics of the camera. These parameters may include but are not limited to: the position and orientation of the camera (relative to the base or environment), the focal length of the camera, the field of view and other optical characteristics, the resolution of the camera, the exposure time used when acquiring images, the aperture size and other settings.
[0098] Specifically, first, an image containing obstacles is captured by a camera located on the base. This step involves real-time monitoring of the environment by the camera. When an obstacle is identified, the camera will take one or more pictures, which are obstacle images. The obstacle image is analyzed using AI visual recognition technology to identify the specific location of the obstacle in the image. The first position data refers to the relative position information of the obstacle in the image coordinate system, such as the pixel coordinates (x, y) of the obstacle in the image.
[0099] Then, in the process of identifying obstacles, the specific parameters used by the camera are recorded. These parameters may include, but are not limited to, the camera's position (relative to the base or environment), orientation, focal length, field of view and other optical properties, as well as the exposure time, aperture size and other settings used during image acquisition. Combining the camera parameters (such as the camera's position, orientation, etc.) and the position information of the obstacle in the image, the corresponding conversion algorithm is used to calculate the exact position of the obstacle in the actual map data. Understandably, this step involves the conversion from the image coordinate system to the real-world coordinate system to ensure that the obstacle position identified in the image can be mapped to the actual map of the area where the base is currently located.
[0100] By combining the position information of obstacles in the image with the specific parameters of the camera, the position of obstacles in the actual environment can be calculated more accurately. This helps to build a more accurate map model, thereby improving the positioning accuracy of the robot.
[0101] In one of the embodiments, a coordinate system corresponding to the camera is obtained; second position data of the obstacle in the coordinate system corresponding to the camera is determined based on the camera parameters and the first position data; relative position data between the camera and the radar when identifying the obstacle is determined; and based on the relative position data, the second position data is converted into third position data of the obstacle in the coordinate system corresponding to the base, the third position data being the position data of the obstacle in the map data.
[0102] The coordinate system corresponding to the camera refers to the spatial coordinate system defined with the camera as the reference point. In this coordinate system, the position of obstacles relative to the camera can be determined. Usually, this coordinate system takes the optical center of the camera as the origin, and its axis is defined based on the direction of the camera.
[0103] The second position data refers to the position information of the obstacle calculated in the camera coordinate system. That is, the position of the obstacle in the image is converted to the position data in the actual space coordinate system of the camera through the camera parameters (such as focal length, field of view, etc.) and the first position data of the obstacle in the image. These data are usually expressed as three-dimensional coordinates (x, y, z) or two-dimensional plane coordinates (x, y), depending on the specific needs of the application.
[0104] Relative position data refers to the relative position relationship between the camera and the radar. It includes information such as the distance and angle between the two. Since the camera and the radar may be installed at different positions on the base, there is a certain relative displacement or rotation between them. These relative position data are key parameters for converting position information in one coordinate system to another coordinate system.
[0105] The third position data refers to the obstacle position data that is finally converted to the coordinate system corresponding to the base. After the conversion from the camera coordinate system to the base coordinate system, the position of the obstacle is expressed as a coordinate value relative to the base. These data can be directly used for annotation on the map, or as an important basis for obstacle avoidance during robot path planning.
[0106] The coordinate system corresponding to the base refers to the spatial coordinate system defined with the base as the reference point. In this coordinate system, the positions of all objects in the environment can be expressed in coordinates relative to the base. The base coordinate system is usually the basic coordinate system for robot navigation and map construction, which allows the robot to understand the absolute position of itself and its surrounding objects in the entire working area.
[0107] Specifically, first determine a spatial coordinate system centered on the camera. This coordinate system defines the positional relationship of the obstacle relative to the camera. It usually takes the optical center of the camera as the origin, and the X-axis, Y-axis, and Z-axis correspond to the horizontal, vertical, and depth directions within the camera's field of view, respectively. Using the camera parameters (such as focal length, field of view, etc.) and the first position data obtained previously (i.e., the position of the obstacle in the image), the actual three-dimensional position or two-dimensional plane position of the obstacle in the camera coordinate system is calculated through geometric transformation. In this application, this step involves the conversion from pixel coordinates to physical coordinates, which is implemented using methods such as perspective projection.
[0108] Then the relative position information between the camera and the radar is identified and recorded, including the distance and angle difference between them. This information is the basis for coordinate transformation, ensuring that the position data in the camera coordinate system can be accurately transformed into the base coordinate system. Based on the relative position data between the camera and the radar, the coordinate transformation formula (such as translation and rotation matrix) is applied to transform the position data of the obstacle in the camera coordinate system into the base coordinate system. The converted third position data represents the precise position of the obstacle in the base reference frame, which is also the position data of the obstacle in the map data.
[0109] By combining the camera parameters with the first position data of the obstacle in the image, the actual position of the obstacle in the camera coordinate system can be calculated more accurately. This step improves the accuracy of obstacle positioning. By further considering the relative position relationship between the camera and the radar and performing coordinate transformation, the position data of the obstacle in the base coordinate system, that is, the accurate position in the map data, is finally obtained. Such a multi-step conversion process ensures the high accuracy of the position information. And based on the accurate obstacle position information, the robot can plan the cleaning path or perform other tasks more reasonably and effectively avoid collisions. This not only improves the work efficiency of the robot, but also enhances its safety.
[0110] In one of the embodiments, the current task status data and gear status data of the base are obtained, and the task status data and gear status data are sent to the host computer; and the mobile task fed back by the host computer is received, and the mobile task is generated by the host computer based on the map data, the task status data and the gear status data.
[0111] Among them, task status data refers to information related to the task currently being performed by the base (i.e., the AI mobile chassis). This information is not limited to: the type of task currently being performed (such as cleaning, returning to the charging station, etc.), the progress of the task (such as the percentage completed), and the specific parameters of the task (such as the cleaning area, cleaning mode).
[0112] The gear status data refers to the current operation mode or setting status of the base, reflecting the behavior characteristics of the device in different working modes, including but not limited to: working mode (such as automatic mode, manual mode), speed setting (such as low speed, medium speed, high speed), working intensity (such as gentle, strong), etc.
[0113] Specifically, first, the base (AI mobile chassis) collects information related to the task it is currently performing, that is, task status data. This may include task type, progress, parameters, etc. At the same time, the base will also obtain its current operating mode or setting status information, that is, gear status data, involving working mode (such as automatic / manual), speed setting, intensity setting, etc. Through the defined communication protocol format, using socket or other network communication methods, the task status data and gear status data are sent to the host computer (such as the first application on the Android board). These data provide the current working status of the base, which is an important basis for the host computer to generate the next instruction.
[0114] After receiving the data sent by the base, the host computer performs a comprehensive analysis based on the existing map data and the received task status data and gear status data. Based on this information, the host computer generates a specific mobile task. For example, if the map shows that there is an obstacle ahead, and the base is currently in a cleaning task and in automatic mode, the host computer may generate a task to bypass the obstacle and continue cleaning. The generated mobile task will be sent back to the base through the same communication channel.
[0115] Finally, after the base receives the mobile task feedback from the host computer, it starts to perform corresponding operations according to the specific content of the task, such as adjusting the direction of travel to avoid obstacles, or changing the cleaning mode, etc. During the execution process, the base will continue to update its status and report new status information to the host computer again when necessary, so that the host computer can make further decisions based on the latest situation.
[0116] By collecting and sending the current task status data and gear status data of the base to the host computer, the host computer can fully understand the working status of the base. Combined with map data, the host computer can more accurately judge the environmental conditions and the actual needs of the base, thereby generating more suitable mobile tasks. And this two-way communication mechanism allows the system to dynamically adjust tasks according to real-time changes. Whether encountering new obstacles or changing the cleaning mode, the system can respond quickly and make corresponding strategy adjustments.
[0117] In one embodiment, reference Figure 3, startup phase: Launcher, sweeper business application, Service service, and algorithm board application are started respectively. Among them: Launcher refers to the launcher, that is, the main screen interface seen by the user. It is responsible for managing application shortcuts, widgets, etc., and provides an entry for users to interact with the device. The algorithm board application refers to a software application running on the base (AI mobile chassis), which is specifically used to perform AI-related tasks, such as visual recognition, obstacle avoidance and other functions. The algorithm board is part of the base, which is specifically used to handle computationally intensive tasks to support the robot's autonomous navigation and intelligent decision-making. The algorithm board application communicates with the host computer (such as the Service application on the Android board), receives task instructions, and feeds back the processing results (such as map data, path information, obstacle recognition results, etc.) to the host computer, thereby realizing the interaction between the robot and the environment. Service is equivalent to the first application. The sweeper business application is equivalent to the second application.
[0118] Connection and data reporting: Launcher sends a startup command to the sweeper business application. The sweeper business application connects to the Service. The Service connects to the algorithm board application. The sweeper business application reports basic status data, namely, task status data and gear status data, to the Service. The Service reports basic status data to the algorithm board application.
[0119] Task instruction issuance: The sweeper business application starts the business application. The sweeper business application connects to the Service. The sweeper business application reports basic status data to the Service. The sweeper business application sends the cleaning task instruction to the Service. The Service forwards the cleaning task instruction, which is equivalent to moving the task to the algorithm board application.
[0120] Task execution and data reporting: After receiving the cleaning task instruction, the algorithm board application turns on AI and obstacle avoidance related functions to execute the task. The algorithm board application reports AI related data (such as maps and paths, etc.), that is, map data, to the Service service. The Service service reports AI related data to the sweeper business application. The sweeper business application parses and displays the data.
[0121] Final data reporting: The sweeper business application reports AI-related data (such as maps and paths) to Launcher.
[0122] In an exemplary embodiment, Figure 4 As shown, it includes steps 402 to 406. Among them:
[0123] Step 402, obtaining map data corresponding to the area where the base is currently located, and sending the map data to a first application of the host computer, so that the first application sends the map data to a second application of the host computer, and the second application generates a mobile task based on the map data;
[0124] Step 404, obtaining current task status data and gear status data of the base, and sending the task status data and gear status data to the host computer;
[0125] Step 406, receiving a moving task fed back by the second application of the host computer, where the moving task is generated by the host computer based on the map data, the task status data and the gear status data;
[0126] Step 408, obtaining map data of the area where the base is currently located through the radar located on the base; identifying obstacles in the area where the base is currently located through the camera located on the base; obtaining an obstacle image taken by the camera when identifying the obstacle, and determining first position data of the obstacle in the obstacle image; determining camera parameters used by the camera when identifying the obstacle; obtaining a coordinate system corresponding to the camera; determining second position data of the obstacle in the coordinate system corresponding to the camera according to the camera parameters and the first position data; determining relative position data between the camera and the radar when identifying the obstacle; converting the second position data into third position data of the obstacle in the coordinate system corresponding to the base according to the relative position data, the third position data being the position data of the obstacle in the map data, and the obstacle type of the obstacle; marking the obstacle in the map data based on the position data of the obstacle in the map data and the obstacle type of the obstacle, and obtaining updated map data;
[0127] Step 410: Send the updated map data to the host computer.
[0128] It should be understood that, although the steps in the flowcharts involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.
[0129] Based on the same inventive concept, the embodiment of the present application also provides a data processing device applied to a detachable robot for implementing the data processing method applied to a detachable robot involved above. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above method, so the specific limitations of one or more embodiments of the data processing device applied to a detachable robot provided below can refer to the limitations of the data processing method applied to a detachable robot above, and will not be repeated here.
[0130] In an exemplary embodiment, Figure 5 As shown, a data processing device 500 applied to a detachable robot is provided, comprising: a first sending module 502, a receiving module 504, a recognition module 506 and a second sending module 508, wherein:
[0131] The first sending module 502 is used to obtain map data corresponding to the area where the base is currently located, and send the map data to the host computer;
[0132] The receiving module 504 is used to receive the mobile task fed back by the host computer, where the mobile task is generated by the host computer based on the map data;
[0133] The identification module 506 is used to identify obstacles in the area where the base is currently located during the execution of the mobile task, and mark the obstacles in the map data to obtain updated map data;
[0134] The second sending module 508 is used to send the updated map data to the host computer.
[0135] In one embodiment, the first sending module 502 is used to send the map data to a first application of the host computer, so that the first application sends the map data to a second application of the host computer, and the second application generates a mobile task based on the map data.
[0136] In one embodiment, the receiving module 504 is used to receive the mobile task fed back by the second application of the host computer.
[0137] In one embodiment, the second sending module 508 is used to send the updated map data to the first application of the host computer.
[0138] In one of the embodiments, the identification module 506 is used to obtain map data of the area where the base is currently located through a radar located on the base; identify obstacles in the area where the base is currently located through a camera located on the base; determine the position data of the obstacle in the map data, and the obstacle type of the obstacle; based on the position data of the obstacle in the map data and the obstacle type of the obstacle, mark the obstacle in the map data to obtain updated map data.
[0139] In one embodiment, the identification module 506 is used to obtain an obstacle image taken by a camera to identify an obstacle, and determine first position data of the obstacle in the obstacle image; determine camera parameters used by the camera when identifying the obstacle; and determine the position data of the obstacle in the map data based on the camera parameters and the first position data.
[0140] In one embodiment, the identification module 506 is used to obtain a coordinate system corresponding to the camera; determine second position data of the obstacle in the coordinate system corresponding to the camera based on the camera parameters and the first position data; determine the relative position data between the camera and the radar when identifying the obstacle; and convert the second position data into third position data of the obstacle in the coordinate system corresponding to the base based on the relative position data, the third position data being the position data of the obstacle in the map data.
[0141] In one of the embodiments, the data processing device 500 applied to the detachable robot further includes a third sending module 510 for acquiring current task status data and gear status data of the base, and sending the task status data and gear status data to the host computer.
[0142] In another embodiment, if Figure 6 As shown, Figure 6 1 is a structural block diagram of a data processing device 500 applied to a detachable robot in another embodiment, comprising: a first sending module 502, a receiving module 504, an identification module 506, and a second sending module 508. The data processing device applied to the detachable robot further comprises a third sending module 510, which is used to obtain the current task status data and gear status data of the base, and send the task status data and gear status data to the host computer.
[0143] Each module in the data processing device for the detachable robot can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.
[0144] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Figure 7As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data related to data processing applied to a detachable robot. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a data processing method applied to a detachable robot is implemented.
[0145] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.
[0146] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.
[0147] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.
[0148] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.
[0149] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.
[0150] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.
[0151] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0152] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.
Claims
1. A data processing method applied to a detachable robot, characterized in that: The detachable robot comprises a base and a host computer connected to the base, the base and the host computer are detachable, and the method is applied to the base, and the method comprises: Obtaining map data corresponding to the area where the base is currently located, and sending the map data to the host computer; receiving a mobile task fed back by the host computer, wherein the mobile task is generated by the host computer based on the map data; During the execution of the movement task, obstacles in the area where the base is currently located are identified, and the obstacles are marked in the map data to obtain updated map data; The updated map data is sent to the host computer.
2. The method according to claim 1, characterized in that The sending the map data to the host computer includes: Sending the map data to a first application of the host computer, so that the first application sends the map data to a second application of the host computer, and the second application generates a movement task based on the map data; The mobile task receiving feedback from the host computer includes: receiving a mobile task fed back by the second application of the host computer; The sending the updated map data to the host computer comprises: The updated map data is sent to the first application of the host computer.
3. The method according to claim 1, characterized in that During the execution of the moving task, obstacles in the area where the base is currently located are identified, and the obstacles are marked in the map data to obtain updated map data, including: Acquiring map data of the area where the base is currently located through a radar located on the base; Identify obstacles in the area where the base is currently located through a camera located on the base; Determining the position data of the obstacle in the map data and the obstacle type of the obstacle; Based on the position data of the obstacle in the map data and the obstacle type of the obstacle, the obstacle is marked in the map data to obtain updated map data.
4. The method according to claim 3, characterized in that The determining the position data of the obstacle in the map data comprises: Acquire an obstacle image captured by the camera when identifying the obstacle, and determine first position data of the obstacle in the obstacle image; Determining camera parameters used by the camera when identifying the obstacle; The position data of the obstacle in the map data is determined according to the camera parameters and the first position data.
5. The method according to claim 4, characterized in that The determining, according to the camera parameter and the first position data, the position data of the obstacle in the map data comprises: Obtaining the coordinate system corresponding to the camera; Determine second position data of the obstacle in a coordinate system corresponding to the camera according to the camera parameters and the first position data; Determining relative position data between the camera and the radar when identifying the obstacle; According to the relative position data, the second position data is converted into third position data of the obstacle in a coordinate system corresponding to the base, and the third position data is the position data of the obstacle in the map data.
6. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: Acquire current task status data and gear status data of the base, and send the task status data and the gear status data to the host computer; The receiving of the mobile task fed back by the host computer, wherein the mobile task is generated by the host computer based on the map data, comprises: The mobile task fed back by the host computer is received, where the mobile task is generated by the host computer based on the map data, the task status data and the gear status data.
7. A data processing device applied to a detachable robot, characterized in that: The device comprises: A first sending module, used to obtain map data corresponding to the area where the base is currently located, and send the map data to the host computer; A receiving module, used for receiving a mobile task fed back by the host computer, wherein the mobile task is generated by the host computer based on the map data; an identification module, used to identify obstacles in the area where the base is currently located during the execution of the movement task, and mark the obstacles in the map data to obtain updated map data; The second sending module is used to send the updated map data to the host computer.
8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
10. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.
Citation Information
Patent Citations
Multi-functional universal movable robot chassis and application method thereof
CN107284544A
Logistics robot
CN110480650A
Unmanned trackless rubber-tyred vehicle standardized transportation platform and control method thereof
CN112947496A
Old-age service system based on autonomous navigation and dangerous action recognition
CN115562301A
Obstacle detection method and device, equipment and storage medium
CN115661783A