Control methods, devices, equipment and storage media for robotic arms

By constructing the dynamic system and posture information mapping relationship of the robotic arm, the control problem caused by the appearance design of the robotic arm is solved, and the balance of objects at positions other than the end effector is achieved, thereby improving the flexibility and control accuracy of the robotic arm.

CN116945154BActive Publication Date: 2026-06-30TENCENT TECHNOLOGY (SHENZHEN) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2023-03-31
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

In existing technologies, robotic arms are designed with curved surfaces and lack gripping mechanisms, which makes them difficult to control and difficult to maintain the balance of moving objects in positions other than the end effector, making it easy for objects to fall.

Method used

By constructing a dynamic system for the robotic arm, attitude information is obtained, and based on the mapping relationship between attitude information and control information, control information is determined to control the movement of the robotic arm, so that the movable object can maintain balance at positions other than the end effector.

Benefits of technology

It enables the robot arm to maintain the balance of a moving object at any position except the end effector, preventing it from falling and improving the robot arm's flexibility and control precision.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116945154B_ABST
    Figure CN116945154B_ABST
Patent Text Reader

Abstract

This application discloses a control method, apparatus, device, and storage medium for a robotic arm, relating to the field of robotics. In the method, a movable object is placed at any position on the robotic arm except for its end effector. The method includes: acquiring at least a dynamic system constructed based on the robotic arm, and obtaining posture information from the dynamic system; determining control information based on the mapping relationship between the posture information and the control information of the robotic arm; and using the control information to control the movement of the robotic arm until the movable object reaches a balanced state on the robotic arm.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robotics, and in particular to a control method, apparatus, device, and storage medium for a robotic arm. Background Technology

[0002] With the development of robotics technology and the expansion of its applications, robots have gradually become irreplaceable tools in production, services, and other fields. The robotic arm, a common actuator in robots, plays a vital role in both production and daily life.

[0003] In related technologies, the end effector of a robotic arm is typically used to complete the operation. Alternatively, an end effector can be installed at the end effector of the robotic arm to perform the corresponding operation, such as installing a robotic finger at the end effector of the robotic arm, and the operation is completed by controlling the movement of the robotic arm and the robotic finger. Summary of the Invention

[0004] This application provides a control method, device, equipment, and storage medium for a robotic arm, enabling a movable object to maintain balance and prevent it from falling at any position on the robotic arm except for its end effector. The technical solution is as follows:

[0005] According to one aspect of this application, a control method for a robotic arm is provided, wherein a movable object is placed at any position on the robotic arm except for its end effector, the method comprising:

[0006] This involves acquiring at least the dynamic system constructed based on the robotic arm, and obtaining attitude information from the dynamic system.

[0007] Based on the mapping relationship between posture information and the control information of the robotic arm, the control information is determined;

[0008] Using control information, the movement of the robotic arm is controlled until the movable object reaches a balanced state on the robotic arm.

[0009] According to one aspect of this application, a control device for a robotic arm is provided, the device comprising:

[0010] The acquisition module is used to acquire at least the dynamic system constructed based on the robotic arm and obtain attitude information from the dynamic system;

[0011] The determination module is used to determine the control information based on the mapping relationship between posture information and the control information of the robotic arm;

[0012] The control module is used to control the movement of the robotic arm using control information until the movable object reaches a balanced state on the robotic arm.

[0013] According to one aspect of this application, a robotic arm is provided, the robotic arm including a memory and a controller;

[0014] The memory stores at least one line of program code, which is loaded and executed by the controller to implement the control method of the robotic arm as described above.

[0015] According to one aspect of this application, a computer-readable storage medium is provided, in which a computer program is stored, the computer program being executed by a processor to implement the robotic arm control method described above.

[0016] According to one aspect of this application, a chip is provided, the chip including programmable logic circuitry and / or program instructions, for implementing the control method of the robotic arm as described above when an electronic device on which the chip is mounted is running.

[0017] According to one aspect of this application, a computer program product is provided, comprising computer instructions stored in a computer-readable storage medium, wherein a processor reads from and executes the computer instructions to implement the robotic arm control method described above.

[0018] The technical solutions provided in this application have at least the following beneficial effects:

[0019] A novel method for using a robotic arm is provided, enabling a movable object to maintain balance and prevent it from falling at any position on the arm except for its end effector, such as preventing a bottle from slipping off the forearm. The control information of the robotic arm can be determined based on the mapping relationship between the attitude information of at least the dynamic system constructed by the robotic arm and the control information of the robotic arm, thereby achieving control of the robotic arm. Attached Figure Description

[0020] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0021] Figure 1 This is a schematic diagram of a robotic arm provided in an exemplary embodiment of this application;

[0022] Figure 2 This is a schematic diagram of a robotic arm provided in an exemplary embodiment of this application;

[0023] Figure 3 This is a schematic diagram of a robotic arm provided in an exemplary embodiment of this application;

[0024] Figure 4This is a flowchart of a control method for a robotic arm provided in an exemplary embodiment of this application;

[0025] Figure 5 This is a schematic diagram of a robotic arm performing balance according to an exemplary embodiment of this application;

[0026] Figure 6 This is a schematic diagram of a robotic arm performing balance according to an exemplary embodiment of this application;

[0027] Figure 7 This is a flowchart of a control method for a robotic arm provided in an exemplary embodiment of this application;

[0028] Figure 8 This is a flowchart of a control method for a robotic arm provided in an exemplary embodiment of this application;

[0029] Figure 9 This is a flowchart of a control method for a robotic arm provided in an exemplary embodiment of this application;

[0030] Figure 10 This is a schematic diagram of a two-dimensional plane of a robotic arm provided in an exemplary embodiment of this application;

[0031] Figure 11 This is a schematic diagram of a two-dimensional plane of a robotic arm provided in an exemplary embodiment of this application;

[0032] Figure 12 This is a schematic diagram of the three-dimensional space of a robotic arm provided in an exemplary embodiment of this application;

[0033] Figure 13 This is a schematic diagram of the three-dimensional space of a robotic arm provided in an exemplary embodiment of this application;

[0034] Figure 14 This is a schematic diagram of a robotic arm performing balance according to an exemplary embodiment of this application;

[0035] Figure 15 This is a schematic diagram of a robotic arm performing balance according to an exemplary embodiment of this application;

[0036] Figure 16 This is a schematic diagram of a robotic arm performing balance according to an exemplary embodiment of this application;

[0037] Figure 17 This is a schematic diagram of the overall control architecture of a robotic arm provided in an exemplary embodiment of this application;

[0038] Figure 18 This is a schematic diagram of a control device for a robotic arm provided in an exemplary embodiment of this application;

[0039] Figure 19This is a structural block diagram of a robotic arm provided in an exemplary embodiment of this application. Detailed Implementation

[0040] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0041] A robotic arm is a common actuator in robots. With the widespread application of artificial intelligence, robotic arms play an important role in production and daily life, becoming an indispensable piece of equipment.

[0042] In the use of robotic arms, the end effector of the robotic arm is usually used to complete the operation task; or, an end effector is installed at the end effector of the robotic arm to complete the corresponding operation, such as installing a mechanical finger at the end effector of the robotic arm, and completing the operation by controlling the movement of the robotic arm and the mechanical finger.

[0043] In related technologies, the use of rigid body connectors and / or shells of robotic arms to complete operational tasks is not considered. The main reasons are: firstly, the appearance of robotic arms is generally a curved design and does not have a large flat surface; secondly, without the design of mechanical fingers or other grasping mechanisms, the contact between the appearance of the robotic arm and external objects will not form a shape closure and force closure, which will make the control of the robotic arm more difficult.

[0044] Figure 1 A schematic diagram of a robotic arm provided in an exemplary embodiment of this application is shown.

[0045] In some embodiments, the robotic arm is a 7-DOF robotic arm. The elbow and wrist control motors are positioned behind the hollow of the third joint of the shoulder. Optionally, the elbow and wrist are driven by a belt driven by a motor in the shoulder, which in turn drives a pulley. The pulley then controls the movement of the elbow and wrist via a belt-driven rope.

[0046] Schematic, the robotic arm includes: a first mechanical joint 10, a second mechanical joint 20, and a drive assembly 30.

[0047] The first mechanical joint 10 includes a first fixed member 101 and a first movable member 102 that are rotatably connected; the second mechanical joint 20 includes a second fixed member 201 and a second movable member 202 that are rotatably connected; the second fixed member 201 and the first movable member 102 are connected.

[0048] The drive assembly 30 includes at least two drive sources 301 and at least two drive ropes 302; each of the at least two drive sources 301 is connected to the first fixed member 101, the first movable member 102 and the second movable member 202 via at least one drive rope 302.

[0049] At least two drive sources 301 include a first operating mode and a second operating mode;

[0050] In the first working mode, at least two drive sources 301 can drive the second movable member 202 to rotate relative to the second fixed member 201, and fix the position of the first movable member 102 relative to the first fixed member 101.

[0051] In the second working mode, at least two drive sources 301 can drive the second movable member 202, the second fixed member 201 and the first movable member 102 to rotate relative to the first fixed member 101, and fix the position of the second movable member 202 relative to the second fixed member 201.

[0052] The disclosed robotic arm includes a first mechanical joint 10, a second mechanical joint 20, and a drive assembly 30. The drive assembly 30 includes at least two drive sources 301 and at least two drive ropes 302. Each of the at least two drive sources 301 is connected to a first movable member 102 of the first mechanical joint 10, a second movable member 202 of the second mechanical joint 20, and a first fixed member 101 of the first mechanical joint 10 via at least one drive rope 302. In a first working mode, the at least two drive sources 301 can drive the second movable member 202 relative to the first movable member 202. The second fixed member 201 rotates, and the position of the first movable member 102 relative to the first fixed member 101 is fixed. In the second working mode, the second movable member 202, the second fixed member 201 and the first movable member 102 can be driven to rotate relative to the first fixed member 101, and the position of the second movable member 202 relative to the second fixed member 201 is fixed. This realizes the coupled driving of at least two driving sources 301 to multiple joints, improves the utilization rate of driving sources 301, reduces the structural complexity of mechanical joints, increases the rotational inertia of mechanical joints, and enhances the motion performance of mechanical joints.

[0053] Furthermore, in this embodiment, when the second mechanical joint 20 moves independently (i.e., the second movable member 202 rotates relative to the second fixed member 201, but the position of the first movable member 102 relative to the first fixed member 101 is fixed), and when the first mechanical joint 10 drives the second mechanical joint 20 to move in a coupled manner (i.e., the second movable member 202, the second fixed member 201, and the first movable member 102 rotate relative to the first fixed member 101, and the position of the second movable member 202 relative to the second fixed member 201 is fixed), it is driven simultaneously by at least two drive sources 301. That is, regardless of which degree of freedom corresponds to the joint movement, it is driven by the power of at least two drive sources 301. Compared with the related technology, where a single degree of freedom is driven by a single drive source 301, it can achieve the coupled drive of at least two drive sources 301 on a single movable member, achieving at least twice the traction drive, which is beneficial to improving the working performance of the movable member, such as the torque and rotation speed.

[0054] In some possible implementations, at least two drive sources 301 include a motor and a drive pulley, which are connected by a transmission mechanism, and the motor drives the drive pulley to rotate through the transmission mechanism.

[0055] The drive rope 302 is wound around the drive pulley. When the drive pulley rotates, it can tighten the drive rope 302 around it, thereby generating a traction force on at least one of the first fixed member 101, the first movable member 102 and the second movable member 202 through the drive rope 302.

[0056] In some possible implementations, the transmission mechanism includes, but is not limited to, belt drive mechanism, gear drive mechanism, worm gear drive mechanism, etc.

[0057] For example, the transmission mechanism is a belt drive, which includes a driving pulley, a transmission belt and a driven pulley, wherein the driving pulley is connected to the output shaft of the motor, the driven pulley is connected to the driving pulley, and the transmission belt is connected between the driving pulley and the driven pulley.

[0058] As another example, the transmission mechanism is a belt drive, and may also include a tensioning mechanism located near the transmission belt, which can be used to adjust the tension of the transmission belt.

[0059] In some possible implementations, the first working mode and the second working mode can be, for example, different working modes formed according to the different or the same rotational directions of at least two drive sources 301; different working modes formed according to the different or the same rotational speeds of at least two drive sources 301; or different working modes formed according to the different or the same rotational directions and rotational speeds of at least two drive sources 301.

[0060] In some embodiments, in a first operating mode, at least two drive sources 301 rotate in the same direction, and in a second operating mode, at least two drive sources 301 rotate in opposite directions.

[0061] Therefore, the robotic arm in this embodiment can control the independent movement of the second mechanical joint 20 and the coupled movement of the first mechanical joint 10 driving the second mechanical joint 20 by controlling the rotation direction of the at least two drive sources 301. The structure is simple and the coupling control efficiency is high.

[0062] In some embodiments, in a first operating mode, at least two drive sources 301 rotate in opposite directions, and in a second operating mode, at least two drive sources 301 rotate in the same direction.

[0063] Furthermore, by way of example, in the first operating mode and the second operating mode, the rotational speed and output torque of at least two drive sources 301 are the same.

[0064] Combination Figure 1 As shown, in some embodiments, at least two drive sources 301 are located on the side of the first fixed member 101 away from the first movable member 102, and at least two drive ropes 302 pass through the first fixed member 101 and are connected to the first movable member 102, and pass through the second fixed member 201 and are connected to the second movable member 202.

[0065] Therefore, in the robotic arm of this embodiment, at least two drive sources 301 are disposed on the side of the first fixed member 101 away from the first movable member 102. The drive rope 302 passes through the first fixed member 101 and connects to the first movable member 102, and passes through the second fixed member 201 and connects to the second movable member 202. The mass of the at least two drive sources 301 is concentrated on the side where the first fixed member 101 is located. The mass of the side where the first movable member 102, the second fixed member 201, and the second movable member 202 are located is relatively small, which is beneficial to increasing the rotational inertia of the structure on that side and improving its operating performance.

[0066] Combination Figure 2 As shown, in some embodiments, the first mechanical joint 10 is a mechanical shoulder joint, and the second mechanical joint 20 is a mechanical elbow joint; the first fixed member 101 and the first movable member 102 are rotatably connected along the first axis 001; the second fixed member 201 and the second movable member 202 are rotatably connected along the second axis 002.

[0067] In the first working mode, at least two drive sources 301 can drive the second movable member 202 to rotate relative to the second fixed member 201 around the second axis 002, thereby fixing the position of the first movable member 102 relative to the first fixed member 101; in the second working mode, at least two drive sources 301 can drive the second mechanical joint 20 and the first movable member 102 to rotate relative to the first fixed member 101 around the first axis 001, thereby fixing the position of the second movable member 202 relative to the second fixed member 201.

[0068] In some other embodiments, the first mechanical joint 10 is a mechanical shoulder joint and the second mechanical joint 20 is a mechanical elbow joint. In the first working mode, at least two drive sources 301 can drive the second movable member 202 of the mechanical elbow joint to rotate about the second axis 002 relative to the second fixed member 201 of the mechanical elbow joint. The position of the first movable member 102 of the mechanical shoulder joint relative to the first fixed member 101 of the mechanical shoulder joint is fixed, thereby realizing the independent movement of the mechanical elbow joint.

[0069] In the second working mode, at least two drive sources 301 can drive the first movable part 102 of the mechanical shoulder joint to drive the entire mechanical elbow joint (including the second fixed part 201 and the second movable part 202) to rotate around the first axis 001 relative to the first fixed part 101 of the mechanical shoulder joint, but the position of the second movable part 202 of the mechanical elbow joint relative to the second fixed part 201 of the mechanical elbow joint is fixed, thereby realizing the coupled movement of the mechanical elbow joint and the mechanical shoulder joint.

[0070] For example, the robotic arm can use a set of drive sources 301. The controller can control the set of drive sources 301 to operate in different working modes, thereby driving the robotic elbow joint and the robotic shoulder joint respectively. The degrees of freedom of the robotic elbow joint and the robotic shoulder joint can be driven by at least two drive sources 301, achieving at least twice the traction force, which is beneficial to improving the working performance of the robotic elbow joint and the robotic shoulder joint, such as torque and rotation speed.

[0071] In some possible implementations, the robotic arm also includes a robotic wrist joint, a robotic shoulder joint connected to a robotic elbow joint, and a robotic wrist joint connected to a robotic elbow joint to form a complete robotic arm.

[0072] In some possible implementations, at least two drive sources 301 are located within and connected to the second movable member 202, and move with the second movable member 202.

[0073] Combination Figure 2 As shown, in some embodiments, the first axis 001 and the second axis 002 intersect perpendicularly. Thus, the first mechanical joint 10 (such as a mechanical shoulder joint) can drive the second mechanical joint 20 (such as a mechanical elbow joint) to rotate, simulating the forearm rotation movement in the human arm. The second mechanical joint 20 can rotate within a wide range (such as 0-360°) in space, enriching the action scenarios of the robotic arm and improving its applicability.

[0074] Combination Figure 2 As shown, in some embodiments, the first mechanical joint 10 further includes a third fixing member 103; the first fixing member 101 is rotatably connected to the third fixing member 103. Thus, the first mechanical joint 10 includes the third fixing member 103, the first fixing member 101, and the first movable member 102, which are rotatably connected in sequence.

[0075] In some possible implementations, the first fixing member 101 is driven to rotate relative to the second fixing member 201 via a shoulder drive assembly, simulating the lifting motion of the shoulder joint of a human arm. The second fixing member 201 is fixedly connected to the robot's torso or other support structure, serving to fix and support the entire robotic arm.

[0076] Combination Figure 2As shown, in some embodiments, the second mechanical joint 20 further includes a first connector 203, a second fixing member 201 is rotatably connected to the first connector 203, and the first connector 203 is rotatably connected to the second movable member 202.

[0077] Therefore, in the robotic arm of this embodiment, the second fixed member 201 in the second mechanical joint 20 is rotatably connected to the second movable member 202 through the first connecting member 203, which enables the second axis 002 to be set at a position far away from the second fixed member 201, so that the angle at which the second movable member 202 can rotate relative to the second fixed member 201 is significantly expanded.

[0078] In addition, the robotic arm in this embodiment reduces the wiring difficulty of the drive rope 302 of the robotic elbow joint, which helps to reduce the assembly and maintenance difficulty of the robotic elbow joint.

[0079] In this embodiment, the robotic arm has at least two drive sources 301, including two elbow drive pulleys. The two elbow drive pulleys are installed inside the first movable member 102. The two elbow drive pulleys can drive two elbow drive ropes 302 respectively. The two elbow drive ropes 302 are wound around the two elbow drive pulleys, which also realizes the connection between the drive ropes 302 and the first movable member 102.

[0080] At least two drive ropes 302 include two elbow drive ropes 302, which are respectively connected to the first fixed member 101, the first movable member 102, and the second movable member 202, and are respectively connected to the first position and the second position of the second movable member 202, and finally connected to the second movable member 202 in opposite winding directions.

[0081] refer to Figure 3 Taking the first mechanical joint 10 as a mechanical shoulder joint as an example, in the low inertia differential shoulder joint structure of the robotic arm with 7 degrees of freedom, a differential rope drive mechanism is used in the shoulder, which can reduce the weight of the mechanism by placing the motor module at the rear, and in some cases can also achieve torque superposition.

[0082] The third degree of freedom of the shoulder joint uses a pair of large and small pulleys, driven by a rope, to further improve transmission accuracy and reduce weight. Finally, the drive modules for the wrist and elbow joints are placed behind the upper arm module of the shoulder joint, thereby reducing the overall weight of the robotic arm.

[0083] Based on this, the structure of the robotic arm will be easy to modularize, thereby simplifying the manufacturing process of the robotic arm.

[0084] Referring to the foregoing, the end effector of a robotic arm is typically used to complete operational tasks. This application provides a control method for a robotic arm that enables balancing tasks to be performed using the non-end effector of the robotic arm, thereby allowing a movable object to maintain balance at any position on the robotic arm other than the end effector.

[0085] The end effector is used to indicate the end of the robotic arm away from the shoulder joint. In some embodiments, the robotic arm is composed of multiple links connected end-to-end. For example, link 1 and link 2 constitute the robotic arm, with the first end of link 1 being the shoulder joint and the second end of link 1 connected to the first end of link 2; in this case, the end effector is used to indicate the second end of link 2. In some embodiments, the end effector can also be understood as the robotic hand connected to the end of the robotic arm away from the shoulder joint. For example, in a robotic arm composed of link 1 and link 2, with the first end of link 2 connected to link 1 and the second end of link 2 being the robotic hand, the end effector is used to indicate the robotic hand on link 2.

[0086] refer to Figure 1 It should be understood that when the robotic arm is mounted on the robot body, the second movable part 202 is the end of the robotic arm away from the shoulder joint, that is, the end of the robotic arm described in the embodiments of this application.

[0087] A movable object can be used to indicate any three-dimensional object occupying a certain space, whose shape, size, material, mass, etc., are unrestricted. For example, a movable object can be a bottle, rod, sphere, irregular object, etc. It should be understood that a movable object is a non-fixed object that can be placed at any position on the robotic arm except for its end effector, and is not fixed to the robotic arm. Furthermore, a movable object is placed at any position on the robotic arm except for its end effector, with part of its outer surface in contact with the robotic arm, while other outer surfaces do not contact the robotic arm.

[0088] Taking a bottle as an example of a movable object, for a robotic arm with multiple degrees of freedom, the control method of the robotic arm provided in this application embodiment achieves the goal of keeping the bottle balanced on the surface of the robotic arm's forearm without it falling, through a non-end link of the robotic arm (such as the forearm of the robotic arm).

[0089] It should be understood that the control method provided in the embodiments of this application can be implemented by the controller of the aforementioned robotic arm. The controller can be set in the robotic arm or set outside the robotic arm and connected to the robotic arm by wire or wireless means to control the movement of the robotic arm.

[0090] Figure 4 This application illustrates a control method for a robotic arm provided in an exemplary embodiment. Figure 5This diagram illustrates a robotic arm performing balance according to an exemplary embodiment of this application. A movable object is placed at any position on the robotic arm except for its end effector; a description of the movable object can be found in the foregoing. (Reference) Figure 5 Taking a bottle as an example, the movable object is placed on the forearm of the robotic arm.

[0091] Indicatively, the control method for the robotic arm provided in this application embodiment includes:

[0092] Step 120: Obtain at least the dynamic system constructed based on the robotic arm, and obtain attitude information from the dynamic system.

[0093] Schematic, a dynamic system is used to describe the force and / or motion relationships of a robotic arm while maintaining the balance of a movable object. Since the control of the robotic arm (or can be understood as the dynamic response of the robotic arm to balancing a movable object) is subject to the dual constraints of the motion of the robotic arm and the motion of the movable object, the dynamic system needs to reflect the interaction between the robotic arm and the movable object.

[0094] In some embodiments, a coordinate system can be constructed based on the robotic arm, and torque and / or motion information of the robotic arm can be acquired through at least one sensor associated with the robotic arm, such as the control torque of each joint of the robotic arm and / or the displacement of each constituent link relative to its initial position. The at least one sensor includes, but is not limited to, one of the following: a torque sensor, a tactile sensor, a vision sensor, etc. It should be understood that, based on at least one sensor, relevant information about the movable object can also be acquired, such as the position of the movable object relative to the robotic arm. Subsequently, a dynamic system can be constructed based on the constructed coordinate system and the acquired torque and / or motion information.

[0095] It should be understood that the dynamic system can be constructed based on a robotic arm, or based on a robotic arm and a movable object.

[0096] In some embodiments, such as Figure 6 As shown, a dynamic system is constructed based on the robotic arm.

[0097] In this embodiment, when the robotic arm is fully extended, a line is drawn connecting the two ends of the robotic arm. The direction of the line perpendicular to this line when the robotic arm is extended is defined as the x-direction, the direction of the line connecting the two ends when the robotic arm is extended is defined as the y-direction, and the direction of the line perpendicular to this line when the robotic arm is extended is defined as the z-direction. For example, the x-direction is the first direction involved in this embodiment, and the y-direction is the second direction involved in this embodiment.

[0098] Based on this, the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended is the x-axis (also known as the first axis of rotation), located at the end of the robotic arm near the shoulder joint; the extension of the line connecting the two ends of the robotic arm when it is extended is the y-axis (also known as the second axis of rotation), passing through the center of the robotic arm. Schematic, the robotic arm can rotate around the x-axis and / or y-axis. The angle of rotation of the robotic arm around the x-axis can be considered the roll angle, and the angle of rotation of the robotic arm around the y-axis can be considered the pitch angle.

[0099] In this context, the extension line of the robotic arm refers to its direction of extension when it is fully extended. For example, the vertical direction and the direction of Earth's gravity are on the same straight line, and the horizontal plane is the plane containing the horizontal direction perpendicular to Earth's gravity. For example, Figure 6 The diagram illustrates the extension line of the robotic arm when it is fully extended. For example, the extension line is a ray extending from the end of the robotic arm outwards, and its direction is parallel to the direction originating from the center of mass of the forearm and pointing towards the end of the robotic arm. For instance, in... Figure 6 In the example, the extension line is parallel to the y-axis. Figure 6 The extension line originates from the forearm of the robotic arm; an exemplary extension line can originate from any position on the robotic arm. In another implementation, the direction of the extension line can be indicated by a ray originating from a position outside the robotic arm; this embodiment is not limited to this.

[0100] In other embodiments, the dynamic system may be constructed based on the robotic arm and the movable object, referencing Figure 5 and Figure 6 When a movable object is placed at any non-end-effector position on the robotic arm, the movable object should be displayed in the x-direction. Taking a bottle as an example, consider it as a cylinder. The direction of the cylinder's length is the x-direction, and the plane containing the cylinder's ground is the plane formed by the y-axis and z-axis.

[0101] As an illustration, after constructing the dynamic system, the attitude information of the dynamic system can be obtained.

[0102] The attitude information is used to indicate at least the information associated with the robotic arm obtained based on the dynamics system. As described above, the dynamics system describes the force and / or motion relationships of the robotic arm while maintaining the movable object in balance; correspondingly, the attitude information describes the attitude of the robotic arm while maintaining the movable object in balance. Optionally, the attitude information includes at least one of the following: torque information of the robotic arm, motion information of the robotic arm, and motion information of the movable object. For example, the attitude information includes one of the following: the rotation angle of the robotic arm in different two-dimensional planes (which can be understood as the motion information of the robotic arm), the angle between the robotic arm and the horizontal plane (which can be understood as the motion information of the robotic arm), and the straight-line distance along the x-direction between the center of the movable object and the joint center controlling the rotation of the robotic arm (which can be understood as the motion information of the movable object).

[0103] In some embodiments, attitude information can be obtained based on a vision sensor. For example, a camera is placed on the robotic arm or in the external environment to acquire image information of the robotic arm and the movable object, which is used to show the movable object positioned on the robotic arm. The image information is then processed to obtain the image processing result. For instance, after acquiring the image information, cluster analysis is performed based on the difference in color between the movable object and objects in the environment to determine the geometric center of the movable object. Subsequently, the positions of the geometric center and the center of mass in the dynamic system can be determined. Based on this, combined with relevant information about the robotic arm, attitude information can be obtained.

[0104] In other embodiments, posture information can also be obtained based on visual and tactile sensors. For example, tactile sensors can be installed on the outer shell of the robotic arm to collect tactile signals corresponding to when a movable object is placed on the robotic arm. Based on this, the specific position of the movable object on the robotic arm can be accurately determined, and combined with relevant information about the robotic arm, posture information can be determined.

[0105] Step 140: Determine the control information based on the mapping relationship between the posture information and the control information of the robotic arm.

[0106] refer to Figure 5 The movable object is placed at any position on the robotic arm except for its end effector. The purpose of the robotic arm control method provided in this application is to ensure that the movable object remains in a balanced state on the robotic arm. Based on this, the controller needs to predict the state at the next moment according to the current state of the dynamic system, and determine the control information of the robotic arm at the next moment accordingly, so that the movable object can always remain balanced on the robotic arm and not fall off.

[0107] The control information can be determined based on the mapping relationship between attitude information and control information. Referring to the foregoing, a dynamic system is constructed based on the robotic arm and / or the movable object.

[0108] refer to Figure 6 The system shown is illustrated with the first direction being the direction of the straight line perpendicular to the line connecting the two segments of the robotic arm when it is extended, the second direction being the direction of the line connecting the two segments when the robotic arm is extended, and the vertical direction being perpendicular to the line connecting the two segments when the robotic arm is extended. Any two of the first direction (x-direction), the second direction (y-direction), and the vertical direction (z-direction) are perpendicular. Schematic, the three-dimensional space is formed by the x, y, and z directions.

[0109] It should be understood that a first plane and a second plane are formed in this three-dimensional space. The first plane indicates the two-dimensional plane formed by the first direction and the vertical direction (or can be understood as the XOZ plane), and the second plane indicates another two-dimensional plane formed by the second direction and the vertical direction (or can be understood as the YOZ plane). After constructing the dynamic system, system modeling can be performed to determine the mapping relationship between attitude information and control information.

[0110] In some embodiments, a two-dimensional (2D) model can be constructed based on the XOZ and YOZ planes, and the mapping relationships under these planes can be determined based on the XOZ and YOZ planes respectively. Optionally, the mapping relationships include a first mapping relationship and a second mapping relationship. The first mapping relationship describes the mapping relationship between first attitude information and first control information in the first plane (i.e., the XOZ plane), and the second mapping relationship describes the mapping relationship between second attitude information and second control information in the second plane (i.e., the YOZ plane).

[0111] In other embodiments, a three-dimensional (3D) model can be constructed based on the three-dimensional space, and mapping relationships can be determined based on the three-dimensional space. Optionally, the mapping relationship includes a third mapping relationship, which describes the mapping relationship between third pose information and third control information in the three-dimensional space.

[0112] It should be understood that the mapping relationships constructed will differ for different models.

[0113] For example, the kinetic and potential energies in the first and second planes are determined, and these energies are used to construct the Euler-Lagrange equations based on the first and second planes, respectively; based on the Euler-Lagrange equations, the first and second mapping relationships are determined. Similarly, the kinetic and potential energies in three-dimensional space are determined, and these energies are used to construct the Euler-Lagrange equations based on the three-dimensional space; based on the Euler-Lagrange equations, the third mapping relationship is determined.

[0114] The differences in kinetic and potential energy determined by the first plane, the second plane, and the three-dimensional space will lead to differences in the constructed Euler-Lagrange equations, which in turn will affect the determined mapping relationships to obtain the first mapping relationship, the second mapping relationship, and the third mapping relationship.

[0115] As an illustration, after establishing the mapping relationship between posture information and control information, the robotic arm's controller acquires the posture information and can then determine the control information. It should be understood that different mapping relationships will yield different control information.

[0116] In some embodiments, the control information includes first control information and second control information. The controller can determine the first control information based on a first mapping relationship and determine the second control information based on a second mapping relationship. The first control information includes a first control torque applied in the roll angle direction of the robotic arm rotating about a first axis, and the second control information includes a second control torque applied in the pitch angle direction of the robotic arm rotating about a second axis. The first axis is a straight line perpendicular to the line connecting the two segments of the robotic arm when it is extended, and the second axis is an extension of the line connecting the two segments when extended.

[0117] In other embodiments, the control information includes third control information. The controller can determine the first control information and the second control information based on the third mapping relationship. The first control information can also be understood as a first control torque, and the second control information can also be understood as a second control torque.

[0118] Step 160: Using control information, control the movement of the robotic arm until the movable object reaches a balanced state on the robotic arm.

[0119] Once the control information is determined, the robotic arm can be controlled based on that information.

[0120] Referring to the foregoing, the control information includes first control information and second control information, wherein the first control information is used to indicate a first control torque and the second control information is used to indicate a second control torque; or, the control information includes third control information, wherein the third control information includes the first control torque and / or the second control torque.

[0121] This can be understood as the control information including the first control torque and the second control torque.

[0122] In some embodiments, the control information includes a first control torque, and step 160 can be implemented as follows: according to the first control torque, controlling the robotic arm to move about a first axis of rotation, the first axis of rotation being a straight line perpendicular to the line connecting the two segments of the robotic arm when extended. In other embodiments, the control information includes a second control torque, and step 160 can be implemented as follows: according to the second control torque, controlling the robotic arm to move about a second axis of rotation, the second axis of rotation being an extension of the line connecting the two segments of the robotic arm when extended.

[0123] Referring to the foregoing, the controller controls the robotic arm based on control information, thereby keeping the movable object balanced on the robotic arm. Based on this, step 160 can be implemented as follows: using control information, controlling the robotic arm to perform at least one motion behavior so that the movable object is in a balanced state on the robotic arm; wherein, the motion behavior of the robotic arm includes at least one of the following behaviors: maintaining relative stillness, moving, and rotating.

[0124] It should be understood that control information is a sequence of torques composed of the control torques of each joint of the robotic arm. Based on this torque sequence, motion control of each joint of the robotic arm is achieved. The interaction of the control torques of each joint will cause the robotic arm to appear visually stationary or in motion. When the robotic arm appears stationary, it can be understood that its motion behavior is relatively still; that is, based on the control of each joint, the robotic arm appears to be at rest. When the robotic arm appears in motion, it can be understood that its motion behavior is movement and / or rotation. That is, based on the control of each joint, the robotic arm can appear to be in motion, and this movement can include movement and / or rotation, such as the robotic arm swinging up and down around the shoulder joint, or rotating left and right around the shoulder joint.

[0125] Schematic, equilibrium state indicates that a movable object is in a state of force equilibrium. In this state, the movable object may be stationary or undergoing small movements relative to the robotic arm (such as small, uniform movement). Furthermore, equilibrium state indicates that a movable object is in a state of force equilibrium and is no longer moving.

[0126] The equilibrium state can include the following two types: a static equilibrium state, in which the movable object is stationary on the robotic arm (or can be understood as the movable object being stationary relative to the robotic arm); and a dynamic equilibrium state, in which the movable object is in dynamic equilibrium state and undergoes displacement or rolling on the robotic arm (or can be understood as the movable object undergoing displacement or rolling relative to the robotic arm and remaining stationary). In some embodiments, the movable object in dynamic equilibrium state undergoes displacement or rolling on the robotic arm but does not fall off.

[0127] This can be understood as the control information determined based on the mapping relationship enabling the robotic arm to perform at least one motion behavior. The purpose is to keep the movable object stationary on the robotic arm, or to change the relative position of the movable object and the robotic arm without the movable object falling off the robotic arm.

[0128] Taking a bottle as an example, the bottle is placed on the forearm of a robotic arm. After determining the control information, the controller controls the movement of each joint of the robotic arm accordingly. The bottle can remain relatively stationary on the forearm, allowing the robotic arm to remain relatively stationary or make minor adjustments in the x / y directions; alternatively, the bottle can roll on the forearm, allowing the robotic arm to remain relatively stationary or make minor adjustments in the x / y directions, thus preventing the bottle from falling off the robotic arm.

[0129] It should be understood that controlling the robotic arm based on control information is a continuous process. For example, step 160 can be implemented as follows:

[0130] Using the control information from the first moment, control the movement of the robotic arm in the second moment;

[0131] The control information from the second moment is used to control the movement of the robotic arm in the third moment;

[0132] Repeat the above steps until the robotic arm achieves a balanced state on the movable object at time n.

[0133] In this context, the first moment is earlier than the second moment, the second moment is earlier than the third moment, the third moment is earlier than the nth moment, and n is a positive integer greater than 3.

[0134] This can be understood as follows: after constructing the dynamic system, the control information for the next moment can be determined based on the current attitude information, and the movement of the robotic arm can be controlled accordingly. Subsequently, the control information for the moment after that can be determined based on the attitude information of the next moment, and the movement of the robotic arm can be controlled accordingly. After repeating the above steps once or multiple times, the movement of the robotic arm at a certain moment will enable the movable object to reach a balanced state on the robotic arm, at which point the movement control of the robotic arm will stop.

[0135] In other words, after determining the control information for the next moment based on the current attitude information, the robotic arm will move, thus changing the attitude information at the next moment. Subsequently, the state of the movable object at the next moment can be judged. At this point, the next moment has been reached, and the next moment becomes the new current moment. If the movable object reaches a balanced state on the robotic arm, the control of the robotic arm stops; if it does not reach a balanced state, the new attitude information and desired attitude information for the next moment (relative to the new current moment) are acquired, and the control of the robotic arm is repeated.

[0136] In summary, this application provides a novel method for using a robotic arm, enabling a movable object to maintain balance without falling at any position on the robotic arm except for its end effector. Specifically, by establishing a mapping relationship between posture information and control information, the control information of the robotic arm can be determined, thereby achieving control of the robotic arm.

[0137] Referring to the foregoing, the mapping relationship between attitude information and control information varies depending on the modeling method. Figure 4 , Figure 7 A flowchart illustrating a control method for a robotic arm provided in an exemplary embodiment of this application is shown.

[0138] Specifically, step 140 can be implemented as steps 141 and 142, and step 160 can be implemented as steps 161 and 162, used to determine the mapping relationship under the 2D model; step 140 can also be implemented as step 143, and step 160 can also be implemented as step 163, used to determine the mapping relationship under the 3D model. It should be understood that only one method can be selected to determine the mapping relationship; two methods cannot be used simultaneously. That is, step 141 cannot be executed together with step 143, nor can step 142 be executed together with step 143.

[0139] Indicatively, this application provides two methods for determining control information, as detailed below:

[0140] 1. In the 2D model, determine the control information based on the first mapping relationship and the second mapping relationship.

[0141] In some embodiments, the attitude information includes first attitude information and second attitude information, the mapping relationship includes a first mapping relationship and a second mapping relationship, and the control information includes first control information and second control information. In this case, step 140 can be implemented as steps 141 and 142, and step 160 can be implemented as steps 161 and 162, as detailed below:

[0142] Step 141: Determine the first control information based on the first mapping relationship.

[0143] Step 142: Determine the second control information based on the second mapping relationship.

[0144] Schematic, the first mapping relationship is used to describe the mapping relationship between the first posture information and the first control information in the first plane, and the first control information is used to control the robotic arm to move around the first axis of rotation; the second mapping relationship is used to describe the mapping relationship between the second posture information and the second control information in the second plane, and the second control information is used to control the robotic arm to move around the second axis of rotation.

[0145] Step 161: Based on the first control information, control the robotic arm to move around the first axis.

[0146] Step 162: Based on the second control information, control the robotic arm to move around the second axis.

[0147] Schematic, the first plane is used to indicate a two-dimensional plane formed by the first direction and the vertical direction perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. Any two of the first direction, the second direction and the vertical direction are perpendicular. The first axis of rotation is a straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the first axis of rotation is located at the end of the robotic arm near the shoulder joint. The second axis of rotation is the extension of the line connecting the two ends of the robotic arm when it is extended, and the second axis of rotation passes through the center of the robotic arm.

[0148] refer to Figure 6 The first direction, the second direction, and the vertical direction are the x, y, and z directions, respectively. The first plane is the XOZ plane, and the second plane is the YOZ plane. After constructing the dynamic system based on the robotic arm and the movable object, a three-dimensional space can be constructed based on the first direction, the second direction, and the vertical direction. This three-dimensional space includes the first plane and the second plane.

[0149] Referring to the foregoing, since the robotic arm can rotate in the x / y directions, based on 2D modeling, the mapping relationship between attitude information and control information can be constructed in the XOZ plane and YOZ plane respectively, so as to realize control in the x / y directions respectively.

[0150] In some embodiments, the first attitude information includes a first rotation angle of the robotic arm in a first plane (which can be understood as the XOZ plane), and the first control information includes a first control torque applied in the roll angle direction of the robotic arm rotating about a first axis of rotation (which can be understood as the x-axis). In this case, step 141 can be implemented as follows:

[0151] The first control torque is determined based on the first mapping relationship between the first rotation angle and the first control torque.

[0152] The first rotation angle indicates the angle by which the robotic arm rotates relative to the world coordinate system within the first plane. The world coordinate system can be constructed by referring to... Figure 6 It should be understood that the world coordinate system is constructed based on the robotic arm being in its initial posture, in which the robotic arm is parallel to the ground.

[0153] For example, the first rotation angle can be used If the first control torque can be represented by τ1, then the first mapping relationship can be represented by f1.

[0154] Within the XOZ plane, based on the dynamics of the robotic arm and the moving object, attitude and physical information can be determined. Attitude information can include the second rotation angle of the moving object in the XOZ plane (which can be represented as θ). Subsequently, the kinetic energy (which can be represented as T) and potential energy (which can be represented as U) within the XOZ plane can be determined to construct the Euler-Lagrange equations in the XOZ plane. The Euler-Lagrange equations constructed based on the XOZ plane can be expressed as L = TU.

[0155] Subsequently, the describing equations of the dynamic model under different degrees of freedom can be obtained from the Euler-Lagrange equations. That is, multiple dynamic equations can be obtained from the Euler-Lagrange equations, each constructed based on one degree of freedom. For example, in the XOZ plane, the describing equations of the dynamic model under the first degree of freedom (which can be understood as...) can be obtained from the Euler-Lagrange equations. The first equation of dynamics is constructed based on the first degree of freedom (θ), and the second equation of dynamics is constructed based on the second degree of freedom (θ). Based on this, the first mapping relationship can be obtained through simple operations on the first and second equations of dynamics.

[0156] It should be understood that the construction of the first mapping relationship is based on the Euler-Lagrange equations in the XOZ plane. Its construction conforms to the constraints of the dynamic system and can accurately reflect the first mapping relationship between the first attitude information and the first control information.

[0157] After determining the first mapping relationship, if the controller obtains the first posture information, it can determine the first control information based on the first mapping relationship, thereby realizing the movement of the robotic arm on the first rotating axis.

[0158] In other embodiments, the second attitude information includes the angle between the robotic arm and the horizontal plane, and the second control information includes a second control torque applied in the pitch angle direction of the robotic arm's rotation about the second axis of rotation (which can be understood as the y-axis). In this case, step 142 can be implemented as follows:

[0159] The second control torque is determined based on the second mapping relationship between the included angle and the second control torque.

[0160] The included angle indicates the angle of rotation of a movable object within the second plane relative to the horizontal plane in the world coordinate system. The construction of the world coordinate system can be found in [reference needed]. Figure 6 It should be understood that the world coordinate system is constructed based on the robotic arm being in its initial posture, in which the robotic arm is parallel to the ground.

[0161] For example, the included angle can be represented by α, the second control torque can be represented by τ2, and the second mapping relationship can be represented as f2.

[0162] Within the YOZ plane, based on the dynamics of the robotic arm and the movable object, attitude and physical information can be determined. Attitude information can include the straight-line distance (represented as s) along a first direction between the center of the movable object and the joint center controlling the rotation of the robotic arm. Subsequently, the kinetic energy (represented as T) and potential energy (represented as U) within the YOZ plane can be determined to construct the Euler-Lagrange equations in the YOZ plane. The Euler-Lagrange equations constructed based on the YOZ plane can be expressed as L = TU.

[0163] Subsequently, the describing equations of the dynamic model under different degrees of freedom can be obtained from the Euler-Lagrange equations. That is, multiple dynamic equations can be obtained from the Euler-Lagrange equations, each constructed based on one degree of freedom. For example, in the YOZ plane, the Euler-Lagrange equations yield a third dynamic equation constructed based on the third degree of freedom (which can be understood as the s-degree of freedom) and a fourth dynamic equation constructed based on the fourth degree of freedom (which can be understood as the α-degree of freedom). Based on this, a second mapping relationship can be obtained through simple operations on the third dynamic equation and the fourth dynamic equation.

[0164] It should be understood that, similar to the construction of the first mapping relationship, the construction of the second mapping relationship is also based on the Euler-Lagrange equations in the YOZ plane. Its construction conforms to the constraints of the dynamic system and can accurately reflect the second mapping relationship between the second attitude information and the second control information.

[0165] After determining the second mapping relationship, if the controller obtains the posture information of the first person, it can determine the second control information according to the second mapping relationship, thereby realizing the movement of the robotic arm on the second rotating axis.

[0166] Second, under the 3D model, determine the control information based on the third mapping relationship.

[0167] In other embodiments, the attitude information includes third attitude information, the mapping relationship includes a third mapping relationship, and the control information includes third control information. In this case, step 140 can be implemented as step 143, and step 160 can be implemented as step 163, as follows:

[0168] Step 143: Determine the third control information based on the third mapping relationship.

[0169] Indicatively, the third mapping relationship is used to describe the mapping relationship between the third attitude information and the third control information in three-dimensional space. The third control information is used to control the movement of the robotic arm in three-dimensional space.

[0170] Step 163: Based on the third control information, control the robotic arm to move in three-dimensional space.

[0171] Schematic representation: The three-dimensional space is composed of a first direction, a second direction, and a vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The vertical direction is perpendicular to the line connecting the two ends of the robotic arm when it is extended. Any two of the first, second, and vertical directions are perpendicular. Furthermore, a first plane and a second plane are formed in the three-dimensional space. The first plane is used to indicate the two-dimensional plane formed by the first direction and the vertical direction, and the second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction.

[0172] refer to Figure 6 A three-dimensional space can be constructed using the x, y, and z directions, and this three-dimensional space includes a first plane (i.e., the XOZ plane) and a second plane (YOZ plane). It should be understood that there are two coordinate systems in this three-dimensional space: one is... Figure 6 The coordinate system shown is a world coordinate system constructed based on the robot arm's initial posture.

[0173] In some embodiments, the third attitude information includes: the straight-line distance (i.e., the aforementioned s) between the center of the movable object and the joint center controlling the rotation of the robotic arm along the first direction, and the second rotation angle (i.e., the aforementioned θ) of the movable object in the first plane; the third mapping relationship includes the first sub-mapping relationship and the second sub-mapping relationship; the third control information includes: applying a first control torque in the roll angle direction of the robotic arm rotating about the first axis, and applying a second control torque in the pitch angle direction of the robotic arm rotating about the second axis.

[0174] Optionally, step 143 can be implemented as follows: determining the first control torque based on the first sub-mapping relationship between the straight-line distance and the first control torque; and determining the second control torque based on the second sub-mapping relationship between the second rotation angle and the second control torque;

[0175] Step 163 can be implemented as follows: according to the first control information, control the robotic arm to move around the first axis; and according to the second control information, control the robotic arm to move around the second axis; wherein the first axis is a horizontal line perpendicular to the robotic arm, and the second axis is an extension line of the robotic arm.

[0176] Similar to the 2D model, considering the robotic arm's rotation in the x / y directions, the 3D model still requires constructing a third mapping relationship for attitude and control information based on three-dimensional space. This third mapping relationship includes two sub-mapping relationships, used to determine the first and second control torques to achieve control of the robotic arm in the x / y directions.

[0177] For example, the first control torque is expressed as τ x The first sub-mapping relation included in the third mapping relation can be represented as f 31 The second control torque is expressed as τ. y The second sub-mapping relation included in the third mapping relation can be represented as f 32 .

[0178] Similar to 2D models, in three-dimensional space, the attitude and physical information of a dynamic system based on a robotic arm and a moving object can be determined. Subsequently, the kinetic and potential energy in three-dimensional space can be determined to construct the Euler-Lagrange equations. Based on this, the describing equations of the dynamic model under different degrees of freedom can be obtained from the Euler-Lagrange equations; the first mapping relationship is obtained based on simple operations between the describing equations.

[0179] It should be understood that the construction of the third mapping relationship is based on the Euler-Lagrange equations in three-dimensional space. Its construction conforms to the constraints of the dynamic system and can accurately reflect the third mapping relationship between the third attitude information and the third control information.

[0180] After determining the third mapping relationship, if the controller obtains the third posture information, it can determine the third control information based on the third mapping relationship, thereby realizing the movement of the robotic arm on the first and second rotating axes.

[0181] In summary, the robotic arm control method provided in this application embodiment offers two ways to determine control information, which can determine the control information for controlling the robotic arm in 2D and 3D models respectively.

[0182] It should be understood that, when constructing a 2D model, the robotic arm can be equipped with two controllers to determine the corresponding control information based on the first and second mapping relationships, respectively, or one controller can be set up to determine the two control information. When constructing a 3D model, the robotic arm can be equipped with one controller to determine the control information based on the third mapping relationship.

[0183] This application does not limit the number of controllers. Any method of determining control information based on the mapping relationship between attitude information and control information is within the scope of protection of this application and will not be elaborated further.

[0184] Referring to the foregoing, to determine the control information, it is necessary to establish a mapping relationship between attitude information and control information. Figure 4 , Figure 8 This application illustrates a control method for a robotic arm provided in an exemplary embodiment, the method further comprising step 130, as follows:

[0185] Step 130: Construct a mapping relationship based on the attitude information and the physical information of the dynamic system.

[0186] The illustrative mapping relationship is used to describe the relationship between attitude information and control information in a two-dimensional plane or three-dimensional space.

[0187] After constructing a 2D / 3D model, the attitude information and / or physical information of the dynamic system can be obtained.

[0188] Optionally, the attitude information includes at least one of the following: the moment of inertia of the robotic arm, the moment of inertia of the movable object, a first rotation angle of the robotic arm in a first plane, the angle between the robotic arm and the horizontal plane formed by the first direction and the second direction, the straight-line distance along the first direction between the center of the movable object and the joint center controlling the rotation of the robotic arm, and a second rotation angle of the movable object in the first plane. The first plane indicates a two-dimensional plane formed by the first direction and a vertical direction perpendicular to the line connecting the two ends of the robotic arm when it is extended. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The first direction, the second direction, and the vertical direction are all perpendicular to each other.

[0189] Optionally, the physical information includes at least one of the following: the mass of the robotic arm, the cross-sectional radius of the robotic arm, the length of the rigid body used to balance the aforementioned movable object, the mass of the movable object, the cross-sectional radius of the movable object, the position of the center of mass of the movable object, and the horizontal distance along the extension direction of the movable object between the contact point between the movable object and the robotic arm and the center of mass of the movable object.

[0190] refer to Figure 6 The first direction, the second direction, and the perpendicular direction are the x, y, and z directions, respectively. The first plane is the XOZ plane, and the second plane is the YOZ plane.

[0191] For example, in the XOZ plane, the following attitude information can be determined: the second rotation angle of the movable object in the first plane (which can be represented as θ), and the first rotation angle of the robotic arm in the first plane (which can be represented as...). The moment of inertia of the robotic arm (which can be expressed as I) a The moment of inertia of a moving object (which can be expressed as I)b Simultaneously, the following physical information can be determined: the horizontal distance (which can be represented as d) between the contact point between the movable object and the robotic arm and the center of mass of the movable object, along the extension direction of the movable object; and the cross-sectional radius of the robotic arm (which can be represented as r). a The mass of the robotic arm (which can be expressed as m) a ).

[0192] In the YOZ plane, the following attitude information can be determined: the angle between the robotic arm and the horizontal plane (which can be represented as α), and the moment of inertia of the robotic arm (which can be represented as I). a The moment of inertia of a moving object (which can be expressed as I) b Simultaneously, the following physical information can be determined: the straight-line distance (which can be represented as s) between the center of the movable object and the joint center controlling the rotation of the robotic arm along the first direction, and the cross-sectional radius of the robotic arm (which can be represented as r). a The cross-sectional radius of a movable object (which can be expressed as r) b The mass of the robotic arm (which can be expressed as m) a ).

[0193] In three-dimensional space, the following attitude information can be determined: the rotational inertia of the robotic arm in the third and fourth directions (which can be expressed as I). ax and I ay The moment of inertia of a moving object in the third and fourth directions (which can be expressed as I) by and I by At the same time, the following physical information can be determined: the position of the center of mass of the moving object (which can be represented as C).

[0194] Among them, the third and fourth directions are the x and y directions in the robot arm coordinate system constructed by the robot arm itself. The construction of the robot arm coordinate system is as follows: Figure 6 As shown. It should be understood that the coordinate axes of the world coordinate system constructed based on the robot arm's initial posture are fixed, while the coordinate axes of the robot arm coordinate system change with the movement of the robot arm.

[0195] Referring to the foregoing, whether in a two-dimensional plane or a three-dimensional space, after obtaining the attitude and physical information of the dynamic system, a mapping relationship under the corresponding model can be constructed for use in the subsequent steps of determining control information to control the movement of the robotic arm.

[0196] In some embodiments, to obtain attitude information, step 120 can be implemented as follows:

[0197] Attitude information is obtained from the dynamic system based on a visual sensor;

[0198] Alternatively, attitude information can be obtained from the dynamic system based on visual and tactile sensors.

[0199] Among these steps, it is necessary to first construct a dynamic system, which can be referred to in the previous content and will not be repeated here.

[0200] Schematic illustration: Visual sensors are mounted on or outside the robotic arm; tactile sensors are embedded in the robotic arm's outer shell, serving as its electronic skin. For example, encoders can be installed on the joint motors of the robotic arm to provide feedback on the angle, angular velocity, and current information of each joint's rotation; this information can be used for state estimation of the robotic arm. Similarly, tactile sensors can be embedded in the fingers, palm, or a link of the robotic arm to acquire feedback information from moving objects.

[0201] In some embodiments, attitude information can also be acquired via a proximity sensor. The proximity sensor emits a signal when two objects approach each other, and attitude information can be acquired when a movable object approaches the proximity sensor.

[0202] To illustrate, this application provides the following three optional implementation methods for obtaining attitude information:

[0203] Implementation Method 1: Full-degree-of-freedom pose recognition of moving objects based on visual perception.

[0204] by Figures 1 to 3 Taking the illustrated 7-DOF robotic arm as an example, the posture recognition of the moving object in all six degrees of freedom can be obtained through a vision sensor to determine the relative positional relationship between the moving object and the robotic arm, thereby determining the posture information. For example, image information can be acquired through a vision sensor and processed to obtain the posture information of the moving object on the robotic arm, such as the position information on the x / y / z axes and the posture in the roll / pitch / roll angle directions based on image processing.

[0205] In some embodiments, the computation time for pose recognition is approximately 100 milliseconds, or 10 Hz.

[0206] Method 2: Data and image processing based on visual sensors.

[0207] Optionally, lightweight data image processing methods can be applied to determine the position of the moving object within the dynamic system. For example, a camera can be placed on the robotic arm or in the external environment to acquire image information of the robotic arm and the moving object, which is used to show the moving object positioned on the robotic arm. The image information is then processed to obtain the image processing result.

[0208] For example, after acquiring image information, cluster analysis is performed based on the difference in color between the moving object and objects in the environment to determine the geometric center of the moving object. Subsequently, the positions of the geometric center and the center of mass in the dynamic system can be determined. Based on this, combined with relevant information from the robotic arm, attitude information can be obtained, such as determining the contact position based on the geometric center of the moving object.

[0209] In some embodiments, the lightweight computing in this implementation is fast, with a computation time of about 10 milliseconds, or 10Hz.

[0210] Based on this, optionally, acquiring attitude information based on a visual sensor can be implemented as follows:

[0211] Image information is acquired through a vision sensor, and this image information is used to show the movable object placed on the robotic arm.

[0212] Image information is processed to obtain image processing results;

[0213] The pose information is determined based on the image processing results.

[0214] Alternatively, gesture information can be acquired using visual and tactile sensors, as follows:

[0215] Based on a visual sensor, determine the first information of a moving object in a first direction;

[0216] Based on the tactile sensor, second information about the movable object in the second direction is determined;

[0217] The first and second information are fused to obtain attitude information;

[0218] The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the second direction is the direction of the line connecting the two ends of the robotic arm when it is extended.

[0219] refer to Figure 6 After constructing a coordinate system based on the robotic arm, there exists a first direction (which can be understood as the aforementioned x-direction) and a second direction (which can be understood as the aforementioned y-direction). The movable object can be described in both directions regarding its relative position and force interaction with the robotic arm. In the above implementation, descriptions in the corresponding directions are acquired through different sensors to form corresponding first and second information.

[0220] For example, the first information is the geometric center and centroid position of the movable object obtained through image processing using a vision sensor; the second information is the specific position of the movable object on the robotic arm obtained through a tactile sensor. Subsequently, based on the fusion processing of the first and second information, posture information, such as the contact position between the movable object and the robotic arm, can be determined.

[0221] The details regarding determining the first information based on the visual sensor can be found in the foregoing and will not be repeated here; the details regarding determining the second information based on the tactile sensor and the fusion processing will be described in detail below.

[0222] Method 3: Based on visual and tactile sensors, perform data fusion processing.

[0223] In some embodiments, posture information may also be obtained based on visual and tactile sensors. The processing of visual sensors is as described above, while the processing of tactile sensors is as follows.

[0224] Based on the foregoing, when applying lightweight data image processing methods, it may lead to issues in the depth direction of the camera (i.e., Figure 6 There is a significant error in the direction indicated by the y-axis. This can be compensated for by using tactile sensors. For example, tactile sensors can be installed on the outer shell of the robotic arm to collect the tactile signals corresponding to the movement of an object placed on the arm. Based on this, the precise position of the moving object in the x-direction on the robotic arm can be accurately determined.

[0225] This can be understood as follows: the tactile sensor provides the position and pitch angle of the movable object in the y-direction; at the same time, combined with the lightweight image processing of the vision sensor, and compared with prior image data, the specific position of the movable object in the x-direction on the robotic arm can be determined.

[0226] In some embodiments, the computation time of the tactile sensor in this implementation is approximately 10 milliseconds, or 100Hz.

[0227] Based on the foregoing content, a comparison of the three implementation methods is given in the table below:

[0228] plan Operation cycle linear error Angular error Implementation Method 1 100ms 1-2cm 5-10 degrees Implementation Method Two 10ms 1cm 5 degrees Implementation Method 3 10ms 1cm 5 degrees

[0229] It should be understood that using implementation method one, the determination of the position of the movable object on the robotic arm will have a linear error of 1-2 cm and an angular error of 5-10 degrees, meaning the acquired posture information will have certain linear and angular errors. Similarly, implementation methods two and three also have certain errors. Furthermore, implementation method three is an improvement on implementation method two, which can overcome the shortcoming of inaccurate measurement of the center of mass in the y-axis direction of implementation method two, thus making the acquired posture information less erroneous.

[0230] It should be understood that if the control method of the robotic arm provided in this application is adopted, an appropriate implementation method can be selected according to actual needs to obtain attitude information, and this application does not limit this.

[0231] Referring to the foregoing, acquiring posture information based on visual and tactile sensors can be achieved as follows: based on the visual sensor, determine the first information of the movable object in a first direction; based on the tactile sensor, determine the second information of the movable object in a second direction; and fuse the first and second information to obtain posture information.

[0232] Optionally, the determination of the second information can be specifically implemented by: determining the position information of the contact point between the movable object and the robotic arm relative to the robotic arm through a tactile sensor.

[0233] It should be understood that the position information determined accordingly includes at least the position coordinates of the contact position between the movable object and the robotic arm. The relevant content regarding the position information acquired by the tactile sensor can be found in the foregoing description and will not be repeated here. In some embodiments, the tactile sensor is mounted on the outer shell of the robotic arm, and the user obtains relevant information about the contact position between the movable object and the robotic arm, including the position coordinates of the contact position, torque information, etc.

[0234] Referring to the foregoing, the first information is visual perception data, and the second information is tactile perception data. These two types of data can be fused. Optionally, the fusion process can employ any one or more of the following algorithms: including Kalman Filtering (KF), Extended Kalman Filtering (EKF), and Particle Filtering (PF).

[0235] It should be understood that there are multiple ways to implement data fusion processing, and the above is merely an illustrative example and does not limit this application. Furthermore, as fusion processing methods are updated, any fusion processing that appears after this application should also be applicable to this application; that is, the result of fusion processing does not limit the control method of the robotic arm provided in this application.

[0236] In summary, the robotic arm control method provided in this application embodiment presents a way to construct a mapping relationship. Based on the posture information and physical information of the dynamic system, the mapping relationship between posture information and control information in a two-dimensional plane or three-dimensional space can be determined, thereby determining the control information to realize the control of the robotic arm and ensure that the movable object is in a balanced state on the robotic arm.

[0237] Based on the foregoing, there are two different modeling methods: 2D / 3D modeling. Consequently, the mapping relationships are constructed differently under different modeling scenarios.

[0238] refer to Figure 8 , Figure 9 This application illustrates a control method for a robotic arm provided by an exemplary embodiment. Step 130 can be implemented as steps 1311 and 1312, or as steps 1321 and 1322, and step 160 can be implemented as step 164. It should be understood that steps 1311 and 1312 can be performed selectively, and cannot be performed simultaneously.

[0239] This application provides two methods for constructing mapping relationships, as follows:

[0240] First, construct the first and second mapping relationships in the 2D model.

[0241] In some embodiments, the mapping relationship includes a first mapping relationship and a second mapping relationship. In this case, step 130 can be implemented as steps 1311 and 1312, as follows:

[0242] Step 1311: Based on the attitude information and physical information, determine the kinetic energy and potential energy in the first plane and the second plane. The kinetic energy and potential energy are used to construct the Euler-Lagrange equations based on the first plane and the second plane, respectively.

[0243] Step 1312: Determine the first and second mapping relationships based on the Euler-Lagrange equations.

[0244] Schematic, the first mapping relationship is used to describe the mapping relationship between the first attitude information and the first control information in the first plane, and the second mapping relationship is used to describe the mapping relationship between the second attitude information and the second control information in the second plane. The first plane is used to indicate the two-dimensional plane formed by the first direction and the vertical direction perpendicular to the line connecting the two ends of the robot arm when it is extended. The second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robot arm when it is extended, and the second direction is the direction of the line connecting the two ends of the robot arm when it is extended. The first direction, the second direction and the vertical direction are perpendicular to each other.

[0245] The determination of the mapping relationship is mainly based on the Euler-Lagrange equation.

[0246] For example, partial derivatives are solved for each degree of freedom in kinetic and potential energy to obtain different partial derivatives; then, multiple dynamic equations are determined based on the Euler-Lagrange equations, each dynamic equation being constructed based on one degree of freedom; finally, a first mapping relationship and a second mapping relationship are determined based on at least one dynamic equation.

[0247] Referring to the above, optionally, the determination of the first mapping relationship can be implemented as follows:

[0248] Based on the Euler-Lagrange equations, we obtain the first equation of dynamics constructed based on the first degree of freedom, and the second equation of dynamics constructed based on the second degree of freedom.

[0249] The first mapping relationship is determined based on the first and second equations of dynamics;

[0250] The first degree of freedom is the degree of freedom corresponding to the second rotation angle of the robotic arm in the first plane. The first equation of dynamics is used to describe the driving constraints of the robotic arm in the first plane. The second degree of freedom is the degree of freedom corresponding to the first rotation angle of the movable object in the first plane. The second equation of dynamics is used to describe the driving constraints of the movable object in the first plane.

[0251] Referring to the above, optionally, the determination of the second mapping relationship can be implemented as follows:

[0252] Based on the Euler-Lagrange equations, we obtain the third dynamic equation constructed based on the third degree of freedom, and the fourth dynamic equation constructed based on the fourth degree of freedom.

[0253] The second mapping relationship is determined based on the third equation of dynamics and the fourth equation of dynamics;

[0254] The third degree of freedom is the degree of freedom corresponding to the straight-line distance along the first direction between the center of the movable object and the joint center that controls the rotation of the robotic arm. The third equation of dynamics is used to describe the driving constraints of the movable object in the second plane. The fourth degree of freedom is the degree of freedom corresponding to the angle between the robotic arm and the horizontal plane. The fourth equation of dynamics is used to describe the driving constraints of the robotic arm in the second plane.

[0255] refer to Figure 6Considering the robotic arm is positioned in a world coordinate system, we construct the world coordinate system based on the robotic arm's initial state. The extension of the robotic arm is the positive y-axis; in the initial state, the direction perpendicular to the y-axis and parallel to the ground is the x-axis; when standing in the same direction as the robotic arm, the direction of the right hand is the positive x-axis; and the direction opposite to gravity, vertically upward and perpendicular to the ground, is the z-axis. This constructs a spatial rectangular coordinate system, also known as the world coordinate system.

[0256] Taking the XOZ plane as the first plane, the movable object as a bottle, and the bottle placed on the forearm of the robotic arm as an example, the 2D model in the XOZ plane can be simplified as follows: Figure 10 In this diagram, the circle at the bottom represents the cross-section of the robotic arm's forearm, and the rectangle represents the cross-section of the bottle. To simplify the bottle's model description, the shape and cross-sectional area variations of the bottle's head and bottom are ignored; the bottle is treated as a homogeneous rigid body, and its position is evaluated using its center of mass. Furthermore, the bottle is approximately perpendicular to the robotic arm's forearm, hence the bottle's cross-section is a rectangle.

[0257] Based on this, the following posture information can be determined: the first rotation angle of the robotic arm in the first plane (denoted as...). The second rotation angle of the movable object in the first plane (denoted as θ), and the moment of inertia of the robotic arm (denoted as I) a The moment of inertia of a moving object (denoted as I) b Simultaneously, the following physical information can be determined: the horizontal distance (denoted as d) between the contact point between the movable object and the robotic arm and the center of mass of the movable object, along the extension direction of the movable object; and the cross-sectional radius of the robotic arm (denoted as r). a The mass of the robotic arm (expressed as m) a ).

[0258] Schematic, τ1 is used to represent the first control torque, which can also be understood as the torque applied to the degree of freedom of the forearm joint.

[0259] Based on this, the relationship between physical quantities can be obtained as follows:

[0260]

[0261]

[0262] in, Used to indicate d, θ, respectively The derivative of .

[0263] Schematic, the square of the bottle's velocity (denoted as v) can be determined based on the dynamic system, as follows:

[0264]

[0265] According to the Euler-Lagrange equations, the kinetic and potential energies of all rigid bodies in the dynamic system under the XOZ plane need to be solved separately. Specifically, after determining the attitude and physical information, the kinetic and potential energies under the XOZ plane need to be determined.

[0266] For example, the sum of the kinetic energies of all rigid bodies in a dynamic system can be expressed as follows:

[0267]

[0268] U = m b g·dsinθ.

[0269] Where T represents kinetic energy, U represents potential energy, and v 2 As described above, m b Used to indicate the mass of a moving object, I a Used to indicate the moment of inertia of the robotic arm, I b The moment of inertia of a moving object is indicated by g, while g is used to indicate gravitational acceleration.

[0270] Based on this, the kinetic energy can be expressed for each degree of freedom in the extended coordinate system (i.e., θ and θ). ) and its derivative (i.e. and Taking the partial derivatives, we obtain the following formula:

[0271]

[0272]

[0273]

[0274]

[0275]

[0276] Where, r a Used to indicate the cross-sectional radius of the robotic arm.

[0277] Subsequently, in response to and Taking the derivative with respect to time, we obtain the following formula:

[0278]

[0279]

[0280] Subsequently, the first and second equations of dynamics can be obtained from the Euler-Lagrange equations, and the specific calculation process is as follows.

[0281] According to the Euler-Lagrange equations, we have the following two formulas:

[0282]

[0283]

[0284] Substituting the aforementioned terms into the two formulas above, we obtain the following first equation and second equation of dynamics:

[0285]

[0286]

[0287] The first line represents the dynamic equation (i.e., the second dynamic equation) at the θ degree of freedom. Due to underactuation at this degree of freedom, the actual input torque on the right side of the equation is 0. The second line represents... The dynamic equations on the degree of freedom (i.e., the first dynamic equations) are driven by the torque τ1 of the motor on that degree of freedom.

[0288] Subsequently, the second equation of dynamics (i.e., formula A1) can be used to obtain... Will Substituting these equations into the first equation of dynamics (i.e., formula A2), we can determine the first mapping relationship f1.

[0289] After determining the initial mapping relationship, a proportional-integral-derivative (PID) controller can be used to obtain... Among them, the PID controller is a feedback loop component used in industrial control applications. According to the control principle of the PID controller, the collected data is compared with the corresponding reference value (or can be understood as the expected value or target value), and the difference between the two is used to calculate a new input value. The purpose of this new input value is to allow the system data to reach or remain at the reference value.

[0290] Subsequently, τ1 can be determined based on the first mapping relationship, thereby controlling the robotic arm to move around the first axis of rotation.

[0291] Taking the second plane as the YOZ plane, and the bottle placed on the forearm of the robotic arm as an example, the 2D model in the YOZ plane can be simplified as follows: Figure 11In this model, the circle in the lower left corner represents the joint that rotates around the forearm of the robotic arm. The rectangle connected to it represents the cross-section of the robotic arm, and the angle between this cross-section and the horizontal direction of the world coordinate system is α, which is also the angle between the robotic arm and the horizontal plane. The circle on the rectangle represents the cross-section of the bottle. Similarly, assuming that the bottle and the robotic arm are perpendicular, to simplify the model description of the bottle, the shape and cross-sectional area changes of the bottle's head and bottom are ignored, and the bottle is treated as a homogeneous rigid body. The position of the bottle is evaluated using its center of mass.

[0292] Based on this, the following attitude information can be determined: the angle between the robotic arm and the horizontal plane (which can be represented as α), and the moment of inertia of the robotic arm (which can be represented as I). a The moment of inertia of a moving object (which can be expressed as I) b Simultaneously, the following physical information can be determined: the straight-line distance (which can be represented as s) between the center of the movable object and the joint center controlling the rotation of the robotic arm along the first direction, and the cross-sectional radius of the robotic arm (which can be represented as r). a The cross-sectional radius of a movable object (which can be expressed as r) b The mass of the robotic arm (which can be expressed as m) a The length of the rigid body used to balance the aforementioned movable object (which can be expressed as l) a ).

[0293] Schematic, τ2 is used to represent the second control torque, which can also be understood as the torque applied to the degree of freedom of the forearm joint.

[0294] Therefore, we can obtain the square of the bottle's velocity (which can be expressed as v) in the world coordinate system, and its angular velocity (which can be expressed as ω), as follows:

[0295]

[0296]

[0297] in, These are used to indicate the derivatives of s and α, respectively.

[0298] According to the Euler-Lagrange equations, the kinetic and potential energies of all rigid bodies in the dynamic system under the YOZ plane need to be solved separately. Specifically, after determining the attitude and physical information, the kinetic and potential energies under the YOZ plane need to be determined.

[0299] For example, the sum of the kinetic energies of all rigid bodies in a dynamic system can be expressed as follows:

[0300]

[0301]

[0302] Where T represents kinetic energy, U represents potential energy, and v 2 As described above, 's' indicates the straight-line distance along the first direction between the center of the movable object and the center of the joint that controls the rotation of the robotic arm, and 'r'... b Used to indicate the interface radius of the robotic arm, m a Used to indicate the mass of the robotic arm, m b Used to indicate the mass of a moving object, I a Used to indicate the moment of inertia of the robotic arm, I b Used to indicate the moment of inertia of a moving object, l a The length of the rigid body used to indicate the balance of the aforementioned movable object is used, and g is used to indicate the acceleration due to gravity.

[0303] Based on this, the kinetic energy can be expressed with respect to each degree of freedom (i.e., s and α) in the extended coordinate system and its derivative (i.e., ... and Taking the partial derivatives, we obtain the following formula:

[0304]

[0305]

[0306]

[0307]

[0308] Subsequently, in response to and Taking the derivative with respect to time, we obtain the following formula:

[0309]

[0310]

[0311]

[0312]

[0313] Subsequently, the third equation and the fourth equation of dynamics can be obtained from the Euler-Lagrange equations, as follows:

[0314]

[0315]

[0316] The first line represents the dynamic equation (i.e., the third dynamic equation) on the s degree of freedom. Since there is underactuation on this degree of freedom, the actual input torque on the right side of the equation is 0. The second line represents the dynamic equation (i.e., the fourth dynamic equation) on the α degree of freedom. The driving force on this degree of freedom is the torque τ2 of the motor.

[0317] Subsequently, the result can be obtained from the third equation of dynamics (i.e., formula B1). Will Substituting these equations into the fourth equation of dynamics (i.e., formula B2) allows us to determine the second mapping relationship f2.

[0318] After determining the second mapping relationship, the PID controller can obtain...

[0319] Subsequently, τ2 can be determined based on the second mapping relationship, thereby controlling the movement of the robotic arm around the second axis.

[0320] Second, construct a third mapping relationship in the 3D model.

[0321] In some embodiments, based on a 2D model, control needs to be performed separately according to the XOZ plane and the YOZ plane. However, there is coupling between these two planes, and the first and second mapping relationships mentioned above ignore this part. Consequently, the first and second control torques obtained will also ignore this part, resulting in insufficient control of the robotic arm.

[0322] Based on this, the embodiments of this application provide the construction of a third mapping relationship under the 3D model to fully consider the coupling between different planes and improve the control accuracy of the robotic arm. At this time, step 130 can be implemented as steps 1321 and 1322, as follows:

[0323] Step 1321: Based on the attitude information and physical information, determine the kinetic energy and potential energy in three-dimensional space. The kinetic energy and potential energy are used to construct the Euler-Lagrange equation based on three-dimensional space.

[0324] Step 1322: Determine the third mapping relationship based on the Euler-Lagrange equations.

[0325] Schematic, the third mapping relationship is used to describe the mapping relationship between the third attitude information and the third control information in three-dimensional space. The three-dimensional space is composed of a first direction, a second direction and a vertical direction, and includes a first plane and a second plane. The first plane is used to indicate the two-dimensional plane formed by the first direction and the vertical direction, and the second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The first direction, the second direction and the vertical direction are perpendicular to each other, and the vertical direction is perpendicular to the line connecting the two ends of the robotic arm when it is extended.

[0326] Similar to the 2D model, in the 3D model, the determination of the third mapping relationship is mainly based on the Euler-Lagrange equations. For example, partial derivatives are solved for each degree of freedom in kinetic and potential energy to obtain different partial derivatives; subsequently, multiple dynamic equations are determined based on the Euler-Lagrange equations, each constructed according to one degree of freedom; finally, the third mapping relationship is determined based on at least one dynamic equation.

[0327] Referring to the above, step 1322 can optionally be implemented as follows:

[0328] Based on the Euler-Lagrange equations, we obtain the first equation of dynamics constructed based on the first degree of freedom, the second equation of dynamics constructed based on the second degree of freedom, the third equation of dynamics constructed based on the third degree of freedom, and the fourth equation of dynamics constructed based on the fourth degree of freedom.

[0329] The third mapping relationship is determined based on the first equation, the second equation, the third equation, and the fourth equation of dynamics.

[0330] In this equation, the first degree of freedom is the degree of freedom corresponding to the first rotation angle of the robotic arm in the first plane, and the first equation of dynamics is used to describe the driving constraints of the robotic arm in the first plane. The second degree of freedom is the degree of freedom corresponding to the second rotation angle of the movable object in the first plane, and the second equation of dynamics is used to describe the driving constraints of the movable object in the first plane. The third degree of freedom is the degree of freedom corresponding to the straight-line distance along the first direction between the center of the movable object and the center of the joint that controls the rotation of the robotic arm, and the third equation of dynamics is used to describe the driving constraints of the movable object in the second plane. The fourth degree of freedom is the degree of freedom corresponding to the angle between the robotic arm and the plane, and the fourth equation of dynamics is used to describe the driving constraints of the robotic arm in the second plane.

[0331] refer to Figure 6Considering the robotic arm is positioned in a world coordinate system, we construct the world coordinate system based on the robotic arm's initial state. The extension of the robotic arm is the positive y-axis; in the initial state, the direction perpendicular to the y-axis and parallel to the ground is the x-axis; when standing in the same direction as the robotic arm, the direction of the right hand is the positive x-axis; and the direction opposite to gravity, vertically upward and perpendicular to the ground, is the z-axis. This constructs a spatial rectangular coordinate system, also known as the world coordinate system.

[0332] It should be understood that a three-dimensional space can be constructed based on the x, y, and z directions in the world coordinate system, which includes a first plane (i.e., the XOZ plane) and a second plane (i.e., the YOZ plane).

[0333] Referring to the foregoing, there are two coordinate systems in three-dimensional space, one is... Figure 6 The coordinate system shown is the robotic arm coordinate system, and the other is the world coordinate system, which is constructed based on the robotic arm's initial posture. The coordinate axes of the world coordinate system are fixed, while the coordinate axes of the robotic arm coordinate system change with the movement of the robotic arm.

[0334] Taking the XOZ plane as the first plane, the movable object as a bottle, and the bottle placed on the forearm of a robotic arm as an example, the XOZ plane in three-dimensional space can be simplified as follows: Figure 12 The YOZ plane can be simplified to Figure 13 Where x, y, z are the world coordinate system, and x', y', z' are the robot arm coordinate system.

[0335] Based on the foregoing, since the robotic arm can move around the first and second axes, in the 3D model, the three-dimensional space needs to be divided into two planes to determine the mapping relationship. For example, the third mapping relationship includes a first sub-mapping relationship and a second sub-mapping relationship, and the third control information includes a first control torque and a second control torque. Therefore, the first sub-mapping relationship is used to determine the first control torque, and the second sub-mapping relationship is used to determine the second control torque.

[0336] refer to Figure 12 The circle in the lower left corner represents the joint that rotates around the forearm of the robotic arm, and the rectangle connected to it is the cross-section of the robotic arm. The circle on the rectangle is the cross-section of the bottle. To simplify the bottle model description, the shape and cross-sectional area changes of the bottle's head and bottom are ignored, and the bottle is treated as a homogeneous rigid body. The bottle's position is evaluated using its center of mass. Furthermore, the bottle is approximately perpendicular to the forearm of the robotic arm, hence the bottle's cross-section is a rectangle.

[0337] The coordinate system of the robotic arm is constructed as follows: along the extension direction of the forearm, the direction from the elbow joint to the wrist joint is defined as the y' direction, the direction perpendicular to the y' direction and diagonally upward is defined as the z' direction, and the direction perpendicular to the y'Oz' plane and pointing to the right is defined as the x' direction.

[0338] Based on this, the radius of the bottle's cross-section can be determined to be r. b The mass of the bottle is m b The length of the bottle is l b The rigid body of the forearm has rotational inertia of I in the x' and y' directions. ax I ay The moments of inertia of the bottle about the x' and y' axes are respectively expressed as I. bx I by Meanwhile, the angle between the XOZ section and the world coordinate system in the horizontal direction is α, and the distance between the center of the bottle and the center of the joint that controls the rotation of the forearm along the y' direction of the forearm is represented by s.

[0339] refer to Figure 13 The circle below represents the cross-section of the robotic arm's forearm, and the rectangle represents the cross-section of the bottle.

[0340] Based on this, we can obtain: the horizontal distance d between the contact point between the forearm and the bottle and the center of mass of the bottle along the direction of the bottle; the angle of rotation of the bottle itself relative to the world frame; and the angle of rotation of the forearm relative to the world frame. Meanwhile, on the YOZ section of the forearm, the radius of the circle is r. a The length of the rigid body used to balance the bottle is l. a The mass of the forearm is m a The rigid body of the forearm has rotational inertia of I in the x' and y' directions. ax I ay The moments of inertia of the bottle in the x' and y' directions are I. bx I by .

[0341] refer to Figure 12 and Figure 13 Define r = r a +r b The rotation matrix is ​​as follows:

[0342]

[0343] In the XOZ plane, the center of mass of the bottle can be represented as:

[0344]

[0345] Transforming the center of mass of the bottle to the world coordinate system using a rotation matrix R, it can be represented as:

[0346]

[0347] Based on the above equation, we take the derivative with respect to time, and assume that θ and For the minimum value, sinθ = 0. cosθ=0, We can assume that the bottle's own attitude angle is close to 0, which means the bottle will not move away from the direction parallel to the ground, while the rotation angle of the forearm is small. Therefore, the position of the bottle's center of mass in the world coordinate system can be obtained as follows:

[0348]

[0349] Schematic representation: The square of the linear velocity of the bottle can be determined based on the dynamic system, as follows:

[0350]

[0351] According to the Euler-Lagrange equations, the kinetic and potential energies of all rigid bodies in the dynamic system within three-dimensional space need to be solved separately. Specifically, after determining the attitude and physical information, the kinetic and potential energies within three-dimensional space need to be determined.

[0352] For example, the sum of the kinetic energies of all rigid bodies in a dynamic system can be expressed as follows:

[0353]

[0354]

[0355] Where T represents kinetic energy, U represents potential energy, and v 2 As described above, I ax and I ay I is used to indicate the moment of inertia of the robotic arm in the third and fourth directions, respectively. bx and I by These are used to indicate the moment of inertia of a moving object in the third and fourth directions, respectively. The third and fourth directions are the x and y directions in the robot arm coordinate system constructed based on the robot arm itself, and g is used to indicate the acceleration due to gravity.

[0356] Based on this, the kinetic energy can be expressed for each degree of freedom in the extended coordinate system (i.e., θ and θ). ) and its derivative (i.e. and Taking the partial derivatives, we obtain the following formula:

[0357]

[0358]

[0359]

[0360]

[0361]

[0362]

[0363]

[0364]

[0365]

[0366]

[0367]

[0368] Subsequently, in response to and Taking the derivative with respect to time, we obtain the following formula:

[0369]

[0370]

[0371]

[0372]

[0373] Where, r a Used to indicate the cross-sectional radius of the robotic arm, r b Used to indicate the cross-sectional radius of a moving object, in meters (m) a Used to indicate the mass of the robotic arm, m b Used to indicate the mass of a moving object.

[0374] Subsequently, based on the Euler-Lagrange equations, the first, second, third, and fourth equations of dynamics can be obtained, as follows:

[0375]

[0376]

[0377]

[0378]

[0379] The first line represents the dynamic equation (i.e., the third equation) on the s-degree of freedom. Since there is underactuation on this degree of freedom, the actual input torque on the right side of the equation is 0. The second line represents the dynamic equation (i.e., the fourth equation) on the α-degree of freedom. The driving force on this degree of freedom is the torque τ of the motor. x The third line represents the dynamic equation (i.e., the second dynamic equation) at the θ degree of freedom. Due to underactuation at this degree of freedom, the actual input torque on the right side of the equation is 0. The fourth line represents... The dynamic equation for a degree of freedom (i.e., the first equation of dynamics) is driven by the torque τ of the motor in that degree of freedom. y .

[0380] In some embodiments, formulas 1-4 can be simplified to the following form:

[0381]

[0382]

[0383] For ease of description below, the above form will be marked as follows:

[0384]

[0385] It should be understood that the above two abbreviations exist for ease of description, and their essence still refers to formulas 1-4. This application will not describe the parameters involved in the above abbreviations in detail. For details, please refer to the above description of formulas 1-4.

[0386] Subsequently, for the first and second rows (i.e., Formula 1 and Formula 2), we can obtain the result from the first row. Substituting this into the second line, we get τ. x The first sub-mapping relation f of s 31 =(s,τ) x For the third and fourth rows (i.e., formulas 3 and 4), the answer can be obtained from the third row. Substituting this into the fourth line, we get τ. y The second sub-mapping relation f with θ 32 =(θ,τ) y ).

[0387] The above process can be understood as selecting the second and fourth rows to obtain the following third mapping relationship:

[0388]

[0389] Among them, f s =[-M -1 CM-1 G] 2.4 ,

[0390] After determining the third mapping relationship, s and θ can be determined using a PID controller, and τ can be determined based on the third mapping relationship. x and τ y This is used to control the robotic arm. For example, the control law for a PID controller is as follows:

[0391]

[0392] Where, k p k d These are the proportional control parameter and the derivative control parameter, respectively. These two parameters can be adjusted based on the results of multiple experiments.

[0393] Based on feedback linearization, we can obtain:

[0394]

[0395] For example, in Given that s = θ = 0 and α = 0, τ can be determined. x and τ y It is used to control the movement of the robotic arm around the first and second rotating axes.

[0396] In summary, the robotic arm control method provided in this application presents two implementation methods for constructing mapping relationships, which can be implemented based on 2D / 3D models respectively. It should be understood that different mapping relationships will result in different determined control information. The control of the robotic arm can select the appropriate mapping relationship according to actual needs to meet different control requirements; this application does not limit this selection.

[0397] Referring to the foregoing, the mapping relationship is used to determine control information so that the movable object remains balanced on the robotic arm and does not fall. Figure 9 Step 160 can be implemented as step 164, as follows:

[0398] Step 164: Using control information, control the robotic arm to perform at least one motion behavior so that the movable object is in a balanced state on the robotic arm.

[0399] The motion behavior of the robotic arm includes at least one of the following behaviors: remaining relatively stationary, moving, or rotating.

[0400] Referring to the foregoing, the control information includes a first control torque and / or a second control torque.

[0401] It should be understood that control information is a sequence of torques composed of the control torques of each joint of the robotic arm. Based on this torque sequence, motion control of each joint of the robotic arm is achieved. The interaction of the control torques of each joint will cause the robotic arm to appear visually stationary or in motion. When the robotic arm appears stationary, it can be understood that its motion behavior is relatively still; that is, based on the control of each joint, the robotic arm appears to be at rest. When the robotic arm appears in motion, it can be understood that its motion behavior is movement and / or rotation. That is, based on the control of each joint, the robotic arm can appear to be in motion, and this movement can include movement and / or rotation, such as the robotic arm swinging up and down around the shoulder joint, or rotating left and right around the shoulder joint.

[0402] In some embodiments, the control information includes a first control torque, and step 160 can be implemented as follows: according to the first control torque, controlling the robotic arm to move around a first axis of rotation so that the movable object is in a balanced state on the robotic arm, wherein the first axis of rotation is a straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended. In other embodiments, the control information includes a second control torque, and step 160 can be implemented as follows: according to the second control torque, controlling the robotic arm to move around a second axis of rotation so that the movable object is in a balanced state on the robotic arm, wherein the second axis of rotation is an extension of the line connecting the two ends of the robotic arm when it is extended.

[0403] Indicatively, equilibrium states include the following two types:

[0404] A static equilibrium state is when a movable object is stationary on the robotic arm; a dynamic equilibrium state is when a movable object is displaced or rolls on the robotic arm.

[0405] In this context, static equilibrium can also be understood as the movable object being stationary relative to the robotic arm, while dynamic equilibrium can be understood as the movable object being stationary relative to the robotic arm after displacement or rolling. In some embodiments, the movable object in dynamic equilibrium may be stationary relative to the robotic arm after displacement or rolling but not falling off, or it can be understood as the movable object being stationary relative to the robotic arm after displacement or rolling, and the movable object not falling off the robotic arm.

[0406] This can be understood as, based on control information, enabling the robotic arm to perform at least one motion behavior, with the purpose of keeping the movable object stationary on the robotic arm, or with the purpose of changing the relative position of the movable object and the robotic arm while the immovable object falls off the robotic arm.

[0407] refer to Figure 14Taking a bottle as an example of a movable object, the bottle is placed on the forearm of a robotic arm. After the controller determines the control information, it controls the movement of each joint of the robotic arm accordingly. It is assumed that the movable object is in a state of dynamic equilibrium, in which case the bottle can roll on the forearm of the robotic arm. Figure 14 As shown, the robotic arm makes fine adjustments in the x / y directions, causing the bottle to roll from the left side of the diagram (i.e., near the end of the robotic arm) to the right side of the diagram (i.e., near the shoulder joint of the robotic arm), thus preventing it from falling off the robotic arm.

[0408] Based on this, simulation implementation can be performed, see reference. Figure 15 and Figure 16 The diagram shows multiple views. Taking a bottle as an example, the movable object is placed on the forearm of the robotic arm. Figure 15 Images (a) and (b) show two side views of the bottle as it rolls on the robotic arm. Figure 16 (a) and (b) in the figure show two front views of the bottle as it rolls on the robotic arm.

[0409] refer to Figures 14 to 16 It should be understood that the control method for the robotic arm provided in this application embodiment can be applied to a robotic arm composed of one or more links. The movable object can be placed on the forearm or upper arm of the robotic arm, or on a certain intermediate link of the robotic arm. This application does not limit this.

[0410] Optionally, step 164 can be implemented as follows: using control information, controlling the robotic arm to perform at least one motion behavior so that the movable object is in a static equilibrium state, and the movable object in the static equilibrium state is stationary on the robotic arm; using control information, controlling the robotic arm to perform at least one motion behavior so that the movable object is in a dynamic equilibrium state, and the movable object in the dynamic equilibrium state moves or rolls on the robotic arm but does not fall off.

[0411] In some embodiments, after establishing different mapping relationships, it is necessary to determine one or more intermediate variables (i.e., the aforementioned) through a PID controller. (One or more of α, s, and θ). According to the control principle of the PID controller, there is a reference value used to determine the above variables.

[0412] For example, when the reference value is the first value, the control information is used to control the robotic arm to perform at least one motion behavior so that the movable object is in a static equilibrium state; when the reference value is not the first value, the control information is used to control the robotic arm to perform at least one motion behavior so that the movable object is in a dynamic equilibrium state.

[0413] The first value can be set according to actual needs. For example, the first value is 0.

[0414] Optionally, when controlling the robotic arm to move, at least one of the following—the control torque, rotation angle, and angular velocity of the robotic arm—changes. (Reference) Figure 6 The robotic arm will rotate in the x / y direction, thereby enabling fine-tuning of the position of the movable object on the robotic arm, which will cause at least one of the control torque, rotation angle, and angular velocity of the robotic arm to change.

[0415] In summary, the robotic arm control method provided in this application provides multiple ways to ensure that a movable object is in a balanced state on the robotic arm, so that the movable object remains balanced on the robotic arm and does not fall off.

[0416] For example, the overall control architecture of the robotic arm is as follows: Figure 17 As shown.

[0417] Referring to the foregoing, the purpose of the robotic arm control method is to control the posture and movement of the robotic arm by inputting commands to the joint motors of the robotic arm.

[0418] For example, each joint motor of the robotic arm is equipped with a joint motor encoder to provide feedback on the rotation angle, angular velocity, and current information of the joint motor. This information can be used for state estimation of the robotic arm. Simultaneously, tactile sensors are also installed on the fingers, palm, and certain links of the robotic arm. The acquired tactile signals are then processed by tactile actuators for signal and data processing.

[0419] Optionally, cameras can be installed in the external environment of the robotic arm to acquire visual perception data. Subsequently, the visual perception data and tactile perception data can be fused. Taking a bottle as an example, the fusion of perception data can yield a state estimate of the bottle (i.e., bottle state estimate).

[0420] For details on the fusion process, please refer to the foregoing content.

[0421] Subsequently, based on the tactile perception information and the bottle's position and orientation estimated from its state, a controller for the robotic arm can be designed. This controller design can be based on the Euler-Lagrange model. The controller's output can be the position and orientation of the robotic arm's end effector, or the position and orientation of the center of mass of a specific link within the robotic arm.

[0422] It should be understood that the overall control structure of the robotic arm involved in this application also includes 2D / 3D modeling to construct the dynamic system of the robotic arm and / or the movable object, thereby determining the mapping relationship between attitude information and control information. Optionally, 2D / 3D modeling can also be used to preset the future state of the bottle.

[0423] The details regarding determining the mapping relationship can be found in the preceding content and will not be repeated here.

[0424] refer to Figure 13 The controller input also includes the expected value, which is the expected value used to determine the intermediate parameters by the PID controller as mentioned above. The relevant description is as described above and will not be repeated here.

[0425] Subsequently, using a model of the robotic arm, the position and orientation of the end effector, or the position and orientation of the link's center of mass, can be calculated using inverse kinematics to determine the joint angles of each joint. It should be understood that, over time, the controller outputs a sequence of the robotic arm's end effector orientation or the link's center of mass orientation. Correspondingly, a series of inverse kinematics calculations yields a sequence of angular velocities for each joint of the robotic arm. Sending this sequence of joint angles and angular velocities to the robotic arm allows for control of the end effector's orientation or the position and orientation of a specific link's center of mass.

[0426] The following are device embodiments of this application. For details not described in detail in the device embodiments, please refer to the corresponding descriptions in the above method embodiments. They will not be repeated here.

[0427] Figure 18 A schematic diagram of a control device for a robotic arm provided in an exemplary embodiment of this application is shown. The device includes:

[0428] The acquisition module 1820 is used to acquire at least the dynamic system constructed based on the robotic arm and obtain attitude information from the dynamic system;

[0429] The determination module 1840 is used to determine the control information based on the mapping relationship between the posture information and the control information of the robotic arm.

[0430] The control module 1860 is used to control the movement of the robotic arm using control information until the movable object reaches a balanced state on the robotic arm.

[0431] Optionally, the attitude information includes first attitude information and second attitude information, the mapping relationship includes a first mapping relationship and a second mapping relationship, and the control information includes first control information and second control information; the determining module 1840 is used to determine the first control information based on the first mapping relationship, the first mapping relationship being used to describe the mapping relationship between the first attitude information and the first control information in the first plane, and the first control information being used to control the robotic arm to move around the first axis of rotation; and to determine the second control information based on the second mapping relationship, the second mapping relationship being used to describe the mapping relationship between the second attitude information and the second control information in the second plane, and the second control information being used to control the robotic arm to move around the second axis of rotation; wherein The first plane is used to indicate a two-dimensional plane formed by the first direction and the vertical direction perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. Any two of the first direction, the second direction and the vertical direction are perpendicular. The first axis of rotation is a straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the first axis of rotation is located at the end of the robotic arm near the shoulder joint. The second axis of rotation is the extension of the line connecting the two ends of the robotic arm when it is extended, and the second axis of rotation passes through the center of the robotic arm.

[0432] Optionally, the first posture information includes a first rotation angle of the robotic arm in a first plane, and the first control information includes a first control torque applied in the roll angle direction of the robotic arm rotating about a first axis; the determination module 1840 is used to determine the first control torque based on a first mapping relationship between the first rotation angle and the first control torque.

[0433] Optionally, the second attitude information includes the angle between the robotic arm and the horizontal plane, and the second control information includes the second control torque applied in the pitch angle direction of the robotic arm rotating about the second axis; the determination module 1840 is used to determine the second control torque based on the second mapping relationship between the angle and the second control torque.

[0434] Optionally, the attitude information includes third attitude information, the mapping relationship includes third mapping relationship, and the control information includes third control information; the determination module 1840 is used to determine the third control information based on the third mapping relationship. The third mapping relationship is used to describe the mapping relationship between the third attitude information and the third control information in three-dimensional space, and the third control information is used to control the movement of the robotic arm in three-dimensional space; wherein, the three-dimensional space is composed of a first direction, a second direction, and a vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The vertical direction is perpendicular to the line connecting the two ends of the robotic arm when it is extended. Any two of the first direction, the second direction, and the vertical direction are perpendicular; and a first plane and a second plane are formed in the three-dimensional space. The first plane is used to indicate the two-dimensional plane formed by the first direction and the vertical direction, and the second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction.

[0435] Optionally, the third posture information includes: the straight-line distance along a first direction between the center of the movable object and the joint center controlling the rotation of the robotic arm, and the second rotation angle of the movable object in a first plane; the third mapping relationship includes a first sub-mapping relationship and a second sub-mapping relationship; the third control information includes: applying a first control torque in the roll angle direction of the robotic arm rotating around a first axis, and applying a second control torque in the pitch angle direction of the robotic arm rotating around a second axis; the determining module 1840 is used to determine a first control torque based on the first sub-mapping relationship between the straight-line distance and the first control torque, the first control torque being used to control the robotic arm to move around the first axis; and, based on the second sub-mapping relationship between the second rotation angle and the second control torque, determine a second control torque, the second control torque being used to control the robotic arm to move around the second axis; wherein, the first axis is a straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the first axis is located at the end of the robotic arm near the shoulder joint, the second axis is the extension of the line connecting the two ends of the robotic arm when it is extended, and the second axis passes through the center of the robotic arm.

[0436] Optionally, the device also includes a construction module 1880 for constructing a mapping relationship based on attitude information and physical information of the dynamic system; wherein the mapping relationship is used to describe the relationship between attitude information and control information in a two-dimensional plane or three-dimensional space.

[0437] Optionally, the mapping relationship includes a first mapping relationship and a second mapping relationship; the construction module 1880 is used to determine the kinetic energy and potential energy in the first plane and the second plane according to the attitude information and physical information. The kinetic energy and potential energy are used to construct the Euler-Lagrange equation based on the first plane and the second plane respectively; the first mapping relationship and the second mapping relationship are determined according to the Euler-Lagrange equation; wherein, the first mapping relationship is used to describe the mapping relationship between the first attitude information and the first control information in the first plane, the second mapping relationship is used to describe the mapping relationship between the second attitude information and the second control information in the second plane, the first plane is used to indicate the two-dimensional plane formed by the first direction and the vertical direction perpendicular to the line connecting the two ends of the robot arm when it is extended, the second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction, the first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robot arm when it is extended, the second direction is the direction of the line connecting the two ends of the robot arm when it is extended, and the first direction, the second direction and the vertical direction are perpendicular to each other.

[0438] Optionally, module 1880 is used to obtain a first dynamic equation based on the first degree of freedom and a second dynamic equation based on the second degree of freedom according to the Euler-Lagrange equations; and to determine a first mapping relationship based on the first and second dynamic equations. The first degree of freedom is the degree of freedom corresponding to the second rotation angle of the robotic arm in the first plane, the first dynamic equation is used to describe the driving constraints of the robotic arm in the first plane, the second degree of freedom is the degree of freedom corresponding to the first rotation angle of the movable object in the first plane, and the second dynamic equation is used to describe the driving constraints of the movable object in the first plane.

[0439] Optionally, module 1880 is used to obtain the third dynamic equation based on the third degree of freedom and the fourth dynamic equation based on the fourth degree of freedom according to the Euler-Lagrange equation; and to determine the second mapping relationship based on the third dynamic equation and the fourth dynamic equation. The third degree of freedom is the degree of freedom corresponding to the straight-line distance between the center of the movable object and the joint center that controls the rotation of the robotic arm along the first direction. The third dynamic equation is used to describe the driving constraints of the movable object in the second plane. The fourth degree of freedom is the degree of freedom corresponding to the angle between the robotic arm and the horizontal plane. The fourth dynamic equation is used to describe the driving constraints of the robotic arm in the second plane.

[0440] Optionally, the mapping relationship includes a third mapping relationship. The construction module 1880 is used to determine the kinetic energy and potential energy in three-dimensional space based on the attitude information and physical information. The kinetic energy and potential energy are used to construct the Euler-Lagrange equation based on the three-dimensional space. The third mapping relationship is determined based on the Euler-Lagrange equation. The third mapping relationship is used to describe the mapping relationship between the third attitude information and the third control information in the three-dimensional space. The three-dimensional space is composed of a first direction, a second direction, and a vertical direction. The three-dimensional space includes a first plane and a second plane. The first plane is used to indicate the two-dimensional plane formed by the first direction and the vertical direction. The second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The first direction, the second direction, and the vertical direction are all perpendicular to each other, and the vertical direction is perpendicular to the line connecting the two ends of the robotic arm when it is extended.

[0441] Optionally, module 1880 is used to obtain, based on the Euler-Lagrange equations, a first dynamic equation constructed according to the first degree of freedom, a second dynamic equation constructed according to the second degree of freedom, a third dynamic equation constructed according to the third degree of freedom, and a fourth dynamic equation constructed according to the fourth degree of freedom; and to determine a third mapping relationship based on the first dynamic equation, the second dynamic equation, the third dynamic equation, and the fourth dynamic equation; wherein, the first degree of freedom is the degree of freedom corresponding to the first rotation angle of the robotic arm in the first plane, and the first dynamic equation is used to describe the driving constraints of the robotic arm in the first plane; the second degree of freedom is the degree of freedom corresponding to the second rotation angle of the movable object in the first plane, and the second dynamic equation is used to describe the driving constraints of the movable object in the first plane; the third degree of freedom is the degree of freedom corresponding to the straight-line distance along the first direction between the center of the movable object and the joint center controlling the rotation of the robotic arm, and the third dynamic equation is used to describe the driving constraints of the movable object in the second plane; and the fourth degree of freedom is the degree of freedom corresponding to the angle between the robotic arm and the horizontal plane, and the fourth dynamic equation is used to describe the driving constraints of the robotic arm in the second plane.

[0442] Optionally, the control module 1860 is used to control the robotic arm to perform at least one motion behavior using control information so that the movable object is in a balanced state on the robotic arm; wherein the motion behavior of the robotic arm includes at least one of the following behaviors: maintaining relative stillness, moving, and rotating.

[0443] Optionally, the control module 1860 is used to control the robotic arm to perform at least one motion behavior using control information, so that the movable object is in a static equilibrium state, and the movable object in the static equilibrium state is stationary on the robotic arm; and to control the robotic arm to perform at least one motion behavior using control information, so that the movable object is in a dynamic equilibrium state, and the movable object in the dynamic equilibrium state is displaced or rolled on the robotic arm.

[0444] Optional acquisition module 1820 is used to obtain attitude information from the dynamic system based on a visual sensor; or, based on both a visual sensor and a tactile sensor, to obtain attitude information from the dynamic system.

[0445] Figure 19 A schematic block diagram of a robotic arm provided in an embodiment of this application is shown. Figure 19 The robotic arm in this embodiment may include: one or more controllers 1901; one or more sensors 1902; one or more motors 1903; and a memory 1904. The controllers 1901, sensors 1902, motors 1903, and memory 1904 are connected via a bus 1905. The memory 1904 stores a computer program, which includes program instructions. The controllers 1901 execute the program instructions stored in the memory 1904.

[0446] The memory 1904 may include volatile memory, such as random-access memory (RAM); the memory 1904 may also include non-volatile memory, such as flash memory, solid-state drive (SSD), etc.; the memory 1904 may also include a combination of the above types of memory.

[0447] Controller 1901 may be a central processing unit (CPU). Controller 1901 may further include hardware chips. These hardware chips may be application-specific integrated circuits (ASICs), programmable logic devices (PLDs), etc. The PLD may be a field-programmable gate array (FPGA), generic array logic (GAL), etc. Controller 1901 may also be a combination of the above structures.

[0448] In this embodiment, the memory 1904 is used to store a computer program, which includes program instructions. The controller 1901 is used to execute the program instructions stored in the memory 1904 to implement the steps of the aforementioned robotic arm control method.

[0449] In one embodiment, controller 1901 is configured to invoke program instructions for execution:

[0450] Obtain at least the dynamic system constructed based on the robotic arm, and obtain attitude information from the dynamic system;

[0451] Based on the mapping relationship between posture information and the control information of the robotic arm, the control information is determined;

[0452] Using control information, the movement of the robotic arm is controlled until the movable object reaches a balanced state on the robotic arm.

[0453] In one embodiment, the attitude information includes first attitude information and second attitude information, the mapping relationship includes a first mapping relationship and a second mapping relationship, and the control information includes first control information and second control information; the controller 1901 is configured to invoke program instructions to execute:

[0454] First control information is determined based on a first mapping relationship, which describes the mapping relationship between first posture information and first control information in a first plane. The first control information is used to control the robotic arm to move around a first axis of rotation. Second control information is determined based on a second mapping relationship, which describes the mapping relationship between second posture information and second control information in a second plane. The second control information is used to control the robotic arm to move around a second axis of rotation. The first plane indicates a two-dimensional plane formed by a first direction and a vertical direction perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second plane indicates another two-dimensional plane formed by a second direction and a vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. Any two of the first, second, and vertical directions are perpendicular. The first axis of rotation is a straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the first axis of rotation is located at the end of the robotic arm near the shoulder joint. The second axis of rotation is the extension of the line connecting the two ends of the robotic arm when it is extended, and the second axis of rotation passes through the center of the robotic arm.

[0455] In one embodiment, the first attitude information includes a first rotation angle of the robotic arm in a first plane, and the first control information includes a first control torque applied in the roll angle direction of the robotic arm rotating about a first axis; the controller 1901 is configured to invoke program instructions to execute:

[0456] The first control torque is determined based on the first mapping relationship between the first rotation angle and the first control torque.

[0457] In one embodiment, the second attitude information includes the angle between the robotic arm and the horizontal plane, and the second control information includes a second control torque applied in the pitch direction of the robotic arm's rotation about the second axis; the controller 1901 is configured to invoke program instructions to execute:

[0458] The second control torque is determined based on the second mapping relationship between the included angle and the second control torque.

[0459] In one embodiment, the attitude information includes third attitude information, the mapping relationship includes a third mapping relationship, and the control information includes third control information; the controller 1901 is configured to invoke program instructions to execute:

[0460] The third control information is determined based on the third mapping relationship, which describes the mapping relationship between the third posture information and the third control information in three-dimensional space. The third control information is used to control the movement of the robotic arm in three-dimensional space. The three-dimensional space consists of a first direction, a second direction, and a vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The vertical direction is perpendicular to the line connecting the two ends of the robotic arm when it is extended. Any two of the first direction, the second direction, and the vertical direction are perpendicular. A first plane and a second plane are formed in the three-dimensional space. The first plane is used to indicate the two-dimensional plane formed by the first direction and the vertical direction, and the second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction.

[0461] In one embodiment, the third attitude information includes: the straight-line distance along a first direction between the center of the movable object and the joint center controlling the rotation of the robotic arm, and the second rotation angle of the movable object in a first plane; the third mapping relationship includes a first sub-mapping relationship and a second sub-mapping relationship; the third control information includes: applying a first control torque in the roll angle direction of the robotic arm rotating about a first axis, and applying a second control torque in the pitch angle direction of the robotic arm rotating about a second axis; the controller 1901 is configured to call program instructions to execute:

[0462] Based on a first sub-mapping relationship between the straight-line distance and the first control torque, a first control torque is determined, which is used to control the robotic arm to move around a first axis of rotation; and based on a second sub-mapping relationship between the second rotation angle and the second control torque, a second control torque is determined, which is used to control the robotic arm to move around a second axis of rotation; wherein, the first axis of rotation is a straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the first axis of rotation is located at the end of the robotic arm near the shoulder joint, and the second axis of rotation is the extension of the line connecting the two ends of the robotic arm when it is extended, and the second axis of rotation passes through the center of the robotic arm.

[0463] In one embodiment, controller 1901 is configured to invoke program instructions for execution:

[0464] Based on attitude information and the physical information of the dynamic system, a mapping relationship is constructed; the mapping relationship is used to describe the relationship between attitude information and control information in a two-dimensional plane or three-dimensional space.

[0465] In one embodiment, the mapping relationship includes a first mapping relationship and a second mapping relationship; the controller 1901 is configured to invoke program instructions for execution:

[0466] Based on attitude and physical information, the kinetic and potential energies in the first and second planes are determined. The kinetic and potential energies are used to construct the Euler-Lagrange equations based on the first and second planes, respectively. Based on the Euler-Lagrange equations, the first and second mapping relationships are determined. The first mapping relationship describes the mapping relationship between the first attitude information and the first control information in the first plane, and the second mapping relationship describes the mapping relationship between the second attitude information and the second control information in the second plane. The first plane indicates a two-dimensional plane formed by the first direction and the vertical direction perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second plane indicates another two-dimensional plane formed by the second direction and the vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The first direction, the second direction, and the vertical direction are all perpendicular to each other.

[0467] In one embodiment, controller 1901 is configured to invoke program instructions for execution:

[0468] Based on the Euler-Lagrange equations, the first equation of dynamics constructed based on the first degree of freedom and the second equation of dynamics constructed based on the second degree of freedom are obtained. Based on the first equation of dynamics and the second equation of dynamics, the first mapping relationship is determined. Here, the first degree of freedom is the degree of freedom corresponding to the second rotation angle of the robotic arm in the first plane, and the first equation of dynamics is used to describe the driving constraints of the robotic arm in the first plane. The second degree of freedom is the degree of freedom corresponding to the first rotation angle of the movable object in the first plane, and the second equation of dynamics is used to describe the driving constraints of the movable object in the first plane.

[0469] In one embodiment, controller 1901 is configured to invoke program instructions for execution:

[0470] Based on the Euler-Lagrange equations, the third dynamic equation constructed based on the third degree of freedom and the fourth dynamic equation constructed based on the fourth degree of freedom are obtained. Based on the third dynamic equation and the fourth dynamic equation, the second mapping relationship is determined. Among them, the third degree of freedom is the degree of freedom corresponding to the straight-line distance along the first direction between the center of the movable object and the joint center that controls the rotation of the robotic arm. The third dynamic equation is used to describe the driving constraints of the movable object in the second plane. The fourth degree of freedom is the degree of freedom corresponding to the angle between the robotic arm and the horizontal plane. The fourth dynamic equation is used to describe the driving constraints of the robotic arm in the second plane.

[0471] In one embodiment, the mapping relationship includes a third mapping relationship, and the controller 1901 is configured to invoke program instructions for execution:

[0472] Based on attitude and physical information, the kinetic and potential energy in three-dimensional space are determined. The kinetic and potential energy are used to construct the Euler-Lagrange equations based on three-dimensional space. Based on the Euler-Lagrange equations, a third mapping relationship is determined. The third mapping relationship describes the mapping relationship between the third attitude information and the third control information in three-dimensional space. The three-dimensional space consists of a first direction, a second direction, and a vertical direction. The three-dimensional space includes a first plane and a second plane. The first plane indicates the two-dimensional plane formed by the first direction and the vertical direction. The second plane indicates another two-dimensional plane formed by the second direction and the vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The first direction, the second direction, and the vertical direction are all perpendicular to each other, and the vertical direction is perpendicular to the line connecting the two ends of the robotic arm when it is extended.

[0473] In one embodiment, controller 1901 is configured to invoke program instructions for execution:

[0474] Based on the Euler-Lagrange equations, the following dynamic equations are derived: the first equation of dynamics based on the first degree of freedom, the second equation of dynamics based on the second degree of freedom, the third equation of dynamics based on the third degree of freedom, and the fourth equation of dynamics based on the fourth degree of freedom. A third mapping relationship is then determined based on these equations. Specifically, the first degree of freedom corresponds to the first rotation angle of the robotic arm in the first plane, and the first equation of dynamics describes the driving constraints experienced by the robotic arm in the first plane. The second degree of freedom corresponds to the second rotation angle of the movable object in the first plane, and the second equation of dynamics describes the driving constraints experienced by the movable object in the first plane. The third degree of freedom corresponds to the straight-line distance along the first direction between the center of the movable object and the center of the joint controlling the rotation of the robotic arm, and the third equation of dynamics describes the driving constraints experienced by the movable object in the second plane. The fourth degree of freedom corresponds to the angle between the robotic arm and the horizontal plane, and the fourth equation of dynamics describes the driving constraints experienced by the robotic arm in the second plane.

[0475] Sensor 1902 is used to obtain attitude information from a dynamic system based on a visual sensor; or, based on both a visual sensor and a tactile sensor, to obtain attitude information from a dynamic system.

[0476] The relevant content regarding attitude information can be found in the foregoing content and will not be repeated here.

[0477] Motor 1903 is used to control the movement of the robotic arm and to complete the task based on control information. Motor 1903 includes the joint motors and wheel motors of the robotic arm.

[0478] Indicatively, embodiments of this application also provide a robot, which includes the robotic arm described above. The robotic arm can be used to implement the control methods for the robotic arm provided in the above-described method embodiments. The structure of the robotic arm can be referred to... Figure 19 The control methods for the robotic arm can be referred to in the aforementioned multiple method implementations, and will not be repeated here.

[0479] An embodiment of this application also provides a robotic arm, which includes a controller and a memory. The memory stores at least one piece of program code, which is loaded and executed by the controller to implement the control method of the robotic arm described above.

[0480] Embodiments of this application also provide a computer device, which includes a processor and a memory, wherein the memory stores at least one program, and the at least one program is loaded and executed by the processor to implement the above-described control method for the robotic arm.

[0481] Embodiments of this application also provide a computer-readable storage medium storing a computer program for execution by a processor to implement the above-described robotic arm control method.

[0482] Optionally, the computer-readable storage medium may include: read-only memory (ROM), random access memory (RAM), solid-state drives (SSDs), or optical discs, etc. The random access memory may include resistive random access memory (ReRAM) and dynamic random access memory (DRAM). The sequence numbers of the embodiments in this application are merely descriptive and do not represent the superiority or inferiority of the embodiments.

[0483] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware, or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk. The above descriptions are merely optional embodiments of this application and are not intended to limit the application. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of this application should be included within the scope of protection of this application.

[0484] Embodiments of this application also provide a chip, which includes a programmable logic circuit or a program, and is used to implement the control method of the robotic arm provided in the above-described method embodiments.

[0485] Embodiments of this application also provide a computer program product including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform any of the robotic arm control methods described in the above embodiments.

[0486] It should be understood that "multiple" as used in this article refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects have an "or" relationship.

[0487] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A control method for a robotic arm, characterized in that, The method involves placing a movable object at any position on the robotic arm, excluding its end effector. Obtain at least a dynamic system constructed based on the robotic arm, and obtain attitude information from the dynamic system; The control information is determined based on the mapping relationship between the posture information and the control information of the robotic arm; Using the control information, the movement of the robotic arm is controlled until the movable object is in a balanced state on the robotic arm.

2. The method according to claim 1, characterized in that, The attitude information includes first attitude information and second attitude information, the mapping relationship includes first mapping relationship and second mapping relationship, and the control information includes first control information and second control information; The determination of the control information based on the mapping relationship between the posture information and the control information of the robotic arm includes: The first control information is determined based on the first mapping relationship. The first mapping relationship is used to describe the mapping relationship between the first posture information and the first control information in the first plane. The first control information is used to control the robotic arm to move around the first axis. And, based on the second mapping relationship, the second control information is determined, the second mapping relationship is used to describe the mapping relationship between the second posture information and the second control information in the second plane, and the second control information is used to control the robotic arm to move around the second axis; Wherein, the first plane is used to indicate a two-dimensional plane formed by a first direction and a vertical direction perpendicular to the line connecting the two ends of the robotic arm when it is extended; the second plane is used to indicate another two-dimensional plane formed by a second direction and the vertical direction; the first direction is the direction of a straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended; the second direction is the direction of the line connecting the two ends of the robotic arm when it is extended; any two of the first direction, the second direction, and the vertical direction are perpendicular; the first axis of rotation is a straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the first axis of rotation is located at the end of the robotic arm near the shoulder joint; the second axis of rotation is the extension of the line connecting the two ends of the robotic arm when it is extended, and the second axis of rotation passes through the center of the robotic arm.

3. The method according to claim 2, characterized in that, The first attitude information includes a first rotation angle of the robotic arm in the first plane, and the first control information includes a first control torque applied in the roll angle direction of the robotic arm rotating about the first axis. Determining the first control information based on the first mapping relationship includes: The first control torque is determined based on the first mapping relationship between the first rotation angle and the first control torque.

4. The method according to claim 2, characterized in that, The second attitude information includes the angle between the robotic arm and the horizontal plane; the second control information includes the second control torque applied in the pitch angle direction of the robotic arm rotating about the second axis; and determining the first control information based on the first mapping relationship includes: The second control torque is determined based on the second mapping relationship between the included angle and the second control torque.

5. The method according to claim 1, characterized in that, The attitude information includes third attitude information, the mapping relationship includes third mapping relationship, and the control information includes third control information; The determination of the control information based on the mapping relationship between the posture information and the control information of the robotic arm includes: The third control information is determined based on the third mapping relationship. The third mapping relationship is used to describe the mapping relationship between the third posture information and the third control information in three-dimensional space. The third control information is used to control the robotic arm to move in the three-dimensional space. The three-dimensional space is composed of a first direction, a second direction, and a vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The vertical direction is perpendicular to the line connecting the two ends of the robotic arm when it is extended. Any two of the first direction, the second direction, and the vertical direction are perpendicular to each other. A first plane and a second plane are formed in the three-dimensional space. The first plane is used to indicate the two-dimensional plane formed by the first direction and the vertical direction, and the second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction.

6. The method according to claim 5, characterized in that, The third attitude information includes: the straight-line distance along the first direction between the center of the movable object and the joint center that controls the rotation of the robotic arm, and the second rotation angle of the movable object in the first plane; the third mapping relationship includes a first sub-mapping relationship and a second sub-mapping relationship; the third control information includes: a first control torque applied in the roll angle direction of the robotic arm rotating about the first axis, and a second control torque applied in the pitch angle direction of the robotic arm rotating about the second axis; Determining the third control information based on the third mapping relationship includes: Based on the first sub-mapping relationship between the straight-line distance and the first control torque, the first control torque is determined, and the first control torque is used to control the robotic arm to move around the first axis of rotation; Furthermore, based on the second sub-mapping relationship between the second rotation angle and the second control torque, the second control torque is determined, and the second control torque is used to control the robotic arm to move around the second rotation axis; The first pivot is a straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the first pivot is located at the end of the robotic arm near the shoulder joint. The second pivot is an extension of the line connecting the two ends of the robotic arm when it is extended, and the second pivot passes through the center of the robotic arm.

7. The method according to any one of claims 1 to 6, characterized in that, The method further includes: The mapping relationship is constructed based on the attitude information and the physical information of the dynamic system; The mapping relationship is used to describe the relationship between the attitude information and the control information in a two-dimensional plane or three-dimensional space.

8. The method according to claim 7, characterized in that, The mapping relationship includes a first mapping relationship and a second mapping relationship. Constructing the mapping relationship based on the attitude information and the physical information of the dynamic system includes: Based on the attitude information and the physical information, the kinetic energy and potential energy in the first plane and the second plane are determined, and the kinetic energy and the potential energy are used to construct the Euler-Lagrange equations based on the first plane and the second plane, respectively. Based on the Euler-Lagrange equations, determine the first mapping relationship and the second mapping relationship; Wherein, the first mapping relationship is used to describe the mapping relationship between the first attitude information and the first control information in the first plane, and the second mapping relationship is used to describe the mapping relationship between the second attitude information and the second control information in the second plane. The first plane is used to indicate a two-dimensional plane formed by the first direction and the vertical direction perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The first direction, the second direction and the vertical direction are perpendicular to each other.

9. The method according to claim 7, characterized in that, The mapping relationship includes a third mapping relationship. Constructing the mapping relationship based on the attitude information and the physical information of the dynamic system includes: Based on the attitude information and the physical information, the kinetic energy and potential energy in the three-dimensional space are determined, and the kinetic energy and potential energy are used to construct the Euler-Lagrange equation based on the three-dimensional space; The third mapping relationship is determined based on the Euler-Lagrange equation. The third mapping relationship is used to describe the mapping relationship between the third posture information and the third control information in the three-dimensional space. The three-dimensional space is composed of a first direction, a second direction, and a vertical direction, and includes a first plane and a second plane. The first plane is used to indicate the two-dimensional plane formed by the first direction and the vertical direction, and the second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The first direction, the second direction, and the vertical direction are all perpendicular to each other, and the vertical direction is perpendicular to the line connecting the two ends of the robotic arm when it is extended.

10. The method according to any one of claims 1 to 6, characterized in that, The step of controlling the movement of the robotic arm using the control information until the movable object is in a balanced state on the robotic arm includes: Using the control information, the robotic arm is controlled to perform at least one motion behavior so that the movable object is in the equilibrium state on the robotic arm; The movement behavior of the robotic arm includes at least one of the following behaviors: remaining relatively stationary, moving, and rotating.

11. A control device for a robotic arm, characterized in that, The device includes: An acquisition module is used to acquire at least a dynamic system constructed based on the robotic arm, and to obtain attitude information from the dynamic system; The determination module is used to determine the control information based on the mapping relationship between the posture information and the control information of the robotic arm; The control module is used to control the movement of the robotic arm using the control information until the movable object reaches a balanced state on the robotic arm.

12. The apparatus according to claim 11, characterized in that, The attitude information includes first attitude information and second attitude information, the mapping relationship includes first mapping relationship and second mapping relationship, and the control information includes first control information and second control information; The determining module is used to determine the first control information based on the first mapping relationship. The first mapping relationship is used to describe the mapping relationship between the first posture information and the first control information in the first plane. The first control information is used to control the robotic arm to move around the first axis. And, based on the second mapping relationship, the second control information is determined, the second mapping relationship is used to describe the mapping relationship between the second posture information and the second control information in the second plane, and the second control information is used to control the robotic arm to move around the second axis; Wherein, the first plane is used to indicate a two-dimensional plane formed by a first direction and a vertical direction perpendicular to the line connecting the two ends of the robotic arm when it is extended; the second plane is used to indicate another two-dimensional plane formed by a second direction and the vertical direction; the first direction is the direction of a straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended; the second direction is the direction of the line connecting the two ends of the robotic arm when it is extended; any two of the first direction, the second direction, and the vertical direction are perpendicular; the first axis of rotation is a straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the first axis of rotation is located at the end of the robotic arm near the shoulder joint; the second axis of rotation is the extension of the line connecting the two ends of the robotic arm when it is extended, and the second axis of rotation passes through the center of the robotic arm.

13. The apparatus according to claim 12, characterized in that, The first posture information includes the first rotation angle of the robotic arm in the first plane, and the first control information includes the first control torque applied in the roll angle direction of the robotic arm rotating about the first axis. The determining module is used to determine the first control torque based on the first mapping relationship between the first rotation angle and the first control torque.

14. The apparatus according to claim 12, characterized in that, The second attitude information includes the angle between the robotic arm and the horizontal plane, and the second control information includes the second control torque applied in the pitch angle direction of the robotic arm rotating about the second axis; The determining module is used to determine the second control torque based on the second mapping relationship between the included angle and the second control torque.

15. The apparatus according to claim 11, characterized in that, The attitude information includes third attitude information, the mapping relationship includes third mapping relationship, and the control information includes third control information; The determining module is used to determine the third control information based on the third mapping relationship. The third mapping relationship is used to describe the mapping relationship between the third posture information and the third control information in three-dimensional space. The third control information is used to control the robotic arm to move in the three-dimensional space. The three-dimensional space is composed of a first direction, a second direction, and a vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The vertical direction is perpendicular to the line connecting the two ends of the robotic arm when it is extended. Any two of the first direction, the second direction, and the vertical direction are perpendicular to each other. A first plane and a second plane are formed in the three-dimensional space. The first plane is used to indicate the two-dimensional plane formed by the first direction and the vertical direction, and the second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction.

16. The apparatus according to claim 15, characterized in that, The third attitude information includes: the straight-line distance along the first direction between the center of the movable object and the joint center that controls the rotation of the robotic arm, and the second rotation angle of the movable object in the first plane; the third mapping relationship includes a first sub-mapping relationship and a second sub-mapping relationship; the third control information includes: a first control torque applied in the roll angle direction of the robotic arm rotating about the first axis, and a second control torque applied in the pitch angle direction of the robotic arm rotating about the second axis; The determining module is used to determine the first control torque based on the first sub-mapping relationship between the straight-line distance and the first control torque, and the first control torque is used to control the robotic arm to move around the first axis of rotation; Furthermore, based on the second sub-mapping relationship between the second rotation angle and the second control torque, the second control torque is determined, and the second control torque is used to control the robotic arm to move around the second rotation axis; The first pivot is a straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the first pivot is located at the end of the robotic arm near the shoulder joint. The second pivot is an extension of the line connecting the two ends of the robotic arm when it is extended, and the second pivot passes through the center of the robotic arm.

17. The apparatus according to any one of claims 11 to 16, characterized in that, The device further includes a construction module for constructing the mapping relationship based on the attitude information and the physical information of the dynamic system; The mapping relationship is used to describe the relationship between the attitude information and the control information in a two-dimensional plane or three-dimensional space.

18. The apparatus according to claim 17, characterized in that, The mapping relationship includes a first mapping relationship and a second mapping relationship; The construction module is used to determine the kinetic energy and potential energy in the first plane and the second plane based on the attitude information and the physical information. The kinetic energy and the potential energy are used to construct the Euler-Lagrange equations based on the first plane and the second plane, respectively. Based on the Euler-Lagrange equations, determine the first mapping relationship and the second mapping relationship; Wherein, the first mapping relationship is used to describe the mapping relationship between the first attitude information and the first control information in the first plane, and the second mapping relationship is used to describe the mapping relationship between the second attitude information and the second control information in the second plane. The first plane is used to indicate a two-dimensional plane formed by the first direction and the vertical direction perpendicular to the line connecting the two ends of the robotic arm when it is extended. The second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The first direction, the second direction and the vertical direction are perpendicular to each other.

19. The apparatus according to claim 17, characterized in that, The mapping relationship includes a third mapping relationship. The construction module is used to determine the kinetic energy and potential energy in the three-dimensional space based on the attitude information and the physical information. The kinetic energy and the potential energy are used to construct the Euler-Lagrange equation based on the three-dimensional space. The third mapping relationship is determined based on the Euler-Lagrange equation. The third mapping relationship is used to describe the mapping relationship between the third posture information and the third control information in the three-dimensional space. The three-dimensional space is composed of a first direction, a second direction, and a vertical direction, and includes a first plane and a second plane. The first plane is used to indicate the two-dimensional plane formed by the first direction and the vertical direction, and the second plane is used to indicate another two-dimensional plane formed by the second direction and the vertical direction. The first direction is the direction of the straight line perpendicular to the line connecting the two ends of the robotic arm when it is extended, and the second direction is the direction of the line connecting the two ends of the robotic arm when it is extended. The first direction, the second direction, and the vertical direction are all perpendicular to each other, and the vertical direction is perpendicular to the line connecting the two ends of the robotic arm when it is extended.

20. The apparatus according to any one of claims 11 to 16, characterized in that, The control module is used to control the robotic arm to perform at least one motion behavior using the control information, so that the movable object is in the balanced state on the robotic arm. The movement behavior of the robotic arm includes at least one of the following behaviors: remaining relatively stationary, moving, and rotating.

21. A controller, characterized in that, The controller includes a memory and a processor; The memory stores at least one piece of program code, which is loaded and executed by the processor to implement the control method of the robotic arm as described in any one of claims 1 to 10.

22. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that is executed by a processor to implement the control method of the robotic arm as described in any one of claims 1 to 10.

23. A chip, characterized in that, The chip includes programmable logic circuits and / or program instructions, and when the electronic device equipped with the chip is running, it is used to implement the control method of the robotic arm as described in any one of claims 1 to 10.

24. A computer program product, characterized in that, The computer program product includes computer instructions stored in a computer-readable storage medium, and a processor reads and executes the computer instructions from the computer-readable storage medium to implement the control method of the robotic arm as described in any one of claims 1 to 10.