Pet feeding system and device based on humanoid robot
The humanoid robot detects and picks up spilled food, and the feeder weighs and adjusts the amount dispensed, solving the problem of food spillage from pet feeders and achieving efficient food utilization and healthy feeding for pets.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- 人形机器人(上海)有限公司
- Filing Date
- 2025-01-16
- Publication Date
- 2026-06-19
AI Technical Summary
Pet feeders are prone to spilling food when dispensing it, leading to food waste and insufficient food intake by pets, which affects feeding plans and pet health.
A humanoid robot detects food spillage, picks up the spilled food and places it in the feeder's food tray. The feeder weighs the food, calculates the weight difference, and adds more food based on the difference to ensure the pet is fed enough.
This avoids food waste, ensures pets have enough to eat, maintains the normal operation of the feeding plan, and protects pets' health.
Smart Images

Figure CN120036246B_ABST
Abstract
Description
[0001] This application is a divisional application. The original application has the application number 202510066582.1 and the invention title of the original application is "A Pet Feeding Method Based on a Humanoid Robot". The original application date is January 16, 2025. The entire contents of the original application are incorporated herein by reference. Technical Field
[0002] This application relates to humanoid robot technology, and more particularly to a pet feeding system and device based on a humanoid robot. Background Technology
[0003] During the process of feeding pets using pet feeders, food may spill due to design flaws or pet contact with the feeder. This can lead to insufficient food consumption, disrupting the pet's feeding schedule and potentially harming its health; it also results in food waste. Summary of the Invention
[0004] This application provides a pet feeding system and device based on a humanoid robot, which aims to avoid food waste and ensure that pets consume sufficient amounts of food.
[0005] In a first aspect, this application provides a pet feeding system based on a humanoid robot, the system comprising: a humanoid robot and a feeder; the humanoid robot and the feeder have a communication connection;
[0006] The humanoid robot is used to pick up at least a portion of the spilled food and place it in the food tray of the feeder when it detects that the feeder is feeding the pet and spilling food.
[0007] The feeder is controlled to weigh the food in the food tray to obtain a first food weight;
[0008] The food weight difference is calculated based on the preset weight and the weight of the first food; the food weight difference is the difference between the preset weight and the weight of the first food.
[0009] The feeder is controlled to add food to the food tray again based on the difference in food weight; wherein the weight of the second food added is equal to the difference in food weight.
[0010] In one possible implementation, the humanoid robot is specifically used to acquire environmental spatial information of the food spill area when it detects that the feeder is feeding the pet and food is spilled; determine the graspable area of the humanoid robot in the food spill area based on the environmental spatial information; and pick up the food from the graspable area and place it in the food tray of the feeder.
[0011] In one possible implementation, the humanoid robot is specifically used to acquire environmental spatial information of the food spill area when it detects that the feeder is feeding the pet and food is spilled; based on the environmental spatial information, it determines the unobstructed area and the obstructed area in the food spill area; it identifies the manageable area of the humanoid robot in the obstructed area; the manageable area includes obstacles to be handled; it removes the obstacles in the manageable area, and picks up the food from the manageable area and the unobstructed area and places it in the food tray of the feeder.
[0012] In one possible implementation, the humanoid robot is specifically used to acquire its own joint limit information and spatial angle information in the environmental space information; based on the joint limit information and the spatial angle information, the humanoid robot determines the processable area in the occluded area.
[0013] In one possible implementation, the humanoid robot is specifically used to send a preset instruction to the feeder based on the communication connection after picking up all the food that meets the preset conditions; and to control the feeder to weigh the food on the food tray according to the preset instruction to obtain a first food weight.
[0014] Secondly, this application provides a pet feeding device based on a humanoid robot, comprising: a first control module and a second control module; the first control module is used to control the humanoid robot to pick up at least a portion of the spilled food and place it in the food tray of the feeder when it detects that the feeder is feeding a pet and food is spilled; the second control module is used to control the feeder to weigh the food in the food tray to obtain a first food weight; calculate a food weight difference based on a preset feeding weight and the first food weight; the food weight difference is the difference between the preset feeding weight and the first food weight; control the feeder to feed food again into the food tray according to the food weight difference; wherein, the second food weight of the second feeding is equal to the food weight difference.
[0015] In one possible implementation, the first control module is specifically configured to: acquire environmental spatial information of the food spill area when it is detected that the feeder is feeding the pet and food is spilled; determine the graspable area of the humanoid robot in the food spill area based on the environmental spatial information; and control the humanoid robot to pick up the food from the graspable area and place it in the food tray of the feeder.
[0016] In one possible implementation, the first control module is specifically configured to: acquire environmental spatial information of the food spill area when it is detected that the feeder is feeding the pet and food spills; determine the unobstructed area and the obstructed area in the food spill area based on the environmental spatial information; identify the manageable area of the humanoid robot in the obstructed area; the manageable area includes obstacles to be handled; control the humanoid robot to remove the obstacles in the manageable area, and pick up the food from the manageable area and the unobstructed area and place it in the food tray of the feeder.
[0017] In one possible implementation, the first control module is specifically used to: acquire the joint limit information of the humanoid robot and the spatial angle information in the environmental space information; and determine the processable area of the humanoid robot in the occluded area based on the joint limit information and the spatial angle information.
[0018] The pet feeding system and device based on a humanoid robot provided in this application, when it detects that the feeder is feeding the pet and food is spilled, controls the humanoid robot to pick up at least a portion of the spilled food and place it in the food tray of the feeder. That is, when food is spilled from the feeder, it can pick up the spilled food and place it in the food tray. Furthermore, it controls the feeder to weigh the food in the food tray and, based on the weight of the weighed food and a preset feeding weight, feeds the pet again to avoid the pet not eating enough and to prevent food waste. Attached Figure Description
[0019] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0020] Figure 1 A flowchart illustrating the pet feeding method based on a humanoid robot provided in this application. Figure 1 ;
[0021] Figure 2 A flowchart illustrating the pet feeding method based on a humanoid robot provided in this application. Figure 2 ;
[0022] Figure 3 A flowchart illustrating the pet feeding method based on a humanoid robot provided in this application. Figure 3 ;
[0023] Figure 4 A flowchart illustrating the pet feeding method based on a humanoid robot provided in this application. Figure 4 ;
[0024] Figure 5 A flowchart illustrating the pet feeding method based on a humanoid robot provided in this application. Figure 5 ;
[0025] Figure 6 A flowchart illustrating the pet feeding method based on a humanoid robot provided in this application. Figure 6 ;
[0026] Figure 7 A schematic diagram of the structure of the pet feeding device based on a humanoid robot provided in this application;
[0027] Figure 8 A schematic diagram of the architecture of the pet feeding system based on a humanoid robot provided in this application;
[0028] Figure 9 A structural schematic diagram of the humanoid robot provided in this application.
[0029] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0030] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0031] First, let me explain the terms used in this application:
[0032] The humanoid robot in the embodiments of this application may also refer to a general humanoid robot.
[0033] Humanoid robots refer to humanoid robots with mobility capabilities. Their upper limbs have a humanoid structure, possessing two arms for performing tasks. End effectors can include, but are not limited to, two-finger grippers, three-finger grippers, and five-finger dexterous hands. Optionally, cameras can be added to the end effectors for recognizing and providing feedback on the operation process, and for data recording. The lower limbs can be wheeled or legged, supporting the humanoid robot's movement. Wheeled locomotion structures include, but are not limited to, two-wheel differential, two-wheel differential plus steering wheel, four-wheel differential, or Metanum omnidirectional wheel structures. Legged locomotion structures include bipedal structures and quadrupedal structures.
[0034] The specific application scenario of this application is a pet feeding scenario based on humanoid robots, general humanoid robots, or embodied robots. The method can be executed by humanoid robots or by humanoid robots based on server control. This application embodiment is not limited to this.
[0035] Based on the above scenarios, it is evident that in existing technologies, pet feeders may spill food during the feeding process due to design flaws or pet contact, causing food to easily fall onto the ground. This can lead to insufficient food intake, disrupting the pet's feeding schedule and potentially harming its health; furthermore, it results in food waste.
[0036] The pet feeding method based on a humanoid robot provided in this application involves the humanoid robot picking up at least a portion of the spilled food and placing it in the food tray of the feeder when food spills from the feeder. The feeder weighs the food in the food tray and then dispenses more food based on the weight obtained from the weighing. This method ensures that the pet eats enough food while avoiding food waste.
[0037] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.
[0038] Figure 1 This is a flowchart illustrating the pet feeding method based on a humanoid robot provided in this application. The method can be executed by the humanoid robot itself, or by a pet feeding device installed within the humanoid robot. Figure 1 As shown, the method includes:
[0039] S101. If it is detected that the feeder is feeding the pet and food is spilled, control the humanoid robot to pick up at least part of the spilled food and place it in the food tray of the feeder.
[0040] Specifically, the food tray of the feeder is used to put food on and feed pets. During the feeding process, the food may spill out of the food tray due to interference from factors such as pet touching it or wind, or the food tray may be touched, causing the food to spill out.
[0041] If the feeder is detected feeding the pet and food spills, the humanoid robot will pick up at least some of the spilled food and place it back into the feeder's food tray. The humanoid robot can also pick up the spilled food only if it detects that the feeder has stopped dispensing food and food spillage has occurred again. This trigger condition can be determined by analyzing images captured by the humanoid robot's visual camera.
[0042] Optionally, in this application, the control of the humanoid robot and / or the control of the feeder can be performed by the humanoid robot, or by the humanoid robot based on server control, or by the server control; this application does not limit this.
[0043] S102. Control the feeder to weigh the food in the food tray to obtain the first food weight.
[0044] Specifically, the feeder weighs the food in the food tray to obtain a first food weight, which can be the sum of the weight of the food picked up by the humanoid robot and the weight of the food that has not spilled from the food tray.
[0045] Optionally, the humanoid robot sends a command to the feeder, instructing the feeder to weigh the food in the food tray; or, the humanoid robot operates a button on the feeder, causing the feeder to weigh the food in the food tray.
[0046] S103. Calculate the food weight difference based on the preset weight and the weight of the first food; the food weight difference is the difference between the preset weight and the weight of the first food.
[0047] Specifically, the preset food weight can be the weight of food that a pet needs to eat at one time, and it is generated in advance.
[0048] Based on the preset initial food weight and the initial food weight, the difference in food weight is calculated. The feeder can then dispense more food according to this difference, ensuring the pet receives a sufficient amount of food. This calculation can be performed by the feeder, a humanoid robot, or other computing devices such as a server. If performed using a device other than the feeder, the calculated weight difference must be sent to the feeder so it can dispense an additional amount of food equal to this difference.
[0049] Optionally, the humanoid robot can send instructions to the feeder to calculate the difference in food weight; or, the humanoid robot can operate a button on the feeder to make the feeder calculate the difference in food weight.
[0050] S104. Control the feeder to add food to the food tray again according to the difference in food weight; wherein the weight of the second food added is equal to the difference in food weight.
[0051] Specifically, the feeder is controlled to add food to the food tray again based on the difference in food weight; that is, the weight of the food added again is the difference in food weight.
[0052] Optionally, the humanoid robot sends a command to the feeder, instructing the feeder to add more food to the food tray based on the weight difference; or, the humanoid robot operates a button on the feeder, causing the feeder to add more food to the food tray based on the weight difference.
[0053] The pet feeding method based on a humanoid robot provided in this application embodiment, when it detects that the feeder is feeding the pet and food is spilled, controls the humanoid robot to pick up at least a portion of the spilled food and place it in the food tray of the feeder. That is, when food is spilled from the feeder, it can pick up the spilled food and place it in the food tray. Furthermore, it controls the feeder to weigh the food in the food tray and, based on the weight of the weighed food and a preset feeding weight, feeds the pet again to avoid the pet not eating enough, ensuring that the pet eats enough food, and preventing food waste.
[0054] In some embodiments, such as Figure 2 , Figure 3 As shown, S101 can be implemented in the following ways:
[0055] One way:
[0056] S1011. When it is detected that the feeder is feeding the pet and food is being scattered, obtain the environmental spatial information of the area where the food is scattered.
[0057] S1012. Based on the environmental spatial information, determine the graspable area of the humanoid robot in the grain scattering area.
[0058] S1013. Control the humanoid robot to pick up food from the graspable area and place it in the food tray of the feeder.
[0059] Specifically, when food spillage is detected by the feeder, environmental spatial information of the spilled area is obtained, including: the location information of the boundary of the spilled area, spatial height information, and information on obstructions and obstacles, such as fixed obstacles and movable obstacles.
[0060] For example, environmental spatial information can be obtained through cameras, sensors, etc., and / or from other devices installed in the area.
[0061] Based on environmental spatial information, the graspable area of the humanoid robot within the food distribution area is determined; that is, the area within the food distribution area that the humanoid robot can reach and pick up food by manipulating its dexterous fingers. The humanoid robot is then controlled to pick up the food from the graspable area and place it in the food tray of the feeder. The area outside the graspable area within the food distribution area is the area that the humanoid robot's dexterous fingers cannot reach.
[0062] Another way:
[0063] S1011a. When it is detected that the feeder is feeding the pet and food is being scattered, the environmental spatial information of the area where the food is scattered is obtained.
[0064] S1012a. Based on the environmental spatial information, determine the unshaded area and the shaded area in the grain spreading area.
[0065] S1013a, Identify the processable area of the humanoid robot in the occluded area; the processable area includes obstacles to be processed.
[0066] S1014a. Control the humanoid robot to remove obstacles in the processable area, and pick up food from the processable area and the unobstructed area and place it in the food tray of the feeder.
[0067] Specifically, as described in the previous embodiments, the environmental spatial information is used to determine the unobstructed and obstructed areas within the food distribution area. Food in the unobstructed area can be directly picked up by the humanoid robot. The obstructed area may include fixed and movable obstacles. The manageable area can be the area containing movable obstacles. Fixed obstacles are those that cannot be moved. The humanoid robot identifies manageable areas within the obstructed area; for example, movable obstacles can be removed by the humanoid robot. After the humanoid robot removes the movable obstacles in the manageable area, the food from both the manageable and unobstructed areas is picked up and placed in the feeder's food tray.
[0068] Optionally, if there are areas in the occluded area where large objects are placed, such as tables, clothes racks, or other obstacles that are not easy to move, then such areas will be removed from the occluded area when identifying the processable area.
[0069] In the above embodiments, the area in the food distribution area where the humanoid robot can pick up the food is determined by various methods, and the food is picked up and placed in the food tray of the feeder. This method is highly flexible, reduces food waste, minimizes the impact on the amount of food fed to the pet, does not affect the pet's feeding plan, and ensures the pet's health.
[0070] In some embodiments, such as Figure 4As shown, the step S1013a of "identifying the processable area of the humanoid robot in the occluded area" can be achieved through the following steps:
[0071] S1013a1: Obtain the joint limit information and spatial angle information from the environmental space information of the humanoid robot.
[0072] S1013a2. Based on the joint limit information and spatial angle information, determine the manageable area of the humanoid robot within the occluded area. The manageable area can be an area where the spatial angle information is within the range that the humanoid robot's joint limit information can withstand; or it can be an area where the spatial angle information is within the range that the humanoid robot's joint limit information can withstand, and the weight of the obstacle within the occluded area is within the range that the humanoid robot's joint limit information can withstand.
[0073] Optionally, the joint limit information includes: joint limit information of the end effector of the humanoid robot, such as the joint limit information of a gripper or dexterous hand, and / or, joint limit information of other parts of the humanoid robot's body.
[0074] Joint limit information includes, for example, at least one of the following:
[0075] 1. Angular range: The range of rotation or movement of each joint. It is usually expressed in degrees. For example, a joint may have a rotation range from 0 degrees to 180 degrees.
[0076] 2. Speed Limit: How fast a joint can move or rotate, usually expressed in degrees per second or radians per second.
[0077] 3. Torque Limitation: The maximum torque or force that a joint can apply. This is crucial to ensuring that the robot does not damage itself or its surroundings while performing tasks.
[0078] 4. Load capacity: The maximum load that the joint can withstand, including static load and dynamic load.
[0079] 5. Physical limitations: These include mechanical structural limitations, such as stop blocks or other physical barriers, to prevent the joint from exceeding its design limits.
[0080] Specifically, based on the joint limit information of the humanoid robot and the spatial angle information of the food spill area, the manageable area of the humanoid robot in the occluded area is determined. For example, some large objects may be placed in the occluded area, such as tables, clothes racks, or other obstacles that are not easy to move. In this case, the area that the humanoid robot's end effector can reach is determined as the manageable area. Or, if there are small obstacles (such as pet toys) in a certain part of the occluded area, and the spilled food is located under the small obstacle, then that part of the area can be determined as the manageable area. After the obstacle in that part of the area is removed, the spilled food can be picked up.
[0081] In the above embodiments, based on the joint limit information and the spatial angle information, the processable area of the humanoid robot in the obstructed area is determined, so that the humanoid robot can pick up the spilled food in the processable area, avoiding accidents such as collisions that could occur in the obstructed area and thus preventing any impact on the safety of the humanoid robot; moreover, it can identify all areas where the humanoid robot can pick up food, picking up as much food as possible and avoiding food waste.
[0082] In some embodiments, the humanoid robot establishes a communication connection with the feeder; S102 can be implemented in the following manner:
[0083] Once the humanoid robot has picked up all the food that meets the preset conditions, the system controls the humanoid robot to send a preset command to the feeder based on the communication connection.
[0084] The feeder is controlled to weigh the food on the food tray according to the preset instructions to obtain the first food weight.
[0085] Specifically, if a communication connection is established between the humanoid robot and the feeder, after the humanoid robot has picked up all the food that meets the preset conditions, it can be controlled to send a preset command to the feeder based on the communication connection with the feeder. The feeder weighs the food on the food tray according to the preset command to obtain the first food weight.
[0086] Optionally, the food that meets the preset conditions is food scattered within the graspable area of the humanoid robot, or food scattered within the processable area of the humanoid robot in both the unobstructed and obstructed areas.
[0087] In the above embodiments, by sending preset instructions to the feeder through a humanoid robot, the feeder can be instructed to weigh the food on the food tray, which is a simple and efficient solution.
[0088] In some embodiments, such as Figure 5As shown, replace step S101 with step S105:
[0089] If the feeder is detected feeding the pet and food is spilled, the feeder is controlled to stop feeding the pet, and the humanoid robot is controlled to pick up at least some of the spilled food and place it in the feeder's food tray.
[0090] In this embodiment, after step S104, the following step is also included:
[0091] S106: After the feeder finishes feeding the pet again into the food tray, control the feeder to continue feeding the pet.
[0092] Specifically, if the feeder is detected feeding the pet and food is spilled, the feeder can be controlled to stop feeding the pet, for example, by retracting the food tray or closing the food tray.
[0093] After the feeder puts food back into the food tray, control the feeder to continue feeding the pet.
[0094] In the above embodiments, when food spillage is detected, the feeder is controlled to stop feeding the pet. This avoids the situation where the pet eats while the humanoid robot is picking up food, making it impossible to determine the amount of food consumed by the pet during the time the humanoid robot is picking up food. This would lead to inaccurate calculation of the food weight difference, disrupt the pet's normal feeding plan, and prevent the pet from overeating and affecting its health.
[0095] In some embodiments, such as Figure 6 As shown, step S101 can also be implemented in the following way:
[0096] S101a. When it is detected that food is being spilled from the feeders corresponding to various different types of pets, the humanoid robot is controlled to identify the type of food spilled.
[0097] S101b: Control the humanoid robot to place the food corresponding to the identified food type into the food tray of the feeder corresponding to the food type.
[0098] For example, a humanoid robot can detect food spillage from the feeders corresponding to various different types of pets through its camera, or it can detect food spillage from the feeders corresponding to various different types of pets by sending notifications to the humanoid robot.
[0099] When food is detected spilling from the feeders corresponding to different types of pets, the humanoid robot is controlled to identify the type of spilled food and place the food corresponding to the identified type into the food tray of the feeder corresponding to that type.
[0100] For example, if a user has a pet dog and a pet cat indoors, and the feeders are placed close together, food may spill from the feeders for the dog and cat, causing various foods to get mixed up. Therefore, the humanoid robot is controlled to identify the types of spilled food and place the food corresponding to the identified food type into the food tray of the feeder corresponding to that food type.
[0101] In the above embodiments, by identifying the type of spilled food, it is possible to avoid putting other pets' food into the food tray of the current pet's feeder, which would affect the pet's eating, cause the pet to not eat enough, and also cause food waste.
[0102] In some embodiments, prior to step S101, the method further includes:
[0103] If the pet's health condition is determined to be a disease state, obtain the type of disease and its progression.
[0104] The appropriate amount of food to feed the pet is determined based on the type and progression of the disease.
[0105] The feeder is controlled to dispense food onto the food tray according to the feeding amount.
[0106] Specifically, when a pet is sick, its food intake will usually differ from its normal intake. For example, the amount of food may be reduced compared to normal. The amount of food also varies depending on the disease and / or the stage of the disease. The stage of the disease can indicate which stage of the disease is in, such as the early, middle, or late stage, or which day of the onset of the disease.
[0107] Therefore, it is necessary to determine the pet's disease type and progression. Based on the disease type and progression, the corresponding food amount for the pet is determined. Based on this amount, the feeder is controlled to dispense food into the food tray, thus feeding the pet. In practice, this step can be performed by matching the pet type, disease type, and disease progression against a first preset database to obtain the corresponding food amount. The first preset database records the corresponding food amounts for this type of pet under different disease types and progressions.
[0108] In the above embodiments, before feeding the pet, the corresponding feeding amount can be determined according to the pet's disease type and disease progression; furthermore, based on the determined feeding amount, the feeder is controlled to put food into the food tray, which can make the determined pet feeding amount more accurate, avoid food waste, and is better for the pet's health.
[0109] In some embodiments, determining the appropriate feeding amount for the pet based on the disease type and the disease progression includes:
[0110] Obtain the amount of exercise the pet does within a preset time range;
[0111] The amount of food to feed the pet is determined based on the type of disease, the course of the disease, and the amount of exercise.
[0112] Specifically, for the same type and stage of disease, different pets may exhibit different conditions. A pet's activity level affects its food intake and digestion. Therefore, the appropriate feeding amount can be determined based on the disease type, disease stage, and activity level within a preset time range. In practice, this step involves matching the pet type, disease type, disease stage, and daily activity level against a second preset database to obtain the corresponding feeding amount. This second preset database records the feeding amounts matched for this type of pet under different disease types, disease stages, and daily activity levels.
[0113] Preset time ranges, such as the interval between two feedings, or the day of feeding.
[0114] For example, if a pet has a lot of exercise that day, you can increase its food intake appropriately.
[0115] In the above embodiments, when determining the corresponding amount of food for a pet, in addition to considering the type and progression of the pet's disease, the amount of exercise the pet engages in is also taken into account, making the determined amount of food for the pet more accurate.
[0116] Figure 2 The schematic diagram of the pet feeding device based on a humanoid robot provided in this application is as follows: Figure 2 As shown, the pet feeding device based on a humanoid robot provided in this embodiment includes: a first control module 701 and a second control module 702;
[0117] The first control module 701 is used to control a humanoid robot to pick up at least a portion of the spilled food and place it in the food tray of the feeder when it is detected that the feeder is feeding the pet and food is spilled.
[0118] The second control module 702 is used to control the feeder to weigh the food in the food tray to obtain the first food weight;
[0119] The second control module 702 is further configured to calculate a food weight difference based on a preset feeding weight and the weight of the first food; the food weight difference is the difference between the preset feeding weight and the weight of the first food.
[0120] The second control module 702 is further configured to control the feeder to add food to the food tray again based on the difference in food weight; wherein the weight of the second food added is equal to the difference in food weight.
[0121] In one possible implementation, the first control module 701 is specifically used for:
[0122] When the feeder is detected feeding the pet and food is spilled, the environmental spatial information of the spilled area is obtained;
[0123] Based on the environmental spatial information, the humanoid robot is determined to have a graspable area in the grain-scattering area.
[0124] The humanoid robot is controlled to pick up food from the graspable area and place it in the food tray of the feeder.
[0125] In one possible implementation, the first control module 701 is specifically used for:
[0126] When the feeder is detected feeding the pet and food is spilled, the environmental spatial information of the spilled area is obtained;
[0127] Based on the environmental spatial information, the unshaded area and the shaded area in the grain scattering area are determined respectively;
[0128] Identify the manageable area of the humanoid robot within the occluded area; the manageable area includes obstacles to be processed;
[0129] The humanoid robot is controlled to remove obstacles in the processable area, and to pick up food from the processable area and the unobstructed area and place it in the food tray of the feeder.
[0130] In one possible implementation, the first control module 701 is specifically used for:
[0131] Obtain the joint limit information of the humanoid robot and the spatial angle information in the environmental space information;
[0132] Based on the joint limit information and the spatial angle information, the processable area of the humanoid robot in the occluded area is determined.
[0133] In one possible implementation, the humanoid robot establishes a communication connection with the feeder; the second control module 702 is specifically used for:
[0134] After the humanoid robot has picked up all the food that meets the preset conditions, the robot is controlled to send a preset command to the feeder based on the communication connection.
[0135] The feeder is controlled to weigh the food on the food tray according to the preset instructions to obtain the first food weight.
[0136] In one possible implementation, the food that meets the preset conditions is food scattered within the graspable area of the humanoid robot, or food scattered within the processable area of the humanoid robot in both the unobstructed and obstructed areas.
[0137] In one possible implementation, the second control module 702 is further configured to:
[0138] If the feeder is detected feeding the pet and food is spilled, the feeder is controlled to stop feeding the pet.
[0139] After the feeder puts food back into the food tray, control the feeder to continue feeding the pet.
[0140] In one possible implementation, the first control module 701 is specifically used for:
[0141] When food is detected being spilled from the feeders corresponding to different types of pets, the humanoid robot is controlled to identify the type of food spilled.
[0142] The humanoid robot is controlled to place the food corresponding to the identified food type into the food tray of the feeder corresponding to the food type.
[0143] In one possible implementation, the first control module 701 is further configured to:
[0144] Before controlling the humanoid robot to pick up at least a portion of the spilled food and place it in the food tray of the feeder when it is detected that the pet is in a disease state, the type and progression of the pet's disease are obtained.
[0145] The appropriate amount of food to feed the pet is determined based on the type and progression of the disease.
[0146] The feeder is controlled to dispense food onto the food tray according to the feeding amount.
[0147] In one possible implementation, the first control module 701 is specifically used for:
[0148] Obtain the amount of exercise the pet does within a preset time range;
[0149] The amount of food to feed the pet is determined based on the type of disease, the course of the disease, and the amount of exercise on that day.
[0150] The pet feeding device based on a humanoid robot provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and will not be described in detail here.
[0151] This application also provides a pet feeding system based on a humanoid robot, which is applied to the method described in any of the foregoing embodiments, such as... Figure 8 As shown, the system includes:
[0152] 100 humanoid robots, 200 feeders;
[0153] The humanoid robot is used to pick up at least a portion of the spilled food and place it in the food tray of the feeder when it detects that the feeder is feeding the pet and spilling food.
[0154] The feeder is controlled to weigh the food in the food tray to obtain a first food weight;
[0155] The food weight difference is calculated based on the preset weight and the weight of the first food; the food weight difference is the difference between the preset weight and the weight of the first food.
[0156] The feeder is controlled to add food to the food tray again based on the difference in food weight; wherein the weight of the second food added is equal to the difference in food weight.
[0157] Optionally, the humanoid robot 100 and the feeder 200 may have a communication connection (e.g., Figure 3 (as shown in the image), or does not have a communication connection.
[0158] Figure 9 A structural schematic diagram of the humanoid robot provided in this application. Figure 9 As shown, the humanoid robot provided in this embodiment includes at least one processor 901 and a memory 902. Optionally, the device 90 also includes a communication component 903. The processor 901, memory 902, and communication component 903 are connected via a bus.
[0159] In a specific implementation, at least one processor 901 executes computer execution instructions stored in memory 902, causing at least one processor 901 to perform the above-described method.
[0160] The specific implementation process of processor 901 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0161] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.
[0162] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.
[0163] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0164] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.
[0165] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the above-described method.
[0166] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0167] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.
[0168] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.
[0169] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0170] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0171] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0172] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0173] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.
Claims
1. A pet feeding system based on a humanoid robot, characterized in that, The system includes: a humanoid robot and a feeder; the humanoid robot and the feeder are connected by communication. The humanoid robot is used to pick up at least a portion of the spilled food and place it in the food tray of the feeder when it detects that the feeder is feeding the pet and spilling food. The feeder is controlled to weigh the food in the food tray to obtain a first food weight; The food weight difference is calculated based on the preset weight and the weight of the first food; the food weight difference is the difference between the preset weight and the weight of the first food. The feeder is controlled to add food to the food tray again based on the difference in food weight; wherein the weight of the second food added is equal to the difference in food weight.
2. The pet feeding system of claim 1, wherein, The humanoid robot is specifically used to acquire environmental spatial information of the area where food is scattered when it detects that a feeder is feeding a pet and food is being scattered. Based on the environmental spatial information, the humanoid robot is determined to have a graspable area in the grain-scattering area. Pick up the food from the graspable area and place it in the food tray of the feeder.
3. The pet feeding system of claim 1, wherein, The humanoid robot is specifically used to acquire environmental spatial information of the area where food is scattered when it detects that a feeder is feeding a pet and food is being scattered. Based on the environmental spatial information, the unshaded area and the shaded area in the grain scattering area are determined respectively; Identify the manageable area of the humanoid robot within the occluded area; the manageable area includes obstacles to be processed; Remove the obstructions in the processable area, and pick up the food from the processable area and the unobstructed area and place it in the food tray of the feeder.
4. The pet feeding system of claim 3, wherein, The humanoid robot is specifically used to acquire its own joint limit information and spatial angle information in the environmental space information; Based on the joint limit information and the spatial angle information, the processable area of the humanoid robot in the occluded area is determined.
5. The pet feeding system of any one of claims 1-4, wherein, The humanoid robot is specifically used to send a preset command to the feeder based on the communication connection after picking up all the food that meets the preset conditions. The feeder is controlled to weigh the food on the food tray according to the preset instructions to obtain the first food weight.
6. A pet feeding device based on a humanoid robot, characterized in that, include: First control module and second control module; The first control module is used to control a humanoid robot to pick up at least a portion of the spilled food and place it in the food tray of the feeder when it detects that the feeder is feeding the pet and food is spilled. The second control module is used to control the feeder to weigh the food in the food tray to obtain a first food weight; The weight difference of the food is calculated based on the preset weight and the weight of the first food item. The food weight difference is the difference between the preset food weight and the weight of the first food. The feeder is controlled to add food to the food tray again based on the difference in food weight; wherein the weight of the second food added is equal to the difference in food weight.
7. The pet feeding device of claim 6, wherein The first control module is specifically used to: when it detects that the feeder is feeding the pet and food is being scattered, acquire the environmental spatial information of the food scattering area; Based on the environmental spatial information, the humanoid robot is determined to have a graspable area in the grain-scattering area. The humanoid robot is controlled to pick up food from the graspable area and place it in the food tray of the feeder.
8. The pet feeding device of claim 6, wherein, The first control module is specifically used to: when it detects that the feeder is feeding the pet and food is being scattered, acquire the environmental spatial information of the food scattering area; Based on the environmental spatial information, the unshaded area and the shaded area in the grain scattering area are determined respectively; Identify the manageable area of the humanoid robot within the occluded area; the manageable area includes obstacles to be processed; The humanoid robot is controlled to remove obstacles in the processable area, and to pick up food from the processable area and the unobstructed area and place it in the food tray of the feeder.
9. The pet feeding device of claim 8, wherein, The first control module is specifically used to: acquire the joint limit information of the humanoid robot and the spatial angle information in the environmental space information; Based on the joint limit information and the spatial angle information, the processable area of the humanoid robot in the occluded area is determined.