Motion control method and device for under-operated robot, under-operated robot, chip, computer device and program

The motion control method for underactuated robots addresses balance issues by controlling the base and wheel movement based on load state information, maintaining stability and preventing objects from falling.

JP7758271B2Active Publication Date: 2025-10-22TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024514490
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-01-07
Filing Date
2022-11-04
Publication Date
2025-10-22
Estimated Expiration
2042-11-04

AI Technical Summary

Technical Problem

Underactuated robots face stability issues due to having fewer actuators than the number of degrees of freedom, leading to balance problems, particularly when carrying objects that can become unstable and fall off the base.

Method used

A motion control method for underactuated robots that determines state information of a load object on the base and controls the movement of the base and wheel assembly based on this information to prevent the load from falling off.

Benefits of technology

The method improves the stability of underactuated robots by ensuring that the load remains on the base, enhancing their balance and preventing objects from falling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007758271000092
    Figure 0007758271000092
  • Figure 0007758271000093
    Figure 0007758271000093
  • Figure 0007758271000094
    Figure 0007758271000094
Patent Text Reader

Abstract

A motion control method for an under-operated robot and the under-operated robot are provided, which relate to the field of robots. The under-operated robot includes a wheel unit and a base unit connected to the wheel unit, and a load object is placed on the base unit, and the method includes the steps of determining (102) state information of the load object on the base unit; and controlling (104) the motion of at least one of the base unit and the wheel unit based on the state information to keep the load object from falling off the base unit. By controlling the motion of the base unit and / or the wheel unit based on the state information of the load object on the base unit, the load object can be kept from falling off the base unit, thereby improving the stability of the under-operated robot.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application claims priority from a Chinese patent application filed with the China Patent Office on January 7, 2022, bearing application number 202210015856.0 and entitled "Motion control method for underactuated system robot and underactuated system robot," the entire contents of which are incorporated herein by reference.

[0002] The present application relates to the technical field of robots, and in particular to a method and apparatus for controlling the motion of an underactuated robot, an underactuated robot, a chip, and a computer device and program. [Background technology]

[0003] An under-actuated (also known as "under-actuated") system robot is a robot with fewer actuators than the number of degrees of freedom of its joints. A typical symptom of this type of robot is that it has problems with balance. Take a leg-wheel robot with a base as an example. The base is floating, and the robot moves using the wheels to maintain balance. Therefore, it can be understood that an under-actuated system robot has a body attitude control problem.

[0004] In practical use, a robot with an underactuation system may be used to complete a specified task. For example, when a spherical object is carried using the base of a leg-wheeled robot, the spherical object may become unstable on the base and fall because it does not have shape closure or force closure on the base. At present, there are no clear research results on the control method for this. Summary of the Invention [Problem to be solved by the invention]

[0005] The embodiments of the present application aim to provide a motion control method for an under-operated system robot and an under-operated system robot that improves the stability of the under-operated system robot by controlling the movement (motion) of at least one of the base part and the wheel part based on status information and ensuring that the load object remains on the base part and does not fall. [Means for solving the problem]

[0006] According to one aspect of the present application, there is provided a motion control method for an under-actuated system robot, the method being executed by a controller of the under-actuated system robot, the under-actuated system robot including a wheel unit and a base unit connected to the wheel unit, a load object being placed on the base unit, the method comprising: determining state information for the load object on the base; and Controlling movement of at least one of the base and the wheel assembly based on the state information to keep the load object from falling off the base.

[0007] According to one aspect of the present application, there is provided an under-actuation system robot, the under-actuation system robot including a wheel unit and a base unit connected to the wheel unit, the base unit being used to place a load object thereon, and the under-actuation system robot is provided with a controller, the controller being used to control the under-actuation system robot to achieve the following: The movement of at least one of the base and the wheel unit is controlled based on state information of the load object on the base, thereby preventing the load object from falling off the base.

[0008] According to one aspect of the present application, there is provided a motion control device for an underactuated system robot, the device comprising: a determination module for determining state information of a load object on the base; and A control module is included for controlling movement of at least one of the base and the wheel assembly based on the status information to maintain the load object from falling off the base.

[0009] According to one aspect of the present application, there is provided a computing device, the computing device including a processor, the processor comprising: determining state information for the load object on the base; and The state information is used to control the movement of at least one of the base and the wheel assembly to keep the load object from falling off the base.

[0010] According to one aspect of the present application, a computer-readable storage medium is provided, the storage medium having a computer program stored therein, the computer program being capable of implementing the motion control method for an underactuation system robot as described above when executed by a processor.

[0011] According to one aspect of the present application, a chip is provided, the chip including programmable logic circuits and / or program instructions, which when executed, are used to implement the motion control method for an underactuated system robot as described above.

[0012] According to one aspect of the present application, there is provided a computer program product, the computer program product including computer instructions stored in a computer-readable storage medium, wherein a processor can read and execute the computer instructions from the computer-readable storage medium to realize the motion control method for an under-actuation system robot as described above. [Effects of the Invention]

[0013] The technical solutions provided in the embodiments of this application have at least the following advantageous effects:

[0014] Based on the status information of the load object on the base, the underactuated system robot can control the movement of the base and / or wheel unit to ensure that the load object stays on the base and does not fall, thereby improving the stability of the underactuated system robot. [Brief explanation of the drawings]

[0015] [Figure 1] FIG. 1 is a diagram illustrating the configuration (structure) of a leg-wheel robot provided in one exemplary embodiment of the present application. [Figure 2] FIG. 1 is a diagram showing a local portion of a leg-wheel robot provided in one exemplary embodiment of the present application. [Figure 3] FIG. 1 is a front view of a leg-wheel robot provided in one exemplary embodiment of the present application in a standing state on two wheels. [Figure 4] FIG. 1 is a side view of a leg-wheel robot provided in one exemplary embodiment of the present application in a standing state on two wheels. [Figure 5] FIG. 1 is a top view of a leg-wheel robot provided in one exemplary embodiment of the present application in a standing state on two wheels. [Figure 6] FIG. 2 is a three-dimensional view of a counterweight thigh of a leg-wheel robot provided in an exemplary embodiment of the present application when the counterweight thigh is in an adduction state; [Figure 7] FIG. 1 is a front view of a leg-wheel robot provided in one exemplary embodiment of the present application in a standing state on three wheels. [Figure 8] FIG. 1 is a side view of a leg-wheel robot provided in one exemplary embodiment of the present application in a standing state on three wheels. [Figure 9] FIG. 1 is a top view of a leg-wheel robot provided in one exemplary embodiment of the present application in a standing state on three wheels. [Figure 10] FIG. 1 is a three-dimensional view of a leg-wheel robot provided in one exemplary embodiment of the present application in a standing state on three wheels. [Figure 11]FIG. 10 is another three-dimensional view of the leg-wheel robot provided in one exemplary embodiment of the present application when it is in a standing state on three wheels. [Figure 12] 1A and 1B illustrate a leg-wheel robot configuration provided in one exemplary embodiment of the present application. [Figure 13] FIG. 1 illustrates three spatial angles provided in one exemplary embodiment of the present application. [Figure 14] FIG. 2 is a block diagram of a pitch angle balance control provided in one exemplary embodiment of the present application. [Figure 15] 1 is a flowchart of a motion control method for an under-actuation system robot provided in one exemplary embodiment of the present application. [Figure 16] 1 is a flowchart of a motion control method for an under-actuation system robot provided in one exemplary embodiment of the present application. [Figure 17] FIG. 1 is a diagram illustrating the implementation of motion control when the underactuation system robot is in a state of external force interference provided in one exemplary embodiment of the present application. [Figure 18] FIG. 1 is a diagram illustrating the implementation of motion control when the underactuation system robot is in a state of external force interference provided in one exemplary embodiment of the present application. [Figure 19] FIG. 1 is a diagram illustrating the implementation of motion control when the underactuation system robot is in a state of external force interference provided in one exemplary embodiment of the present application. [Figure 20] 1 is a flowchart of a motion control method for an under-actuation system robot provided in one exemplary embodiment of the present application. [Figure 21] FIG. 1 illustrates a description of the general problem of a hand grasping an object, provided in one exemplary embodiment of the present application. [Figure 22] FIG. 1 illustrates a scalar definition of an under-actuation system robot provided in one exemplary embodiment of the present application. [Figure 23] 1 is a flowchart of a motion control method for an under-actuation system robot provided in one exemplary embodiment of the present application. [Figure 24]1 is a flowchart of a motion control method for an under-actuation system robot provided in one exemplary embodiment of the present application. [Figure 25] FIG. 1 illustrates generalized coordinates of an underactuation system robot provided in one exemplary embodiment of the present application. [Figure 26] 1 is a flowchart of a motion control method for an under-actuation system robot provided in one exemplary embodiment of the present application. [Figure 27] 1 is an overall control block diagram of an under-actuation system robot provided in one exemplary embodiment of the present application. FIG. [Figure 28] FIG. 1 illustrates a motion control device for an underactuation system robot provided in one exemplary embodiment of the present application. [Figure 29] 1 is a block diagram of an electronic device provided in one exemplary embodiment of the present application. [Figure 30] FIG. 1 is a block diagram of a robot under-actuation system provided in one exemplary embodiment of the present application. DETAILED DESCRIPTION OF THE INVENTION

[0016] Unless otherwise defined, all technical terms used in the examples of this application have the same meaning as commonly understood by those skilled in the art. The "front" and "rear" in the examples of this application are based on the "front" and "rear" shown in the drawings, and the "first end" and the "second end" are opposite (facing) ends. In order to make the purpose, technical solutions and advantages of this application clearer, the embodiments of this application will be described in more detail below in conjunction with the drawings.

[0017] An underactuated robot is a robot in which the number of actuators is less than the number of degrees of freedom of the joints, and all underactuated robots have problems with the balance of the machine body.

[0018] FIG. 1 shows a leg-wheeled robot 10 provided in one exemplary embodiment of the present application. The leg-wheeled robot 10 is a type of underactuation system robot. The motion control method for an underactuation system robot provided in the embodiment of the present application can be realized by the leg-wheeled robot 10. The leg-wheeled robot 10 combines the advantages of wheeled robots and footed robots, has fairly high wheel energy efficiency and fairly high adaptability, and can use its thighs to avoid obstacles on uneven terrain. The leg-wheeled robot 10 is an unstable underactuation system, with only two contact points between the ground and the wheels / legs. Therefore, achieving balance of the robot is difficult, making balance control of the leg-wheeled robot 10 a challenge.

[0019] Illustratively, the leg-wheel robot 10 includes a base 11, a wheel section 12, and a tail section 13, and the wheel section 12 and the tail section 13 are each operatively connected to the base 11. Optionally, the wheel section 12 may be divided into left and right sides, and the left and right sides may or may not be completely symmetrical.

[0020] Illustratively, the wheel assembly 12 includes a thigh and limbus The thigh part includes a thigh unit 121 and a thigh unit 122, and the wheel part includes a main driving wheel (driving wheel) 123. Taking the example where the thigh unit 121 is made up of two rods and the thigh unit 122 is made up of two rods, the two rods included in the thigh unit 121, the two rods included in the thigh unit 122, and the base part 11 constitute a planar five-bar linkage.

[0021] Optionally, a first drive motor 1241 is fixed to the base 11 and is used to provide a driving force to the thigh unit 121 .

[0022] Taking the first drive motor 1241 as an example, the two rods included in the thigh unit 121 are fixedly connected to the output shafts of the two motors included in the first drive motor 1241, respectively, and the connection ends of the two rods included in the thigh unit 121 and the two rods included in the lower thigh unit 122 are all connected in the form of a rotating pair, thereby forming a planar five-bar linkage.

[0023] Optionally, a second drive motor 1242 is fixed to one rod of the leg unit 122 and is used to provide driving force to the main driving wheel 123 .

[0024] 2, which is a diagram showing a local portion of the leg-wheel robot 10. The driving of the main wheel 123 can be realized in the following manner: the second driving motor 1242 drives the rotation shaft 02 of the main wheel 123 by a belt transmission, and the rotation shaft 02 is coaxial with the axial direction of the rotation pair between the two rods included in the leg unit 122. The torsion spring 01 is mounted on the rotation shaft 02, and the arms of the torsion spring 01 are respectively fixed to the two rods included in the leg unit 122.

[0025] Optionally, a synchronous belt pulley 04 is attached to the output shaft of the second drive motor 1242, the synchronous belt pulley 04 is fixed to the rotating shaft 02, the main driving wheel 123 is fixed to another part of the rotating shaft 02, the synchronous belt 03 is fitted (sleeved) to the synchronous belt pulley 04, and the second drive motor 1242 drives the synchronous belt 03 to rotate, thereby driving the synchronous belt pulley 04 to rotate.

[0026] Optionally, in the leg-wheeled robot 10 provided in the embodiment of the present application, the tail 13 includes a counterweight thigh 131, a driven wheel 132, and a third drive motor 133. Among them, the counterweight thigh 131 realizes a balancing function during the movement process of the leg-wheeled robot 10, and the third drive motor 133 is used to provide a driving force to the driven wheel 132.

[0027] 3 to 5 are a front view, a left side view, and a top view, respectively, of the leg-wheel robot 10 standing on two wheels. Fig. 6 is a three-dimensional view of the leg-wheel robot 10 with the counterweight thigh 131 in an adducted state (a state in which the counterweight thigh 131 is retracted inward).

[0028] In one possible implementation scenario, the leg-wheeled robot 10 may also be in a three-wheeled standing state. When the leg-wheeled robot 10 is in a three-wheeled standing state, Figures 7-9 show a front view, a left side view, and a top view of the leg-wheeled robot 10 in a three-wheeled standing state. Figures 10 and 11 are different three-dimensional views of the leg-wheeled robot 10 in a three-wheeled standing state, respectively.

[0029] 7, for example, the position angle formed by the axial lines (axes) of the two rods included in the thigh unit 121 is θ, and when the position angle θ<180°, the mechanism can be self-stabilizing. In one possible implementation scenario, the leg-wheel robot 10 may have further other forms, and FIG. 12 shows an example of one form.

[0030] As can be understood, the leg-wheel robot 10 is a type of under-actuation system robot, and the following embodiments of this application only use the leg-wheel robot 10 as an example, but the specific structure and form of the leg-wheel robot 10 may be set according to actual circumstances, and this does not limit the configuration of this application.

[0031] To achieve balance for the leg-wheeled robot 10, it is usually necessary to perform balance feedback control on the leg-wheeled robot 10. Balance feedback control mainly involves feeding back self-balance measurements to a control system so that the final balance measurements reach a reference value.

[0032] 13 is a diagram showing three spatial angles provided in one exemplary embodiment of the present application. In the embodiment of the present application, three spatial angles are mainly used for balancing, namely, pitch angle, yaw angle, and roll angle.

[0033] As shown in Figure 13, a right-handed Cartesian coordinate system for three-dimensional control is established for the leg-wheeled robot 10, in which the pitch angle is the angle around the x-axis, which is a coordinate axis along the forward direction of the leg-wheeled robot 10 and corresponds to the roll angle, hereinafter referred to as θ. The yaw angle is the angle around the y-axis, which is a coordinate axis along the connection direction of the two wheels (double wheels) of the leg-wheeled robot 10 and corresponds to the pitch angle, hereinafter referred to as φ. The roll angle is the angle around the z-axis, which is a coordinate axis pointing vertically upward and corresponds to the yaw angle, hereinafter referred to as φ.

[0034] Hereinafter, balance control will be described using balance control in the pitch angle direction as an example.

[0035] The pitch angle represents the swing amplitude of the leg-wheel robot 10 in the forward direction, i.e., the pitch angle represents the angle at which the leg-wheel robot 10 swings back and forth in the control direction of wheel rotation, which is generated by there being only a single contact point between each wheel and the motion surface and the wheels of the leg-wheel robot 10 being arranged laterally.

[0036] The pitch direction control is made up of a multi-closed loop proportional-integral-derivative (PID) controller, among which the leg-wheeled robot 10 is projected onto a two-dimensional plane to form a simplified two-dimensional model, where X represents the distance the wheel center moves laterally in the simplified two-dimensional plane model, and assuming that the wheel does not slip or leave the ground, X is equal to the product of the wheel rotation angle and the wheel radius.

[0037] For example,

[0038]

number

[0039]

number

[0040]

number

[0041]

number

[0042]

number

[0043]

number

[0044]

number

[0045]

number

[0046] 14 is a block diagram of the pitch balance control provided in one exemplary embodiment of the present application, in which the outermost control reference value is the wheel center movement speed reference value.

[0047]

number

[0048] First, the reference speed of the wheel center movement

[0049]

number

[0050]

number

[0051]

number

[0052]

number

[0053] Next, the θ ref Let θ be the control reference for the next control loop. ref After subtracting θ from θ, the pitch angle difference, i.e., the difference between the current pitch angle and the reference pitch angle, is obtained, and the pitch angle difference is input to the PID controller 1420, thereby:

[0054]

number

[0055]

number

[0056]

number

[0057]

number

[0058] Also, after the state of the leg-wheel robot 10 has changed accordingly, θ,

[0059]

number

[0060]

number

[0061] The τ obtained based on the above-mentioned balance control can be used as a wheel rotation reference signal for the whole-body controller of the leg-wheeled robot 10. There are multiple ways to calculate and generate this reference signal, and this application provides one illustrative example, but is not limited to other calculation and generation methods for obtaining τ.

[0062] For example, the balance control in the yaw and roll directions is similar to the balance control in the pitch direction, and a detailed description thereof will be omitted here.

[0063] According to the foregoing, the present application provides a motion control method for an under-actuation system robot, which can keep the load object on the base and prevent it from falling.

[0064] 15 is a flowchart of a motion control method for an underactuated robot provided in one exemplary embodiment of the present application. The underactuated robot includes a wheel unit and a base unit connected to the wheel unit, and a load object is placed on the base unit.

[0065] The method is implemented by a controller of the underactuated robot, and the motion control of the underactuated robot can be realized by the controller. For example, after determining the motion manner of the wheel unit and / or the base unit, the controller sends control information to different motors to control the motion of the wheel unit and / or the base unit, respectively.

[0066] As can be understood, the controller may be installed inside the under-operated system robot, for example, implemented as an internal execution unit of the under-operated system robot, or the controller may be installed in an external device, for example, implemented as a remote control for the under-operated system robot, or implemented as a terminal device (e.g., a computer device) that issues commands to and controls the under-operated system robot, or the controller may further be implemented as another device or as an execution assembly within another device, the detailed description of which will be omitted here.

[0067] Illustratively, the motion control method provided in the embodiment of the present application includes the following steps.

[0068] Step 102: Determine the state information of the load object on the base.

[0069] Illustratively, the load object is in physical contact with the base, but the load object does not have shape or force closure at the base.

[0070] During the motion process of the underactuated robot, the contact point between the load object and the base is not fixed, so there are no clear rules for the motion state of the load object. However, because the load object is placed on the base, the underactuated robot needs to consider the physical properties of the load object during the motion process, such as mass and rotational moment of inertia, and different physical parameters can cause differences in the interaction between the load object and the underactuated robot.

[0071] The load object may be any object, including, for example, a rigid body and an elastic body, but the present application does not limit the shape, material, size, configuration, etc. of the load object, and any one or more objects can be considered as the load object in the present application. When multiple objects are considered as the load object in the present application, the status information on the base of each object can be determined separately, or one overall status information can be determined by processing the physical information of the multiple objects.

[0072] The load object may be an object of regular or irregular shape, such as a cube, a rectangular parallelepiped, a cylinder, a sphere, etc. For example, if the load object is a cube, there may be a relatively small frictional force between the cube and the base, causing the cube to slide on the base.

[0073] In the following examples, the load object is a sphere.

[0074] For example, the status information of the load object on the base includes at least one of load object attitude information, load object motion information, load object physical information, base attitude information, base motion information, and base physical information. The load object attitude information is used to indicate the position of the load object on the base, the load object motion information includes, but is not limited to, displacement information, velocity information, and acceleration information of the load object, and the load object physical information includes, but is not limited to, parameter information related to the physical properties of the load object, such as, but not limited to, the mass and rotational moment of inertia of the load object. The attitude information, motion information, and physical information of the base can be found in the above content, and a detailed description thereof will be omitted here.

[0075] For example, the status information includes the displacement of the contact point on the base of the load object in the x-direction on the base relative to the centroid of the underactuated system robot, and the speed of movement of the contact point along the x-direction on the base; and for example, the status information includes the displacement of the contact point on the base of the load object in the x-direction on the base relative to the centroid of the underactuated system robot, the speed of movement of the contact point along the x-direction on the base, the tilt angle of the base, and the tilt angular velocity of the base.

[0076] The x-axis is the x-axis direction in the above content, which is a coordinate axis along the forward direction of the leg-wheeled robot and corresponds to the roll angle "roll." Optionally, the status information may further include information related to the y-axis direction, which is the y-axis direction in the above content, which is a coordinate axis along the connecting direction of the two wheels of the leg-wheeled robot 10 and corresponds to the pitch angle "pitch."

[0077] In one possible implementation scenario, the state information can be obtained by at least one auxiliary component including a tactile sensor, a pressure sensor, a motion capture system, and a camera head (details will be described later). For example, step 102 can be implemented as follows: a tactile sensor acquires position information of the load object on the base, and coordinate transformation of the contact position is performed based on the position information to determine the state information.

[0078] The motion control method for the under-actuation system robot provided in the embodiment of the present application is executed by a controller of the under-actuation system robot. When motion control is required, the controller obtains position information of the load object on the base by sending a command to at least one auxiliary component selected from the group consisting of a tactile sensor, a pressure sensor, a motion capture system, and a camera head. Then, the at least one auxiliary component reports the position information of the load object on the base to the controller, allowing the controller to determine status information based on the position information, or the at least one auxiliary component processes the position information to obtain status information, and then reports the status information to the controller for further processing by the controller.

[0079] Step 104: Control the movement of at least one of the base and the wheel assembly based on the state information to keep the load object from falling off the base.

[0080] Illustratively, maintaining the load object on the base and not falling includes at least one of the following, but is not limited to: the load object staying still (remaining stationary) on the base, the load object moving on the base, the load object rolling on the base, the load object jumping on the base, and the load object rolling on the base. Taking the load object as an example, if the sphere is standing still, rolling, or jumping on the base, it can be considered that the sphere is maintained on the base and not falling.

[0081] In this application, the motion state of the underactuated robot can be selected according to actual needs, but is not limited thereto, and includes at least one of the following states: stationary state, moving state, inverted state, dancing state, jumping state, static equilibrium state, and dynamic equilibrium state.

[0082] For example, when the under-actuation system robot is in a stationary state, the wheel unit maintains the base unit in a fixed position relative to the ground; for example, when the under-actuation system robot is in a moving state, the wheel unit moves so that the under-actuation system robot balances the body; for example, when the under-actuation system robot is in an inverted state, the relative position of the wheel unit and the base unit changes depending on the stage of inversion; for example, when the under-actuation system robot is in a dancing state, the wheel unit moves or tilts, and / or the base unit moves or tilts.

[0083] In some embodiments, under static equilibrium, the body of the underactuated robot does not displace, and the base can remain stationary or tilt, allowing the underactuated robot to achieve on-site balance. In this case, the underactuated robot can be considered to be in a relatively stationary state. It can be understood that under static equilibrium, the wheel unit may slightly sway on-site, which is due to the whole-body dynamics model of the underactuated robot. As long as the sway is within the error range, the wheel unit can be considered to be maintained on-site in any case. The error range can be set according to actual needs.

[0084] In some other embodiments, under dynamic equilibrium, the body of the underactuated system robot undergoes displacement, the wheel section moves, and the base section can remain stationary or tilt, thereby allowing the underactuated system robot to be in a balanced state during the displacement process.

[0085] Taking the motion state of the underactuated robot as an example, the motion state of the underactuated robot is in a dynamic equilibrium state, and in the control process of the underactuated robot, the underactuated robot ensures the balance of the machine body by moving in any direction, where a load object is placed on the base, and after determining the state information of the load object on the base, the movement of at least one of the base and the wheel unit is controlled based on the determined state information, thereby ensuring that the underactuated robot achieves the balance of the machine body and that the load object is kept on the base and does not fall.

[0086] Illustratively, the movement of the base part includes at least a tilting movement, and the continuous tilting movement of the base part can cause the base part to be in a swing state, for example, to nod or shake its head. The movement of the wheel part includes at least a translation movement and a tilting movement, for example, a forward movement of the wheel part.

[0087] After determining the state information of the load object on the base, controlling at least one of the base and the wheel unit based on the state information can be realized by whole-body dynamics control of the underactuated system robot.

[0088] For example, the whole-body dynamics control is realized by a balance controller. The state information is input to the balance controller of the underactuated system robot, and the relevant reference signals of the whole-body dynamics control generated by the output of the corresponding whole-body dynamics model are used to drive at least one of the base and the wheels. The relevant reference signals include at least one of the following signals, namely, but are not limited to, a wheel rotation reference signal, a base posture reference signal, and a tail posture reference signal. The output of the balance controller is torque information of each joint, and the movement of the base and / or the wheels can be determined based on the determined torque information. Optionally, the balance controller is a PID controller.

[0089] For example, after determining the state information, the controller of the underactuated system robot determines a relevant reference signal for whole-body dynamics control through a balance processor. Then, the controller sends the relevant reference signal to the base and / or wheel units, causing the base and / or wheel units to move based on the sent signal. For example, the controller sends torque information of each joint of the wheel units to the corresponding motor, causing the motor to control the corresponding joint based on the corresponding torque information, thereby realizing the movement of the wheel units.

[0090] In summary, the motion control method for an under-operated system robot provided in the embodiments of the present application allows the under-operated system robot to control the movement of the base and / or wheel unit using a controller based on the status information of the load object on the base, thereby allowing the load object to stay on the base and not fall, thereby improving the stability of the under-operated system robot.

[0091] According to the above, there are multiple motion states of the underactuated system robot, and when the motion state is taken as an example of a dynamic equilibrium state, the underactuated system robot needs to maintain the balance of the machine body while keeping the load object on the base and preventing it from falling.

[0092] Based on FIG. 15, FIG. 16 shows a flowchart of a motion control method for an underactuation system robot provided in one exemplary embodiment of the present application. Optionally, the wheel section can be attached to the thigh and limbus Step 104 can be implemented as step 1041, where the specific content of step 1041 is as follows:

[0093] Step 1041: Based on the status information, the wheel section is controlled to move and the base section is controlled to perform tilting motion, thereby maintaining the balance of the underactuation system robot's body and ensuring that the load object does not fall off the base section.

[0094] The tilting movement of the base and the movement of the wheel section influence each other due to the expansion and contraction of the thigh section.

[0095] For example, the movement of the wheel unit includes at least a moving movement and a tilting movement. For example, the wheel unit moves forward, and when passing through an obstacle, the wheel unit performs a tilting movement, so that the robot body tilts to avoid the obstacle.

[0096] 1, the wheel unit may include a main wheel 123, and the second drive motor 1242 provides driving force to the main wheel 123, causing the main wheel 123 to perform a moving motion and a tilting motion. For example, the second drive motor 1242 drives the main wheel 123 to move forward or backward along the forward direction of the underactuated system robot 10, or the second drive motor 1242 drives the main wheel 123 to tilt, changing the angle between the main wheel 123 and the ground, thereby causing the body of the underactuated system robot 10 to tilt.

[0097] Illustratively, the movement of the base includes at least a tilting movement, and the continued tilting movement of the base causes the base to be in a swing state.

[0098] For example, referring to Figure 13, taking the x-axis in the above content as an example, by making the base seat continuously tilt up and down around the x-axis, the base seat is placed in a swing state in the x-axis direction, and when the x-axis is the forward direction of the leg-wheeled robot 10, the tilting motion of the base seat can be considered as a nodding motion of the base seat.Also, taking the y-axis in the above content as an example, by making the base seat continuously tilt up and down around the y-axis, the base seat is placed in a swing state in the y-axis direction, and when the y-axis is the direction in which the two wheels of the leg-wheeled robot 10 are connected, the tilting motion of the base seat can be considered as a swinging motion of the base seat.

[0099] For example, if the load object is a sphere, the sphere has no shape closure or force closure on the base. In the control process of the underactuated robot, the balance controller controls the movement of the wheel to make the underactuated robot maintain the balance of the body, and controls the movement of the base to make the sphere stay on the base and not fall.

[0100] For example, the tilting movement of the base and the movement of the wheel section influence each other through the extension and contraction of the thigh section, whereby the tilting movement of the base influences the movement of the wheel section via the thigh section, and the movement of the wheel section influences the tilting movement of the base via the thigh section.

[0101] 1, for example, the thigh part includes a thigh unit 121 and a lower thigh unit 122, and the wheel part includes a main driving wheel 123. When the base seat 11 performs tilting motion, the base seat 11 influences the forward and / or backward movement of the main driving wheel 123 by expanding and contracting the thigh unit 121 and the lower thigh unit 122, and when the main driving wheel 123 moves forward and / or backward, the main driving wheel 123 sequentially expands and contracts the lower thigh unit 122 and the thigh unit 121, thereby influencing the left-right swing and / or the front-back swing of the base seat 11.

[0102] The movement of the wheel unit and the tilting movement of the base can be realized by the whole body dynamics control of the underactuated robot system, which controls each joint of the underactuated robot system based on the reference signal output from the controller to realize the control of the movement of the wheel unit and the base, which will be described in detail later and will be described here only as an example.

[0103] In summary, the motion control method for an under-actuation system robot provided in the embodiments of the present application provides multiple motion states for the under-actuation system robot, thereby enabling the load object to be maintained on the base and not fall, thereby improving the stability of the under-actuation system robot.

[0104] In one possible implementation scenario, the load object and / or the underactuated system robot may be subjected to external force interference, and based on this, step 1041 may be implemented as follows:

[0105] When the load object and / or the under-operation system robot is subjected to external force interference, the wheel section is controlled to move and the base section to tilt based on status information, thereby maintaining the balance of the under-operation system robot's body and ensuring that the load object is maintained on the base section and does not fall.

[0106] The external force interference experienced by the load object and / or the under-operated robot may be a force applied to the load object and / or the under-operated robot by another object, or a resistance force experienced by the under-operated robot when crossing or passing through an obstacle. For example, when the under-operated robot passes through an obstacle, some of the obstacle's components press against the base, causing the under-operated robot and the load object to be subjected to a pressing force simultaneously.

[0107] For example, the external force interference may include at least one of the following: the center of the load object is subjected to external force interference, a portion other than the center of the load object is subjected to external force interference, the centroid of the load object is subjected to external force interference, the periphery of the centroid of the load object is subjected to external force interference, the base portion is subjected to external force interference, and the wheel portion is subjected to external force interference.

[0108] 17-19 are diagrams illustrating the motion control of the underactuation system robot provided in one exemplary embodiment of the present application when it is subjected to different external force interferences, respectively.

[0109] Taking the leg-wheel robot 10 as an example of the underactuated system robot, the drive motor of the leg-wheel robot 10 provides driving force to two main wheels 123 included in the wheel unit 12 (not shown), so that the leg-wheel robot 10 is in a dynamic equilibrium state. limbus The load object 20 is placed on the base 11, and the leg-wheel robot 10 controls the movement of at least one of the base 11 and the main driving wheel 123 with the goal of keeping the load object 20 on the base 11 and not falling.

[0110] Optionally, the load object 20 is a sphere.

[0111] 17, an external force is applied to the center of the sphere, the load object 20 rolls on the base 11 but does not fall, and the leg-wheeled robot 10 still maintains balance. During the process of maintaining balance, the base 11 is controlled in closed-loop at different attitude angles.

[0112] 18, an external force is applied to a position other than the center of the sphere, the load object 20 rolls over the base 11 but does not fall, and the leg-wheeled robot 10 still maintains its balance. In the process of maintaining balance, the base 11 is similarly subjected to closed-loop control at different attitude angle directions.

[0113] 19, a torque is applied around the centroid of the load object 20, the load object 20 rolls on the base 11, and does not fall, and the leg-wheeled robot 10 still maintains balance. In the process of maintaining balance, the base 11 is similarly closed-loop controlled in different attitude angle directions.

[0114] Optionally, when the load object and / or the under-operation system robot are subjected to external force interference, the load object and / or the under-operation system robot may be subjected to a relatively large external force interference. At this time, there is a possibility that the load object 20 cannot be kept on the base 11 by the movement of the base 11 alone. At this time, the leg-wheeled robot 10 controls the main driving wheels 123 to move, for example, forward or backward along the wheel rotation direction, so that the load object 20 is maintained on the base 11.

[0115] In such a case, the balance controller of the leg-wheeled robot 10 must simultaneously consider the control reference signals of the base 11 and the wheel 12 so that the movement of the wheel 12 assists the movement of the base 11, thereby realizing that the load object 20 stays on the base 11. As can be understood, the movement of the wheel 12 and the base 11 may be realized by the controller of the leg-wheeled robot 10, and the specific realization method can be referred to above, and a detailed description thereof will be omitted here.

[0116] Optionally, step 1041 may be implemented as follows.

[0117] Based on the status information, when the load object moves in a first direction on the base seat, the wheel section is controlled to move forward in the first direction; alternatively, based on the status information, when the load object moves in the first direction, the base seat is controlled so that one side closer to the first direction rises and the other side away from the first direction lowers; alternatively, based on the status information, when the load object moves in the first direction, the wheel section is controlled to move forward in the first direction and one side closer to the first direction rises and the other side away from the first direction lowers.

[0118] 17-19, take as an example a load object 20 rolling on the base 11, and a first direction is the forward rolling direction of the load object 20. When the load object 20 rolls in the first direction, in order to keep the load object 20 on the base 11 and not fall, the under-actuation system robot 10 may perform one of the following three controls:

[0119] 1. Controlling the driving wheel 123 to move, so that the driving wheel 123 moves forward in the rolling forward direction of the road object 20; 2. The underactuated system robot 10 controls the base 11 so that one side of the base 11 close to the rolling forward direction of the load object 20 rises and the other side away from the rolling forward direction of the load object 20 falls, thereby causing the base 11 to perform a tilting movement; and 3. When the rolling speed of the load object 20 is relatively high or there is a possibility of a relatively large external force interference, the underactuation system robot 10 can control the main wheel 123 to move, and control the base part 11 so that one side closer to the rolling forward direction of the load object 20 rises and the other side away from the rolling forward direction of the load object 20 falls.

[0120] The movement of the main wheel 123 and / or the rising and falling of both sides of the base 11 allows the underactuation system robot 10 to maintain balance and the load object 20 to stay on the base 11 and not fall. For example, the main wheel 123 accelerates and moves forward in the forward rolling direction of the load object 20 while the base 11 remains stationary. Alternatively, for example, the main wheel 123 remains stationary while the both sides of the base 11 rise or fall according to the forward rolling direction of the load object 20, causing the base 11 to tilt and swing. Alternatively, for example, the main wheel 123 moves together with the base 11, causing the underactuation system robot 10 to move forward in the forward rolling direction of the load object 20 while the base 11 remains in a swing state.

[0121] In summary, in the motion control method for the under-operation system robot provided in the embodiments of the present application, based on the status information of the load object on the base, the controller controls the wheel part to move and the base part to tilt, thereby ensuring that the under-operation system robot maintains the balance of the body and the load object stays on the base part and does not fall.

[0122] Optionally, when the load object and / or the underactuated system robot are subjected to external force interference, the underactuated system robot can still achieve the goal of maintaining the balance of the vehicle and ensuring that the load object is maintained on the base and does not fall.

[0123] Optionally, the embodiment of the present application further provides multiple possibilities of external force interference. It can be understood that the above multiple possibilities are merely examples, and all other possibilities that may cause torque influence on the load object and / or the underactuated system robot also belong to the protection scope of the present application, and detailed description thereof will be omitted here.

[0124] Based on the above, Figure 20 shows a flowchart of a motion control method for an underactuated robot in one exemplary embodiment of the present application. The method is executed by a controller of the underactuated robot. The underactuated robot includes a wheel unit and a base unit connected to the wheel unit, and a load object is placed on the base unit. The motion control method in this embodiment of the present application includes the following steps:

[0125] Step 202: Determine the state information of the load object on the base.

[0126] For example, the load object is in physical contact with the base, but the load object has no shape or force closure on the base. The load object may be any object, including, for example, a rigid or elastic body. This application does not limit the shape, material, size, or configuration of the load object, and any one or more objects may be considered as the load object in this application.

[0127] Illustratively, step 202 is the same as step 102, and a detailed description thereof will be omitted here.

[0128] Step 204: Determine a reference value for the tilt angular acceleration of the base based on the state information.

[0129] As for the state information, the above content can be referred to, and detailed explanation thereof will be omitted here.

[0130] For example, the reference value of the tilt angular acceleration of the base can be the posture reference signal of the base, which can be used to realize control of the base. For example, according to different state information contents, the controller of the underactuated system robot can determine the corresponding reference value of the tilt angular acceleration according to different control laws.

[0131] Among these, information such as the tilt direction, tilt angle, and tilt speed of the base can be determined based on the reference value of the tilt angular acceleration, and based on this information, the base is caused to perform tilting movement toward the target tilt direction at the target tilt speed until it reaches the target tilt angle.

[0132] To explain the interaction between the load object and the base, please refer to Figure 21, which is a diagram illustrating the general problem of a hand grasping an object. The lower arc represents the curved surface of the fingers when a human hand grasps an object, and the arc length of the curved surface is S h where the upper curve represents the surface curve of the object to be grasped, and the arc length corresponding to the projection of the curve onto the plane is denoted by S.

[0133] Illustratively, the coordinate system of the human hand is denoted by the subscript h, the coordinate system of the object is denoted by the subscript o, and the world coordinate system is (outside 1) It is represented by JPEG0007758271000020.jpg14119. Based on this, p h is the coordinate system of the human hand (outside 2) World coordinate system of JPEG0007758271000021.jpg13119 (Outside 3) Represents the origin position for JPEG0007758271000022.jpg14119. θ h is the coordinate system of the human hand (outside 4) World coordinate system of JPEG0007758271000023.jpg13119 (outside 5) This represents the change in attitude towards JPEG0007758271000024.jpg14119. Similarly, p o is the coordinate system of the object (outside 6) World coordinate system of JPEG0007758271000025.jpg14119 (outer 7) represents the origin position relative to JPEG0007758271000026.jpg13119, and θ o is the object coordinate system (outside 8) World coordinate system of JPEG0007758271000027.jpg14119 (outer 9) JPEG0007758271000028.jpg14119 represents the change in posture relative to the object. t is the tangent direction of the contact point between the object and the hand.

[0134] As can be seen, Figure 21 represents a generalized method. In using the generalized method, the human hand and object can be replaced with something else, such as a base and a load object. Optionally, the top surface of the base is not flat, and the load object is an irregularly shaped object, and the method in the embodiments of the present application is one exemplary use of the generalized method.

[0135] Based on Fig. 21, taking the load object as an example of a sphere, Fig. 22 shows the definition of the scalar of the underactuation system robot provided in one exemplary embodiment of the present application. For ease of labeling, the curved surface of the load object is standardized as a standard sphere, and the circle in Fig. 22 is the section corresponding to the sphere. The x, y, and z directions appearing below are all directions given with reference to the above content. When the upper surface of the base 11 of the leg-wheeled robot 10 contacts the sphere, the distance in the z direction between the line where the upper surface contacts the sphere and the centroid of the robot is d h This is expressed as:

[0136] According to the above, the content of the status information of the base 11 of the load object is different. For example, the status information includes the displacement of the contact point on the base 11 of the load object in the target direction on the base 11 relative to the centroid of the underactuated system robot 10, the moving speed of the contact point along the target direction on the base 11, the tilt angle of the base 11, and the tilt angular velocity of the base 11. h represents the displacement of the contact point on the base 11 in the target direction relative to the centroid of the underactuated system robot 10;

[0137]

number

[0138]

number

[0139] Based on one or more of the above-mentioned displacement, movement speed, tilt angle, and tilt angular velocity, it is possible to determine a reference value of the tilt angular acceleration of the base 11. For example, it is possible to determine the reference value of the tilt angular acceleration based on the difference between the displacement, movement speed, tilt angle, and tilt angular velocity and the corresponding predetermined values.

[0140] Taking the target directions as the x and y directions, for example, a matrix of reference values ​​of the tilt angular acceleration of one base part 11 can be obtained in step 204, which can be used for the whole-body dynamics control of the underactuated system robot 10. For the application of this matrix to the whole-body dynamics model, please refer to the specific description below.

[0141] Step 206: Based on the reference value of the tilt angular acceleration and the whole body dynamics model of the underactuated system robot, control the movement of at least one of the base and the wheel unit to keep the load object from falling off the base.

[0142] The above content can be referred to for the control of the base and / or the wheel unit and how to keep the load object from falling off the base, and a detailed description thereof will be omitted here.

[0143] The whole-body dynamics model of the underactuated robot is used to realize the whole-body dynamics control of the underactuated robot. The tilt angular acceleration reference value is the input value of the model, and the control reference signal of the underactuated robot is determined based on the tilt angular acceleration reference value and the whole-body dynamics model, thereby realizing the control of the base and / or wheel parts.

[0144] For example, after determining the reference value of the tilt angular acceleration, the controller of the underactuated system robot inputs the matrix of the reference value of the tilt angular acceleration of the base into the balance controller, obtains the torque information of the base and / or wheel unit based on the whole-body dynamics model, and controls the base and / or wheel unit to perform corresponding movements based on the torque information.

[0145] In summary, the motion control method for an underactuated system robot provided in the embodiments of the present application provides one selectable method for determining the control information of the base and / or wheel unit, namely, a method for realizing control of the base and / or wheel unit by determining a reference value for the tilt angular acceleration of the base unit based on the status information on the base unit of the load object, and determining the control information based on this value and the whole-body dynamics model.

[0146] Optionally, the embodiment of the present application further provides two different calculation methods for the reference value of the tilt angular acceleration. Based on Fig. 20, Fig. 23 shows a flowchart of the motion control method for an underactuated system robot provided in one exemplary embodiment of the present application. In which, step 204 can be realized as step 2041 or step 2042. Step 2041 and step 2042 can be alternatively performed. Specifically, the method is as follows:

[0147] 1. Calculate the reference value of the first tilt angular acceleration.

[0148] The state information is the displacement S of the contact point on the base of the load object in the target direction on the base with respect to the centroid of the underactuated system robot. h , and the moving speed of the contact point along the target direction on the base

[0149]

number

[0150] Step 2041: The difference between the displacement and a predetermined value of the displacement, and the difference between the moving speed and a predetermined value of the moving speed are input to the PID controller to determine the reference value of the first tilt angular acceleration of the base.

[0151] Among them, the predetermined value of the displacement is S h ref The predetermined value of the moving speed is

[0152]

number

[0153] Optionally, S h ref and

[0154]

number

[0155] In one possible implementation scenario, the size of the underactuated robot is perfectly symmetrical, and the centroid is the geometric center. In this case, the predetermined value S h ref and

[0156]

number

[0157]

number

[0158] For example, the mass of the underactuated robot is asymmetric on both sides, and the centroid is shifted from the geometric center. In this case, by determining the center of gravity of the underactuated robot through simulation or actual measurement, it is possible to estimate the minimum motor joint torque required for the underactuated robot and the load object to be in the closest balance state when the load object is at a certain point on the base. For example, S h ref The numerical range of is -5cm to 5cm. As can be understood, this example is merely an example, and the S h ref There is no limitation on the numerical range of

[0159] After determining the difference between the displacement and the predetermined value of the displacement, and the difference between the moving speed and the predetermined value of the moving speed, the controller of the underactuated system robot can use the two differences as inputs to the PID controller, and determine the corresponding reference value of the tilt angular acceleration through PID control, which is used to realize control for the wheel unit and / or base unit.

[0160] Optionally, step 2041 may be implemented as follows: determine a first difference based on a displacement and a predetermined value of the displacement; determine a second difference based on a moving speed and a predetermined value of the moving speed; and determine a reference value of a first tilt angular acceleration by a PID controller based on the sum of a product of a first parameter and the first difference and a product of a second parameter and the second difference, where the first parameter is a reference value of a proportional adjustment coefficient and the second parameter is a reference value of a derivative adjustment coefficient.

[0161] Displacement is S h and the movement speed is

[0162]

number

[0163]

number

[0164]

number

[0165]

number

[0166]

number

[0167]

number

[0168] The controller of the underactuated system robot can control the displacement and movement speed of the load object on the base according to the first feedback control law, so that the actual displacement of the load object is S h ref and the speed of the load object on the base is

[0169]

number

[0170] Optionally, the first parameter and the second parameter may be fixed constant values, or may be adjusted according to actual needs.

[0171] According to the above, because the target directions are different, the controller of the underactuated robot system can obtain the reference value of the tilt angular acceleration in different directions. For example, when the target direction is the x direction, that is, when considering the plane where the pitch is located, the reference value of the first tilt angular acceleration in the pitch direction of the base can be obtained. Also, when the target direction is the y direction, that is, when considering the plane where the roll is located, the reference value of the first tilt angular acceleration in the roll direction of the base can be obtained.

[0172] 2. Calculation of the reference value of the first tilt angular acceleration.

[0173] The state information is the displacement S of the contact point on the base of the load object in the target direction on the base with respect to the centroid of the underactuated system robot. h , and the moving speed of the contact point along the target direction on the base

[0174]

number

[0175] Step 2042: The difference between the displacement and a predetermined value of the displacement, the difference between the moving speed and a predetermined value of the moving speed, the difference between the tilt angle and a predetermined value of the tilt angle, and the difference between the tilt angular velocity and a predetermined value of the tilt angular velocity are input to the PID controller to determine a reference value for the second tilt angular acceleration of the base portion.

[0176] Among them, the predetermined value of the displacement is S h ref The predetermined value of the moving speed is expressed as

[0177]

number

[0178]

number

[0179] Optionally,

[0180]

number

[0181]

number

[0182]

number

[0183]

number

[0184] After determining the difference between the displacement and the predetermined value of the displacement, the difference between the moving speed and the predetermined value of the moving speed, the difference between the tilt angle and the predetermined value of the tilt angle, and the difference between the tilt angular velocity and the predetermined value of the tilt angular velocity, the controller of the underactuated system robot can use the four differences as inputs to the PID controller and determine the corresponding reference value of the tilt angular acceleration through PID control, which is used to realize control of the wheel part and / or the base part.

[0185] Optionally, step 2042 may be implemented as follows: determine a first difference based on a displacement and a predetermined value of the displacement; determine a second difference based on a moving velocity and a predetermined value of the moving velocity; determine a third difference based on a tilt angle and a predetermined value of the tilt angle; determine a fourth difference based on a tilt angular velocity and a predetermined value of the tilt angular velocity; and determine a reference value of a second tilt angular acceleration by a PID controller based on the sum of the product of a third parameter and the first difference and the product of a fourth parameter and the second difference, the product of a fifth parameter and the third parameter, and the product of a sixth parameter and the fourth parameter, wherein the third parameter and the fifth parameter are reference values ​​of different proportional adjustment coefficients, and the fourth parameter and the sixth parameter are reference values ​​of different derivative adjustment coefficients.

[0186] Displacement is S h and the movement speed is

[0187]

number

[0188]

number

[0189]

number

[0190]

number

[0191]

number

[0192]

number

[0193]

number

[0194]

number

[0195]

number

[0196]

number

[0197]

number

[0198]

number

[0199]

number

[0200]

number

[0201] Based on the second feedback control law, the controller of the underactuated system robot can realize the control of the displacement and movement speed of the load object on the base, so that the actual displacement of the load object is S h ref and the speed of the load object on the base is

[0202]

number

[0203]

number

[0204] Optionally, the first parameter and the second parameter may be fixed to a constant value, or may be adjusted according to actual needs.

[0205] Similar to the reference value of the first tilt angular acceleration, because the target directions are different, the controller of the underactuated system robot can further obtain reference values ​​of tilt angular acceleration in different directions according to the corresponding control law. For example, when the target direction is the x direction, that is, when the pitch plane is considered, the reference value of the second tilt angular acceleration in the pitch direction of the base can be obtained; and when the target direction is the y direction, that is, when the roll plane is considered, the reference value of the second tilt angular acceleration in the roll direction of the base can be obtained.

[0206] According to the above, after determining the reference value of the tilt angular acceleration of the base based on the state information, the controller of the underactuated system robot can control the base and / or wheel unit to perform corresponding movements based on the reference value of the tilt angular acceleration and the whole-body dynamics model of the underactuated system robot.

[0207] Optionally, based on Fig. 20, Fig. 24 shows a flowchart of a motion control method for an underactuation system robot provided in one exemplary embodiment of the present application, in which step 206 can be realized as step 2061 and step 2062, which are specifically as follows:

[0208] Step 2061: The reference value of the tilt angle acceleration and the whole body dynamics model of the insufficient actuation system robot are used as inputs to the PID controller to determine torque information of the base and / or wheel parts.

[0209] The input information of the whole-body dynamic model is the reference value of the tilt angle acceleration, and the output information is the torque information of the base and / or wheel. It can be understood that the whole-body dynamic model can be determined based on the Lagrange equation or the Newton-Euler equation, or the whole-body dynamic model can be determined in other ways. Furthermore, the following content is for illustrative purposes only and is not intended to limit the present application.

[0210] Optionally, step 2061 can be implemented as follows: construct a whole-body dynamics model based on the driving torque, ground friction force and closed-loop force of the underactuated system robot, substitute the reference value of the tilt angle acceleration into the whole-body dynamics model, and determine the torque information by a PID controller.

[0211] Generalized joint angle coordinates for underactuated robots.

[0212]

number

[0213]

number

[0214]

number

[0215]

number

[0216]

number

[0217] According to the above, the controller of the underactuated robot system can determine the reference value of the tilt angular acceleration of the base unit based on the state information, and the determined reference value of the tilt angular acceleration can be expressed in the form of a matrix. According to the above, the reference value matrix of the tilt angular acceleration obtained based on the x direction and the y direction is:

[0218]

number

[0219] For example, according to the control law given above, the controller of the underactuated system robot can respectively determine the tilt angular acceleration reference values ​​corresponding to the x direction and the y direction, and then calculate the tilt angular acceleration reference value matrix corresponding to the base according to the plurality of tilt angular acceleration reference values:

[0220]

number

[0221]

number

[0222] For example, let τ represent the driving torque of the underactuated system robot, f represent the ground friction force, and λ represent the closed-loop force. The whole-body dynamics model of the underactuated system robot can be expressed as follows:

[0223]

number

[0224]

number

[0225]

number

[0226]

number

[0227]

number

[0228]

number

[0229]

number

[0230]

number

[0231] In summary, the motion control method for an underactuated system robot provided in the embodiments of the present application provides two selectable determination methods for the reference value of the tilt angular acceleration, thereby enabling control of the base part and / or the wheel part.

[0232] 25 is a diagram showing the generalized coordinate system of the underactuated robot provided in one exemplary embodiment of the present application, in which the joint angle q i and driving torque τ i are marked around the joint.

[0233]

number

[0234]

number

[0235]

number

[0236] Optionally, the control reference signals for the wheel and / or base can be determined by determining the values ​​of the variables for the drive torque τ, ground friction force f, and closed-loop force λ that cause the whole-body dynamics model to reach a minimum using an argmin function, which can be expressed as follows:

[0237]

number

[0238] Optionally, the whole body dynamic model is constrained by a dynamic model constraint, which includes a reference value for tilt angular acceleration, where the dynamic model constraint is:

[0239]

number

[0240] In addition to being constrained by the constraints of the dynamic model, the underactuated system robot can further be subject to at least one of the following constraints: closed-loop rod constraint, wheel slippage or ground lift constraint, and friction constraint.

[0241] Among them, the constraints of the closed loop rod are:

[0242]

number

[0243]

number

[0244]

number

[0245]

number

[0246]

number

[0247] Step 2062: The load object is maintained from falling off the base by controlling the movement of at least one of the base and the wheel section based on the torque information with the goal of maintaining the load object on the base and not falling off.

[0248] The above-mentioned contents can be referred to for the control of the base and / or wheel unit to prevent the load object from falling off the base, and detailed description thereof will be omitted here. After determining the torque information of the base and / or wheel unit, the controller of the underactuated system robot sends information (which may be torque information) to the drive motor of the underactuated system robot to realize the motion control, and the drive motor provides different driving forces based on the corresponding torque information to control the motion of the base and / or wheel unit.

[0249] Illustratively, step 2062 is similar to step 104, and a detailed description thereof will be omitted here.

[0250] In summary, the motion control method for an underactuated system robot provided in the embodiments of the present application determines a reference value for the tilt angular acceleration of the base unit based on state information, and the controller of the underactuated system robot inputs the reference value for the tilt angular acceleration into the whole-body dynamics model to obtain a control reference signal for the base unit and / or wheel unit, thereby realizing control of the base unit and / or wheel unit.

[0251] Optionally, the embodiment of the present application provides two selectable determination methods for the reference value of tilt angular acceleration, and optionally, the embodiment of the present application provides one realization method of the whole body dynamics model.It can be understood that all the above contents are merely examples, and any modification of the formula or increase or decrease of the common variables made based on the above contents all fall within the protection scope of the present application.

[0252] According to the above, an embodiment of the present application further provides a method for determining the status information of the base of the load object. Based on Fig. 15, Fig. 26 shows a flowchart of the motion control method for the underactuation system robot provided in one exemplary embodiment of the present application.

[0253] Optionally, by obtaining the position information of the load object on the base, or the position information and the force information, the corresponding state information is determined by performing a contact position coordinate transformation on the obtained information. Based on this, step 102 may be implemented as one of the following two sets of steps, specifically as follows:

[0254] 1. Method for determining state information 1 Step 1011: Obtain position information on the base of the load object.

[0255] The position information of the load object on the base can be obtained in several ways.

[0256] For example, position information is sensed (detected) by a tactile sensor or pressure sensor provided on the base, or the position information is acquired by, for example, a motion capture system, or, for example, an image or video of the base is acquired by a camera head, and the position information is determined by image or video frame analysis techniques.

[0257] Optionally, step 1011 may be implemented as at least one of the following: acquiring position information by a tactile sensor mounted on the base, acquiring position information by a pressure sensor mounted on the base, acquiring position information by a motion capture system, and acquiring position information of the load object on the base by a camera head.

[0258] Wherein, when the position information is obtained by a tactile sensor, the tactile sensor may consist of an m*n pressure sensor array, and optionally, a pressure sensor array is provided on the upper surface of the base. Obtaining the position information by the tactile sensor provided on the base may be realized by determining the position information based on the contact point of the load object on the pressure sensor array.

[0259] Optionally, the tactile sensor includes a pressure sensor array arranged in an m×n matrix, where the length and width of the m×n matrix are adapted to the upper surface of the base, and m and n are positive integers. For example, if the size of the upper surface of the base is 40 cm×20 cm, one tactile sensor pressure collection point can be installed at an interval of 1 cm, and the pressure point matrix on the upper surface of the base will form a corresponding 40×20 point array. It can be understood that in actual applications, as the size of the upper surface of the base changes, the spacing of the tactile sensor pressure point matrix can be appropriately changed based on the physical characteristics of the load object itself, the initial speed and pressure detection range in the application scenario, such as the delay in bottom layer control of the motor, etc. The values ​​of m and n can also be appropriately adjusted. Note that this is merely an example and does not limit the configuration of the values ​​of m and n related to the present application.

[0260] Optionally, when the position information is acquired by the camera head, the camera head's imaging area covers the upper surface of the base, and obtaining the position information of the load object on the base by the camera head may be realized by determining the position information based on the image information acquired by the camera head.

[0261] Optionally, the location information may be labeled with the location coordinates on the base of the load object.

[0262] Step 1021: Based on the position information, a touch position coordinate transformation is performed to determine state information.

[0263] Contact position coordinate transformation refers to the process of converting the position information of the load object on the base into status information. Taking the position information acquired by a tactile sensor as an example, contact position coordinate transformation can determine the correspondence between the unit where the force signal changes and the position of the pressure sensor array on the base's upper surface. The relationship between the position on the base's upper surface and the centroid of the robot's motion control system is known, and coordinate conversion can be used to obtain the contact point between the base's upper surface and the load object, which is equivalent to obtaining the positional relationship between the load object and the centroid.

[0264] For example, if the position information is acquired by a tactile sensor, the pressure value of the corresponding pressure unit may change when the upper surface of the unit is subjected to an external force from a load object. Each unit can output its corresponding pressure value. Meanwhile, the pressure value of the upper surface of a unit that is not subjected to an external force is 0 or a very small noise value. Therefore, it is necessary to filter out these small noises. This process can be regarded as a signal processing process.

[0265] Depending on the different methods of acquiring position information, such as tactile sensors, pressure sensors, motion capture systems, or camera heads, the signal processing process may also be different, and optionally, the signal processing may include at least one of the following methods, including but not limited to, averaging, force distribution, and threshold filtering.

[0266] "Calculating the average value" refers to calculating the average pressure value within a predetermined range (e.g., a 4*4 matrix or a number of points within a circular area), with the contact point between the load object and the underactuation system robot being considered to be at the center of the number of points. "Calculating the force distribution" refers to expressing the pressure values ​​within a predetermined range in the form of a distribution, and by integrating the force values, the magnitude and position distribution of the force received can be obtained, which can be used to determine the state of the load object. "Filtering by threshold" refers to the following: since there is a certain probability that the pressure sensor will not detect a force, some noise can be detected even when no force is received. A threshold is set based on this, and when the detected pressure value is below the threshold, the sensor is considered not to be triggered.

[0267] As can be appreciated, although the above describes some examples of signal processing processes, the signal processing involved in this application is not limited to these.

[0268] Optionally, the position information can be further used for subsequent control: based on the difference in the position of the contact point between the load object and the base at two adjacent times, the rolling direction and speed of the load object on the base can be obtained.

[0269] Among these, two adjacent times can be considered as two adjacent collection points within a sampling period. For example, if the position information is acquired by a tactile sensor, and the sampling period of the tactile sensor is one second and the sensor collects data 1,000 or 500 times within one sampling period, then two adjacent times refer to two adjacent collection points.

[0270] 2. Method 2 for determining state information Step 1012: Obtain position information and shape information of the load object on the base.

[0271] Illustratively, the morphological information includes at least one of force information, shape information, configuration information, and physical information.

[0272] The force information refers to the force value that the load object receives at a certain point on the base, and the force information can be obtained in several ways, such as by sensing the force with a tactile sensor or pressure sensor on the base, or by using a motion capture system.

[0273] For example, based on the information on the force received, relevant information such as the position of the load object on the base, the displacement direction, the speed, and the acceleration can be determined.

[0274] Geometry information refers to the external shape of the load object. For example, the shape information of the load object may be a regular sphere or an irregular polyhedron. Configuration information refers to the configuration of the load object, including, but not limited to, the component parts of the load object, the relative positions between the parts, and the shapes and positions of the parts. Physical information refers to parameter information related to the physical properties of the load object, such as the mass and rotational moment of inertia of the load object.

[0275] Among them, shape information, configuration information, and physical information are acquired in the same manner, for example, by sensing with a tactile sensor or pressure sensor, or by acquiring with a camera head, or by manually inputting the information into the controller of the system robot by an operator.

[0276] Step 1022: Based on the position information and the information on the force received, coordinate conversion of the contact position is performed to determine the state information.

[0277] For the contact position coordinate conversion, please refer to the above content.

[0278] Illustratively, step 1022 is similar to step 1021, and a detailed description thereof will be omitted here.

[0279] In one alternative implementation scenario, the controller of the under-actuation system robot may send a command to at least one auxiliary component selected from the group consisting of a tactile sensor, a pressure sensor, a motion capture system, and a camera head to acquire position information of the load object on the base, or position information and applied force information, and the at least one auxiliary component may then report the position information of the load object on the base, or position information and applied force information, to the controller, and have the controller determine status information based on the position information, or position information and applied force information, or the at least one auxiliary component may process the position information, or position information and applied force information, to acquire status information and then report the status information to the controller.

[0280] In summary, in the motion control method for an underactuated system robot provided in the embodiment of the present application, two selectable determination methods of state information are provided.

[0281] Based on the above, taking the underactuation system robot as a leg-wheel robot and the load object as a sphere as an example, Figure 27 shows the overall control block diagram of the underactuation system robot provided in one exemplary embodiment of the present application, wherein the leg-wheel robot includes a balance controller and a ball balance controller, the balance controller is used to achieve the balance of the body of the leg-wheel robot by completing an angle balance reference loop, and the ball balance controller is used to achieve the goal of the load object not falling off the base by completing a ball balance reference loop.

[0282] Optionally, the leg-wheel robot performs state estimation based on the collected state signals, and after completing the estimation, the balance controller determines a wheel rotation reference signal and other reference signals to control the movement of the wheel unit, where the wheel rotation reference signal is used to complete the wheel balance task, and the other reference signals are used to complete the wheel movement and turning task.

[0283] Optionally, the leg-wheeled robot performs contact position coordinate transformation based on the collected position information of the load object and / or the collected force information, and then performs signal processing to determine a base attitude signal and other reference signals for controlling the movement of the base through a ball balance controller. The base attitude reference signal is used to complete the base attitude task, and the other reference signals are used to complete the tail task. For example, the base attitude reference signal may be determined based on the reference value of the tilt angular acceleration of the base included in the above content, and is used to determine at least one of the tilt direction, tilt angle, and tilt speed of the base.

[0284] According to the above, the overall motion of a leg-wheel robot is controlled by whole-body dynamics, in which case the motion of both the wheel and base parts must meet the requirements of whole-body dynamics control.

[0285] In whole-body dynamics control, different control tasks are added based on the whole-body dynamics model, and a mapping is established from angular acceleration information in the joint space and task space to each joint torque, taking into account the physical constraints of the robot. The joint torques are sent to the corresponding drive motors of the leg-wheeled robot to realize joint force control of the robot, allowing the robot to change its shape, posture, and position in space.

[0286] For example, the control tasks include wheel balancing, wheel movement and steering, base posture, tail, torque, and external force tasks. The wheel balancing task maintains the balance of the robot's upper body posture, and the wheel movement and steering task satisfies the tasks of the robot's forward / backward movement and yaw direction. The base posture task realizes the base's pitch, roll, and yaw rotations and its translations in the x, y, and z directions. The tail task places the tail at a specified position by providing the corresponding joint angle values. The torque task typically involves incorporating the square and time integral of the torque of each joint motor into a cost function to ensure that the values ​​of each joint torque are all within a finite range during the optimization process. The external force task includes external forces in three directions, which correspond to the contact points between the two wheels and the ground, respectively. The squares and time integrals of these external forces are introduced into the cost function to ensure that the values ​​of each external force are all within a finite range during the optimization solution process.

[0287] Optionally, the whole body dynamics model is subject to multiple constraints, including a dynamics model constraint, a closed-loop rod constraint, a wheel no-slip or no-ground-off constraint, and a friction constraint.

[0288] In summary, the motion control method for an underactuated robot system provided in the embodiment of the present application provides two selectable determination methods for state information, and also provides a general control framework for a leg-wheel robot.

[0289] Illustratively, embodiments of the present application further provide under-actuation system robots.

[0290] For example, the underactuated robot includes a wheel unit and a base unit connected to the wheel unit, the base unit being used to place a load object, and a controller is installed in the underactuated robot to control the underactuated robot to achieve the following: control the movement of at least one of the base unit and the wheel unit based on the status information of the load object on the base unit, and keep the load object from falling off the base. The controller may be installed according to actual needs, and this application is not limited thereto. Any underactuated robot that can achieve the goal of keeping the load object on the base and preventing it from falling through the motion control of the controller falls within the scope of protection of this application. The motion control of the underactuated robot has been described in detail above, and a detailed description thereof will be omitted here.

[0291] Optionally, a pressure sensor array is installed on the upper surface of the base, and the pressure sensor array is used to obtain position information of the load object on the base. The density of the pressure sensor array can be determined according to actual needs, and the specific details can be referred to the above section, and the detailed description will be omitted here. For example, the tactile sensor includes a pressure sensor array arranged in an m×n matrix, where the length and width of the m×n matrix are adapted to the upper surface of the base, and m and n are positive integers.

[0292] Optionally, the underactuated robot further includes a camera head, which is used to obtain position information of the load object on the base.

[0293] Optionally, the camera head is mounted on the base, and the imaging area of ​​the camera head covers the upper surface of the base.

[0294] The following provides an embodiment of the apparatus related to the present application, and for details not described in detail in the apparatus embodiment, reference can be made to the corresponding description in the method embodiment described above, and detailed description thereof will be omitted here.

[0295] 28 illustrates a motion control device for an underactuation system robot provided in one exemplary embodiment of the present application, including a determination module 2820 for determining status information of a load object on a base, and a control module 2840 for controlling the movement of at least one of the base and the wheel assembly based on the status information to keep the load object from falling off the base.

[0296] Optionally, the wheels can be mounted on the thighs and limbus The control module 2840 controls the movement of the wheel unit and the tilting movement of the base unit based on the status information, thereby maintaining the balance of the robot body and preventing the load object from falling off the base unit. The tilting movement of the base unit and the movement of the wheel unit are mutually influenced by the extension and contraction of the thighs.

[0297] Optionally, the control module 2840 is used to maintain the balance of the underactuated system robot's body and prevent the load object from falling off the base by controlling the wheel section to move and the base section to tilt based on the status information when the load object and / or the underactuated system robot is subjected to external force interference.

[0298] Optionally, the external force interference includes at least one of the following: the center of the load object is subjected to external force interference, a portion other than the center of the load object is subjected to external force interference, the centroid of the load object is subjected to external force interference, the periphery of the centroid of the load object is subjected to external force interference, the base portion is subjected to external force interference, and the wheel portion is subjected to external force interference.

[0299] Optionally, the control module 2840 may be used to do the following: based on the status information, when the load object moves in a first direction on the base, control the wheel assembly to move forward in the first direction; or based on the status information, when the load object moves in the first direction, control one side of the base closer to the first direction to rise and the other side of the base away from the first direction to fall; or based on the status information, when the load object moves toward the first direction, control the wheel assembly to move forward in the first direction and control one side of the base closer to the first direction to rise and the other side of the base away from the first direction to fall.

[0300] Optionally, the control module 2840 is used to determine a reference value for the tilt angular acceleration of the base based on the state information and control the movement of at least one of the base and the wheel unit based on the reference value for the tilt angular acceleration and a whole body dynamics model of the underactuated system robot.

[0301] Optionally, the state information includes a displacement of the contact point on the base of the load object in a target direction on the base relative to the centroid of the motionless system robot, and a moving velocity of the contact point along the target direction on the base, and the control module 2840 uses the difference between the displacement and a predetermined value of displacement and the difference between the moving velocity and the predetermined value of moving velocity as inputs to a PID controller to determine a reference value for the first tilt angular acceleration of the base.

[0302] Optionally, the state information includes a displacement of the contact point on the base of the load object in a target direction on the base relative to the centroid of the underactuated system robot, a moving velocity of the contact point along the target direction on the base, a tilt angle of the base, and a tilt angular velocity of the base, and the control module 2840 uses the difference between the displacement and a predetermined value of the displacement, the difference between the moving velocity and a predetermined value of the moving velocity, the difference between the tilt angle and a predetermined value of the tilt angle, and the difference between the tilt angular velocity and a predetermined value of the tilt angular velocity as inputs to a PID controller to determine a reference value for a second tilt angular acceleration of the base.

[0303] Optionally, at least one of the predetermined value of displacement, the predetermined value of movement velocity, the predetermined value of tilt angle, and the predetermined value of tilt angular velocity are determined based on a configuration characteristic of the under-actuated system robot.

[0304] Optionally, the control module 2840 uses the tilt angular acceleration reference value and the whole body dynamics model of the underactuated system robot as inputs to a PID controller to determine torque information for the base and / or wheel units, and is used to control the movement of at least one of the base and wheel units based on the torque information.

[0305] Optionally, the control module 2840 can be used to build a whole-body dynamic model based on the drive torque, ground friction force, and closed-loop force of the robotic motion control system, and then input the tilt angular acceleration reference value into the whole-body dynamic model to determine torque information through a PID controller. Optionally, the whole-body dynamic model is constrained by dynamic model constraints, and the dynamic model constraints include the tilt angular acceleration reference value.

[0306] Optionally, the determination module 2820 is used to obtain position information of the load object on the base and perform a touch position coordinate transformation based on the position information to determine the state information.

[0307] Optionally, the determination module 2820 is used to obtain position information from a tactile sensor provided on the base, or from a pressure sensor provided on the base, or from a motion capture system, or from a camera head to obtain position information of the load object on the base.

[0308] Optionally, a pressure sensor array is provided on the top surface of the base, and the determination module 2820 is used to determine the position information by the contact point of the load object on the pressure sensor array. Optionally, the tactile sensor includes a pressure sensor array arranged in an m×n matrix, where the length and width of the m×n matrix are adapted to fit the top surface of the base, and m and n are positive integers.

[0309] Optionally, the imaging area of ​​the camera head covers the upper surface of the base, and the determination module 2820 is used to determine the position information based on the image information obtained by the camera head.

[0310] Optionally, the determination module 2820 obtains position information and shape information on the base of the load object, and the state information includes at least one of force information, shape information, configuration information, and physical information, which is used to perform contact position coordinate transformation based on the position information and shape information to determine the state information.

[0311] Although the device provided in the above-mentioned embodiment is described as an example based only on the division of each functional module, in actual application, the above-mentioned functions may be assigned to different functional modules according to needs, that is, all or part of the above-mentioned functions may be achieved by dividing the internal structure of the device into different functional modules. Furthermore, the device provided in the above-mentioned embodiment belongs to the same concept as the method embodiment in the content above, and its specific implementation process may refer to the method embodiment, and detailed description thereof will be omitted here.

[0312] FIG. 29 is a block diagram of an electronic device 2900 provided in one exemplary embodiment of the present application.

[0313] The electronic device 2900 may be a portable mobile terminal, such as a smartphone, tablet computer, MP3 (Moving Picture Experts Group Audio Layer III) player, MP4 (Moving Picture Experts Group Audio Layer IV) player, laptop computer, or desktop computer, for controlling a robotic robotic system. The electronic device 2900 may also be called a user device, a mobile terminal, a laptop computer, a desktop computer, or other names. In an embodiment of the present application, the electronic device 2900 may be implemented as a control unit of a robot.

[0314] The electronic device 2900 typically includes a processor 2901 and a memory 2902 .

[0315] The processor 2901 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 2901 may be implemented in the form of at least one hardware component selected from the group consisting of a digital signal processing (DSP), a field-programmable gate array (FPGA), and a programmable logic array (PLA). The processor 2901 may also include a main processor and a coprocessor. The main processor processes active data and is also referred to as a central processing unit (CPU). The coprocessor is a low-power processor that processes standby data. In some embodiments, the processor 2901 may be integrated with a graphics processing unit (GPU), which is used to render and draw content that needs to be displayed on a display screen. In some embodiments, the processor 2901 may further include an artificial intelligence (AI) processor, which is used to process computational operations related to machine learning.

[0316] The memory 2902 may include one or more computer-readable storage media, which may be tangible and non-transitory. The memory 2902 may also include high-speed random access memory and non-volatile memory, such as one or more magnetic disks or flash memory. In some embodiments, the non-transitory computer-readable storage media in the memory 2902 may be used to store at least one instruction that is executed by the processor 2901 to implement the method for motion control of an underactuated robotic system provided in the embodiments of the present application.

[0317] In some embodiments, electronic device 2900 may optionally further include a peripheral interface 2903 and at least one peripheral. The processor 2901, the memory 2902, and the peripheral interface 2903 may be connected via a bus or signal lines. Each peripheral may be connected to peripheral interface 2903 via a bus, signal line, or circuit board. Specifically, the peripherals include at least one of RF circuitry 2904, a display screen 2905, a camera head assembly 2906, an audio (sound) circuitry 2907, and a power supply 2908.

[0318] Peripheral device interface 2903 is used to connect at least one peripheral device related to input / output (I / O) to processor 2901 and memory 2902. In some embodiments, processor 2901, memory 2902, and peripheral device interface 2903 may be integrated on the same chip or circuit board, and in some other embodiments, any one or two of processor 2901, memory 2902, and peripheral device interface 2903 may be implemented on a single chip or circuit board, although this embodiment is not limited thereto.

[0319] The RF circuitry 2904 is used to transmit and receive RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuitry 2904 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuitry 2904 converts electrical signals into electromagnetic signals for transmission or converts received electromagnetic signals into electrical signals. Optionally, the RF circuitry 2904 includes an antenna system, an RF transceiver, one or more amplifiers, tuners, oscillators, digital signal processors, a codec chipset, a user ID identification module card, etc. The RF circuitry 2904 can communicate with other terminals via at least one wireless communication protocol. The wireless communication protocol may include, but is not limited to, the Internet, a metropolitan area network, an intranet, various generations of mobile communication networks (2G, 3G, 4G, and 5G), a wireless local area network, and / or a wireless Fidelity (WiFi) network. In some embodiments, the RF circuitry 2904 may further include circuitry related to Near Field Communication (NFC), although this application is not limited thereto.

[0320] The display screen 2905 is used to display a user interface (UI). The UI may include graphics, text, icons, video, and any combination thereof. The display screen 2905 is also capable of collecting touch signals on or above the surface of the display screen 2905. The touch signals may be input to the processor 2901 as control signals for processing. The display screen 2905 may be used to provide virtual buttons and / or a virtual keyboard, also referred to as soft buttons and / or a soft keyboard. In some embodiments, there is one display screen 2905 and it may be located on the front panel of the electronic device 2900. In other embodiments, there are at least two display screens 2905 and each may be located on a different surface of the electronic device 2900 or may be designed to fold. In other embodiments, the display screen 2905 is a flexible display and may be positioned on a curved or foldable surface of the electronic device 2900. Furthermore, the display screen 2905 may be configured as a non-rectangular, irregular shape, i.e., a specially shaped panel. The display screen 2905 may be made of materials such as a Liquid Crystal Display (LCD), an Organic Light-Emitting Diode (OLED), and the like.

[0321] The camera head assembly 2906 is used to capture images or videos. Optionally, the camera head assembly 2906 includes a front camera head and a rear camera head. Typically, the front camera head is used for video calls or selfies, and the rear camera head is used for taking photos or videos. In some embodiments, there are at least two rear camera heads, each of which can be one of a main camera head, a depth-of-field camera head, and a wide-angle camera head. The main camera head and the depth-of-field camera head are combined to realize a background blur function, and the main camera head and the wide-angle camera head are combined to realize a panoramic shooting function and a virtual reality (VR) shooting function. In some embodiments, the camera head assembly 2906 may further include a flash. The flash may be a single color temperature flash or a dual color temperature flash. A dual color temperature flash refers to a combination of a warm light flash and a cool light flash, which can be used to compensate for light under different color temperatures.

[0322] The audio circuit 2907 is used to provide an audio interface between the user and the electronic device 2900. The audio circuit 2907 may include a microphone and a speaker. The microphone collects sound waves from the user and the environment and converts the sound waves into electrical signals that are input to the processor 2901 for processing or to the RF circuit 2904 for voice communication. For purposes of stereo sound pickup or noise reduction, multiple microphones may be installed at different locations on the electronic device 2900. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from the processor 2901 or the RF circuit 2904 into sound waves. The speaker may be a conventional membrane speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into sound waves that are audible to humans but also into sound waves that are inaudible to humans for purposes such as distance measurement. In some embodiments, the audio circuit 2907 may further include a headphone jack.

[0323] The power source 2908 is used to power each assembly in the electronic device 2900. The power source 2908 may be AC, DC, a disposable battery, or a rechargeable battery. When the power source 2908 includes a rechargeable battery, the rechargeable battery may be a wired rechargeable battery or a wirelessly rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, and a wirelessly rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery may also be used to support fast charging technology.

[0324] In some embodiments, the electronic device 2900 further includes one or more sensors 2909, including, but not limited to, an acceleration sensor 2910, a gyro sensor 2911, a pressure sensor 2912, an optical sensor 2913, and a proximity sensor 2914.

[0325] The acceleration sensor 2910 can detect acceleration on three coordinate axes of a coordinate system established by the electronic device 2900. For example, the acceleration sensor 2910 can be used to detect components of gravitational acceleration on three coordinate axes. The processor 2901 can control the display screen 2905 to display a user interface in landscape or portrait mode based on the gravitational acceleration signals collected by the acceleration sensor 2910. The acceleration sensor 2910 can also be used for games or to collect user movement data.

[0326] The gyro sensor 2911 can detect the orientation and rotation angle of the electronic device 2900, and the gyro sensor 2911 can cooperate with the acceleration sensor 2910 to collect the user's 3D movements relative to the electronic device 2900. Based on the data collected by the gyro sensor 2911, the processor 2901 can realize the following functions: motion sensing (e.g., changing the UI according to the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.

[0327] The pressure sensor 2912 can be disposed on a side frame of the electronic device 2900 and / or below the display screen 2905. When the pressure sensor 2912 is disposed on the side frame of the electronic device 2900, the pressure sensor 2912 can detect a grip signal from the user to the electronic device 2900 and perform left / right hand recognition or shortcut operations based on the grip signal. When the pressure sensor 2912 is disposed below the display screen 2905, the pressure sensor 2912 can realize control over operable controls on the UI interface based on a user's pressure operation on the display screen 2905. The operable controls include at least one of a button control, a scroll bar control, an icon control, and a menu control.

[0328] The optical sensor 2913 is used to collect ambient light intensity. In one embodiment, the processor 2901 can control the display brightness of the display screen 2905 based on the ambient light intensity collected by the optical sensor 2913. Specifically, when the ambient light intensity is high, the display brightness of the display screen 2905 is increased, and when the ambient light intensity is low, the display brightness of the display screen 2905 is decreased. In another embodiment, the processor 2901 can further dynamically adjust the imaging parameters of the camera head assembly 2906 based on the ambient light intensity collected by the optical sensor 2913.

[0329] The proximity sensor 2914, also referred to as a distance sensor, is typically provided on the front of the electronic device 2900. The proximity sensor 2914 is used to collect the distance between the user and the front of the electronic device 2900. In one embodiment, when the proximity sensor 2914 detects that the distance between the user and the front of the electronic device 2900 is gradually decreasing, the processor 2901 controls the display screen 2905 to switch from an on-screen state to an off-screen state, and when the proximity sensor 2914 detects that the distance between the user and the front of the electronic device 2900 is gradually increasing, the processor 2901 controls the display screen 2905 to switch from an off-screen state to an on-screen state.

[0330] As will be appreciated by those skilled in the art, the configuration shown in FIG. 29 is not intended to limit electronic device 2900, and electronic device 2900 may include more or fewer assemblies than those shown, may combine some assemblies, or may employ different component arrangements.

[0331] 30 is a block diagram showing the structure of an under-actuation system robot provided in an embodiment of the present application. The under-actuation system robot according to this embodiment as shown in FIG. 30 may include one or more processors 3001, one or more sensors 3002, one or more motors 3003, and a memory 3004. The processor 3001, the sensor 3002, the motor 3003, and the memory 3004 are connected via a bus 3005. The memory 3004 is used to store a computer program, which includes program instructions, and the processor 3001 is used to execute the program instructions stored in the memory 3004.

[0332] The processor 3001 may be a central processing unit (CPU). The processor 3001 may further include a hardware chip. Such a hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), etc. The PLD may be a field-programmable gate array (FPGA), a generic array logic (GAL), etc. The processor 3001 may be a combination of the above configurations. In some embodiments, the processor 3001 may be implemented as an internal controller of the robotic operational system described above.

[0333] The sensor 3002 is used to obtain status data related to the motion control of the underactuated system robot, such as position information and / or force information included in the above.

[0334] The motor 3003 is used to control the movement of the underactuated robot and complete the movement operation. Optionally, the motor 3003 includes each joint motor and wheel motor of the underactuated robot.

[0335] The storage 3004 may include volatile memory, such as random-access memory (RAM), and the storage 3004 may also include non-volatile memory, such as flash memory, solid-state drive (SSD), etc. Optionally, the storage 3004 may also include a combination of these two types of memory.

[0336] In an embodiment of the present application, the memory 3004 is used to store a computer program, the computer program includes program instructions, and the processor 3001 is configured to execute the program instructions stored in the memory 3004 to realize the motion control method for the underactuated system robot provided in the above content.

[0337] In a further embodiment of the present application, a computer device is provided, the computer device including a processor, the processor being used to determine status information of a load object on a base, control movement of at least one of the base and the wheel unit based on the status information, and maintain the load object from falling off the base.

[0338] In a further embodiment of the present application, a computer-readable storage medium is provided, in which a computer program is stored, and the computer program is executed by a processor to realize the motion control method for the underactuated system robot as described above.

[0339] In a further embodiment of the present application, a chip is provided, the chip including programmable logic circuits and / or program instructions, which when executed, are used to realize the motion control method for an underactuated system robot as described above.

[0340] In a further embodiment of the present application, a computer program product is provided, the computer program product including computer instructions, the computer instructions being stored in a computer-readable storage medium, and a processor configured to read and execute the computer instructions from the computer-readable storage medium to realize the motion control method for an under-actuation system robot as described above.

[0341] In this application, it will be understood that the terms "first", "second", etc. are for descriptive purposes only and should not be understood to indicate or imply the relative importance or number of technical features.

[0342] Although the preferred embodiment of the present application has been described above, the present application is not limited to this embodiment, and any modification to the present application falls within the technical scope of the present application as long as it does not depart from the spirit of the present application. [Explanation of symbols]

[0343] 10: Leg-wheel robot 11: Base part 12: Wheel section 121: Thigh unit 122: Thigh unit 123: Main drive wheel 124: Drive unit 1241: First drive motor 1242: Second drive motor 13: Tail 131: Counterweight thigh 132: Passive wheel 133: Third drive motor 01: Torsion spring 02: Rotation axis 03: Synchronous belt 04: Synchronous belt pulley 20: Load object

Claims

1. 1. A method for controlling movement of an under-actuated robot, executed by a controller of the under-actuated robot, comprising: The underactuated robot includes a wheel unit and a base unit connected to the wheel unit, A load object is placed on the base portion, The method comprises: determining state information of the load object on the base; and controlling movement of at least one of the base and the wheel assembly based on the state information to keep the load object from falling off the base; Controlling the movement of at least one of the base portion and the wheel portion based on the state information includes: determining a reference value for the tilt angular acceleration of the base based on the state information; and The method includes controlling the movement of at least one of the base portion and the wheel portion based on the tilt angular acceleration reference value and a whole-body dynamics model of the under-actuated robot.

2. 2. The method of claim 1, the wheel portion includes a thigh portion and a wheel portion; The step of controlling the movement of at least one of the base and the wheel unit based on the state information to keep the load object from falling off the base includes: The method includes a step of controlling the wheel section to move and the base section to tilt based on the status information, thereby maintaining the balance of the under-actuated robot's body and preventing the load object from falling off the base, wherein the tilting movement of the base and the movement of the wheel section influence each other due to the extension and contraction of the thigh section.

3. 3. The method of claim 2, The step of controlling the wheel unit to perform a motion and the base unit to perform a tilting motion based on the state information, thereby maintaining the balance of the body of the under-actuated robot and preventing the load object from falling off the base unit, includes: The method includes a step of controlling the wheel section to move and the base section to tilt based on the status information when the load object and / or the under-operated robot is subjected to external force interference, thereby maintaining the balance of the body of the under-operated robot and preventing the load object from falling from the base section.

4. 4. The method of claim 3, The external force interference is The center of the load object is subjected to external force interference; a portion other than the center of the load object is subjected to external force interference; the centroid of the load object is subjected to external force interference; The periphery of the centroid of the load object is subjected to external force interference; The base portion is subjected to external force interference; and The wheel section is subjected to external force interference. The method includes at least one of the following:

5. 3. The method of claim 2, Controlling the wheel unit to perform a movement and the base unit to perform a tilting movement based on the state information includes: controlling the wheel unit to move forward in a first direction when the load object moves in the first direction on the base unit based on the state information; or When the load object moves in the first direction, based on the state information, controlling the base seat so that one side closer to the first direction rises and the other side away from the first direction falls; or The method includes a step of controlling, based on the state information, when the load object moves in the first direction, the wheel portion to move forward in the first direction, controlling the base portion to move up on one side closer to the first direction, and controlling the base portion to move down on the other side away from the first direction.

6. 2. The method of claim 1, The status information is a displacement of the contact point of the load object on the base relative to the centroid of the underactuated robot along a target direction at the base; and a moving speed of the contact point on the base portion along the target direction, determining a reference value of the tilt angular acceleration of the base based on the state information, determining a reference value for a first tilt angular acceleration of the base using a difference between the displacement and a predetermined value of displacement and a difference between the movement velocity and a predetermined value of movement velocity as inputs to a closed-loop proportional-integral-derivative (PID) controller.

7. 2. The method of claim 1, The status information is a displacement of the contact point of the load object on the base relative to the centroid of the underactuated robot along a target direction at the base; a speed at which the contact point moves along the target direction at the base; the inclination angle of the base; and Including the tilt angular velocity of the base portion, determining a reference value of the tilt angular acceleration of the base based on the state information, determining a reference value for a second tilt angular acceleration of the base using the difference between the displacement and a predetermined value of displacement, the difference between the movement velocity and a predetermined value of movement velocity, the difference between the tilt angle and a predetermined value of tilt angle, and the difference between the tilt angular velocity and a predetermined value of tilt angular velocity as inputs to a closed-loop proportional-integral-derivative (PID) controller.

8. 8. The method of claim 7, The method, wherein at least one of the predetermined value of the displacement, the predetermined value of the movement velocity, the predetermined value of the tilt angle, and the predetermined value of the tilt angular velocity is determined based on a configuration characteristic of the under-actuated robot.

9. 2. The method of claim 1, The step of controlling the movement of at least one of the base unit and the wheel unit based on the reference value of the tilt angular acceleration and a whole-body dynamics model of the under-actuated robot includes: determining torque information of the base and / or the wheel assembly using the tilt angular acceleration reference value and the whole-body dynamics model of the underactuated robot as inputs to a closed-loop proportional-integral-derivative (PID) controller; and The method includes controlling movement of at least one of the base portion and the wheel portion based on the torque information.

10. 10. The method of claim 9, determining torque information of the base and / or the wheel using the tilt angular acceleration reference value and the whole-body dynamics model of the underactuated robot as inputs to a closed-loop proportional-integral-derivative (PID) controller, Constructing the whole-body dynamics model based on the driving torque, ground friction force and closed-loop force of the underactuated robot; and The method includes inputting the tilt angular acceleration reference value into the whole-body dynamic model and determining the torque information with the closed-loop proportional-integral-derivative (PID) controller.

11. 11. The method of claim 10, The method, wherein the whole-body dynamic model is constrained by dynamic model constraints, and the dynamic model constraints include a reference value for the tilt angular acceleration.

12. 2. The method of claim 1, The step of determining state information of the load object on the base comprises: acquiring position information of the load object on the base; and performing a touch position coordinate transformation based on the position information to determine the state information.

13. 13. The method of claim 12, The step of acquiring position information of the load object on the base portion includes: acquiring the position information by a tactile sensor provided on the base; acquiring the position information by a pressure sensor provided on the base; acquiring the position information by a motion capture system; and acquiring position information of the load object on the base with a camera head.

14. 14. The method of claim 13, a pressure sensor array is provided on the upper surface of the base; The step of acquiring the position information by a tactile sensor provided on the base portion includes: The method includes determining the position information based on a contact point on the pressure sensor array of the load object.

15. 15. The method of claim 14, the tactile sensor includes a pressure sensor array arranged in an m×n matrix; The length and width of an m×n matrix conforms to the top surface of the base, where m and n are positive integers.

16. 14. The method of claim 13, the imaging area of ​​the camera head covers the upper surface of the base; The step of acquiring position information of the load object on the base portion by the camera head includes: The method includes determining the position information based on image information acquired by the camera head.

17. 2. The method of claim 1, The step of determining state information of the load object on the base comprises: acquiring position information of the load object on the base and configuration information of the load object, the configuration information including at least one of information on the force applied, shape information, configuration information, and physical information; and The method includes performing a touch position coordinate transformation based on the position information and the morphology information to determine the state information.

18. An underactuated robot, a wheel portion and a base portion connected to the wheel portion, the base is used to place a load object thereon; The underactuated robot is provided with a controller; the controller is used to control the movement of at least one of the base and the wheel unit based on status information of the load object on the base, and to keep the load object from falling off the base; Controlling the movement of at least one of the base portion and the wheel portion based on the state information includes: determining a reference value for the tilt angular acceleration of the base based on the state information; and and controlling the movement of at least one of the base portion and the wheel portion based on the reference value of the tilt angular acceleration and a whole-body dynamics model of the under-actuated robot.

19. A device for controlling the movement of an underactuated robot, comprising: The underactuated robot includes a wheel unit and a base unit connected to the wheel unit, A load object is placed on the base portion, a determination module for determining state information of the load object on the base; and a control module for controlling movement of at least one of the base and the wheel assembly based on the status information to keep the load object from falling off the base; Controlling the movement of at least one of the base portion and the wheel portion based on the state information includes: determining a reference value for the tilt angular acceleration of the base based on the state information; and and controlling movement of at least one of the base portion and the wheel portion based on the tilt angular acceleration reference value and a whole-body dynamics model of the underactuated robot.

20. A computer device for controlling the movement of an underactuated robot, comprising: The underactuated robot includes a wheel unit and a base unit connected to the wheel unit, A load object is placed on the base portion, the computing device includes a processor; The processor includes: determining state information of the load object on the base; and and controlling the movement of at least one of the base and the wheel unit based on the state information to maintain the load object from falling off the base; Controlling the movement of at least one of the base portion and the wheel portion based on the state information includes: determining a reference value for the tilt angular acceleration of the base based on the state information; and and controlling the movement of at least one of the base portion and the wheel portion based on the tilt angular acceleration reference value and a whole-body dynamics model of the underactuated robot.

21. A chip for controlling the movement of an underactuated robot including a wheel section and a base section connected to the wheel section, the base section having a load object placed thereon, including programmable logic circuitry and / or program instructions; 18. A chip configured to implement the method of any one of claims 1 to 17 by executing the programmable logic circuit and / or the program instructions.

22. A program for causing a computer that controls the movement of an under-actuated robot including a wheel section and a base section connected to the wheel section, with a load object placed on the base section, to execute a method described in any one of claims 1 to 17.

Citation Information

Patent Citations

  • Self-stabilization control method, system and device of wheel-legged robot

    CN110764413A

  • Multi-legged robot load balancing method and device and multi-legged robot

    CN112975978A

  • Control method, device and equipment of wheel-legged robot and readable storage medium

    CN113753150A

  • Cargo transportation robot

    JP2006123854A

  • Movable apparatus

    JP2010225139A