Mechanical arm back-to-cabin control method and device and self-moving equipment
By obtaining the point cloud data of the robot and the current data of the joint elbow drive motor, we can determine whether the robot arm is in an unloaded state, which solves the problem that the robot arm cannot completely remove external objects before the robot arm returns to the cabin operation, and achieves the robot arm safe and stable return to the cabin operation.
Patent Information
- Application Number
- CN202510308702.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-14
- Publication Date
- 2025-06-06
AI Technical Summary
The robotic arm may not be able to completely remove external objects before returning to the capsule operation, resulting in interference from external objects during the capsule operation, and even causing the robotic arm to be stuck or damaged.
By obtaining the point cloud data of the robot when the robot is carrying and detecting posture and the current data of the joint elbow drive motor, it is determined whether the robot arm is in an unloaded state. If certain conditions are met, such as the occlusion value and current data meet a preset threshold, the robotic arm is determined to be in an unloaded state and is controlled to perform a return capsule operation.
Ensure that the robot arm completely removes external objects before returning to the capsule, avoid interference from external objects during returning to the capsule, and reduce the risk of damage to the robot arm.
Smart Images

Figure CN120095797A_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the field of automatic control, and in particular relates to a robot arm return to cabin control method, cleaning method, device and electronic equipment. Background Art
[0002] With the continuous development of science and technology and the continuous improvement of people's living standards, autonomous devices have been continuously introduced into our daily lives. At present, autonomous devices can grasp or move objects through mechanical arms.
[0003] When the robot arm performs the return operation, the robot arm may still carry the object before the return operation due to failure to place the object, the gripper hooking the foreign object or other unexpected factors. If there is no corresponding detection and processing mechanism, the robot arm may be interfered by foreign objects during the return operation, resulting in movement obstruction or even jamming, and even damage to the robot arm structure. Summary of the invention
[0004] The embodiments of the present application provide a method, device and self-moving device for controlling the return of a robotic arm to the cabin, thereby ensuring that the robotic arm is in an unloaded state before the return operation, at least to a certain extent, and preventing the robotic arm from being interfered with by external objects during the return operation.
[0005] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by the practice of the present application.
[0006] According to a first aspect of an embodiment of the present application, a method for controlling a manipulator to return to a cabin is provided, which is applied to a self-moving device, wherein the self-moving device comprises a self-moving chassis and a manipulator connected to the self-moving chassis, wherein the self-moving chassis comprises a recovery cabin for accommodating a folded manipulator, wherein the manipulator comprises a working arm and a manipulator, wherein the working arm and the manipulator are connected via a mechanical joint, wherein the mechanical joint comprises a joint elbow drive motor for driving the working arm to rotate, and wherein the method comprises:
[0007] If a command for the manipulator to return to the cabin is received, detection information is obtained, wherein the detection information includes first point cloud data within a first preset range when the manipulator is in a carrying detection posture and / or current data of the joint elbow drive motor;
[0008] If it is determined based on the detection information that the robotic arm is in an unloaded state, the robotic arm is controlled to perform a return operation.
[0009] In some possible implementations, the robotic arm further includes a supporting structure, the working arm includes a first working arm and a second working arm; the robotic arm and the first working arm are connected via a first mechanical joint; the first working arm and the second working arm are connected via a second mechanical joint, and the second mechanical joint drives the first robotic arm to rotate; the second working arm and the supporting structure are connected via a third mechanical joint, and the third mechanical joint drives the second robotic arm to rotate; the second robotic arm is connected to the self-moving chassis via the supporting structure;
[0010] The joint elbow driving motor includes a first driving motor for the second mechanical joint and a second driving motor for the third mechanical joint.
[0011] In some possible implementations, the current data includes a first current of the first drive motor and a second current of the second drive motor;
[0012] Before determining that the robotic arm is in an unloaded state based on the detection information, the method further includes:
[0013] Determine, based on the first point cloud data, a first target occlusion value within a first preset range when the manipulator is in a carrying detection posture;
[0014] If the first target occlusion value meets a first condition, and the first current and the second current meet a second condition, it is determined that the robotic arm is in a no-load state.
[0015] In some possible implementations, the first condition includes any one of the following:
[0016] The first target occlusion value is not greater than a first threshold, wherein the first threshold is determined by a first occlusion value within a first preset range when the manipulator is in a carrying detection posture when the manipulator is in an unloaded state;
[0017] The first target occlusion value is less than a second threshold value, and the duration exceeds a first preset duration, wherein the second threshold value is determined by a second occlusion value within a first preset range when the manipulator is in a carrying state and the manipulator is in a carrying detection posture, and the second occlusion value is greater than the first threshold value;
[0018] The first target occlusion value is smaller than the occlusion value corresponding to the previous moment, and the duration exceeds a second preset duration.
[0019] In some possible implementations, the second condition includes any one of the following:
[0020] The first current is not greater than a first preset current, and the second current is not greater than a second preset current, wherein the first preset current is determined based on a first current of the first drive motor when the robotic arm is in a no-load state, and the second preset current is determined based on a second current of the second drive motor when the robotic arm is in a no-load state;
[0021] The first current is less than a third preset current, the second current is less than a fourth preset current, and the duration exceeds a third preset duration, wherein the third preset current is determined based on a third current of the first drive motor when the robotic arm is in a carrying state, the fourth preset current is determined based on a fourth current of the second drive motor when the robotic arm is in a carrying state, the third current is greater than the first preset current, and the fourth current is greater than the second preset current;
[0022] The first current is smaller than the current of the first drive motor at the previous moment, the second current is smaller than the current of the second drive motor at the previous moment, and the duration exceeds a fourth preset time length.
[0023] In some possible implementations, the self-moving device further comprises a first sensor disposed on the top of the self-moving chassis, and the data collection range of the first sensor covers the first preset range of the manipulator when carrying the detection posture;
[0024] Get the first point cloud data, including:
[0025] The first point cloud data is collected by the first sensor.
[0026] In some possible implementations, the method further includes:
[0027] If it is determined based on the detection information that the robotic arm is in a carrying state, controlling the self-moving device to perform at least one object placement operation until a preset end condition is met;
[0028] Wherein, the object placement operation includes:
[0029] Controlling the self-moving device to place the object at a target location;
[0030] Controlling the manipulator to be in a carrying detection posture, and acquiring second point cloud data within the first preset range of the manipulator;
[0031] Acquire third point cloud data within a second preset range of the target location;
[0032] If it is determined based on the second point cloud data and the third point cloud data that the robotic arm is still in the carrying state, the next object placement operation is performed.
[0033] In some possible implementations, the preset end condition includes:
[0034] Determining that the robotic arm is in an unloaded state during any object placement operation;
[0035] Alternatively, the number of object placement operations reaches a preset number.
[0036] In some possible implementations, the object placement operation further includes:
[0037] Determine, based on the second point cloud data, a second target occlusion value within the first preset range when the manipulator is in a carrying detection posture;
[0038] Determine a third target occlusion value within the second preset range of the target location based on the third point cloud data;
[0039] If the second target occlusion value meets the first condition and the third target occlusion value meets the third condition, it is determined that the robotic arm is in an unloaded state.
[0040] In some possible implementations, the self-moving device further includes a second sensor disposed on a side wall of the self-moving chassis, and a data collection range of the second sensor covers the second preset range of a designated location on the ground;
[0041] Acquiring third point cloud data within a second preset range of the target location includes:
[0042] The third point cloud data is collected by the second sensor.
[0043] According to a second aspect of an embodiment of the present application, a robot arm return cabin control device is provided, which is configured on a self-moving device, wherein the self-moving device includes a self-moving chassis and a robot arm connected to the self-moving chassis, wherein the self-moving chassis includes a recovery cabin for accommodating a folded robot arm, wherein the robot arm includes a working arm and a robot hand, wherein the working arm and the robot hand are connected via a mechanical joint, wherein the mechanical joint includes a joint elbow drive motor for driving the working arm to rotate, and wherein the device includes:
[0044] An information acquisition unit, configured to receive a command for the manipulator to return to the cabin and acquire detection information, wherein the detection information includes first point cloud data within a first preset range when the manipulator is in a carrying detection posture and / or current data of the joint elbow drive motor;
[0045] A return-to-cabin control unit is used to control the robotic arm to perform a return-to-cabin operation if it is determined that the robotic arm is in an unloaded state based on the detection information.
[0046] In some possible implementations, the robotic arm further includes a supporting structure, the working arm includes a first working arm and a second working arm; the robotic arm and the first working arm are connected via a first mechanical joint; the first working arm and the second working arm are connected via a second mechanical joint, and the second mechanical joint drives the first robotic arm to rotate; the second working arm and the supporting structure are connected via a third mechanical joint, and the third mechanical joint drives the second robotic arm to rotate; the second robotic arm is connected to the self-moving chassis via the supporting structure;
[0047] The joint elbow driving motor includes a first driving motor for the second mechanical joint and a second driving motor for the third mechanical joint.
[0048] In some possible implementations, the current data includes a first current of the first drive motor and a second current of the second drive motor;
[0049] The device also includes a detection unit, which is used to:
[0050] Determine, based on the first point cloud data, a first target occlusion value within a first preset range when the manipulator is in a carrying detection posture;
[0051] If the first target occlusion value meets a first condition, and the first current and the second current meet a second condition, it is determined that the robotic arm is in a no-load state.
[0052] In some possible implementations, the first condition includes any one of the following:
[0053] The first target occlusion value is not greater than a first threshold, wherein the first threshold is determined by a first occlusion value within a first preset range when the manipulator is in a carrying detection posture when the manipulator is in an unloaded state;
[0054] The first target occlusion value is less than a second threshold value, and the duration exceeds a first preset duration, wherein the second threshold value is determined by a second occlusion value within a first preset range when the manipulator is in a carrying state and in a carrying detection posture, and the second occlusion value is greater than the first threshold value;
[0055] The first target occlusion value is smaller than the occlusion value corresponding to the previous moment, and the duration exceeds a second preset duration.
[0056] In some possible implementations, the second condition includes any one of the following:
[0057] The first current is not greater than a first preset current, and the second current is not greater than a second preset current, wherein the first preset current is determined based on a first current of the first drive motor when the robotic arm is in a no-load state, and the second preset current is determined based on a second current of the second drive motor when the robotic arm is in a no-load state;
[0058] The first current is less than a third preset current, the second current is less than a fourth preset current, and the duration exceeds a third preset duration, wherein the third preset current is determined based on a third current of the first drive motor when the robotic arm is in a carrying state, the fourth preset current is determined based on a fourth current of the second drive motor when the robotic arm is in a carrying state, the third current is greater than the first preset current, and the fourth current is greater than the second preset current;
[0059] The first current is smaller than the current of the first drive motor at the previous moment, the second current is smaller than the current of the second drive motor at the previous moment, and the duration exceeds a fourth preset time length.
[0060] In some possible implementations, the self-moving device further comprises a first sensor disposed on the top of the self-moving chassis, and the data collection range of the first sensor covers the first preset range of the manipulator when carrying the detection posture;
[0061] The information acquisition unit is used for:
[0062] The first point cloud data is collected by the first sensor.
[0063] In some possible implementations, the device further includes an object placement unit, configured to:
[0064] If it is determined based on the detection information that the robotic arm is in a carrying state, controlling the self-moving device to perform at least one object placement operation until a preset end condition is met;
[0065] Wherein, the object placement operation includes:
[0066] Controlling the self-moving device to place the object at a target location;
[0067] Controlling the manipulator to be in a carrying detection posture, and acquiring second point cloud data within the first preset range of the manipulator;
[0068] Acquire third point cloud data within a second preset range of the target location;
[0069] If it is determined based on the second point cloud data and the third point cloud data that the robotic arm is still in the carrying state, the next object placement operation is performed.
[0070] In some possible implementations, the preset end condition includes:
[0071] Determining that the robotic arm is in an unloaded state during any object placement operation;
[0072] Alternatively, the number of object placement operations reaches a preset number.
[0073] In some possible implementations, the object placement unit is further used to:
[0074] Determine, based on the second point cloud data, a second target occlusion value within the first preset range when the manipulator is in a carrying detection posture;
[0075] Determine a third target occlusion value within the second preset range of the target location based on the third point cloud data;
[0076] If the second target occlusion value meets the first condition and the third target occlusion value meets the third condition, it is determined that the robotic arm is in an unloaded state.
[0077] In some possible implementations, the self-moving device further includes a second sensor disposed on a side wall of the self-moving chassis, and a data collection range of the second sensor covers the second preset range of a designated location on the ground;
[0078] The object placement unit is used for:
[0079] The third point cloud data is collected by the second sensor.
[0080] According to a third aspect of an embodiment of the present application, a self-moving device is provided, comprising a controller, a self-moving chassis and a robotic arm connected to the self-moving chassis, the self-moving chassis comprising a recovery cabin for accommodating a folded robotic arm, the robotic arm comprising a working arm and a robotic arm, the working arm and the robotic arm being connected via a mechanical joint, the mechanical joint comprising a joint elbow drive motor for driving the working arm to rotate, and the controller being used to execute the steps of the above-mentioned embodiment method.
[0081] According to a fourth aspect of an embodiment of the present application, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method of the above embodiment.
[0082] According to a fifth aspect of the embodiments of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method of the above embodiment are implemented.
[0083] According to a sixth aspect of an embodiment of the present application, a computer program product is provided, including a computer program, which implements the steps of the method of the above embodiment when the computer program is executed by a processor.
[0084] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application.
[0085] The beneficial effects of the technical solution provided by the embodiment of the present application are:
[0086] In the above-mentioned embodiments, by using the first point cloud data within a preset range when the manipulator is in the carrying posture, and / or the current data of the joint elbow drive motor used to drive the working arm to rotate, it is possible to determine whether the manipulator is in an unloaded state through visual dimensions and / or physical dimensions. When it is detected that the manipulator is in an unloaded state, the manipulator is controlled to perform a return-to-cabin operation, which can effectively ensure that the manipulator is in an unloaded state and avoid interference from external objects during the return-to-cabin operation. BRIEF DESCRIPTION OF THE DRAWINGS
[0087] The drawings herein are incorporated into the specification and constitute a part of the specification, showing embodiments consistent with the present application, and together with the specification, are used to explain the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and for ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. In the drawings:
[0088] Figure 1 A schematic diagram of the structure of a self-moving device provided in an embodiment of the present application;
[0089] Figure 2 A schematic top view of a self-mobile device provided as an example of the present application;
[0090] Figure 3 A flowchart of a method for controlling a robot arm returning to the cabin provided in an embodiment of the present application;
[0091] Figure 4 A schematic diagram of a transport posture of a self-mobile device is provided for an embodiment of the present application;
[0092] Figure 5 A schematic diagram of a clamping posture from a mobile device is provided for an embodiment of the present application;
[0093] Figure 6 A schematic diagram of the structure of a mechanical arm provided in an embodiment of the present application;
[0094] Figure 7 A schematic diagram of the structure of a robotic arm provided as an example of the present application;
[0095] Figure 8 A schematic diagram of a field of view of a first sensor provided for an example of the present application;
[0096] Fig. 9 A schematic diagram of a field of view of a first sensor provided for an example of the present application;
[0097] Fig.10 This is the main view of a mobile device in an example of this application;
[0098] Fig.11 A schematic diagram of the field of view of a second sensor provided for an example of the present application;
[0099] Fig.12 A schematic diagram of a solution for controlling the return of a robotic arm to a cabin provided in an embodiment of the present application;
[0100] Fig.13 A schematic diagram of the structure of a robot arm return control device provided in an embodiment of the present application;
[0101] Fig.14 A schematic diagram of the structure of an electronic device for controlling the return of a robotic arm to a cabin provided in an embodiment of the present application. DETAILED DESCRIPTION
[0102] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0103] In addition, described feature, structure or characteristic can be combined in one or more embodiments in any suitable manner. In the following description, many specific details are provided to provide a full understanding of the embodiments of the present application. However, those skilled in the art will appreciate that the technical scheme of the present application can be put into practice without one or more of the specific details, or other methods, components, devices, steps, etc. can be adopted. In other cases, known methods, devices, realizations or operations are not shown or described in detail to avoid blurring the various aspects of the application.
[0104] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0105] The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps can be decomposed, and some operations / steps can be combined or partially combined, so the actual execution order may change according to actual conditions.
[0106] It should also be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the objects used in this way can be interchanged where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those shown or described.
[0107] The following describes several exemplary embodiments to illustrate the technical solutions of the embodiments of the present application and the technical effects produced by the technical solutions of the present application. It should be noted that the following embodiments can refer to, draw on or combine with each other, and the same terms, similar features and similar implementation steps in different embodiments will not be described repeatedly.
[0108] First, the structure of the self-moving device of the present application is described. Figure 1 As shown, the self-moving device 100 includes a self-moving chassis 110 and a robotic arm 120 connected to the self-moving chassis, the robotic arm 120 includes a robotic arm 121 and a working arm 122, the working arm 122 and the robotic arm 121 are connected via a mechanical joint 123, and the mechanical joint 123 includes a joint elbow drive motor 1231 for driving the working arm 122 to rotate.
[0109] Specifically, the manipulator 121 is used to clamp objects; the joint elbow drive motor 1231 is used to drive the working arm 122 to rotate to cooperate with the manipulator 121 to grasp the object. After grasping the object, the working arm 122 is used to bear the gravity of the grasped object.
[0110] It can be understood that in the present application, the manipulator 121 can fix the object in various forms, such as clamping, grabbing, holding, lifting, etc. For the sake of ease of description, it is collectively referred to as clamping in the present application.
[0111] like Figure 2 As shown, Figure 2 FIG. 1 is a top view of a self-moving device of the present application in an example. The self-moving chassis 110 includes a recovery cabin 111 for accommodating a folded mechanical arm, and the mechanical arm 120 can be retracted into the recovery cabin 111 by folding.
[0112] An embodiment of the present application provides a method for controlling the return of a robotic arm to a cabin, which is applied to a self-moving device, and specifically can be applied to a controller of the self-moving device. The controller can be set in a self-moving chassis or in a robotic arm, and there is no limitation on this.
[0113] like Figure 3 As shown, in some possible implementations, taking the execution subject as a self-moving device as an example, the robot arm return control method may include the following steps:
[0114] Step S301, if the robot arm returns to the cabin command is received, the detection information is obtained;
[0115] Step S302: If it is determined based on the detection information that the robotic arm is in an unloaded state, the robotic arm is controlled to perform a return operation.
[0116] Among them, the self-moving device refers to a robot or intelligent device with autonomous movement capability. The self-moving device may also have cleaning capability, for example, it may be a sweeping robot.
[0117] Among them, the command for the robot arm to return to the cabin can be generated by the mobile device itself after completing the specified task, or it can be received from the control terminal, and there is no specific limitation on this.
[0118] Specifically, the transport detection posture may be a fixed posture used to detect whether the robot arm is in an empty state.
[0119] Specifically, the robot arm may include multiple postures, such as a carrying posture and a gripping posture. Figure 4 and Figure 5 As shown, Figure 3 is the carrying posture of the robot arm 120, Figure 4 For the gripping posture of the robot arm 120, the angle of the working arm in the carrying posture is different from the angle of the working arm in the gripping posture. Specifically, the working arm 122 can be driven by the joint elbow driving motor to rotate to different angles, thereby realizing the switching between the carrying posture and the gripping posture.
[0120] In the embodiment of the present application, the carrying detection posture can be in the carrying posture, or in any fixed posture between the carrying posture and the clamping posture. It should be noted that the carrying detection posture is a fixed posture in order to avoid the change of posture causing the impact on the result.
[0121] Wherein, the detection information includes first point cloud data within a first preset range when the manipulator is in a carrying detection posture and current data of the joint elbow drive motor.
[0122] Specifically, the first point cloud data (Point Cloud Data) is three-dimensional spatial data collected by sensors, which is composed of a large number of discrete points, and each point contains three-dimensional coordinate information.
[0123] During the specific implementation process, under the same fixed posture, when the manipulator grasps an object, the first point cloud data within the preset range of the manipulator is inconsistent with the first point cloud data when the manipulator is unloaded. For example, when the manipulator grasps an object, the first point cloud data corresponds to more dense points. The specific method of obtaining the first point cloud data will be further explained in detail below.
[0124] Specifically, the current data can reflect the load current required by the joint elbow drive motor to resist gravity. That is to say, when the manipulator grasps an object, the load current corresponding to the joint elbow drive motor to resist gravity will be greater than the load current corresponding to the manipulator when it is unloaded.
[0125] The no-load state refers to the state in which the robotic arm is not carrying any object, and also represents the state in which the robotic arm can perform the return-to-cabin operation.
[0126] In the above-mentioned embodiments, by using the first point cloud data within a preset range when the manipulator is in the carrying posture, and / or the current data of the joint elbow drive motor used to drive the working arm to rotate, it is possible to determine whether the manipulator is in an unloaded state through visual dimensions and / or physical dimensions. When it is detected that the manipulator is in an unloaded state, the manipulator is controlled to perform a return-to-cabin operation, which can effectively ensure that the manipulator is in an unloaded state and avoid interference from external objects during the return-to-cabin operation.
[0127] The specific structure of the robot arm will be described below in conjunction with the embodiments.
[0128] In some possible implementations, such as Figure 6 As shown, the robot arm 120 also includes a supporting structure 124, and the working arm 122 includes a first working arm 1221 and a second working arm 1222; the robot arm 121 and the first working arm 1221 are connected via a first mechanical joint 1231; the first working arm 1221 and the second working arm 1222 are connected via a second mechanical joint 1232, and the second mechanical joint 1232 drives the first working arm 1221 to rotate; the second working arm 1222 and the supporting structure 124 are connected via a third mechanical joint 1233, and the third mechanical joint 1233 drives the second working arm 1222 to rotate; the second working arm 1222 is connected to the self-moving chassis 110 via the supporting structure 124.
[0129] In one example, if Figure 7As shown, the support structure 124 includes a support arm 1241, a rotating seat 1242 and a base 1243. Specifically, the second working arm 1222 and the support arm 1241 are connected through a third mechanical joint 1233, and the third mechanical joint 1233 drives the second working arm 1222 to rotate; the other end of the support arm is connected to the rotating seat 1242 through a fourth mechanical joint 1234, so that the support arm 1241 can be folded or unfolded relative to the rotating seat 1242, such as the support arm 1241 can be lifted or lowered relative to the rotating base 1242; the rotating seat 1242 is connected to the base 1243 through a fifth mechanical joint 1235, so that the rotating seat 1242 can rotate relative to the base 1243; the entire mechanical arm 120 is fixed to the self-moving chassis through the base 1243 and the mounting structure. The mounting structure can be a mounting seat, a mounting hole, a slot or other structures.
[0130] Specifically, the support structure may have other forms. For example, the support structure may have at least one connecting arm and a mechanical joint, which is not limited in the present application.
[0131] That is to say, the mechanical arm provided in the embodiment of the present invention is designed with five degrees of freedom and three foldable arm sections, thereby increasing the range of motion of the mechanical arm, thereby increasing the object gripping range of the self-equipping device, and expanding the scope of use of the product.
[0132] In addition, the foldable design of the robotic arm makes the robotic arm highly accommodating, that is, the volume of the folded robotic arm is small, making it easy to store.
[0133] The following will describe the process of how to determine whether the robot arm is in an unloaded state in conjunction with an embodiment.
[0134] In some implementations, it may be determined whether the robotic arm is in an unloaded state based on the first point cloud data.
[0135] In some possible implementations, before determining that the robotic arm is in an unloaded state based on the detection information, step S302 further includes:
[0136] (1) Determine a first target occlusion value within a first preset range when the manipulator is in a carrying detection posture based on the first point cloud data.
[0137] (2) If the first target occlusion value meets the first condition, it is determined that the robotic arm is in an unloaded state.
[0138] Specifically, the first point cloud data may be filtered, for example, to remove outliers and background noise, to obtain the number of valid point clouds within a first preset range; and then based on the number of valid point clouds within the first preset range, the first target occlusion value may be determined.
[0139] In a specific implementation process, the first target occlusion value is positively correlated with the number of valid point clouds within the first preset range. For example, the number of valid point clouds within the first preset range can be directly used as the occlusion value.
[0140] Among them, the first condition will be further elaborated in detail below.
[0141] In other embodiments, whether the robot arm is in an unloaded state may be determined based on the current data.
[0142] In some possible implementations, the current data includes a first current of the first drive motor and a second current of the second drive motor.
[0143] If the step S302 determines that the robot arm is in an unloaded state based on the detection information, the step S302 further includes:
[0144] If the first current and the second current meet the second condition, it is determined that the robotic arm is in a no-load state.
[0145] The second condition will be further elaborated below.
[0146] In some other embodiments, the first point cloud data and the current data may be combined to determine whether the robot arm is in a no-load state.
[0147] If the step S302 determines that the robot arm is in an unloaded state based on the detection information, the step S302 further includes:
[0148] (1) Determine a first target occlusion value within a first preset range when the manipulator is in a carrying detection posture based on the first point cloud data.
[0149] Specifically, the first point cloud data may be filtered, for example, to remove outliers and background noise, to obtain the number of valid point clouds within the first preset range; and then based on the number of valid point clouds within the first preset range, the occlusion value may be determined.
[0150] In a specific implementation process, the first target occlusion value is positively correlated with the number of valid point clouds within the first preset range.
[0151] For example, the number of valid point clouds within the first preset range may be directly used as the occlusion value.
[0152] It should be noted that the occlusion value is determined when the manipulator is in the carrying detection posture. If it is not in the carrying detection posture, it may exceed the data collection range of the sensor used to obtain the first point cloud data. Moreover, the first point cloud data needs to be obtained in a fixed posture to have comparison value.
[0153] (2) If the first target occlusion value meets a first condition, and the first current and the second current meet a second condition, it is determined that the robot arm is in a no-load state.
[0154] Specifically, if the first target occlusion value meets the first condition, it can be considered that the robotic arm is suspected to be in a no-load state; if the first current and the second current meet the second condition, it can be considered that the robotic arm is suspected to be in a no-load state. When both meet the condition, it is confirmed that the robotic arm is in a no-load state.
[0155] By combining the first point cloud data and the current data, the reliability of detecting whether the robotic arm is in an unloaded state can be improved, thereby further ensuring that the robotic arm can perform the return-to-cabin operation normally and avoid being affected by objects.
[0156] The first condition includes any one of the following:
[0157] ① The first target occlusion value is not greater than the first threshold.
[0158] Wherein, the first threshold is determined by a first occlusion value within a first preset range when the manipulator is in a carrying detection posture when the manipulator is in an unloaded state.
[0159] Specifically, the first threshold value can be understood as a no-load threshold value. By comparing the occlusion value and the no-load threshold value, it can be determined whether the robotic arm may be in a no-load state.
[0160] For example, the first preset range includes a range within a radius of 0.15 meters with the manipulator as the center, and the first threshold is 20 points; when the first target occlusion value exceeds 20 points, it can be considered that the object is in a clamping state; when the first target occlusion value is 20 points, it can be considered that the object is in a falling state, that is, the manipulator may be in an empty state.
[0161] ② The first target occlusion value is less than the second threshold and the duration exceeds the first preset duration.
[0162] Wherein, when the manipulator is in a carrying state, the second threshold is determined by a second occlusion value within a first preset range when the manipulator is in a carrying detection posture, and the second occlusion value is greater than the first threshold.
[0163] Specifically, the second threshold value can be understood as the carrying threshold value corresponding to the currently clamped object. By comparing the occlusion value and the carrying threshold value corresponding to the object, it can be determined whether the robotic arm may be in an unloaded state.
[0164] It should be noted that different objects have different corresponding carrying thresholds. When judging whether an object has fallen, it must be compared with the carrying threshold corresponding to the object to make a judgment.
[0165] For example, the first preset range includes a range within a radius of 0.15 meters with the manipulator as the center, and the first threshold (no-load threshold) is 20 points. After the clamping action is performed, the manipulator detects an occlusion value of 50 points when it is in the carrying detection posture. At this time, 50 points can be used as the second threshold. If the manipulator receives a command to return to the cabin, the occlusion value within the first preset range when the manipulator is in the carrying detection posture is less than 50 points, and lasts for 3s, it can be considered that the object may have fallen, that is, the manipulator may be in an no-load state.
[0166] In this embodiment, the object is considered to have fallen only when the first target occlusion value is less than the second threshold value and the duration exceeds the first preset time length, thereby avoiding misjudgment caused by fluctuations in the first point cloud data.
[0167] ③ The first target occlusion value is smaller than the occlusion value corresponding to the previous moment, and the duration exceeds the second preset duration.
[0168] Specifically, if the first target occlusion value within the first preset range suddenly decreases when the manipulator is in the carrying detection posture, and the duration exceeds the second preset time, it can be considered that the object is suspected to have fallen, that is, the manipulator is suspected to be in an unloaded state.
[0169] For example, the first preset range includes a range within a radius of 0.15 meters centered on the manipulator, and the first target occlusion value suddenly changes from 50 points to 20 points, and 20 points lasts for 2 seconds, then it can be considered that the object has fallen.
[0170] It is understandable that the first preset duration and the second preset duration may be the same or different, and this application does not limit this.
[0171] Similarly, in this embodiment, the object is considered to have fallen only when the first target occlusion value is smaller than the occlusion value corresponding to the previous moment and the duration exceeds the second preset time length. This can avoid misjudgment caused by fluctuations in the first point cloud data when the mobile device is in a transport state.
[0172] In the above embodiments, when the manipulator is in a carrying detection posture, by comparing the occlusion value and the no-load threshold, or by comparing the carrying threshold corresponding to the currently clamped object, or by comparing the occlusion value and the occlusion value corresponding to the previous moment, it is possible to determine whether the manipulator is suspected to be in a no-load state, and to avoid misjudgment caused by fluctuations in the first point cloud data.
[0173] Specifically, the second condition includes any one of the following:
[0174] ① The first current is not greater than a first preset current, and the second current is not greater than a second preset current.
[0175] Among them, the first preset current is determined based on the first current of the first drive motor when the robotic arm is in a no-load state, and the second preset current is determined based on the second current of the second drive motor when the robotic arm is in a no-load state.
[0176] Specifically, the first preset current can be understood as a no-load current. By comparing the currents of the first drive motor and the second drive motor with their respective corresponding no-load currents, it can be determined whether the robotic arm is suspected to be in a no-load state.
[0177] For example, the first preset current is 0.08A, that is, when the robotic arm is in a no-load state, the current of the first drive motor is 0.08A, and the second preset current is 0.08A, when the robotic arm is in a no-load state, the current of the second drive motor is 0.08A. When the first current is greater than 0.08A, or the second current is greater than 0.08A, it can be considered that the object is in a clamping state; when the first current is 0.08A and the second current is 0.08A, it can be considered that the object is in a falling state, that is, the robotic arm is suspected to be in a no-load state.
[0178] ② The first current is less than the third preset current, the second current is less than the fourth preset current, and the duration exceeds the third preset duration.
[0179] Among them, the third preset current is determined based on the third current of the first drive motor when the self-moving device is in a carrying state, and the fourth preset current is determined based on the fourth current of the second drive motor when the self-moving device is in a carrying state. The third current is greater than the first preset current, and the fourth current is greater than the second preset current.
[0180] Specifically, the third preset current and the fourth preset current can be understood as the carrying current corresponding to the currently clamped object. By comparing the first current and the third preset current, and comparing the second current and the fourth preset current, it can be determined whether the robotic arm is suspected to be in a no-load state.
[0181] It should be noted that different objects have different corresponding carrying currents. When judging whether an object has fallen, it is necessary to compare it with the carrying current corresponding to this object to make a judgment.
[0182] For example, when the robot arm is in a no-load state, the current of the first drive motor is 0.08A, and the current of the second drive motor is 0.08A; after the clamping action, the current of the first drive motor is 0.15A, and the current of the second drive motor is 0.2A. At this time, 0.15A can be used as the third preset current, and 0.2A can be used as the fourth preset current. If in the carrying state, the first current is less than 0.15A and the second current is less than 0.2A, and it lasts for 3s, it can be considered that the robot arm is suspected to be in a no-load state.
[0183] In this embodiment, the object is considered to have fallen only when the first current is less than the third preset current, the second current is less than the fourth preset current, and the duration exceeds the third preset time, thereby avoiding misjudgment caused by fluctuations in current data.
[0184] ③ The first current is smaller than the current of the first drive motor at the previous moment, the second current is smaller than the current of the second drive motor at the previous moment, and the duration exceeds a fourth preset time length.
[0185] Specifically, if the current data suddenly decreases and lasts for more than a fourth preset time period, it can be considered that the robotic arm is in a no-load state.
[0186] For example, when the robot arm is in the carrying state, the first current data suddenly changes from 0.15A to 0.08A, and the second current data suddenly changes from 0.2A to 0.08A, and continues for 2s, then the robot arm is suspected to be in the no-load state.
[0187] Similarly, in this embodiment, the object is considered to have fallen only when the first current is smaller than the current of the first drive motor at the previous moment, and the second current is smaller than the current of the second drive motor at the previous moment, and they continue for a fourth preset time period. This can avoid misjudgment caused by fluctuations in current data when the self-moving device is in a transporting state.
[0188] It is understandable that the third preset time length and the fourth preset time length may be the same or different, and this application does not limit this.
[0189] In the above embodiments, by comparing the current data with the no-load current, or by comparing the carrying current corresponding to the currently clamped object, or by comparing the current data with the current data corresponding to the previous moment, it can be determined whether the robotic arm is suspected to be in a no-load state, and it can also avoid misjudgment caused by fluctuations in current data when the self-moving device is in a carrying state.
[0190] Furthermore, by combining the first point cloud data and the current data, the robotic arm is confirmed to be in a no-load state only when the first point cloud data meets the first condition and the current data meets the second condition, thereby raising the judgment threshold of the robotic arm being in a no-load state, thereby ensuring that the robotic arm performs the return-to-cabin operation only when it is in a no-load state.
[0191] The specific process of obtaining detection information will be described below in conjunction with an embodiment.
[0192] In some possible implementations, the self-moving device further comprises a first sensor disposed on the top of the self-moving chassis, and the data collection range of the first sensor covers the first preset range of the manipulator when carrying the detection posture;
[0193] Get the first point cloud data, including:
[0194] The first point cloud data is collected by the first sensor.
[0195] The first sensor may include a solid-state LiDAR (Light Detection and Ranging) or ToF (Time-of-Flight) depth camera installed on the top of the self-propelled chassis.
[0196] like Figure 8 As shown, in the example of the present application, the first sensor is a TOF sensor, and the figure shows the field of view of the first sensor 801. It can be seen that when the manipulator is in the carrying detection posture, the field of view of the first sensor covers the first preset range of the manipulator, so that the first point cloud data can be collected.
[0197] like Fig. 9 As shown, Fig. 9 In an example of the present application, a top view of the self-moving device 100 is shown when the robot arm 120 is in a carrying detection posture. When the robot arm 120 is in a clamping posture, from a top view, the clamping direction of the robot arm 120 is a first direction, and the straight line in the first direction passes through the center of the self-moving chassis 110; the first sensor 801 is arranged at the edge of the top wall of the self-moving chassis 110 along a second direction, and the second direction is the opposite direction of the first direction.
[0198] In other embodiments, the first sensor may also be disposed at other positions on the top of the self-moving chassis, as long as the field of view of the first sensor covers the first preset range of the manipulator, and there is no limitation on this.
[0199] The above embodiment describes the specific process of how to detect whether the robot arm is in an unloaded state. The following will further describe the compensation mechanism if the robot arm is detected to be in a carrying state in combination with the embodiment.
[0200] In some possible implementations, the method further includes:
[0201] If it is determined based on the detection information that the robotic arm is in a carrying state, the self-moving device is controlled to perform at least one object placement operation until a preset end condition is met.
[0202] Specifically, if it is detected that the robot arm is in a carrying state, that is, the robot arm still holds an object, the object needs to be placed. After each placement of the object, it is necessary to detect whether the object is placed successfully.
[0203] The preset end condition may include:
[0204] Determining that the robotic arm is in an unloaded state during any object placement operation;
[0205] Alternatively, the number of object placement operations reaches a preset number.
[0206] Specifically, if it is detected that the robot arm is in an unloaded state, the purpose of the object placement operation is achieved, and the object placement operation can be stopped; if it is detected that the number of object placement operations reaches the preset number, it means that the object placement operations may have failed for several times, and the object placement operation can be stopped, and there is no need to repeat the operation in an infinite loop.
[0207] Specifically, if it is detected that the number of object placement operations reaches a preset number, the reminder device can also be controlled to issue a placement error reminder.
[0208] The specific content of the object placement operation will be described below in conjunction with the embodiments.
[0209] Wherein, the object placement operation includes:
[0210] (1) Control the self-moving device to place the object at the target location.
[0211] Specifically, in the first object placement operation, based on the current position of the self-moving device and the target location, it may be necessary to control the movement of the self-moving device. In the object placement operation starting from the second time, it may be unnecessary to control the movement of the self-moving device. Of course, the self-moving device can also be controlled to move again and adjust the angle to place the object. There is no limitation on this.
[0212] Specifically, in each object placement operation, it is necessary to control the robot arm to the object placement posture, and control the robot hand to open the gripper and release the object.
[0213] (2) Control the manipulator to be in a carrying detection posture, and obtain second point cloud data within the first preset range of the manipulator.
[0214] After executing the object placement process, it is necessary to confirm again whether the object is placed successfully. At this time, it is necessary to control the manipulator to be in a carrying detection posture and re-acquire the second point cloud data within the first preset range of the manipulator.
[0215] (3) Acquire third point cloud data within a second preset range of the target location.
[0216] Specifically, the self-moving device further includes a second sensor disposed on a side wall of the self-moving chassis, and the data collection range of the second sensor covers the second preset range of a designated location on the ground.
[0217] Specifically, obtaining third point cloud data within a second preset range of the target location includes:
[0218] The third point cloud data is collected by the second sensor.
[0219] like Fig.10 As shown, Fig.10 This is a front view of a mobile device 100 in an example. A second sensor 1001 may also be provided on the side wall of the mobile chassis 110 along the first direction. The second sensor 1001 may also include a solid-state LiDAR or ToF.
[0220] like Fig.11 As shown, Fig.11 is the field of view of the second sensor in an example. In this example, the second sensor is TOF, which can also be called front TOF. The second sensor can determine whether the object is placed successfully by collecting the third point cloud data from the front of the mobile device.
[0221] (4) If it is determined based on the second point cloud data and the third point cloud data that the robot arm is still in the carrying state, the next object placement operation is performed.
[0222] Specifically, if the robot arm is still in the carrying state and the number of object placement operations has not reached a preset number, the object placement operation can be repeated at this time.
[0223] In a specific implementation process, during the object placement operation, it is determined whether the object is placed successfully, that is, whether the robot arm is in an empty state. The process may include the following steps:
[0224] ① Determine, based on the second point cloud data, a second target occlusion value within the first preset range when the manipulator is in the carrying detection posture.
[0225] Similarly, the second point cloud data may be filtered, for example, to remove outliers and background noise, to obtain the number of valid point clouds within a preset range; and then based on the number of valid point clouds within the first preset range, the second target occlusion value may be determined.
[0226] In a specific implementation process, the second target occlusion value is positively correlated with the number of valid point clouds within a preset range. For example, the number of valid point clouds within the first preset range can be directly used as the second target occlusion value.
[0227] ② Determine a third target occlusion value within the second preset range of the target location based on the third point cloud data.
[0228] Similarly, the third point cloud data may be filtered, and then based on the number of valid point clouds within the second preset range, the third target occlusion value may be determined.
[0229] In a specific implementation process, the third target occlusion value is positively correlated with the number of valid point clouds within the second preset range. For example, the number of valid point clouds within the second preset range can be directly used as the third target occlusion value.
[0230] ③ If the second target occlusion value meets the first condition and the third target occlusion value meets the third condition, it is determined that the robotic arm is in an unloaded state.
[0231] The third condition may include that the third target occlusion value is greater than or equal to a third threshold.
[0232] Specifically, the third threshold may be determined by a third occlusion value corresponding to a target location when no object is placed thereat.
[0233] In this embodiment, the determination results of the first sensor and the second sensor may be combined to determine whether the object is placed successfully.
[0234] In other embodiments, the determination results of the first sensor, the second sensor and the current data may be combined to determine whether the object is placed successfully.
[0235] That is, if the second target occlusion value meets the first condition, the current data meets the second condition, and the third target occlusion value meets the third condition, it is determined that the object is placed successfully and the robot arm is in an unloaded state.
[0236] In order to more clearly illustrate the robot arm return to the cabin control method of the present application, further explanation will be given below with reference to examples.
[0237] like Fig.12 As shown, the robot arm return control method of the present application may include the following steps:
[0238] If a command for the manipulator to return to the cabin is received, detection information is obtained, wherein the detection information includes first point cloud data within a first preset range when the manipulator is in a carrying detection posture and current data of the joint elbow drive motor;
[0239] Determine, based on the first point cloud data, a first target occlusion value within a first preset range when the manipulator is in a carrying detection posture;
[0240] If the first target shielding value meets the first condition and the current data meets the second condition, it is determined that the manipulator is in an unloaded state, and the manipulator can be controlled to perform a return operation;
[0241] If the first target occlusion value does not meet the first condition, or the current data does not meet the second condition, the self-moving device is controlled to perform at least one object placement operation, wherein each object placement operation includes: controlling the self-moving device to place the object at the target location, controlling the manipulator to be in a carrying detection posture, and obtaining second point cloud data within the first preset range of the manipulator; obtaining third point cloud data within the second preset range of the target location; if it is determined based on the second point cloud data and the third point cloud data that the manipulator is still in the carrying state, and the number of object placement operations has not reached the preset number, then performing the next object placement operation;
[0242] If it is determined based on the second point cloud data and the third point cloud data that the robotic arm is in an unloaded state, controlling the robotic arm to perform a return operation;
[0243] If the number of object placement operations reaches a preset number, the control reminder device will issue a placement error reminder.
[0244] The above-mentioned method for controlling the return of the robotic arm to the cabin can determine whether the robotic arm is in a no-load state through visual dimensions and / or physical dimensions through the first point cloud data within a preset range when the robotic arm is in a carrying posture, and / or the current data of the joint elbow drive motor used to drive the working arm to rotate. When it is detected that the robotic arm is in a no-load state, the robotic arm is controlled to perform a return-to-cabin operation, which can effectively ensure that the robotic arm is in a no-load state and avoid interference from external objects during the return-to-cabin operation.
[0245] Furthermore, when the manipulator is in a carrying detection posture, by comparing the occlusion value and the no-load threshold, or by comparing the carrying threshold corresponding to the currently clamped object, or by comparing the occlusion value and the occlusion value corresponding to the previous moment, it is possible to determine whether the manipulator is suspected to be in a no-load state, and to avoid misjudgment caused by fluctuations in the first point cloud data.
[0246] Furthermore, by comparing the current data with the no-load current, or by comparing the carrying current corresponding to the currently clamped object, or by comparing the current data with the corresponding current data at the previous moment, it is possible to determine whether the robotic arm is suspected to be in a no-load state, and it is also possible to avoid misjudgment caused by fluctuations in current data when the self-moving device is in a carrying state.
[0247] Furthermore, by combining the first point cloud data and the current data, the robotic arm is confirmed to be in a no-load state only when the first point cloud data meets the first condition and the current data meets the second condition, thereby raising the judgment threshold of the robotic arm being in a no-load state, thereby ensuring that the robotic arm performs the return-to-cabin operation only when it is in a no-load state.
[0248] According to a second aspect of an embodiment of the present application, a robot arm return cabin control device 1300 is provided, which is configured on a self-moving device, wherein the self-moving device includes a self-moving chassis and a robot arm connected to the self-moving chassis, wherein the self-moving chassis includes a recovery cabin for accommodating a folded robot arm, wherein the robot arm includes a working arm and a robot hand, wherein the working arm and the robot hand are connected via a mechanical joint, wherein the mechanical joint includes a joint elbow drive motor for driving the working arm to rotate, and wherein the device includes:
[0249] The information acquisition unit 1301 is used to receive a command for the manipulator to return to the cabin and acquire detection information, wherein the detection information includes first point cloud data within a first preset range when the manipulator is in a carrying detection posture and / or current data of the joint elbow drive motor;
[0250] The return-to-cabin control unit 1302 is used to control the robotic arm to perform a return-to-cabin operation if it is determined that the robotic arm is in an unloaded state based on the detection information.
[0251] In some possible implementations, the robotic arm further includes a supporting structure, the working arm includes a first working arm and a second working arm; the robotic arm and the first working arm are connected via a first mechanical joint; the first working arm and the second working arm are connected via a second mechanical joint, and the second mechanical joint drives the first robotic arm to rotate; the second working arm and the supporting structure are connected via a third mechanical joint, and the third mechanical joint drives the second robotic arm to rotate; the second robotic arm is connected to the self-moving chassis via the supporting structure;
[0252] The joint elbow driving motor includes a first driving motor for the second mechanical joint and a second driving motor for the third mechanical joint.
[0253] In some possible implementations, the current data includes a first current of the first drive motor and a second current of the second drive motor;
[0254] The device also includes a detection unit, which is used to:
[0255] Determine, based on the first point cloud data, a first target occlusion value within a first preset range when the manipulator is in a carrying detection posture;
[0256] If the first target occlusion value meets a first condition, and the first current and the second current meet a second condition, it is determined that the robotic arm is in a no-load state.
[0257] In some possible implementations, the first condition includes any one of the following:
[0258] The first target occlusion value is not greater than a first threshold, wherein the first threshold is determined by a first occlusion value within a first preset range when the manipulator is in a carrying detection posture when the manipulator is in an unloaded state;
[0259] The first target occlusion value is less than a second threshold value, and the duration exceeds a first preset duration, wherein the second threshold value is determined by a second occlusion value within a first preset range when the manipulator is in a carrying state and in a carrying detection posture, and the second occlusion value is greater than the first threshold value;
[0260] The first target occlusion value is smaller than the occlusion value corresponding to the previous moment, and the duration exceeds a second preset duration.
[0261] In some possible implementations, the second condition includes any one of the following:
[0262] The first current is not greater than a first preset current, and the second current is not greater than a second preset current, wherein the first preset current is determined based on a first current of the first drive motor when the robotic arm is in a no-load state, and the second preset current is determined based on a second current of the second drive motor when the robotic arm is in a no-load state;
[0263] The first current is less than a third preset current, the second current is less than a fourth preset current, and the duration exceeds a third preset duration, wherein the third preset current is determined based on a third current of the first drive motor when the robotic arm is in a carrying state, the fourth preset current is determined based on a fourth current of the second drive motor when the robotic arm is in a carrying state, the third current is greater than the first preset current, and the fourth current is greater than the second preset current;
[0264] The first current is smaller than the current of the first drive motor at the previous moment, the second current is smaller than the current of the second drive motor at the previous moment, and the duration exceeds a fourth preset time length.
[0265] In some possible implementations, the self-moving device further comprises a first sensor disposed on the top of the self-moving chassis, and the data collection range of the first sensor covers the first preset range of the manipulator when carrying the detection posture;
[0266] The information acquisition unit 1301 is used to:
[0267] The first point cloud data is collected by the first sensor.
[0268] In some possible implementations, the device further includes an object placement unit, configured to:
[0269] If it is determined based on the detection information that the robotic arm is in a carrying state, controlling the self-moving device to perform at least one object placement operation until a preset end condition is met;
[0270] Wherein, the object placement operation includes:
[0271] Controlling the self-moving device to place the object at a target location;
[0272] Controlling the manipulator to be in a carrying detection posture, and acquiring second point cloud data within the first preset range of the manipulator;
[0273] Acquire third point cloud data within a second preset range of the target location;
[0274] If it is determined based on the second point cloud data and the third point cloud data that the robotic arm is still in the carrying state, the next object placement operation is performed.
[0275] In some possible implementations, the preset end condition includes:
[0276] Determining that the robotic arm is in an unloaded state during any object placement operation;
[0277] Alternatively, the number of object placement operations reaches a preset number.
[0278] In some possible implementations, the object placement unit is further used to:
[0279] Determine, based on the second point cloud data, a second target occlusion value within the first preset range when the manipulator is in a carrying detection posture;
[0280] Determine a third target occlusion value within the second preset range of the target location based on the third point cloud data;
[0281] If the second target occlusion value meets the first condition and the third target occlusion value meets the third condition, it is determined that the robotic arm is in an unloaded state.
[0282] In some possible implementations, the self-moving device further includes a second sensor disposed on a side wall of the self-moving chassis, and a data collection range of the second sensor covers the second preset range of a designated location on the ground;
[0283] The object placement unit is used for:
[0284] The third point cloud data is collected by the second sensor.
[0285] The above-mentioned robot arm return to the cabin control device can determine whether the robot arm is in a no-load state through visual dimension and / or physical dimension through the first point cloud data within a preset range when the robot arm is in the carrying posture, and / or the current data of the joint elbow drive motor used to drive the working arm to rotate. When it is detected that the robot arm is in a no-load state, the robot arm is controlled to perform the return to the cabin operation, which can effectively ensure that the robot arm is in a no-load state and avoid interference from external objects during the return to the cabin operation.
[0286] Furthermore, when the manipulator is in a carrying detection posture, by comparing the occlusion value and the no-load threshold, or by comparing the carrying threshold corresponding to the currently clamped object, or by comparing the occlusion value and the occlusion value corresponding to the previous moment, it is possible to determine whether the manipulator is suspected to be in a no-load state, and to avoid misjudgment caused by fluctuations in the first point cloud data.
[0287] Furthermore, by comparing the current data with the no-load current, or by comparing the carrying current corresponding to the currently clamped object, or by comparing the current data with the corresponding current data at the previous moment, it is possible to determine whether the robotic arm is suspected to be in a no-load state, and it is also possible to avoid misjudgment caused by fluctuations in current data when the self-moving device is in a carrying state.
[0288] Furthermore, by combining the first point cloud data and the current data, the robotic arm is confirmed to be in a no-load state only when the first point cloud data meets the first condition and the current data meets the second condition, thereby raising the judgment threshold of the robotic arm being in a no-load state, thereby ensuring that the robotic arm performs the return-to-cabin operation only when it is in a no-load state.
[0289] In an optional embodiment, a controller, a self-moving chassis and a robotic arm connected to the self-moving chassis are provided, wherein the self-moving chassis includes a recovery cabin for accommodating a folded robotic arm, the robotic arm includes a working arm and a robotic arm, the working arm and the robotic arm are connected via a mechanical joint, the mechanical joint includes a joint elbow drive motor for driving the working arm to rotate, and the controller is used to execute the method described in the above embodiment.
[0290] In an alternative embodiment, an electronic device is provided, such as Fig.14 As shown, Fig.14 The electronic device 4000 shown includes: a processor 4001 and a memory 4003. The processor 4001 and the memory 4003 are connected, such as through a bus 4002. Optionally, the electronic device 4000 may also include a transceiver 4004, which may be used for data interaction between the electronic device and other electronic devices, such as data transmission and / or data reception. It should be noted that in actual applications, the transceiver 4004 is not limited to one, and the structure of the electronic device 4000 does not constitute a limitation on the embodiments of the present application.
[0291] Processor 4001 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array) or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It may implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. Processor 4001 may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0292] The bus 4002 may include a path to transmit information between the above components. The bus 4002 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. The bus 4002 may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.14 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0293] The memory 4003 may be a ROM (Read Only Memory) or other types of static storage devices that can store static information and instructions, a RAM (Random Access Memory) or other types of dynamic storage devices that can store information and instructions, or an EEPROM (Electrically Erasable Programmable Read Only Memory), a CD-ROM (Compact Disc Read Only Memory) or other optical disk storage, optical disk storage (including compressed optical disk, laser disk, optical disk, digital versatile disk, Blu-ray disk, etc.), magnetic disk storage media, other magnetic storage devices, or any other medium that can be used to carry or store computer programs and can be read by a computer, without limitation herein.
[0294] The memory 4003 is used to store the computer program for executing the embodiment of the present application, and the execution is controlled by the processor 4001. The processor 4001 is used to execute the computer program stored in the memory 4003 to implement the steps shown in the above method embodiment.
[0295] For example, the electronic device may be a control terminal or a cleaning device. When the electronic device is a control terminal, the processor 4001 is configured to execute steps S301 and S302. When the electronic device is a cleaning device, the processor 4001 is configured to execute steps S901 and S902.
[0296] An embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps and corresponding contents of the aforementioned method embodiment can be implemented.
[0297] The embodiment of the present application also provides a computer program product, including a computer program, which can implement the steps and corresponding contents of the aforementioned method embodiment when executed by a processor.
[0298] It should be understood that, although each operation step is indicated by arrows in the flowchart of the embodiment of the present application, the implementation order of these steps is not limited to the order indicated by the arrows. Unless clearly stated herein, in some implementation scenarios of the embodiment of the present application, the implementation steps in each flowchart can be performed in other orders according to demand. In addition, some or all of the steps in each flowchart may include multiple sub-steps or multiple stages based on actual implementation scenarios. Some or all of these sub-steps or stages may be executed at the same time, and each sub-step or stage in these sub-steps or stages may also be executed at different times respectively. In different scenarios of execution time, the execution order of these sub-steps or stages may be flexibly configured according to demand, and the embodiment of the present application does not limit this.
[0299] The above are only optional implementation methods for some implementation scenarios of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the technical concept of the scheme of the present application, other similar implementation methods based on the technical ideas of the present application are also within the protection scope of the embodiments of the present application.
Claims
1. A method for controlling a robot arm to return to a cabin, characterized in that: Applied to a self-moving device, the self-moving device comprises a self-moving chassis and a mechanical arm connected to the self-moving chassis, the self-moving chassis comprises a recovery cabin for accommodating a folded mechanical arm, the mechanical arm comprises a working arm and a mechanical hand, the working arm and the mechanical hand are connected via a mechanical joint, the mechanical joint comprises a joint elbow drive motor for driving the working arm to rotate, the method comprises: If a command for the manipulator to return to the cabin is received, detection information is obtained, wherein the detection information includes first point cloud data within a first preset range when the manipulator is in a carrying detection posture and / or current data of the joint elbow drive motor; If it is determined based on the detection information that the robotic arm is in an unloaded state, the robotic arm is controlled to perform a return operation.
2. The method according to claim 1, characterized in that The robot arm further comprises a supporting structure, the working arm comprises a first working arm and a second working arm; the robot arm and the first working arm are connected via a first mechanical joint; the first working arm and the second working arm are connected via a second mechanical joint, and the second mechanical joint drives the first robot arm to rotate; The second working arm and the supporting structure are connected via a third mechanical joint, and the third mechanical joint drives the second mechanical arm to rotate; The second mechanical arm is connected to the self-moving chassis through the support structure; The joint elbow driving motor includes a first driving motor for the second mechanical joint and a second driving motor for the third mechanical joint.
3. The method according to claim 2, characterized in that The current data includes a first current of the first driving motor and a second current of the second driving motor; Before determining that the robotic arm is in an unloaded state based on the detection information, the method further includes: Determine, based on the first point cloud data, a first target occlusion value within a first preset range when the manipulator is in a carrying detection posture; If the first target shading value meets a first condition, and the first current and the second current meet a second condition, it is determined that the robotic arm is in a no-load state.
4. The method according to claim 3, characterized in that: The first condition includes any of the following: The first target occlusion value is not greater than a first threshold, wherein the first threshold is determined by a first occlusion value within a first preset range when the manipulator is in a carrying detection posture when the manipulator is in an unloaded state; The first target occlusion value is less than a second threshold value, and the duration exceeds a first preset duration, wherein the second threshold value is determined by a second occlusion value within a first preset range when the manipulator is in a carrying state and in a carrying detection posture, and the second occlusion value is greater than the first threshold value; The first target occlusion value is smaller than the occlusion value corresponding to the previous moment, and the duration exceeds a second preset duration.
5. The method according to claim 3, characterized in that: The second condition includes any one of the following: The first current is not greater than a first preset current, and the second current is not greater than a second preset current, wherein the first preset current is determined based on a first current of the first drive motor when the robotic arm is in a no-load state, and the second preset current is determined based on a second current of the second drive motor when the robotic arm is in a no-load state; The first current is less than a third preset current, the second current is less than a fourth preset current, and the duration exceeds a third preset duration, wherein the third preset current is determined based on a third current of the first drive motor when the robotic arm is in a carrying state, the fourth preset current is determined based on a fourth current of the second drive motor when the robotic arm is in a carrying state, the third current is greater than the first preset current, and the fourth current is greater than the second preset current; The first current is smaller than the current of the first drive motor at the previous moment, the second current is smaller than the current of the second drive motor at the previous moment, and the duration exceeds a fourth preset time length.
6. The method according to claim 1, characterized in that The self-moving device further comprises a first sensor disposed on the top of the self-moving chassis, wherein the data collection range of the first sensor covers the first preset range of the manipulator when carrying and detecting the posture; Get the first point cloud data, including: The first point cloud data is collected by the first sensor.
7. The method according to claim 1, characterized in that The method further comprises: If it is determined based on the detection information that the robotic arm is in a carrying state, controlling the self-moving device to perform at least one object placement operation until a preset end condition is met; Wherein, the object placement operation includes: Controlling the self-moving device to place the object at a target location; Controlling the manipulator to be in a carrying detection posture, and acquiring second point cloud data within the first preset range of the manipulator; Acquire third point cloud data within a second preset range of the target location; If it is determined based on the second point cloud data and the third point cloud data that the robotic arm is still in the carrying state, the next object placement operation is performed.
8. The method according to claim 7, characterized in that The preset end conditions include: Determining that the robotic arm is in an unloaded state during any object placement operation; Alternatively, the number of object placement operations reaches a preset number.
9. The method according to claim 8, characterized in that The object placement operation further includes: Determine, based on the second point cloud data, a second target occlusion value within the first preset range when the manipulator is in a carrying detection posture; Determine a third target occlusion value within the second preset range of the target location based on the third point cloud data; If the second target occlusion value meets the first condition and the third target occlusion value meets the third condition, it is determined that the robotic arm is in an unloaded state.
10. The method according to claim 7, characterized in that The self-moving device further comprises a second sensor disposed on a side wall of the self-moving chassis, wherein a data collection range of the second sensor covers the second preset range of a designated location on the ground; Acquiring third point cloud data within a second preset range of the target location includes: The third point cloud data is collected by the second sensor.
11. A robot arm return control device, characterized in that: The self-moving device is configured to include a self-moving chassis and a mechanical arm connected to the self-moving chassis, the self-moving chassis includes a recovery cabin for accommodating the folded mechanical arm, the mechanical arm includes a working arm and a mechanical hand, the working arm and the mechanical hand are connected through a mechanical joint, the mechanical joint includes a joint elbow drive motor for driving the working arm to rotate, and the device includes: An information acquisition unit, configured to receive a command for the manipulator to return to the cabin and acquire detection information, wherein the detection information includes first point cloud data within a first preset range when the manipulator is in a carrying detection posture and / or current data of the joint elbow drive motor; A return-to-cabin control unit is used to control the robotic arm to perform a return-to-cabin operation if it is determined that the robotic arm is in an unloaded state based on the detection information.
12. The device according to claim 11, characterized in that The robot arm further comprises a supporting structure, the working arm comprises a first working arm and a second working arm; the robot arm and the first working arm are connected via a first mechanical joint; the first working arm and the second working arm are connected via a second mechanical joint, and the second mechanical joint drives the first robot arm to rotate; The second working arm and the supporting structure are connected via a third mechanical joint, and the third mechanical joint drives the second mechanical arm to rotate; The second mechanical arm is connected to the self-moving chassis through the support structure; The joint elbow driving motor includes a first driving motor for the second mechanical joint and a second driving motor for the third mechanical joint.
13. The device according to claim 12, characterized in that The current data includes a first current of the first driving motor and a second current of the second driving motor; The device also includes a detection unit, which is used to: Determine, based on the first point cloud data, a first target occlusion value within a first preset range when the manipulator is in a carrying detection posture; If the first target shading value meets a first condition, and the first current and the second current meet a second condition, it is determined that the robotic arm is in a no-load state.
14. The device according to claim 13, characterized in that The first condition includes any of the following: The first target occlusion value is not greater than a first threshold, wherein the first threshold is determined by a first occlusion value within a first preset range when the manipulator is in a carrying detection posture when the manipulator is in an unloaded state; The first target occlusion value is less than a second threshold value, and the duration exceeds a first preset duration, wherein the second threshold value is determined by a second occlusion value within a first preset range when the manipulator is in a carrying state and in a carrying detection posture, and the second occlusion value is greater than the first threshold value; The first target occlusion value is smaller than the occlusion value corresponding to the previous moment, and the duration exceeds a second preset duration.
15. The device according to claim 13, characterized in that The second condition includes any one of the following: The first current is not greater than a first preset current, and the second current is not greater than a second preset current, wherein the first preset current is determined based on a first current of the first drive motor when the robotic arm is in a no-load state, and the second preset current is determined based on a second current of the second drive motor when the robotic arm is in a no-load state; The first current is less than a third preset current, the second current is less than a fourth preset current, and the duration exceeds a third preset duration, wherein the third preset current is determined based on a third current of the first drive motor when the robotic arm is in a carrying state, the fourth preset current is determined based on a fourth current of the second drive motor when the robotic arm is in a carrying state, the third current is greater than the first preset current, and the fourth current is greater than the second preset current; The first current is smaller than the current of the first drive motor at the previous moment, the second current is smaller than the current of the second drive motor at the previous moment, and the duration exceeds a fourth preset time length.
16. The device according to claim 11, characterized in that The self-moving device further comprises a first sensor disposed on the top of the self-moving chassis, wherein the data collection range of the first sensor covers the first preset range of the manipulator when carrying and detecting the posture; The information acquisition unit is used for: The first point cloud data is collected by the first sensor.
17. The device according to claim 11, characterized in that The device also includes an object placement unit, which is used to: If it is determined based on the detection information that the robotic arm is in a carrying state, controlling the self-moving device to perform at least one object placement operation until a preset end condition is met; Wherein, the object placement operation includes: Controlling the self-moving device to place the object at a target location; Controlling the manipulator to be in a carrying detection posture, and acquiring second point cloud data within the first preset range of the manipulator; Acquire third point cloud data within a second preset range of the target location; If it is determined based on the second point cloud data and the third point cloud data that the robotic arm is still in the carrying state, the next object placement operation is performed.
18. The device according to claim 17, characterized in that The preset end conditions include: Determining that the robotic arm is in an unloaded state during any object placement operation; Alternatively, the number of object placement operations reaches a preset number.
19. The device according to claim 18, characterized in that The object placement unit is also used for: Determine, based on the second point cloud data, a second target occlusion value within the first preset range when the manipulator is in a carrying detection posture; Determine a third target occlusion value within the second preset range of the target location based on the third point cloud data; If the second target occlusion value meets the first condition and the third target occlusion value meets the third condition, it is determined that the robotic arm is in an unloaded state.
20. The device according to claim 17, characterized in that The self-moving device further comprises a second sensor disposed on a side wall of the self-moving chassis, wherein a data collection range of the second sensor covers the second preset range of a designated location on the ground; The object placement unit is used for: The third point cloud data is collected by the second sensor.
21. A self-propelled device, characterized in that: It includes a controller, a self-moving chassis and a robotic arm connected to the self-moving chassis, the self-moving chassis includes a recovery cabin for accommodating a folded robotic arm, the robotic arm includes a working arm and a robotic arm, the working arm and the robotic arm are connected via a mechanical joint, the mechanical joint includes a joint elbow drive motor for driving the working arm to rotate, and the controller is used to execute the steps of the method as described in any one of claims 1 to 10.
22. An electronic device comprising a memory, a processor and a computer program stored in the memory, characterized in that: The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 10.
23. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.
24. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.