A robot automatic stowing method, device and electronic equipment
By determining the robot's expected folding posture within the storage container and generating motion control information, automatic storage of the robot is achieved, solving the problem of low efficiency in manual disassembly and loading, and improving transportation safety and adaptability.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- BEIJING GALBOT AI CO LTD
- Filing Date
- 2026-03-27
- Publication Date
- 2026-06-19
Smart Images

Figure CN122231973A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and in particular to a method, apparatus, and electronic device for automatic storage by a robot. Background Technology
[0002] Currently, robots are being used more and more widely, creating a demand for robot transportation in situations such as factory delivery and cross-regional dispatch. To avoid damage to robots during transportation, they need to be packaged and stored in special storage containers before being transported.
[0003] In related technologies, robots usually need to be disassembled manually and put into storage containers, which is a cumbersome and inefficient process. Summary of the Invention
[0004] The purpose of this invention is to provide a method, apparatus, and electronic device for automatic storage of robots, thereby improving the storage efficiency of robots. The specific technical solution is as follows:
[0005] In a first aspect, embodiments of the present invention provide a robot automatic storage method, the method comprising:
[0006] Based on the internal space description information of the storage container, the expected folding posture of the robot within the storage container is determined.
[0007] Generate motion control information for the robot to move from its current posture to the expected folding posture;
[0008] According to the motion control information, the robot is controlled to adjust the pose of at least some of its joints so that the robot reaches the expected folding posture and moves into the storage container.
[0009] Secondly, embodiments of the present invention provide an automatic storage device for robots, the device comprising:
[0010] The expected folding posture determination module is used to determine the expected folding posture of the robot within the storage container based on the internal space description information of the storage container.
[0011] The control information generation module is used to generate motion control information for the robot to move from its current posture to the expected folding posture;
[0012] An attitude control module is used to adjust the pose of at least some of the joints of the robot so that the robot reaches the expected folding posture and moves into the storage container.
[0013] Thirdly, embodiments of the present invention provide an electronic device, including a processor, a communication interface, a memory, a communication bus, and an image acquisition device, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus;
[0014] Memory, used to store computer programs;
[0015] When a processor executes a program stored in memory, it implements the steps of the method described in the first aspect.
[0016] Fourthly, embodiments of the present invention provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the method described in the first aspect.
[0017] Fifthly, embodiments of the present invention provide a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps of the method described in the first aspect.
[0018] As can be seen from the above, when controlling the robot to automatically retract using the solution provided in this embodiment of the invention, the expected folding posture of the robot within the storage container is determined based on the internal space description information of the storage container. Then, motion control information is generated to allow the robot to move from its current posture to the expected folding posture. Next, the robot is controlled to reach the expected folding posture according to the motion control information. Finally, the robot is controlled to maintain the expected folding posture and move into the storage container. In this way, the robot can be automatically controlled to reach the expected folding posture and autonomously move to the storage container, realizing automatic robot retraction. Compared with manually disassembling the robot and placing it into the storage container, this improves robot retraction efficiency, reduces labor costs, and also reduces the probability of robot collisions or damage caused by improper manual retraction. This achieves automatic robot retraction and provides a foundation for the safe transportation of the robot.
[0019] Furthermore, the robot's expected folding posture is adaptively determined based on the internal space description information of the storage container. In this way, for different storage containers, the expected folding posture that allows the robot to be successfully accommodated in the storage container can be flexibly determined, so that the expected folding posture can be adapted to the size and space constraints of different storage containers. This achieves adaptive storage for different storage containers, effectively improving the adaptability and versatility of the automatic storage solution in multiple scenarios.
[0020] Of course, implementing any product or method of the present invention does not necessarily require achieving all of the advantages described above at the same time. Attached Figure Description
[0021] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other embodiments can be obtained based on these drawings.
[0022] Figure 1 A flowchart illustrating the first automatic storage method for robots provided in an embodiment of the present invention;
[0023] Figure 2 A schematic diagram of a first type of automated robot storage process provided in an embodiment of the present invention;
[0024] Figure 3 A schematic diagram of a second type of automated robot storage process provided in an embodiment of the present invention;
[0025] Figure 4 A flowchart illustrating the second automatic storage method for robots provided in this embodiment of the invention;
[0026] Figure 5 This is a schematic diagram of the structure of an automatic storage device for robots provided in an embodiment of the present invention;
[0027] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0028] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art based on the present invention are within the scope of protection of the present invention.
[0029] First, the subject responsible for implementing the solution provided in the embodiments of the present invention will be described.
[0030] The implementing entity of the solution provided in the embodiments of the present invention can be the robot to be collected, or it can be a control device that establishes a communication connection with the robot to be collected.
[0031] The robot automatic storage solution provided in the embodiments of the present invention will be described in detail below with reference to the accompanying drawings.
[0032] See Figure 1 This is a flowchart illustrating the first automatic storage method for robots provided in an embodiment of the present invention. The method is applied to a robot and includes the following steps S101 to S103.
[0033] Step S101: Based on the internal space description information of the storage container, determine the robot's expected folding posture within the storage container.
[0034] The embodiments of the present invention do not limit the material, shape, etc. of the above-mentioned storage container. For example, the storage container can be a cardboard box, foam box, etc.
[0035] The aforementioned internal space description information serves as the data benchmark for determining the robot's expected folding posture, including the boundary description information of the internal space of the storage container. The boundary description information describes the robot's maximum possible range of motion (constraint boundaries), which may include, but is not limited to, the maximum height, maximum width, and maximum length of the internal space.
[0036] To more accurately describe the internal space of the storage container and provide a more precise reference for the robot's expected folding posture, in one possible implementation, the aforementioned internal space description information may also include structural description information of the internal space, which may include, but is not limited to, the shape and volume of the internal space.
[0037] To better secure the robot and prevent it from being squeezed or damaged during transport, a positioning mechanism may be installed inside the storage container in some cases. This positioning mechanism may specifically be a buckle, positioning slot, or bracket used to secure the robot arm. In this case, the structural description information may also include a description of the positioning mechanism, specifically including but not limited to its pose and dimensions.
[0038] The aforementioned internal space description information can be obtained and stored in advance. For example, in the scenario of robot delivery, the storage container used by the robot is a cardboard box with known parameters. In this case, the length, width, height, and other parameters of the cardboard box, as well as the description information of the positioning mechanism inside the cardboard box, can be directly stored as internal space description information.
[0039] Of course, even when the parameters of the storage container are unknown, the internal space of the storage container can be sensed in real time to obtain its internal space description information. Specifically, in one possible implementation, point cloud data collected by a point cloud acquisition device deployed on the robot targeting the storage container can be obtained first; then, parameters can be extracted from the point cloud to obtain the internal space description information of the storage container.
[0040] The point cloud acquisition device mentioned above can be a lidar, depth camera, binocular camera, etc., and the embodiments of the present invention do not limit it.
[0041] When extracting parameters from point clouds, a planar segmentation algorithm can be used to separate point clouds belonging to different surfaces. Then, the extreme distances between point clouds belonging to different surfaces can be calculated to obtain the maximum internal height, maximum internal width, and maximum internal length of the internal space of the container, which can be used as boundary description information. Furthermore, a matching degree analysis can be performed between the segmented point clouds and standard geometry to determine the shape parameters of the internal space of the container, which can be used as structural description information.
[0042] Of course, if the container includes a positioning mechanism, the point cloud structure corresponding to the positioning mechanism can be extracted from the point cloud by extracting the features of the point cloud, and the pose and size of the point cloud structure can be determined as structural description information.
[0043] In some cases, before extracting point cloud parameters, preprocessing operations such as filtering, downsampling, and normal estimation can be performed on the point cloud to improve the efficiency and accuracy of subsequent processing.
[0044] In this way, when the parameters of the storage container are unknown, the point cloud of the storage container can be actively collected, and the internal space description information of the storage container can be obtained by extracting the parameters of the obtained point cloud, so as to plan the folding pose of the robot for the unknown storage container.
[0045] The following describes how to determine the robot's expected folding posture within the storage container.
[0046] Specifically, an initial folding posture can be set first, and the spatial positions of the robot joints in the initial posture can be obtained through forward kinematics calculation. Then, based on the determined spatial positions, it can be determined whether all the robot joints are located within the maximum motion space represented by the boundary description information of the storage container, and whether they collide with the internal structure represented by the structural description information. If not, the relevant joint angles are adjusted through inverse kinematics algorithm. After each adjustment, the step of calculating the spatial position of the joints through forward kinematics is returned until the requirements are met and the expected folding posture is obtained.
[0047] To quickly and accurately determine the robot's expected folding posture within the storage container, one possible implementation involves first determining a set of candidate postures that allow the robot to fit within the container, based on boundary description information and the robot's joint motion constraints. Then, based on structural description information, the expected folding posture that prevents the robot from colliding with the internal structure of the storage container is determined from the candidate posture set. Specific implementation details will be provided later and will not be elaborated here.
[0048] The following section describes how to determine the expected folding pose from the candidate poses corresponding to the target 3D model.
[0049] When there is only one target 3D model, the candidate pose corresponding to the target 3D model can be directly determined as the expected folding pose. When there are multiple target 3D models, the candidate pose with the smallest difference can be determined as the expected folding pose by calculating the difference between the candidate pose corresponding to each target 3D model and the robot's current pose.
[0050] Step S102: Generate motion control information for the robot to move from its current posture to the expected folding posture.
[0051] Specifically, based on the robot's current posture and expected folding posture, interpolation algorithms such as joint-space linear interpolation and joint-space polynomial interpolation can be used to generate a sequence of joint poses from the current posture to the expected folding posture. Based on this sequence, motion control information is generated. The generated motion control information can specifically include the joint rotation angle and / or joint position used to control the robot to sequentially reach each joint pose in the joint pose sequence.
[0052] To improve the rationality and accuracy of motion control information, enabling the robot to smoothly and successfully move from its current pose to the expected folding pose, one possible implementation is to use inverse kinematics (IK) and constraint-based planning algorithms to generate the aforementioned joint pose sequence. Specifically, based on the current pose, the expected folding pose, and the robot's joint motion constraints, inverse kinematics (IK) can be used to generate the joint pose sequence from the current pose to the expected folding pose. Based on this joint pose sequence, motion control information is then generated.
[0053] In other words, the robot is iteratively calculated using inverse kinematics to gradually adjust from its current posture to the expected folding posture. During each iteration, the current joint pose is adjusted using joint adjustment amounts to generate an intermediate joint pose, which is then concatenated into a complete joint pose sequence.
[0054] Specifically, the joint motion constraint information can be converted into mathematical constraint relationships. Then, in each iteration, the ideal joint adjustment amount under no constraint is calculated first through IK, and then the ideal joint adjustment amount is corrected by combining the above mathematical constraint relationships. Based on the corrected joint adjustment amount, the current joint pose is adjusted to obtain the next intermediate joint pose.
[0055] The upper limit of the joint adjustment amount used in each iteration can be set according to the joint response speed of the robot, and this embodiment of the invention does not limit it.
[0056] For example, if there is a large difference between adjacent joint poses in the obtained joint pose sequence, the aforementioned interpolation algorithm can be used to generate an intermediate pose between adjacent joint poses to ensure that the robot can achieve the expected folding pose more stably and smoothly.
[0057] Step S103: According to the motion control information, control the robot to adjust the pose of at least some of the joints of the robot so that the robot reaches the expected folding posture and moves into the storage container.
[0058] After generating motion control information, the robot joints can be controlled sequentially according to the order of the joint rotation angles and / or joint positions included in the motion control information until the robot reaches the expected folding posture.
[0059] To improve the robot's folding efficiency and minimize its storage space requirements, one possible implementation may include at least one of upper limb pose adjustment and lower limb pose adjustment. Specifically, if the robot's lower limb pose already matches the expected folded pose (e.g., the robot's lower limb joints are folded), only upper limb pose adjustment may be performed; if the robot's upper limb pose already matches the expected folded pose (e.g., the robot's upper limbs are folded), only lower limb pose adjustment may be performed; if neither the robot's upper limb nor lower limb pose matches the expected folded pose, both upper limb and lower limb pose adjustments may be performed.
[0060] The methods for adjusting upper limb posture and lower limb posture are explained below.
[0061] Upper limb posture adjustment:
[0062] In one implementation, the shoulder joints of the robot's arms can be controlled to rotate in a first direction and / or the elbow joints to rotate in a second direction, so that the arms bend backward on both sides of the robot. The first direction is opposite to the second direction.
[0063] It is understandable that the shoulder joint is used to control the movement of the robot's upper arm, and the elbow joint is used to control the movement of the robot's forearm. When the first direction and the second direction are opposite, the upper arm and forearm of the robot arm will fold.
[0064] Preferably, the first direction can be the direction in which the robot's upper arm moves directly behind the robot, and the second direction can be the direction in which the robot's lower arm moves directly in front of the robot.
[0065] Whether to control the shoulder joint, elbow joint, or both depends on the specific scenario. For example, if the robot's upper arm pose already matches the expected folding pose, only the elbow joint can be controlled. The options for controlling only the shoulder joint or both can be deduced from the above explanation and will not be elaborated further here.
[0066] Taking control of both the shoulder and elbow joints as an example, see [link to relevant documentation]. Figure 2 This visually illustrates the process of the robot's upper limb pose change under this condition.
[0067] In another implementation, the shoulder joints and / or elbow joints of the robot's arms can be controlled to rotate in a first direction, so that the arms move continuously toward the rear of the robot in a bent state until the arms bend backward on both sides of the robot.
[0068] Similarly, whether to control the shoulder joint, the elbow joint, or both depends on the specific scenario.
[0069] In this implementation, although the shoulder joint and / or elbow joint rotate in the first direction, the upper arm and forearm of the robot arm can still be folded by adjusting their respective rotation angles.
[0070] Taking control of both the shoulder and elbow joints as an example, see [link to relevant documentation]. Figure 3 This visually illustrates the process of the robot's upper limb pose change under this condition.
[0071] When the robot's arms are bent backward on both sides of the robot, the angle between the upper arm and forearm of each arm is within a predetermined angle range. To further reduce the space occupied by the robot's upper limbs, preferably, the predetermined angle range can be an acute angle range.
[0072] Lower limb posture adjustment:
[0073] Specifically, the robot's lower limb lifting device is lowered to fold the robot's lower limbs and lower its torso.
[0074] It should be noted that, when adjusting both the upper limb and lower limb poses, the embodiments of the present invention do not limit the order of adjustment of the upper limb and lower limb poses. It is only necessary to ensure that the robot's arms do not collide with the ground during the adjustment process and that the robot does not get stuck or its components are damaged.
[0075] For example, if the robot is currently in an upright position with its arms hanging naturally at its sides, when both the robot's legs and arms need to be folded, in order to prevent the robot's lower limb lifting device from lowering and causing the arms to collide with the ground, the arm joints can be adjusted first to fold the arms, and then the leg joints can be adjusted to fold the legs.
[0076] For example, as mentioned above, there may be coupled motion relationships between the joints of a robot. Therefore, the order of adjusting the poses of the upper limbs and lower limbs can be determined according to the above-mentioned coupled motion relationships to prevent the robot from getting stuck or its components from being damaged.
[0077] Preferably, considering that the robot's environment is complex in some cases, when determining the adjustment order of the upper limb pose and lower limb pose, in addition to the above-mentioned content, obstacles in the robot's environment can also be considered. Under the premise of not colliding with obstacles, the specific adjustment order of the upper limb pose and lower limb pose can be flexibly determined.
[0078] Based on the previous explanation, the following two specific examples will illustrate the complete process of pose adjustment.
[0079] Example 1:
[0080] First, control the rotation of the robot's two arm joints, causing the elbow joints to move backwards towards the robot, making the angle between the upper and lower arms an acute angle, thus bending the arms to the sides of the robot. Figure 2 As shown (only the upper body of the robot is shown); then, the robot's lower limb joints are rotated to lower the lower limb lifting device, thus folding the legs.
[0081] Example 2:
[0082] First, control the rotation of the robot's two arm joints, causing the elbows to move forward and upward, bending the arms in front of the robot, as if raising them upward in front of the robot. Then, control the upper and lower arms to maintain an acute angle and fold them backward from the front over the shoulder. Figure 3 As shown (only the upper body of the robot is shown); next, the robot's lower limb joints are rotated, causing the lower limb lifting device to lower, thus achieving leg folding. This can be achieved by first controlling the angle between the upper arm and forearm to be a right angle, then controlling the angle to change from a right angle to an acute angle, and then controlling the upper arm and forearm to maintain an acute angle while folding from front to back over the shoulder. Alternatively, it can be achieved by controlling the angle between the upper arm and forearm to change from a right angle to an acute angle during the folding process from front to back over the shoulder; both methods are reasonable.
[0083] Once the robot reaches the desired folding posture, it can be controlled to move to the storage container according to the control signals input by the staff; or, the robot's travel path can be planned, and then the robot can be controlled to move into the storage container according to the travel path.
[0084] The following section introduces the methods for planning driving routes.
[0085] Specifically, based on the entrance location of the storage container, the robot's current position, and the locations of obstacles in the environment, collision-free driving paths can be generated using path planning algorithms such as Rapidly-exploring Random Tree Star (RRT) and the Open Motion Planning Library (OMPL). The entrance location can be pre-defined or determined through image recognition; the locations of obstacles in the environment can be determined based on a pre-built environmental map or through image recognition.
[0086] If the opening of the storage container faces upward, an auxiliary ramp can be provided on the side of the storage container so that the robot can enter the storage container along the auxiliary ramp.
[0087] To improve the success rate of the robot successfully entering the storage container, one possible implementation is to extract the entrance description information of the storage container from images captured by an image acquisition device deployed on the robot. Then, based on the space description information occupied by the robot in the expected folded posture and the entrance description information, the target angle for the robot to enter the entrance is determined. Finally, based on the robot's current position, the entrance description information, and the target angle, the robot's travel path is planned, and the robot is controlled to travel into the storage container at the determined target angle according to the travel path.
[0088] Specifically, by extracting the edges and corners of the entrance in the image, information such as the entrance direction and size can be obtained as entrance description information; the target angle that allows the robot to smoothly enter the entrance can be calculated based on the robot's shape and the parameters of the space it occupies when it is in the expected folding posture.
[0089] As can be seen from the above, when controlling the robot to automatically retract using the solution provided in this embodiment of the invention, the expected folding posture of the robot within the storage container is determined based on the internal space description information of the storage container. Then, motion control information is generated to allow the robot to move from its current posture to the expected folding posture. Next, the robot is controlled to reach the expected folding posture according to the motion control information. Finally, the robot is controlled to maintain the expected folding posture and move into the storage container. In this way, the robot can be automatically controlled to reach the expected folding posture and autonomously move to the storage container, realizing automatic robot retraction. Compared with manually disassembling the robot and placing it into the storage container, this improves robot retraction efficiency, reduces labor costs, and also reduces the probability of robot collisions or damage caused by improper manual retraction. This achieves automatic robot retraction and provides a foundation for the safe transportation of the robot.
[0090] Furthermore, the robot's expected folding posture is adaptively determined based on the internal space description information of the storage container. In this way, for different storage containers, the expected folding posture that allows the robot to be successfully accommodated in the storage container can be flexibly determined, so that the expected folding posture can be adapted to the size and space constraints of different storage containers. This achieves adaptive storage for different storage containers, effectively improving the adaptability and versatility of the automatic storage solution in multiple scenarios.
[0091] To quickly and accurately determine the robot's expected folding posture within the storage container, one possible implementation involves first determining a set of candidate postures that allow the robot to fit within the storage container, based on boundary description information and the robot's joint motion constraints. Then, based on structural description information, the expected folding posture that prevents the robot from colliding with the internal structure of the storage container is determined from the candidate posture set. In view of the above, this invention provides a second method for automatic robot storage.
[0092] See Figure 4 This is a flowchart illustrating the second automatic storage method for robots provided in an embodiment of the present invention. The method is applied to a robot and includes the following steps S401 to S404.
[0093] Step S401: Based on the boundary description information and the robot's joint motion constraint information, obtain a set of candidate poses.
[0094] The aforementioned joint motion constraint information includes: the range of motion parameters for each joint of the robot and the dynamic constraint information between the robot joints. The range of motion parameters may include the range of rotation angles for each joint; the dynamic constraint information between the joints is used to describe the coupled motion relationship between different joints. For example, to prevent the robot structure from jamming or the robot from falling, when joint A rotates a1° in one direction, joint B also needs to rotate a1° in that direction.
[0095] Specifically, the maximum motion space of the robot can be determined based on the boundary description information. Then, the pose of each joint of the robot can be set under the condition of satisfying the joint motion constraint information, so as to obtain at least one set of candidate poses that enable the robot to be contained in the container, which are used as candidate poses in the candidate pose set.
[0096] Then, since the candidate pose set obtained at this time does not take into account the specific structure inside the container, it is possible to further detect whether each subsequent pose in the candidate pose set will cause the robot to collide with the internal structure of the container.
[0097] Step S402: Based on the structural description information, determine a set of candidate postures from the candidate posture set that will prevent the robot from colliding with the internal structure of the storage container as the expected folding postures.
[0098] To improve the accuracy of collision detection and thus the rationality of the expected folding posture, one possible implementation involves constructing a second 3D model of the robot in each of the candidate postures included in the candidate posture set. Then, each second 3D model is compared with the first 3D model of the storage container. Based on the comparison results, a target 3D model that does not collide with the internal structure of the storage container is determined from the second 3D models. Finally, a set of candidate postures is determined from the candidate postures corresponding to the target 3D model as the expected folding posture.
[0099] Specifically, the rotation angle of the robot joints represented by each candidate posture in the posture set can be extracted. Then, based on the rotation angle, the joint motion of the simulated robot is driven in the simulation environment to obtain a second three-dimensional model of the robot when it is in that candidate posture.
[0100] The following describes how to determine the target 3D model from the second 3D model that will not collide with the internal structure of the storage container.
[0101] Specifically, for the second 3D model corresponding to each candidate pose, the first 3D model of the container and the second 3D model can be imported into the same 3D coordinate system and the model accuracy can be unified. Then, all model meshes of the second 3D model are traversed and collision detection is performed with all model meshes of the first 3D model. If any set of model meshes collides, it is determined that the second 3D model collides with the internal structure of the container. Otherwise, it is determined that the second 3D model does not collide with the internal structure of the container, that is, the second 3D model is the target 3D model.
[0102] Since the folding parts of a robot are generally relatively fixed, such as arms and lower limbs, to reduce the computational load and improve detection efficiency during collision detection without sacrificing accuracy, one possible approach is to specifically determine whether a designated part collides with the internal structure of the storage container. Specifically, the model features of the second 3D model can be extracted first. Based on these features, the model structure corresponding to the designated robot part in the second 3D model can be determined. The spatial description information of the model structure can then be compared with that of the first 3D model. Based on the comparison result, it can be determined whether the model structure collides with the first 3D model.
[0103] When comparing the spatial description information of the model structure with the spatial description information of the second three-dimensional model, the method mentioned above can be used, which is to perform collision detection on the model mesh of the second three-dimensional model and the model mesh of the first three-dimensional model. This will not be elaborated here.
[0104] Step S403: Generate motion control information for the robot to move from its current posture to the expected folding posture.
[0105] Step S404: According to the motion control information, control the robot to adjust the pose of at least some of the joints of the robot so that the robot reaches the expected folding posture and moves into the storage container.
[0106] The implementation methods of steps S403 to S404 are the same as those described above. Figure 1 In the illustrated embodiment, steps S102 to S103 are the same, and will not be repeated here.
[0107] In one possible implementation, after the robot is moved into the storage container, in order to ensure that the robot joints are precisely aligned with the positioning mechanism and that the positioning mechanism can successfully fix the robot, the first pose of the robot's first set joint and the second pose of the positioning mechanism inside the storage container can be obtained. Then, if the first pose and the second pose do not satisfy the set relative pose relationship, the first pose is adjusted.
[0108] The first set joint mentioned above is a pre-set relationship that requires alignment with the positioning mechanism; the relative pose relationship mentioned above is set according to the way the positioning mechanism fixes the robot. For example, if the positioning mechanism is a positioning slot for placing the robot forearm, in this case, the relative pose relationship mentioned above is: the robot forearm is embedded in the positioning slot.
[0109] In some cases, due to errors in the data acquisition or analysis process, certain parts of the robot may be squeezed against the inside of the storage container after the robot enters the container in the expected folding pose. To reduce the probability of this squeezing and ensure the robot reaches a safe posture, one possible implementation is to determine whether the second set joint is in a squeezing state based on data collected by pressure sensors deployed on the robot's second set joint; if the second set joint is in a squeezing state, the third pose of the second set joint is adjusted.
[0110] The aforementioned first set joint can be all the joints of the robot, or it can be a joint that is prone to damage.
[0111] Specifically, the second set joint can be controlled to move away from the direction of force to alleviate or eliminate the compression of the second set joint.
[0112] If the storage container has a closable lid, in one possible implementation, the robot can enter the storage container and autonomously close the lid through visual perception.
[0113] Corresponding to the above-mentioned automatic storage method for robots, this embodiment of the invention also provides an automatic storage device for robots.
[0114] See Figure 5 The above is a schematic diagram of the structure of an automatic storage device for robots provided in an embodiment of the present invention. The device includes the following modules:
[0115] The expected folding posture determination module 501 is used to determine the expected folding posture of the robot in the storage container based on the internal space description information of the storage container.
[0116] The control information generation module 502 is used to generate motion control information for the robot to move from its current posture to the expected folding posture.
[0117] The posture control module 503 is used to control the robot to adjust the pose of at least some of the joints of the robot according to the motion control information, so that the robot can reach the expected folding posture and move into the storage container.
[0118] As can be seen from the above, when controlling the robot to automatically retract using the solution provided in this embodiment of the invention, the expected folding posture of the robot within the storage container is determined based on the internal space description information of the storage container. Then, motion control information is generated to allow the robot to move from its current posture to the expected folding posture. Next, the robot is controlled to reach the expected folding posture according to the motion control information. Finally, the robot is controlled to maintain the expected folding posture and move into the storage container. In this way, the robot can be automatically controlled to reach the expected folding posture and autonomously move to the storage container, realizing automatic robot retraction. Compared with manually disassembling the robot and placing it into the storage container, this improves robot retraction efficiency, reduces labor costs, and also reduces the probability of robot collisions or damage caused by improper manual retraction. This achieves automatic robot retraction and provides a foundation for the safe transportation of the robot.
[0119] Furthermore, the robot's expected folding posture is adaptively determined based on the internal space description information of the storage container. In this way, for different storage containers, the expected folding posture that allows the robot to be successfully accommodated in the storage container can be flexibly determined, so that the expected folding posture can be adapted to the size and space constraints of different storage containers. This achieves adaptive storage for different storage containers, effectively improving the adaptability and versatility of the automatic storage solution in multiple scenarios.
[0120] In one possible implementation, the internal space description information of the storage container includes: boundary description information and structural description information; the expected folding posture determination module includes:
[0121] The candidate posture determination submodule is used to obtain a set of candidate postures based on the boundary description information and the joint motion constraint information of the robot. The joint motion constraint information includes: the motion parameter range of each joint of the robot and the dynamic constraint information between the joints of the robot. The set of candidate postures includes at least one set of candidate postures that enable the robot to be accommodated in the storage container.
[0122] The expected folding posture determination submodule is used to determine, based on the structural description information, a set of candidate postures from the candidate posture set that prevents the robot from colliding with the internal structure of the storage container as the expected folding postures.
[0123] This allows for a faster and more accurate determination of the robot's expected folding posture within the storage container.
[0124] In one possible implementation, the structural description information includes: a first three-dimensional model of the storage container; a submodule for determining the expected folding posture, specifically used to construct a second three-dimensional model when the robot is in each of the candidate postures included in the candidate posture set; comparing each second three-dimensional model with the first three-dimensional model, and determining a target three-dimensional model from the second three-dimensional model that does not collide with the internal structure of the storage container based on the comparison result; and determining a set of candidate postures from the candidate postures corresponding to the target three-dimensional model as the expected folding posture.
[0125] Improving the accuracy of collision detection, thereby enhancing the rationality of the expected folding posture.
[0126] In one possible implementation, for each second 3D model, it is determined whether the second 3D model is the target 3D model in the following manner:
[0127] Extract the model features of the second three-dimensional model, and based on the model features, determine the model structure in the second three-dimensional model corresponding to the set part of the robot; compare the spatial description information of the model structure with the spatial description information of the first three-dimensional model, and if it is determined from the comparison results that the model structure and the first three-dimensional model have not collided, determine the second three-dimensional model as the target three-dimensional model.
[0128] In this way, the computational load during collision detection can be reduced and detection efficiency improved without sacrificing accuracy.
[0129] In one possible implementation, the control information generation module is specifically used to generate a joint pose sequence of the robot from the current pose to the expected folding pose using inverse kinematics based on the current pose, the expected folding pose, and the robot's joint motion constraint information, and to generate the motion control information based on the joint pose sequence.
[0130] The posture control module is specifically used to control the robot's joints to reach each pose in the joint pose sequence according to the motion control information.
[0131] This improves the rationality and accuracy of motion control information, enabling the robot to smoothly and successfully move from its current pose to the expected folding pose.
[0132] In one possible implementation, the device further includes:
[0133] The first adjustment module is used to obtain the first pose of the first set joint of the robot and the second pose of the positioning mechanism inside the storage container after the motion control module is triggered; and to adjust the first pose if the first pose and the second pose do not satisfy the set relative pose relationship.
[0134] This allows the robot joints to be precisely aligned with the positioning mechanism, enabling the positioning mechanism to successfully fix the robot in place.
[0135] In one possible implementation, the device further includes:
[0136] The second adjustment module is used to determine whether the second set joint is in a squeezed state based on the data collected by the pressure sensor deployed on the second set joint of the robot after the motion control module is triggered; and to adjust the third pose of the second set joint when the second set joint is in a squeezed state.
[0137] This reduces the probability of compression and allows the robot to reach a safe position.
[0138] In one possible implementation, the motion control module is specifically configured to: extract the entrance description information of the storage container from images captured by an image acquisition device deployed on the robot; determine the target angle for the robot to enter the entrance based on the space description information occupied by the robot when it is in the expected folding posture and the entrance description information; plan the robot's travel path based on the robot's current position, the entrance description information, and the target angle; and control the robot to travel into the storage container at the target angle according to the travel path.
[0139] This can increase the success rate of the robot successfully entering the storage container.
[0140] In one possible implementation, the device further includes:
[0141] The internal space description information acquisition module is used to obtain the point cloud collected by the point cloud acquisition device deployed on the robot for the storage container before the expected folding posture module is triggered; and to extract parameters from the point cloud to obtain the internal space description information of the storage container.
[0142] In this way, when the parameters of the storage container are unknown, the point cloud of the storage container can be actively collected, and the internal space description information of the storage container can be obtained by extracting the parameters of the obtained point cloud, so as to plan the folding pose of the robot for the unknown storage container.
[0143] In one possible implementation, the attitude control module is specifically configured to perform at least one of the following:
[0144] The shoulder joints of the robot's two arms are controlled to rotate in a first direction and / or the elbow joints are controlled to rotate in a second direction, so that the two arms bend backward on both sides of the robot; or, the shoulder joints and / or elbow joints of the robot's two arms are controlled to rotate in the first direction, so that the two arms move continuously backward on both sides of the robot in a bent state until the two arms bend backward on both sides of the robot; wherein, the first direction is opposite to the second direction, and when the two arms are bent backward on both sides of the robot, the angle between the upper arm and the forearm of each arm is within a set angle range;
[0145] The robot's lower limb lifting device is lowered to fold the robot's lower limbs and lower its torso.
[0146] This can improve the robot's folding rate and minimize the storage space it requires.
[0147] Corresponding to the above-mentioned automatic storage method for robots, embodiments of the present invention also provide an electronic device, a storage medium, and a program product.
[0148] This invention also provides an electronic device, such as... Figure 6 As shown, it includes a processor 601, a communication interface 602, a memory 603, and a communication bus 604, wherein the processor 601, the communication interface 602, and the memory 603 communicate with each other through the communication bus 604.
[0149] Memory 603 is used to store computer programs;
[0150] The processor 601 is used to execute the program stored in the memory 603 to implement the aforementioned automatic robot storage method.
[0151] The communication bus mentioned in the above electronic devices can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.
[0152] The communication interface is used for communication between the aforementioned electronic devices and other devices.
[0153] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0154] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0155] In another embodiment of the present invention, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the steps of any of the above-described robot automatic storage methods.
[0156] In another embodiment of the present invention, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute any of the robot automatic storage methods described above.
[0157] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of the present invention are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state disk (SSD)).
[0158] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0159] The various embodiments in this specification are described in a related manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the embodiments of apparatus, electronic devices, and storage media are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0160] The above description is merely a preferred embodiment of the present invention and is not intended to limit the scope of protection of the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention are included within the scope of protection of the present invention.
Claims
1. A method for automatic storage by a robot, characterized in that, The method includes: Based on the internal space description information of the storage container, the expected folding posture of the robot within the storage container is determined. Generate motion control information for the robot to move from its current posture to the expected folding posture; According to the motion control information, the robot is controlled to adjust the pose of at least some of its joints so that the robot reaches the expected folding posture and moves into the storage container.
2. The method according to claim 1, characterized in that, The internal space description information of the storage container includes boundary description information and structural description information. Determining the robot's expected folding posture within the storage container based on the internal space description information includes: Based on the boundary description information and the joint motion constraint information of the robot, a candidate posture set is obtained. The joint motion constraint information includes: the motion parameter range of each joint of the robot and the dynamic constraint information between the joints of the robot. The candidate posture set includes at least one set of candidate postures that enable the robot to be accommodated in the storage container. Based on the structural description information, a set of candidate postures that prevent the robot from colliding with the internal structure of the storage container are determined from the candidate posture set as the expected folding postures.
3. The method according to claim 2, characterized in that, The structural description information includes: a first three-dimensional model of the storage container; and the determination of a set of candidate poses from the candidate pose set based on the structural description information, such that the robot does not collide with the internal structure of the storage container, as the expected folding poses, includes: Construct a second three-dimensional model of the robot when it is in each of the candidate poses included in the candidate pose set; Compare each of the second three-dimensional models with the first three-dimensional model, and based on the comparison results, determine the target three-dimensional model from the second three-dimensional models that does not collide with the internal structure of the storage container; A set of candidate poses is determined from the candidate poses corresponding to the target 3D model as the expected folding pose.
4. The method according to claim 3, characterized in that, The step of comparing each second 3D model with the first 3D model, and determining a target 3D model from the second 3D models that does not collide with the internal structure of the storage container based on the comparison results, includes: For each second three-dimensional model, extract the model features of the second three-dimensional model, and based on the model features, determine the model structure in the second three-dimensional model corresponding to the set part of the robot; By comparing the spatial description information of the model structure with the spatial description information of the first three-dimensional model, and if it is determined from the comparison results that the model structure and the first three-dimensional model have not collided, the second three-dimensional model is determined to be the target three-dimensional model.
5. The method according to any one of claims 1 to 4, characterized in that, The process of generating motion control information for the robot to reach the expected folding posture from its current posture includes: Based on the current posture, the expected folding posture, and the robot's joint motion constraint information, an inverse kinematics method is used to generate the joint pose sequence of the robot from the current posture to the expected folding posture, and the motion control information is generated based on the joint pose sequence. The step of controlling the robot to reach the expected folding posture according to the motion control information includes: According to the motion control information, the robot's joints are sequentially controlled to reach each pose in the joint pose sequence.
6. The method according to any one of claims 1 to 5, characterized in that, After controlling the robot to move into the storage container, the method further includes: Obtain the first pose of the first set joint of the robot and the second pose of the positioning mechanism inside the storage container; if the first pose and the second pose do not satisfy the set relative pose relationship, adjust the first pose. And / or, Based on data collected by pressure sensors deployed on the second set joint of the robot, if it is determined that the second set joint is in a compressed state, the third pose of the second set joint is adjusted.
7. The method according to any one of claims 1 to 6, characterized in that, The control robot moves into the storage container, including: From the images captured by the image acquisition device deployed on the robot for the storage container, the entrance description information of the storage container is extracted; based on the space description information occupied by the robot when it is in the expected folding posture and the entrance description information, the target angle for the robot to enter the entrance is determined; based on the robot's current position, the entrance description information and the target angle, the robot's travel path is planned, and the robot is controlled to travel into the storage container at the target angle according to the travel path; and / or; Before determining the robot's expected folding posture within the storage container based on the internal space description information of the storage container, the method further includes: Obtain the point cloud data collected by the point cloud acquisition device deployed on the robot for the storage container; extract parameters from the point cloud to obtain the internal space description information of the storage container.
8. The method according to any one of claims 1 to 7, characterized in that, Controlling the robot to adjust the pose of at least some of its joints includes at least one of the following: The shoulder joints of the robot's two arms are controlled to rotate in a first direction and / or the elbow joints are controlled to rotate in a second direction, so that the two arms bend backward on both sides of the robot; or, the shoulder joints and / or elbow joints of the robot's two arms are controlled to rotate in the first direction, so that the two arms move continuously backward on both sides of the robot in a bent state until the two arms bend backward on both sides of the robot; wherein, the first direction is opposite to the second direction, and when the two arms are bent backward on both sides of the robot, the angle between the upper arm and the forearm of each arm is within a set angle range; The robot's lower limb lifting device is lowered to fold the robot's lower limbs and lower its torso.
9. A robotic automatic storage device, characterized in that, The device includes: The expected folding posture determination module is used to determine the expected folding posture of the robot within the storage container based on the internal space description information of the storage container. The control information generation module is used to generate motion control information for the robot to move from its current posture to the expected folding posture; The posture control module is used to control the robot to adjust the pose of at least some of the joints of the robot according to the motion control information, so that the robot can reach the expected folding posture and move into the storage container.
10. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, a communication bus, and an image acquisition device. The processor, communication interface, and memory communicate with each other through the communication bus. Memory, used to store computer programs; A processor, when executing a program stored in memory, implements the steps of the method described in any one of claims 1 to 8.