Robotic arm, control method and device of robotic arm, robot and storage medium
By introducing lifting parts into the robot arm and using a controller to drive the lifting parts to slide, a method of dynamically placing objects by robots is realized, solving the problem of low placement efficiency in the prior art, and improving the coherence and efficiency of placement.
Patent Information
- Application Number
- CN202210107236.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-28
- Publication Date
- 2025-02-25
- Estimated Expiration
- 2042-01-28
AI Technical Summary
In the prior art, the process of a robot placing an object requires the robot to hover and open the end effector, resulting in a low efficiency in placing an object.
By introducing a lifting member into the robotic arm and controlling the drive motor with a controller, the lifting member is driven to change and move the posture, so that the target object slides on the upper surface of the lifting member under the action of friction and gravity, and on the target The position slides away from the lifting member at the target speed.
The process of dynamically placing objects is realized, avoiding hovering and waiting for static placement, and improving the efficiency and coherence of object placement.
Smart Images

Figure CN116551654B_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present application relate to the field of robot control, and in particular, to a robotic arm, a control method and device for a robotic arm, a robot, and a storage medium. Background Art
[0002] With the continuous development of robot control technology, more and more robots have the function of placing objects through robotic arms.
[0003] In the related art, after the robot grasps the target object through the end effector (such as a manipulator), it places the target object to a specified position. The process of placing the target object by the robot is a quasi-static or static placement process. That is, the robot arm brings the target object to the specified position through the end effector, the robot arm stops moving, the end effector opens, and puts down the object.
[0004] However, the object placement process in the related art requires the robot arm to hover and then open the end effector, and the process of moving and placing the object is not continuous, resulting in low efficiency of the robot in placing objects. Summary of the invention
[0005] The embodiments of the present application provide a robotic arm, a control method, a device, a robot and a storage medium for the robotic arm, which can dynamically place a target object through the robotic arm to improve the efficiency of placing the object. The technical solution is as follows:
[0006] In one aspect, a robotic arm is provided, the robotic arm comprising: a lifting component, a robotic arm body, a driving motor and a controller;
[0007] The controller is electrically connected to the driving motor; the lifting component is connected to the end of the mechanical arm body;
[0008] The controller is used to control the driving motor to drive the lifting component to change and move its posture, so that the target object placed on the lifting component slides on the upper surface of the lifting component under the action of friction and gravity as the posture of the lifting component changes and moves, and slides away from the lifting component at a target position at a target speed.
[0009] On the one hand, a control method of a robotic arm is provided, wherein the robotic arm comprises a lifting component, a robotic arm body, and a driving motor, wherein the lifting component is connected to the end of the robotic arm body; the method comprises:
[0010] Obtaining a friction coefficient between a target object on the lifting component and the lifting component;
[0011] Based on the friction coefficient, a sliding dynamics model is constructed; the sliding dynamics model is used to indicate the relationship between the change of the generalized coordinates of the motion system and the driving force applied to the motion system during the process of the lifting component lifting the target object; the motion system includes the lifting component and the target object;
[0012] Based on the sliding dynamics model, target control information is acquired; the target control information includes the motion trajectory of the lifting component and the driving force exerted on the motion system at each moment;
[0013] Based on the target control information, the lifting component is driven by the driving motor to change and move its posture, so that the target object placed on the lifting component slides on the upper surface of the lifting component under the action of friction and gravity as the posture of the lifting component changes and moves, and slides away from the lifting component at the target position at the target speed.
[0014] On the other hand, a control device for a robotic arm is provided, wherein the robotic arm comprises a lifting component, a robotic arm body, and a driving motor, wherein the lifting component is connected to the end of the robotic arm body; the device comprises:
[0015] A coefficient acquisition module, used to acquire the friction coefficient between the target object on the lifting component and the lifting component;
[0016] A model building module, used to build a sliding dynamics model based on the friction coefficient; the sliding dynamics model is used to indicate the relationship between the change of the generalized coordinates of the motion system and the driving force applied to the motion system during the process of the lifting component lifting the target object; the motion system includes the lifting component and the target object;
[0017] A control information acquisition module, used to acquire target control information based on the sliding dynamics model; the target control information includes the motion trajectory of the lifting component and the driving force applied to the motion system at each moment;
[0018] The drive control module is used to drive the lifting component to change and move its posture through the drive motor based on the target control information, so that the target object placed on the lifting component slides on the upper surface of the lifting component under the action of friction and gravity as the posture of the lifting component changes and moves, and slides away from the lifting component at a target position at a target speed.
[0019] In one possible implementation, when the target object slides on the upper surface of the lifting component, the acceleration of the target object on the upper surface of the lifting component is controlled by the offset angle of the upper surface of the lifting component relative to the horizontal plane, and the resistance of the target object during the sliding process is the sliding friction force.
[0020] In one possible implementation, the control information acquisition module is used to acquire the target control information based on control constraints with the goal of minimizing motion costs; the control constraints include the sliding dynamics model; the motion cost is the cost of driving the lifting component to change and move its posture through the drive motor, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity as the lifting component changes and moves its posture, and slides away from the lifting component at a target position at a target speed.
[0021] In a possible implementation manner, the process of the target object sliding on the lifting component includes a first process of sliding away from the lifting component along a first direction relative to the lifting component;
[0022] The control constraints include:
[0023] The sliding dynamics model;
[0024] The start time of the first process;
[0025] The end time of the first process;
[0026] The speed of the lifting component and the target object at the start of the first process;
[0027] The speed of the target object and the lifting component at the end of the first process;
[0028] Furthermore, the supporting force of the lifting component on the target object is greater than 0.
[0029] In a possible implementation manner, the process of the target object sliding on the lifting component includes:
[0030] A second process of sliding from an initial position relative to the lifting component along a second direction relative to the lifting component to a first position relative to the lifting component; and a third process of sliding from the first position relative to the lifting component along a third direction relative to the lifting component to separate from the lifting component;
[0031] The control constraints include:
[0032] The sliding dynamics model;
[0033] The start time of the second process;
[0034] The starting time of the third process;
[0035] The end time of the third process;
[0036] The speed of the lifting component and the target object at the start of the second process;
[0037] At the start of the third process, the speed of the lifting component and the target object;
[0038] At the end of the third process, the speed of the target object and the lifting component;
[0039] Furthermore, the supporting force of the lifting component on the target object is greater than 0.
[0040] In one possible implementation, when the initial position of the target object relative to the lifting component satisfies an adjustment condition, the process of the target object sliding on the lifting component includes: a second process starting from the initial position relative to the lifting component, sliding along a second direction relative to the lifting component to a first position relative to the lifting component; and a third process starting from the first position relative to the lifting component, sliding along a third direction relative to the lifting component to separate from the lifting component.
[0041] In a possible implementation manner, the adjustment condition includes: an initial position of the target object relative to the lifting component is located at an edge of the lifting component.
[0042] In a possible implementation, the control information acquisition module is used to acquire target control information by impedance control based on the sliding dynamics model;
[0043] Wherein, during the impedance control process, the grasping force exerted on the target object is determined by the supporting force and friction force exerted by the lifting component on the target object.
[0044] In a possible implementation, the coefficient acquisition module is used to:
[0045] Acquire a picture when the target object slides on the lifting component;
[0046] Based on the picture when the target object slides on the lifting component, the sliding information of the target object is obtained; the sliding information includes the tilt angle of the lifting component when the target object slides on the lifting component, and the acceleration of the target object sliding on the lifting component;
[0047] The friction coefficient is obtained according to the sliding information.
[0048] On the other hand, a robot is provided, the robot comprising the above-mentioned mechanical arm;
[0049] The controller in the robotic arm is used to execute the control method of the robotic arm as described above.
[0050] On the other hand, a computer-readable storage medium is provided, in which at least one instruction, at least one program, a code set or an instruction set is stored. The at least one instruction, the at least one program, the code set or the instruction set is loaded and executed by a processor to implement a control method for a robotic arm as described in any of the above-mentioned embodiments of the present application.
[0051] On the other hand, a computer program product or a computer program is provided, the computer program product or the computer program comprising computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the control method of the robot arm described in any of the above embodiments.
[0052] The beneficial effects brought by the technical solution provided by the embodiment of the present application include at least:
[0053] For a robotic arm including a lifting component, a robotic arm body, a driving motor and a controller, the driving motor is controlled by the controller to drive the lifting component to change its posture and move, so that the target object placed on the lifting component slides on the upper surface of the lifting component and slides off the lifting component under the action of friction and gravity as the lifting component changes its posture and moves. In the above control process, the target object is dynamically placed through the movement of the lifting component, and there is no static process, so that the action of placing the object can be performed continuously, thereby improving the efficiency of placing the object. BRIEF DESCRIPTION OF THE DRAWINGS
[0054] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0055] Figure 1 is a schematic structural diagram of a robotic arm provided by an exemplary embodiment of the present application;
[0056] Figure 2 is a schematic structural diagram of a robotic arm provided by an exemplary embodiment of the present application;
[0057] Figure 3 is a flow chart of a method for controlling a robotic arm provided by an exemplary embodiment of the present application;
[0058] Figure 4 is a dynamic schematic diagram of object placement provided by an exemplary embodiment of the present application;
[0059] Figure 5 is a dynamic schematic diagram of object placement provided by another exemplary embodiment of the present application;
[0060] Figure 6 This is the implementation process of the sliding placement operation provided by this application;
[0061] Figure 7 is a flow chart of a method for controlling a robotic arm provided by an exemplary embodiment of the present application;
[0062] Figure 8 is a schematic diagram of a motion system provided by an exemplary embodiment of the present application;
[0063] Fig. 9 is a schematic diagram of position adjustment and placement provided by an exemplary embodiment of the present application;
[0064] Fig.10 is a structural block diagram of a control device for a robotic arm provided by an exemplary embodiment of the present application;
[0065] Fig.11 It is a structural block diagram of a robot provided by an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0066] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0067] First, the terms involved in the embodiments of the present application are explained:
[0068] 1) Robot: It is an intelligent machine that can work semi-autonomously or fully autonomously. Optionally, this machine has some intelligent capabilities similar to humans or creatures, such as perception, planning, movement and coordination, and is an automated machine with high flexibility.
[0069] As people's understanding of the intelligent nature of robotics deepens, robotics has begun to penetrate into various fields of human activities. In combination with the application characteristics of these fields, people have developed a variety of special robots and various intelligent robots with perception, decision-making, action and interaction capabilities. Robots are mechanical devices that perform work automatically. They can accept human commands, run pre-programmed programs, or act according to principles and guidelines formulated with artificial intelligence technology. The task of robots is usually to assist or replace human work. Robots can be the product of advanced integrated cybernetics, mechatronics, computers, materials and bionics, and have important uses in industry, medicine, agriculture, services, construction and other fields.
[0070] Based on the application environment, robots can also be divided into two categories, namely industrial robots and special robots. Industrial robots refer to multi-joint manipulators or multi-degree-of-freedom robots for the industrial field. Special robots are various advanced robots other than industrial robots that are used in non-manufacturing industries and serve humans, including: bionic robots, service robots, underwater robots, entertainment robots, agricultural robots, etc. Among special robots, some branches are developing rapidly and tend to be independent systems, such as service robots, underwater robots, micro-manipulation robots, etc.
[0071] Industrial robots are divided into four types according to the movement of their arms. The rectangular coordinate type arm can move along three rectangular coordinates; the cylindrical coordinate type arm can be raised, lowered, rotated, and extended; the spherical coordinate type arm can rotate, pitch, and extend; and the articulated type arm has multiple rotating joints.
[0072] Industrial robots can be divided into point-type and continuous-track types according to the control function of the actuator movement. The point-type controls the actuator to accurately position from one point to another, and is suitable for machine tool loading and unloading, spot welding, and general handling, loading and unloading operations; the continuous-track type can control the actuator to move along a given trajectory, and is suitable for continuous welding and painting operations.
[0073] Industrial robots are divided into two types according to the program input method: programming input type and teaching input type. The programming input type is to transmit the operation program file that has been compiled on the computer to the robot control cabinet through a serial port or Ethernet communication method. There are two teaching methods for the teaching input type: one is that the operator uses a manual controller (teaching control box) to transmit the command signal to the drive system, so that the actuator can perform the required action sequence and motion trajectory; the other is that the operator directly drives the actuator to perform the required action sequence and motion trajectory. During the teaching process, the information of the working program is automatically stored in the program memory. When the robot works automatically, the control system detects the corresponding information from the program memory and transmits the command signal to the drive mechanism, so that the actuator reproduces the various actions taught. Industrial robots with teaching input programs are called teaching and reproduction type industrial robots.
[0074] 2) Artificial Intelligence (AI): It is a theory, method, technology and application system that uses digital computers or machines controlled by digital computers to simulate, extend and expand human intelligence, perceive the environment, acquire knowledge and use knowledge to obtain the best results. In other words, artificial intelligence is a comprehensive technology in computer science that attempts to understand the essence of intelligence and produce a new intelligent machine that can respond in a similar way to human intelligence. Artificial intelligence is to study the design principles and implementation methods of various intelligent machines so that machines have the functions of perception, reasoning and decision-making.
[0075] Artificial intelligence technology is a comprehensive discipline that covers a wide range of fields, including both hardware-level and software-level technologies. The basic technologies of artificial intelligence generally include sensors, dedicated artificial intelligence chips, cloud computing, distributed storage, big data processing technology, operation / interaction systems, mechatronics and other technologies. Artificial intelligence software technology mainly includes computer vision technology, speech processing technology, natural language processing technology, and machine learning / deep learning.
[0076] Computer vision technology (CV) is a science that studies how to make machines "see". To put it more specifically, it refers to machine vision such as using cameras and computers to replace human eyes to identify and measure targets, and further perform graphic processing so that computer processing becomes an image that is more suitable for human eye observation or transmission to instrument detection. As a scientific discipline, computer vision studies related theories and technologies, and attempts to establish an artificial intelligence system that can obtain information from images or multi-dimensional data. Computer vision technology usually includes image processing, image recognition, image semantic understanding, image retrieval, video processing, video semantic understanding, video content / behavior recognition, 3D object reconstruction, virtual reality, augmented reality, simultaneous positioning and map construction, and also includes common biometric recognition technologies such as face recognition and fingerprint recognition.
[0077] Machine Learning (ML) is a multi-disciplinary subject that involves probability theory, statistics, approximation theory, convex analysis, algorithm complexity theory and other disciplines. It specializes in studying how computers simulate or implement human learning behavior to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is the core of artificial intelligence and the fundamental way to make computers intelligent. Its applications are spread across all areas of artificial intelligence. Machine learning and deep learning usually include artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and teaching learning.
[0078] With the research and advancement of artificial intelligence technology, artificial intelligence technology has been studied and applied in many fields, such as common smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, unmanned driving, automatic driving, drones, robots, smart medical care, smart customer service, etc. I believe that with the development of technology, artificial intelligence technology will be applied in more fields and play an increasingly important role.
[0079] In the embodiments of the present application, AI technology can be applied to robots, mainly involving robot control technology, machine learning technology, computer vision technology, etc.
[0080] In this embodiment of the present application, the robot involved has a robotic arm, and the robotic arm can be used to perform an object placement task, that is, to place a target object at a certain target position.
[0081] Indicative, Figure 1 FIG. 1 is a schematic diagram of a structure of a mechanical arm provided by an exemplary embodiment of the present application, and the mechanical arm can be installed in a robot. Figure 1 As shown, the robot arm includes a lifting component 110 , a robot arm body 120 , a driving motor 130 and a controller 140 .
[0082] like Figure 1 As shown, the lifting component 110 can be implemented as a plane or a quasi-plane component for supporting the target object 150 thereon.
[0083] The above-mentioned robot arm body 120 is used to connect the lifting component 110, and the lifting component 110 is connected to the end of the robot arm body 120 as an extension of the robot arm body 120 to perform the task of placing the object.
[0084] The driving motor 130 may be disposed at each joint in the robotic arm to control the rotation of each joint, thereby driving the components connected to the joint to rotate or move.
[0085] The controller 140 is connected to the driving motor 130 to control the operation of the driving motor 130 .
[0086] In an embodiment of the present application, the above-mentioned controller 140 can be used to control the driving motor to drive the lifting component to change and move its posture, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity as the posture of the lifting component changes and moves, and slides away from the lifting component at the target position at a target speed.
[0087] In summary, the robot arm involved in the embodiment of the present application includes a lifting component, a robot arm body, a drive motor and a controller. The controller controls the drive motor to drive the lifting component to change its posture and move, so that the target object slides on the upper surface of the lifting component and detaches from the lifting component under the action of friction and gravity as the lifting component changes its posture and moves. In the above control process, the target object is placed dynamically through the movement of the lifting component, and there is no static process, which can make the object placement action executed continuously, thereby improving the efficiency of placing the object.
[0088] Figure 2 FIG. 1 is a schematic diagram of a structure of a mechanical arm provided by an exemplary embodiment of the present application, and the mechanical arm can be installed in a robot. Figure 2 As shown, the robot arm includes a lifting component 110 , a robot arm body 120 , a driving motor 130 and a controller 140 .
[0089] like Figure 1 As shown, the lifting component 110 can be implemented as a plane or a quasi-plane component for supporting the target object 150 thereon.
[0090] The above-mentioned robot arm body 120 is used to connect the lifting component 110, and the lifting component 110 is connected to the end of the robot arm body 120 as an extension of the robot arm body 120 to perform the task of placing the object.
[0091] The driving motor 130 may be disposed at each joint in the robotic arm to control the rotation of each joint, thereby driving the components connected to the joint to rotate or move.
[0092] The controller 140 is connected to the driving motor 130 to control the operation of the driving motor 130 .
[0093] In an embodiment of the present application, the above-mentioned controller 140 can be used to control the driving motor to drive the lifting component to change and move its posture, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity as the posture of the lifting component changes and moves, and slides away from the lifting component at the target position at a target speed.
[0094] In a possible implementation, when the controller drives the lifting component to move through the driving motor, the controller can drive the mechanical arm body through the driving motor, and drive the lifting component to move through the mechanical arm body.
[0095] In a possible implementation, the lifting component 110 and the robot arm body 120 may be connected via a first joint 160;
[0096] The driving motor 130 includes a first driving motor 130a;
[0097] The first driving motor 130 a is used to drive the first joint 160 to rotate the lifting component 110 .
[0098] In a possible implementation, the driving motor may include a second driving motor 130b;
[0099] The second driving motor 130 b can be used to drive the lifting component 110 and the robot arm body 120 to move.
[0100] The second driving motor 130b may be arranged in the middle of the robot body, or at the junction of the robot body and the robot body.
[0101] In a possible implementation, the robotic arm further includes: an image acquisition component 170;
[0102] The image acquisition component 170 is electrically connected to the controller 140;
[0103] The image acquisition component 170 can be used to acquire images of the lifting component 110 .
[0104] The image acquisition component 170 may be provided separately from the robot body, for example, the image acquisition component 170 may be connected to the robot body.
[0105] Alternatively, the image acquisition component 170 may also be disposed on the robot arm body.
[0106] In summary, the robot arm involved in the embodiment of the present application includes a lifting component, a robot arm body, a drive motor and a controller. The controller controls the drive motor to drive the lifting component to change its posture and move, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity as the lifting component changes its posture and moves, and slides away from the lifting component. In the above control process, the target object is placed dynamically through the movement of the lifting component, and there is no static process, which can make the object placement action executed continuously, thereby improving the efficiency of placing the object.
[0107] Figure 3 A control method for a robotic arm provided by an exemplary embodiment of the present application, wherein the robotic arm comprises a lifting component, a robotic arm body, and a driving motor, and the lifting component is connected to the end of the robotic arm body; optionally, the robotic arm can be the above-mentioned Figure 1 or Figure 2 For example, the method can be performed by Figure 1 or Figure 2 The controller in the robot arm shown in FIG. Figure 3 As shown, the control method of the robot arm includes:
[0108] Step 301, obtaining the friction coefficient between the target object on the lifting component and the lifting component.
[0109] Step 302, constructing a sliding dynamics model based on the friction coefficient; the sliding dynamics model is used to indicate the relationship between the change of the generalized coordinates of the motion system and the driving force acting on the motion system during the process of the lifting component lifting the target object; the motion system includes the lifting component and the target object.
[0110] Step 303, based on the sliding dynamics model, the target control information is obtained; the target control information includes the motion trajectory of the lifting component and the driving force exerted on the motion system at each moment.
[0111] Step 304, based on the target control information, the lifting component is driven by the driving motor to change and move its posture, so that the target object changes and moves with the lifting component's posture, slides on the upper surface of the lifting component under the action of friction and gravity, and slides away from the lifting component at the target position at the target speed.
[0112] In summary, the scheme shown in the embodiment of the present application constructs a sliding dynamics model to indicate the relationship between the change of the generalized coordinates of the motion system and the driving force received by the motion system during the movement of the target object lifted by the lifting component through the friction coefficient between the target object on the lifting component and the lifting component. Then, based on the sliding dynamics model, the motion trajectory of the lifting component and the driving force received by the motion system at each moment are obtained, and then the drive motor is controlled through the target control information, so that the target object changes and moves with the posture of the lifting component, slides on the upper surface of the lifting component under the action of friction and gravity, and slides away from the lifting component, thereby completing the object placement. In the above process, the target object is placed dynamically through the movement of the lifting component, and there is no static process, which can make the object placement action continuous, thereby improving the efficiency of object placement.
[0113] Through the above Figure 3 According to the solution provided by the illustrated embodiment, the robot can use a mechanical arm including a lifting component to dynamically drive the target object to slide on the lifting component, so that the target object slides off the lifting component at a suitable position under the action of inertia.
[0114] In one possible implementation, the above-mentioned controller is used to control the drive motor to drive the lifting component to move along the first direction to the first position; the controller is also used to control the drive motor to drive the lifting component to tilt in the horizontal direction of the first direction, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity, and slides away from the lifting component at the target position at a target speed; the horizontal direction of the target speed is the same as the horizontal direction of the first direction.
[0115] Among them, the process of controlling the drive motor to drive the lifting component to tilt horizontally toward the first direction can be started during the process of controlling the drive motor to drive the lifting component to move along the first direction to the first position; or, the process of controlling the drive motor to drive the lifting component to tilt horizontally toward the first direction can be started when the drive motor is controlled to drive the lifting component to move along the first direction to the first position; or, the process of controlling the drive motor to drive the lifting component to tilt horizontally toward the first direction can be started after the drive motor is controlled to drive the lifting component to move along the first direction to the first position.
[0116] For example, please refer to Figure 4 , which shows a dynamic schematic diagram of object placement provided by an exemplary embodiment of the present application. Take the robot arm placing the target object by forward delivery as an example, Figure 4As shown, starting from the initial position a, the driving motor in the robot arm drives the robot arm forward, and the lifting component 41 in the robot arm passes through the intermediate position b, the intermediate position c, the intermediate position d, and the intermediate position e in sequence to reach the final position f. Among them, at different positions, the lifting component can have different speeds and different deflection directions, so that the target object 42 placed on the lifting component 41 slides relative to the lifting component 41 while moving according to the lifting component, and detaches from the lifting component 41 at the intermediate position e and slides to the table.
[0117] In another possible implementation, the controller is used to control the drive motor to drive the lifting component to move along the second direction to the second position; the controller is also used to control the drive motor to drive the lifting component to tilt in the opposite direction of the horizontal direction of the second direction, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity, and slides away from the lifting component at the target position at a target speed; wherein the horizontal direction of the target speed is opposite to the horizontal direction of the second direction.
[0118] Among them, the process of controlling the drive motor to drive the lifting component to tilt in the opposite direction of the horizontal direction of the second direction can be started during the process of controlling the drive motor to drive the lifting component to move along the second direction to the second position; or, the process of controlling the drive motor to drive the lifting component to tilt in the opposite direction of the horizontal direction of the second direction can be started when the drive motor is controlled to drive the lifting component to move along the second direction to the second position; or, the process of controlling the drive motor to drive the lifting component to tilt in the opposite direction of the horizontal direction of the second direction can be started after the drive motor is controlled to drive the lifting component to move along the second direction to the second position.
[0119] Please refer to Figure 5 , which shows a dynamic schematic diagram of object placement provided by another exemplary embodiment of the present application. Take the robot arm placing the target object by retracting as an example, Figure 5 As shown, starting from the initial position a, the driving motor in the robot arm drives the robot arm forward, and the lifting component 51 in the robot arm passes through the intermediate position b, the intermediate position c, the intermediate position d, and the intermediate position e in sequence to reach the final position f. Among them, at different positions, the lifting component can have different speeds and different deflection directions, so that the target object 52 placed on the lifting component 51 slides relative to the lifting component 51 while moving according to the lifting component, and is separated from the lifting component 51 at the intermediate position e and slides to the table.
[0120] The placement method shown in the above embodiment of the present application may have the following advantages:
[0121] 1) The robot end can handle large loads without gripping points on the objects, so the robot can place objects without finger gripping;
[0122] 2) The placement is fast and convenient, and the whole process can be completed dynamically and smoothly;
[0123] 3) It can be completed in conjunction with other dynamic operation actions, such as dynamic transfer of robots, dynamic grasping and other operation forms;
[0124] 4) It does not rely on complex and expensive robotic dexterous hands. Only a simple palm needs to be installed at the end of the robot to achieve complex and dexterous operations.
[0125] Please refer to Figure 6 , which shows the implementation process of the sliding placement operation provided by the present application. The implementation method of the implementation process can refer to Figure 7 .
[0126] Figure 7 A control method for a robotic arm provided by an exemplary embodiment of the present application, wherein the robotic arm comprises a lifting component, a robotic arm body, and a driving motor, and the lifting component is connected to the end of the robotic arm body; optionally, the robotic arm can be the above-mentioned Figure 1 or Figure 2 For example, the method can be performed by Figure 1 or Figure 2 The controller in the robot arm shown in FIG. Figure 7 As shown, the control method of the robot arm includes:
[0127] Step 701, obtaining the friction coefficient between the target object on the lifting component and the lifting component.
[0128] In a possible implementation, obtaining the friction coefficient between the target object on the lifting component and the lifting component includes:
[0129] Acquire the image when the target object slides on the lifting component;
[0130] Based on the picture when the target object slides on the lifting component, the sliding information of the target object is obtained; the sliding information includes the tilt angle of the lifting component when the target object slides on the lifting component, and the acceleration of the target object sliding on the lifting component;
[0131] Obtain the friction coefficient based on the sliding information.
[0132] In a possible implementation, the lifting component is in the shape of a flat plate. For example, the lifting component may be a flat plate-shaped manipulator palm at the top of the manipulator arm.
[0133] The target object slides on the lifting part of the robot arm (such as the robot palm, hereinafter referred to as the palm), and the palm and the target object can be regarded as an integrated motion system. The schematic diagram of the motion system can be shown as follows: Figure 8 shown.
[0134] In the figure above, {I} is the inertial coordinate system, and {B} is the conjoined coordinate system on the palm. The position and motion of the palm can be determined based on the coordinate system {I}, and the position and motion of the object can be determined based on the coordinate system {B}.
[0135] The friction between the object and the robot's palm is mainly divided into static friction and dynamic friction. The two types of friction can be determined by the static friction coefficient μ0 and the dynamic friction coefficient μ respectively.
[0136] The static friction coefficient can be obtained by continuously adjusting the palm tilt angle q and observing the movement of the object. If the object starts to move when q = q0, the static friction coefficient can be expressed as follows:
[0137] μ0=atan(q0)
[0138] When the inclination angle is greater than q0 and remains constant, the object will move at a certain acceleration. Slide down, then the static friction at this time can be expressed as follows:
[0139]
[0140] In the above formula, the acceleration of the object is It can be obtained through visual information and motion capture system. The visual information and motion capture system can be implemented through AI model, and the AI model can be trained by machine learning.
[0141] Step 702, constructing a sliding dynamics model based on the friction coefficient; the sliding dynamics model is used to indicate the relationship between the change of the generalized coordinates of the motion system and the driving force acting on the motion system during the process of the lifting component lifting the target object.
[0142] The motion system includes a lifting component and a target object.
[0143] The coordinates of the control point C on the palm in the coordinate system {I} are C(x0, y0). The coordinates of the object in the palm-joint coordinate system are (x, y). From this, we can further obtain the coordinates of the object in the inertial coordinate system:
[0144]
[0145] In the formula, [x I ,y I ] is the coordinate value of the object's center of mass in the world coordinate system, and R is the rotation matrix.
[0146] Assume that the generalized coordinates of the entire system are X, and X = [x0, y0, q, x, y] Τ The dynamic model of the whole system is as follows:
[0147]
[0148] In the above formula,
[0149]
[0150]
[0151]
[0152]
[0153] G(X)=[G1 G2 G3 G4 G5] Τ
[0154] F=[F1 F2 F3 F4 F5] Τ
[0155] H 11 =H 22 =m1+m2
[0156] H 12 =H 21 =0
[0157] H 13 =H 31 =m2(ycos(q)-xsin(q))
[0158] H 14 =H 41 =m2cos(q)
[0159] H 15 =H 51 =m2sin(q)
[0160] H 23 =H 32 =-m2(xcos(q)+ysin(q))
[0161] H 24 =H 42 =-m2sin(q)
[0162] H 25 =H 52 =m2cos(q)
[0163] H 33 =m2x2 +m2y 2 +I1+I2
[0164] H 34 =H 43 =m2y
[0165] H 53 =-m2x
[0166] H 44 =H 55 =m2
[0167] H 45 =H 54 =-m2x
[0168] C 11 =C 12 =C 21 =C 22 =C 31 =C 32 =C 41 =C 42 =C 51 =C 52
[0169]
[0170]
[0171]
[0172]
[0173]
[0174]
[0175]
[0176]
[0177]
[0178]
[0179] C 44 =0
[0180]
[0181]
[0182]
[0183] C 55 =0
[0184] Among them, H(X), and G(X) are the inertia matrix, centrifugal force matrix and gravity vector of the sliding system respectively, and F is the driving force vector. F1 and F2 are the driving forces of the robot in the X and Y directions, F3 is the driving torque of the robot in the rotation direction, F4 is the friction force of the object on the palm, and F5 is the supporting force between the object and the palm. In the above formula, m1 represents the equivalent mass of the robot's mechanical arm and palm, m2 represents the mass of the object, I1 represents the moment of inertia of the robot's palm, and I2 represents the moment of inertia of the object.
[0185] Step 703, based on the sliding dynamics model, the target control information is obtained; the target control information includes the motion trajectory of the lifting component and the driving force exerted on the motion system at each moment.
[0186] Optionally, the above target control information may also include the motion trajectory of the robotic arm.
[0187] In a possible implementation, obtaining target control information based on a sliding dynamics model includes:
[0188] Based on the control constraints, the target control information is obtained with the goal of minimizing the motion cost; the control constraints include a sliding dynamics model; the motion cost is the cost of driving the lifting component to change and move its posture by driving the motor, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity as the lifting component changes and moves its posture, and slides away from the lifting component at the target position at a target speed.
[0189] Among them, the above-mentioned motion cost minimization may include at least one of minimizing the execution time of the motion trajectory (i.e., the time consumed in the entire process of placing the object), minimizing the distance of the motion trajectory, and minimizing the work done by the motion trajectory (i.e., the work done by the control motor in the entire process of placing the object).
[0190] In the above step 702, a dynamic model of the sliding operation is given, and the dynamic model of the sliding operation can be used for optimal control solution of the robot operation. The dynamic sliding operation of the robot refers to the process of the robot moving, by adjusting the tilt angle of the robot palm, changing the acceleration and speed of the object sliding down, and then sliding the object out at a certain speed.
[0191] In a possible implementation, the process of the target object sliding on the lifting component includes a first process of sliding away from the lifting component along a first direction relative to the lifting component;
[0192] Control constraints include:
[0193] Sliding dynamics model;
[0194] The moment when the first process begins;
[0195] The end moment of the first process;
[0196] The speed of the lifting component and the target object at the start of the first process;
[0197] The speed of the target object and the lifting component at the end of the first process;
[0198] And, the supporting force of the lifting component on the target object is greater than 0.
[0199] According to the requirements of the robot's sliding operation, the object needs to slide out from the edge at a certain speed at a certain time when the robot's palm moves from the initial position. Taking the motion cost including the execution time of the motion trajectory as an example, according to the task characteristics, the optimal trajectory generation equation can be listed as follows:
[0200]
[0201]
[0202] In the above formula, X0 and X T The positions of the object and the robot's palm at the initial moment and the final moment of release are given respectively. and The velocities of the object and the robot hand at the initial moment and the final moment of release are given respectively. The F5≥0 constraint is mainly to ensure that the contact between the object and the hand always exists. λ is the weight coefficient of the robot acceleration optimization term.
[0203] Among them, in the above optimal trajectory generation equation, The time it takes to execute the trajectory needs to be minimized; represents the acceleration of the sliding system.
[0204] According to the above formula, the robot's motion trajectory needs to ensure its own motion trajectory requirements, and it also needs to change the tilt angle to achieve the sliding of the object on the palm.
[0205] That is to say, in the embodiment of the present application, it is necessary to calculate the motion trajectory and / or inclination angle of the robot's palm (that is, the position and posture of the palm at each moment), and then perform inverse kinematics calculation based on the position and posture of the palm to obtain the robot's joint trajectory.
[0206] The above optimal control equations can be solved by an optimal control software package, such as PSOPT or Open Optimal Control Library (OpenOCL).
[0207] The optimal control stage of the above equation can obtain its optimal trajectory X * and the optimal driving force F * .
[0208] The above-mentioned optimal driving force refers to the resultant force acting on the center of mass of the object, which can be calculated by the inertia force, centrifugal force and gravity of the object.
[0209] In a possible implementation, the process of the target object sliding on the lifting component includes:
[0210] A second process of sliding from an initial position relative to the lifting component along a second direction relative to the lifting component to a first position relative to the lifting component; and a third process of sliding from the first position relative to the lifting component along a third direction relative to the lifting component to separate from the lifting component;
[0211] Control constraints include:
[0212] Sliding dynamics model;
[0213] The moment when the second process begins;
[0214] The beginning moment of the third process;
[0215] The end moment of the third process;
[0216] The speed of the lifting component and the target object at the start of the second process;
[0217] The speed of the lifting component and the target object at the start of the third process;
[0218] The speed of the target object and the lifting component at the end of the third process;
[0219] And, the supporting force of the lifting component on the target object is greater than 0.
[0220] In one possible implementation, when the initial position of the target object relative to the lifting component satisfies the adjustment condition, the process of the target object sliding on the lifting component includes: a second process starting from the initial position relative to the lifting component, sliding along a second direction relative to the lifting component to the first position relative to the lifting component; and a third process starting from the first position relative to the lifting component, sliding along a third direction relative to the lifting component to separate from the lifting component.
[0221] In a possible implementation, the adjustment condition includes: an initial position of the target object relative to the lifting component is located at an edge of the lifting component.
[0222] In some cases, the initial position of the object is not appropriate. For example, the object is at the edge at the initial moment. In this case, the above solution cannot provide an effective sliding distance so that the object can slide out of the contact surface at a certain initial velocity. Therefore, it is necessary to use sliding to re-grasp the object so that the object can be in a suitable position. The schematic diagram of position adjustment and placement can be as follows: Fig. 9 shown.
[0223] Above Fig. 9 The sliding operation shown includes two processes, one process is the sliding operation to achieve position adjustment, and the other process is the sliding operation to achieve dynamic placement of the object.
[0224] At this time, taking the motion cost including the execution time of the motion trajectory as an example, according to the task characteristics, the optimal trajectory generation equation can be listed as follows:
[0225]
[0226]
[0227] In the above optimization model, T1 is the time for position adjustment based on sliding, and T2-T1 is the time for dynamic placement based on sliding. It indicates that the execution time of the trajectory needs to be minimized.
[0228] Similarly, for multi-stage optimal control, the optimal control stage of the above equation can obtain its optimal trajectory X * and the optimal driving force F * .
[0229] Step 704 : acquiring the driving torque of the driving motor based on the target control information.
[0230] In a possible implementation, the controller obtains target control information through impedance control based on a sliding dynamics model; wherein, during the impedance control process, the gripping force exerted on the target object is determined by the supporting force and friction force of the lifting component on the target object.
[0231] The object impedance in robot operation refers to the impedance relationship between the target object and the external interaction of the target object after the robot grasps it. Here, the object does not interact with other external environments, but the object needs to have a specific contact with the palm, and the dynamic equation of the object is:
[0232]
[0233] Where Mb , C b and N b The inertia matrix, centrifugal force matrix and gravity matrix of the object in the connected coordinate system. b The object is subjected to other external forces, which mainly refers to the equivalent operating force. b , Refers to the speed and acceleration of an object. s,b The position and posture of the object.
[0234] In order to ensure effective contact between the object and the palm and smooth sliding operation, the equivalent operating force of the object and the palm grasping force need to satisfy the following relationship:
[0235] min(||F b* -F b || 2 +||F c || 2 )
[0236] F b =GF c
[0237] In the above formula, F c is the palm grasping force, G is the grasping matrix, F b* is the expected equivalent operating force. The equivalent operating force of an object refers to the resultant force at the center of mass of the object, and the most direct factor affecting the equivalent operating force is the contact force between the palm and the object (i.e., the palm grasping force mentioned above). The contact force mentioned above is usually a 3D vector, which contains a force vector but does not contain a torque vector; the vector of the equivalent operating force of an object is usually a 6D vector, which contains both a force vector and a torque vector.
[0238] Considering the dynamics of the robot and the external forces it is subjected to, we have:
[0239]
[0240] In the above formula, M r (θ), and N r (θ) are the inertia matrix, centrifugal force matrix and gravity matrix related to the robot. is the force mapping Jacobian matrix. τ is the driving force vector of each joint.
[0241] Therefore, the control torque of the robot arm is:
[0242]
[0243] Where u is the control correction term related to the robot joint acceleration, k p and kd is the control coefficient, J V is the Jacobian matrix mapping between the object Cartesian velocity and the robot joint motion.
[0244] When manipulating an object, the Cartesian position and posture of the robot need to be controlled. In actual control, the robot's underlying controller needs to control each joint of the robot, and the control of each joint requires joint driving torque to achieve. Therefore, in the embodiment of the present application, the robot's controller needs to calculate the driving torque of the driving motor according to the above formula.
[0245] Step 705, based on the driving torque, the lifting component is driven by the driving motor to change and move its posture, so that the target object placed on the lifting component slides on the upper surface of the lifting component under the action of friction and gravity as the posture of the lifting component changes and moves, and slides away from the lifting component at the target position at the target speed.
[0246] Based on the above content, it can be seen that in the embodiment of the present application, when the target object slides on the upper surface of the lifting component, the acceleration of the target object on the upper surface of the lifting component is controlled by the offset angle of the upper surface of the lifting component relative to the horizontal plane, and the resistance of the target object during the sliding process is the sliding friction force.
[0247] Specifically, during the sliding process of the target object on the upper surface of the lifting component, as the inclination angle of the lifting component increases, the acceleration of the target object on the upper surface of the lifting component is greater than 0, and then the target object begins to slide with accelerated speed. As the inclination angle of the lifting component changes, the acceleration of the target object on the upper surface of the lifting component may continue to be greater than 0 (the sliding friction force is less than the component of the target object's gravity on the upper surface of the lifting component, and the target object continues to slide with accelerated speed), or, the acceleration of the target object on the upper surface of the lifting component may be equal to 0 (the sliding friction force is less than the component of the target object's gravity on the upper surface of the lifting component, and the sliding speed of the target object remains unchanged), or, the acceleration of the target object on the upper surface of the lifting component may also be less than 0 (the sliding friction force is greater than the component of the target object's gravity on the upper surface of the lifting component, and the target object begins to decelerate).
[0248] In an exemplary solution, during the process of placing an object, the robot first controls the palm to tilt at a large angle to accelerate the sliding of the object, and then reduces the tilt angle of the palm to decelerate the object and then release it from the palm.
[0249] In another exemplary embodiment, when placing an object, the robot first controls the palm to tilt at a large angle to accelerate the sliding of the object, and then reduces the tilt angle of the palm to keep the object sliding at a constant speed, and then leaves the palm.
[0250] In another exemplary embodiment, during the process of placing an object, the robot can control the palm to tilt at a large angle to accelerate the sliding of the object and make the object fall away from the palm during the acceleration process.
[0251] Through the scheme shown in the embodiment of the present application, the above-mentioned object dynamic placement strategy belongs to the dynamic operation of the robot, and its main advantages are as follows:
[0252] 1) Dynamic placement can effectively improve the efficiency of task completion and can be combined with other dynamic tasks to complete splicing actions;
[0253] 2) It can effectively complete the rapid placement of large-mass and large-size objects;
[0254] 3) No need for an additional load-bearing end effector, complex tasks can be completed using only the robot's palm or pallet.
[0255] In summary, the scheme shown in the embodiment of the present application constructs a sliding dynamics model to indicate the relationship between the change of the generalized coordinates of the motion system and the driving force received by the motion system during the movement of the target object lifted by the lifting component through the friction coefficient between the target object on the lifting component and the lifting component. Then, based on the sliding dynamics model, the motion trajectory of the lifting component and the driving force received by the motion system at each moment are obtained, and then the drive motor is controlled through the target control information so that the target object slides away from the lifting component at the target position at the target speed, thereby completing the object placement. In the above process, the target object is placed dynamically through the movement of the lifting component, and there is no static process, which can make the object placement action coherent, thereby improving the efficiency of object placement.
[0256] Fig.10 : is a structural block diagram of a control device for a robotic arm provided by an exemplary embodiment of the present application, wherein the robotic arm comprises a lifting component, a robotic arm body, and a driving motor, wherein the lifting component is connected to the end of the robotic arm body; the device comprises:
[0257] A coefficient acquisition module 1001 is used to acquire a friction coefficient between a target object on the lifting component and the lifting component;
[0258] A model building module 1002 is used to build a sliding dynamics model based on the friction coefficient; the sliding dynamics model is used to indicate the relationship between the change of the generalized coordinates of the motion system and the driving force applied to the motion system during the process of the lifting component lifting the target object; the motion system includes the lifting component and the target object;
[0259] A control information acquisition module 1003 is used to acquire target control information based on the sliding dynamics model; the target control information includes the motion trajectory of the lifting component and the driving force applied to the motion system at each moment;
[0260] The drive control module 1004 is used to drive the lifting component to change and move its posture through the drive motor based on the target control information, so that the target object changes and moves with the posture of the lifting component, slides on the upper surface of the lifting component under the action of friction and gravity, and slides away from the lifting component at a target position at a target speed.
[0261] In one possible implementation, when the target object slides on the upper surface of the lifting component, the acceleration of the target object on the upper surface of the lifting component is controlled by the offset angle of the upper surface of the lifting component relative to the horizontal plane, and the resistance of the target object during the sliding process is the sliding friction force.
[0262] In one possible implementation, the control information acquisition module 1003 is used to acquire the target control information based on control constraints with the goal of minimizing motion costs; the control constraints include the sliding dynamics model; the motion cost is the cost of driving the lifting component to change and move its posture through the drive motor, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity as the lifting component changes and moves its posture, and slides away from the lifting component at a target position at a target speed.
[0263] In a possible implementation manner, the process of the target object sliding on the lifting component includes a first process of sliding away from the lifting component along a first direction relative to the lifting component;
[0264] The control constraints include:
[0265] The sliding dynamics model;
[0266] The start time of the first process;
[0267] The end time of the first process;
[0268] The speed of the lifting component and the target object at the start of the first process;
[0269] The speed of the target object and the lifting component at the end of the first process;
[0270] Furthermore, the supporting force of the lifting component on the target object is greater than 0.
[0271] In a possible implementation manner, the process of the target object sliding on the lifting component includes:
[0272] A second process of sliding from an initial position relative to the lifting component along a second direction relative to the lifting component to a first position relative to the lifting component; and a third process of sliding from the first position relative to the lifting component along a third direction relative to the lifting component to separate from the lifting component;
[0273] The control constraints include:
[0274] The sliding dynamics model;
[0275] The start time of the second process;
[0276] The starting time of the third process;
[0277] The end time of the third process;
[0278] The speed of the lifting component and the target object at the start of the second process;
[0279] At the start of the third process, the speed of the lifting component and the target object;
[0280] At the end of the third process, the speed of the target object and the lifting component;
[0281] Furthermore, the supporting force of the lifting component on the target object is greater than 0.
[0282] In one possible implementation, when the initial position of the target object relative to the lifting component satisfies an adjustment condition, the process of the target object sliding on the lifting component includes: a second process starting from the initial position relative to the lifting component, sliding along a second direction relative to the lifting component to a first position relative to the lifting component; and a third process starting from the first position relative to the lifting component, sliding along a third direction relative to the lifting component to separate from the lifting component.
[0283] In a possible implementation manner, the adjustment condition includes: an initial position of the target object relative to the lifting component is located at an edge of the lifting component.
[0284] In a possible implementation, the control information acquisition module 1003 is used to acquire target control information by impedance control based on the sliding dynamics model;
[0285] Wherein, during the impedance control process, the grasping force exerted on the target object is determined by the supporting force and friction force exerted by the lifting component on the target object.
[0286] In a possible implementation, the coefficient acquisition module 1001 is used to:
[0287] Acquire a picture when the target object slides on the lifting component;
[0288] Based on the picture when the target object slides on the lifting component, the sliding information of the target object is obtained; the sliding information includes the tilt angle of the lifting component when the target object slides on the lifting component, and the acceleration of the target object sliding on the lifting component;
[0289] The friction coefficient is obtained according to the sliding information.
[0290] In summary, the scheme shown in the embodiment of the present application constructs a sliding dynamics model to indicate the relationship between the change of the generalized coordinates of the motion system and the driving force received by the motion system during the movement of the target object lifted by the lifting component through the friction coefficient between the target object on the lifting component and the lifting component. Then, based on the sliding dynamics model, the motion trajectory of the lifting component and the driving force received by the motion system at each moment are obtained, and then the drive motor is controlled through the target control information so that the target object slides away from the lifting component at the target position at the target speed, thereby completing the object placement. In the above process, the target object is placed dynamically through the movement of the lifting component, and there is no static process, which can make the object placement action coherent, thereby improving the efficiency of object placement.
[0291] It should be noted that: the device provided in the above embodiment is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the device provided in the above embodiment belongs to the same concept as the method embodiment. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0292] Fig.11 The structure block diagram of a robot 1100 provided by an exemplary embodiment of the present application is shown. The robot 1100 may include: a lifting component 1101 , a robot arm body 1102 , a driving motor 1103 , a processor 1104 and a memory 1105 .
[0293] The processor 1104 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 1104 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). In some embodiments, the processor 1104 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.
[0294] The memory 1105 may include one or more computer-readable storage media, which may be non-transitory. The memory 1105 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 1105 is used to store at least one instruction, which is used to be executed by the processor 1104 to implement the control method of the robot arm provided in the method embodiment of the present application.
[0295] In some embodiments, the robot 1100 may also optionally include: a peripheral device interface and at least one peripheral device. The processor 1104, the memory 1105 and the peripheral device interface may be connected via a bus or a signal line. Each peripheral device may be connected to the peripheral device interface via a bus, a signal line or a circuit board. Specifically, the peripheral device may include: at least one of a radio frequency circuit, a display screen, a camera assembly, an audio circuit, and a power supply.
[0296] The peripheral device interface may be used to connect at least one peripheral device related to I / O (Input / Output) to the processor 1104 and the memory 1105 .
[0297] The camera component can be used to capture images or videos.
[0298] In some embodiments, the robot 1100 further includes one or more sensors, including but not limited to: an acceleration sensor, a gyroscope sensor, a pressure sensor, an optical sensor, a proximity sensor, and the like.
[0299] Those skilled in the art will understand that Fig.11 The structure shown in the figure does not constitute a limitation on the robot 1100, and the robot 1100 may include more or fewer components than shown in the figure, or combine certain components, or adopt a different component arrangement.
[0300] The embodiment of the present application further provides a robot, the robot comprising the above Figure 1 or Figure 2 The controller in the robot arm can be used to perform the above Figure 3 or Figure 7 The control method of the robotic arm shown.
[0301] An embodiment of the present application also provides a computer-readable storage medium, on which at least one computer instruction is stored, and the at least one computer instruction is loaded and executed by a processor to implement the control method of the robotic arm provided by the above-mentioned method embodiments.
[0302] The embodiments of the present application also provide a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device (such as a robot) reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the control method of the robot arm described in any of the above embodiments.
[0303] Optionally, the computer readable storage medium may include: a read-only memory (ROM), a random access memory (RAM), a solid state drive (SSD), or an optical disk. Among them, the random access memory may include a resistance random access memory (ReRAM) and a dynamic random access memory (DRAM). The serial numbers of the above embodiments of the present application are only for description and do not represent the advantages and disadvantages of the embodiments.
[0304] A person skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware or by instructing related hardware through a program, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0305] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A robotic arm, characterized in that: The robotic arm comprises: a lifting component, a robotic arm body, a driving motor and a controller; The controller is electrically connected to the driving motor; the lifting component is connected to the end of the mechanical arm body; The controller is used to control the drive motor to drive the lifting component to move along the first direction to the first position; control the drive motor to drive the lifting component to tilt in the horizontal direction of the first direction, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity, and slides away from the lifting component at a target speed at the target position; the horizontal direction of the target speed is the same as the horizontal direction of the first direction; the process of the drive motor driving the lifting component to tilt in the horizontal direction of the first direction starts to be executed during the process of controlling the drive motor to drive the lifting component to move along the first direction to the first position, or starts to be executed when controlling the drive motor to drive the lifting component to move along the first direction to the first position, or starts to be executed after controlling the drive motor to drive the lifting component to move along the first direction to the first position; Alternatively, the control is used to control the drive motor to drive the lifting component to move along the second direction to the second position; control the drive motor to drive the lifting component to tilt in the opposite direction of the horizontal direction of the second direction, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity, and slides away from the lifting component at a target speed at the target position; wherein the horizontal direction of the target speed is opposite to the horizontal direction of the second direction; the process of controlling the drive motor to drive the lifting component to tilt in the opposite direction of the horizontal direction of the second direction starts during the process of controlling the drive motor to drive the lifting component to move along the second direction to the second position, or starts when controlling the drive motor to drive the lifting component to move along the second direction to the second position, or starts after controlling the drive motor to drive the lifting component to move along the second direction to the second position.
2. The robotic arm according to claim 1, characterized in that: The lifting component is connected to the mechanical arm body via a first joint; The drive motor includes a first drive motor; The first driving motor is used to drive the first joint to rotate the lifting component.
3. The robotic arm according to claim 1, characterized in that: The drive motor includes a second drive motor; The second driving motor is used to drive the lifting component to move.
4. The robotic arm according to claim 1, characterized in that: The lifting component is in the shape of a flat plate.
5. The robotic arm according to any one of claims 1 to 4, characterized in that: The mechanical arm also includes: an image acquisition component; The image acquisition component is electrically connected to the controller; The image acquisition component is used to acquire images at the lifting component.
6. A method for controlling a robotic arm, characterized in that: The mechanical arm comprises a lifting component, a mechanical arm body, and a driving motor, wherein the lifting component is connected to the end of the mechanical arm body; the method comprises: Obtaining a friction coefficient between a target object on the lifting component and the lifting component; Based on the friction coefficient, a sliding dynamics model is constructed; the sliding dynamics model is used to indicate the relationship between the change of the generalized coordinates of the motion system and the driving force applied to the motion system during the process of the lifting component lifting the target object; the motion system includes the lifting component and the target object; Based on the sliding dynamics model, target control information is acquired; the target control information includes the motion trajectory of the lifting component and the driving force exerted on the motion system at each moment; Based on the target control information, the driving motor drives the lifting component to change its posture and move, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity as the lifting component changes its posture and moves, and slides away from the lifting component at a target position at a target speed; Wherein, based on the target control information, driving the lifting component to change posture and move by the driving motor includes: Based on the target control information, the drive motor is controlled to drive the lifting component to move along the first direction to the first position; the drive motor is controlled to drive the lifting component to tilt in the horizontal direction of the first direction, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity, and slides away from the lifting component at a target speed at the target position; the horizontal direction of the target speed is the same as the horizontal direction of the first direction; the process of the drive motor driving the lifting component to tilt in the horizontal direction of the first direction starts during the process of controlling the drive motor to drive the lifting component to move along the first direction to the first position, or starts when controlling the drive motor to drive the lifting component to move along the first direction to the first position, or starts after controlling the drive motor to drive the lifting component to move along the first direction to the first position; or, Based on the target control information, the drive motor is controlled to drive the lifting component to move along the second direction to the second position; the drive motor is controlled to drive the lifting component to tilt in the opposite direction of the horizontal direction of the second direction, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity, and slides away from the lifting component at a target speed at the target position; wherein the horizontal direction of the target speed is opposite to the horizontal direction of the second direction; the process of controlling the drive motor to drive the lifting component to tilt in the opposite direction of the horizontal direction of the second direction starts to be executed during the process of controlling the drive motor to drive the lifting component to move along the second direction to the second position, or starts to be executed when controlling the drive motor to drive the lifting component to move along the second direction to the second position, or starts to be executed after controlling the drive motor to drive the lifting component to move along the second direction to the second position.
7. The method according to claim 6, characterized in that When the target object slides on the upper surface of the lifting component, the acceleration of the target object on the upper surface of the lifting component is controlled by the offset angle of the upper surface of the lifting component relative to the horizontal plane, and the resistance of the target object during the sliding process is the sliding friction force.
8. The method according to claim 6 or 7, characterized in that: The acquiring target control information based on the sliding dynamics model includes: Based on control constraints, the target control information is acquired with the goal of minimizing the motion cost; the control constraints include the sliding dynamics model; the motion cost is the cost of driving the lifting component to change and move its posture by the drive motor, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity as the posture of the lifting component changes and moves, and slides away from the lifting component at a target position at a target speed.
9. The method according to claim 8, characterized in that In the case where the process of the target object sliding on the lifting component includes a first process of sliding away from the lifting component along a first direction relative to the lifting component, the control constraint condition includes: The sliding dynamics model; The start time of the first process; The end time of the first process; The speed of the lifting component and the target object at the start of the first process; The speed of the target object and the lifting component at the end of the first process; Furthermore, the supporting force of the lifting component on the target object is greater than 0.
10. The method according to claim 8, characterized in that In the case where the process of the target object sliding on the lifting component includes a second process of sliding from an initial position relative to the lifting component along a second direction relative to the lifting component to a first position relative to the lifting component, and a third process of sliding from the first position relative to the lifting component along a third direction relative to the lifting component to separate from the lifting component, the control constraint conditions include: The sliding dynamics model; The start time of the second process; The starting time of the third process; The end time of the third process; The speed of the lifting component and the target object at the start of the second process; At the start of the third process, the speed of the lifting component and the target object; At the end of the third process, the speed of the target object and the lifting component; Furthermore, the supporting force of the lifting component on the target object is greater than 0.
11. The method according to claim 10, characterized in that When the initial position of the target object relative to the lifting component satisfies the adjustment condition, The process of the target object sliding on the lifting component includes: a second process starting from an initial position relative to the lifting component, sliding along a second direction relative to the lifting component to a first position relative to the lifting component; and a third process starting from the first position relative to the lifting component, sliding along a third direction relative to the lifting component to separate from the lifting component.
12. The method according to claim 11, characterized in that The adjustment condition includes: an initial position of the target object relative to the lifting component is located at an edge of the lifting component.
13. The method according to claim 6 or 7, characterized in that: The acquiring target control information based on the sliding dynamics model includes: Based on the sliding dynamics model, obtaining target control information by impedance control; Wherein, during the impedance control process, the grasping force exerted on the target object is determined by the supporting force and friction force exerted by the lifting component on the target object.
14. The method according to claim 6 or 7, characterized in that: The obtaining of the friction coefficient between the target object on the lifting component and the lifting component comprises: Acquire a picture when the target object slides on the lifting component; Based on the picture when the target object slides on the lifting component, the sliding information of the target object is obtained; the sliding information includes the tilt angle of the lifting component when the target object slides on the lifting component, and the acceleration of the target object sliding on the lifting component; The friction coefficient is obtained according to the sliding information.
15. A control device for a robotic arm, characterized in that: The mechanical arm comprises a lifting component, a mechanical arm body, and a driving motor, wherein the lifting component is connected to the end of the mechanical arm body; the device comprises: A coefficient acquisition module, used to acquire the friction coefficient between the target object on the lifting component and the lifting component; A model building module, used to build a sliding dynamics model based on the friction coefficient; the sliding dynamics model is used to indicate the relationship between the change of the generalized coordinates of the motion system and the driving force applied to the motion system during the process of the lifting component lifting the target object; the motion system includes the lifting component and the target object; A control information acquisition module, used to acquire target control information based on the sliding dynamics model; the target control information includes the motion trajectory of the lifting component and the driving force applied to the motion system at each moment; A drive control module, for controlling the drive motor to drive the lifting component to move along a first direction to a first position based on the target control information; controlling the drive motor to drive the lifting component to tilt in a horizontal direction to the first direction, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity, and slides away from the lifting component at a target speed at the target position; the horizontal direction of the target speed is the same as the horizontal direction of the first direction; the process of the drive motor driving the lifting component to tilt in a horizontal direction to the first direction starts when the drive motor is controlled to drive the lifting component to move along the first direction to the first position, or starts when the drive motor is controlled to drive the lifting component to move along the first direction to the first position, or starts after the drive motor is controlled to drive the lifting component to move along the first direction to the first position; or, The drive control module is used to control the drive motor to drive the lifting component to move along the second direction to the second position based on the target control information; control the drive motor to drive the lifting component to tilt in the opposite direction of the horizontal direction of the second direction, so that the target object slides on the upper surface of the lifting component under the action of friction and gravity, and slides away from the lifting component at a target speed at the target position; wherein the horizontal direction of the target speed is opposite to the horizontal direction of the second direction; the process of controlling the drive motor to drive the lifting component to tilt in the opposite direction of the horizontal direction of the second direction starts to be executed during the process of controlling the drive motor to drive the lifting component to move along the second direction to the second position, or starts to be executed when controlling the drive motor to drive the lifting component to move along the second direction to the second position, or starts to be executed after controlling the drive motor to drive the lifting component to move along the second direction to the second position.
16. A computer-readable storage medium, characterized in that: The storage medium stores at least one computer instruction, and the at least one computer instruction is loaded and executed by the processor to implement the control method of the robotic arm as described in any one of claims 6 to 14.
17. A computer program product, characterized in that The computer program product includes at least one computer instruction, and the at least one computer instruction is loaded and executed by a processor to implement the control method of the robotic arm as described in any one of claims 6 to 14.
18. A robot, characterized in that: The robot comprises a robotic arm as described in any one of claims 1 to 5; The controller in the robotic arm is used to execute the robotic arm control method as described in any one of claims 6 to 14.
Citation Information
Patent Citations
Part placement system and device and method for placement of parts
CN109424719A
Restaurant is with automatic robotic device that serves
CN207669311U
Cited By
Robotic arm, control method and apparatus for same, robot and storage medium
WO2023142724A1