Motion control method of underactuated system robot and underactuated system robot
The motion control method for underactuated robots stabilizes the system by determining load state information and adjusting the base and wheel parts, preventing the load from falling.
Patent Information
- Application Number
- CN202210015856.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-01-07
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2042-01-07
AI Technical Summary
Existing control methods for underactuated systems fail to effectively manage systems fail to provide a solution for underactuated systems fail to provide a solution for underactuated systems to maintain balance and prevent load objects from falling off the base.
A motion control method for underactuated system robots, where the state information of a load object on a base is determined, and the base and wheel parts are controlled to maintain stability and prevent the load from falling.
The method effectively keeps the load object on the base by controlling the movement of the base and wheel parts, enhancing the stability of the underactuated system robot.
Smart Images

Figure CN116442208B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robots, and in particular to a motion control method of an underactuated system robot and an underactuated system robot. Background Art
[0002] An underactuated system robot refers to a robot with fewer actuation numbers than the number of joint degrees of freedom. A typical manifestation of this type of robot is that the robot has a balance problem. For example, a wheel-legged robot with a base can float, and the robot moves through the wheels to maintain balance. Therefore, it can be understood that underactuated system robots all have body posture control problems.
[0003] In actual use, there is a possibility of using an underactuated system robot to complete a specified task. For example, using a wheel-legged robot to transport a spherical object using a base, because the spherical object has no shape closure and force closure on the base, the spherical object is in an unstable state on the base and may fall. At present, there is no clear research result on the control method related to this. Summary of the invention
[0004] The embodiment of the present application provides a motion control method of an underactuated system robot and an underactuated system robot, wherein the motion of at least one of a base part and a wheel part is controlled according to state information to ensure that a load object remains on the base part and does not fall off, so as to improve the stability of the underactuated system robot. The technical solution at least includes the following solutions:
[0005] According to one aspect of the present application, a motion control method of an underactuated system robot is provided, wherein the underactuated system robot comprises a wheel portion and a base portion connected to the wheel portion, and a load object is placed on the base portion, and the method comprises:
[0006] Determine the status information of the load object on the base;
[0007] According to the state information, at least one of the base part and the wheel part is controlled to move so as to keep the load object from falling off the base part.
[0008] According to one aspect of the present application, an underactuated system robot is provided, the underactuated system robot comprising a wheel portion and a base portion connected to the wheel portion, the base portion being used to carry a load object;
[0009] The under-actuated system robot is provided with a controller, which is used to control the under-actuated system robot to achieve: according to the state information of the load object on the base, control the movement of at least one of the base and the wheel part to keep the load object from falling on the base.
[0010] According to one aspect of the present application, a motion control device for an underactuated system robot is provided, the device comprising:
[0011] A determination module, used to determine the state information of the load object on the base;
[0012] The control module is used to control the movement of at least one of the base part and the wheel part according to the state information, so as to keep the load object from falling off the base part.
[0013] According to one aspect of the present application, a computer device is provided, the computer device comprising a processor;
[0014] A processor, used to determine status information of the load object on the base portion;
[0015] According to the state information, at least one of the base part and the wheel part is controlled to move so as to keep the load object from falling off the base part.
[0016] The beneficial effects brought by the technical solution provided by the embodiment of the present application include at least:
[0017] According to the state information of the load object on the base, the under-actuated system robot can control the movement of the base and / or the wheel part to keep the load object on the base and prevent it from falling, thereby improving the stability of the under-actuated system robot. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0019] Figure 1 is a schematic structural diagram of a wheel-legged robot provided by an exemplary embodiment of the present application;
[0020] Figure 2 is a partial schematic diagram of a wheel-legged robot provided by an exemplary embodiment of the present application;
[0021] Figure 3 is a front view of a wheel-legged robot provided by an exemplary embodiment of the present application in a state where the robot is standing on two wheels;
[0022] Figure 4 is a side view of a wheel-legged robot provided by an exemplary embodiment of the present application in a state of standing on two wheels;
[0023] Figure 5is a top view of a wheel-legged robot provided by an exemplary embodiment of the present application in a state where the robot is standing on two wheels;
[0024] Figure 6 A three-dimensional schematic diagram of a wheel-legged robot provided by an exemplary embodiment of the present application is shown with the weighted leg in an adducted state;
[0025] Figure 7 is a front view of a wheel-legged robot provided by an exemplary embodiment of the present application in a three-wheel standing state;
[0026] Figure 8 is a side view of a wheel-legged robot provided by an exemplary embodiment of the present application in a three-wheel standing state;
[0027] Fig. 9 is a top view of a wheel-legged robot provided by an exemplary embodiment of the present application in a three-wheel standing state;
[0028] Fig.10 is a three-dimensional schematic diagram of a wheel-legged robot provided by an exemplary embodiment of the present application in a three-wheel standing state;
[0029] Fig.11 is another stereoscopic schematic diagram of a wheel-legged robot provided by an exemplary embodiment of the present application in a three-wheel standing state;
[0030] Fig.12 is a schematic diagram of a wheel-legged robot provided by an exemplary embodiment of the present application;
[0031] Fig.13 is a schematic diagram of three spatial angles provided by an exemplary embodiment of the present application;
[0032] Fig.14 is a block diagram of a balance control in a pitch angle direction provided by an exemplary embodiment of the present application;
[0033] Fig.15 is a flow chart of a motion control method for an underactuated system robot provided by an exemplary embodiment of the present application;
[0034] Fig.16 is a flow chart of a motion control method for an underactuated system robot provided by an exemplary embodiment of the present application;
[0035] Fig.17 is a motion control implementation diagram of an underactuated system robot under external force interference provided by an exemplary embodiment of the present application;
[0036] Fig.18 is a motion control implementation diagram of an underactuated system robot under external force interference provided by an exemplary embodiment of the present application;
[0037] Fig.19 is a motion control implementation diagram of an underactuated system robot under external force interference provided by an exemplary embodiment of the present application;
[0038] Fig. 20 is a flow chart of a motion control method for an underactuated system robot provided by an exemplary embodiment of the present application;
[0039] Fig.21 is a schematic diagram for describing a common problem when a hand grasps an object provided by an exemplary embodiment of the present application;
[0040] Fig. 22 is a schematic diagram of a scalar definition of an underactuated system robot provided by an exemplary embodiment of the present application;
[0041] Fig.23 is a flow chart of a motion control method for an underactuated system robot provided by an exemplary embodiment of the present application;
[0042] Fig.24 is a flow chart of a motion control method for an underactuated system robot provided by an exemplary embodiment of the present application;
[0043] Fig.25 is a generalized coordinate schematic diagram of an underactuated system robot provided by an exemplary embodiment of the present application;
[0044] Fig.26 is a flow chart of a motion control method for an underactuated system robot provided by an exemplary embodiment of the present application;
[0045] Fig. 27 is an overall control framework diagram of an underactuated system robot provided by an exemplary embodiment of the present application;
[0046] Fig.28 is a schematic diagram of a motion control device for an underactuated system robot provided by an exemplary embodiment of the present application;
[0047] Fig.29 is a block diagram of an electronic device provided by an exemplary embodiment of the present application.
[0048] The following is a description of the various reference numerals in the accompanying drawings:
[0049] 10-wheel legged robot;
[0050] 11- base portion;
[0051] 12-Wheel Department:
[0052] 121 - thigh unit;
[0053] 122 - calf unit;
[0054] 123-driving wheel;
[0055] 124-driving unit: 1241-first driving motor; 1242-second driving motor;
[0056] 13- Tail:
[0057] 131-weighted legs;
[0058] 132-passive wheel;
[0059] 133 - third drive motor;
[0060] 01-torsion spring; 02-rotating shaft; 03-synchronous belt; 04-synchronous pulley;
[0061] 20- Load object. DETAILED DESCRIPTION
[0062] Unless otherwise defined, all technical terms used in the embodiments of the present application have the same meanings as commonly understood by those skilled in the art.
[0063] In the embodiments of the present application, the "front" and "rear" involved are based on the front and rear shown in the drawings. The "first end" and "second end" are two opposite ends.
[0064] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0065] An underactuated system robot refers to a robot whose number of drives is less than the number of joint degrees of freedom. Underactuated system robots all have body balance problems.
[0066] Figure 1 The present invention shows a wheel-legged robot 10 provided by an exemplary embodiment of the present invention. The wheel-legged robot 10 is a type of underactuated system robot. The wheel-legged robot 10 combines the advantages of wheeled robots and footed robots, has high wheel energy efficiency and strong adaptability, and can use legs to avoid obstacles on uneven terrain. The wheel-legged robot 10 is an unstable underactuated system, with only two contact points between the ground and the wheels / legs, which makes the balance control of the wheel-legged robot 10 challenging because it is difficult to achieve body balance.
[0067] Schematically, the wheel-legged robot 10 includes a base 11, a wheel 12 and a tail 13, and the wheel 12 and the tail 13 are respectively connected to the base 11. Optionally, the wheel 12 can be divided into left and right sides, and the left and right sides can be completely symmetrical or incompletely symmetrical.
[0068] Schematically, the wheel part 12 includes a leg part and a wheel part. The leg part includes a thigh unit 121 and a calf unit 122, and the wheel part includes a driving wheel 123. For example, the thigh unit 121 is composed of two rods and the calf unit 122 is composed of two rods. The two rods included in the thigh unit 121, the two rods included in the calf unit 122 and the base part 11 constitute a planar five-bar linkage.
[0069] Optionally, the first driving motor 1241 is fixed to the base portion 11 to provide driving force to the thigh unit 121 .
[0070] Taking the example of the first drive motor 1241 comprising two motors, the two rods included in the thigh unit 121 are respectively fixedly connected to the output shafts of the two motors included in the first drive motor 1241, and the connected ends of the two rods included in the thigh unit 121 and the two rods included in the calf unit 122 are connected in the form of a rotating pair to form a planar five-bar linkage.
[0071] Optionally, the second driving motor 1242 is fixed to a rod of the calf unit 122 to provide driving force to the driving wheel 123 .
[0072] refer to Figure 2 In the partial schematic diagram of the wheel-legged robot 10 shown, the driving of the driving wheel 123 can be achieved in the following manner: the second driving motor 1242 drives the rotating shaft 02 of the driving wheel 123 through a belt transmission, the rotating shaft 02 is coaxial with the axial direction of the rotating pair between the two rods included in the calf unit 122, the torsion spring 01 is mounted on the rotating shaft 02, and the arms of the torsion spring 01 are respectively fixed on the two rods included in the calf unit 122.
[0073] Optionally, a synchronous pulley 04 is installed on the output shaft of the second drive motor 1242, the synchronous pulley 04 is fixed on the rotating shaft 02, the driving wheel 123 is fixed on the other section of the rotating shaft 02, the synchronous belt 03 is sleeved on the synchronous pulley 04, and the second drive motor 1242 drives the synchronous pulley 04 to rotate by driving the synchronous belt 03, thereby driving the driving wheel 123 to rotate.
[0074] Optionally, in the wheel-legged robot 10 provided in the embodiment of the present application, the tail 13 includes a counterweight leg 131, a passive wheel 132 and a third drive motor 133. The counterweight leg 131 realizes a balancing function during the movement of the wheel-legged robot 10, and the third drive motor 133 is used to provide driving force to the passive wheel 132.
[0075] Figure 3-5 The front view, left view and top view of the wheel-legged robot 10 are respectively shown when it is standing on two wheels; Figure 6A three-dimensional schematic diagram of the wheel-legged robot 10 is shown when the counterweight leg 131 is in the retracted state.
[0076] In an optional implementation scenario, the wheel-legged robot 10 can also be in a three-wheeled standing state. Figure 7-9 The front view, left view and top view of the wheel-legged robot 10 in a three-wheel standing state are shown; Fig.10 and 11 Different perspective views of the wheel-legged robot 10 in a three-wheel standing state are shown respectively.
[0077] refer to Figure 7 Taking the position angle θ formed by the axis lines of the two rods included in the thigh unit 121 as an example, the position angle θ is less than 180°, and the mechanism can be in a self-stabilizing state.
[0078] In an optional implementation scenario, the wheel-legged robot 10 may also have other forms. Fig.12 An example of one morphology is given.
[0079] It should be understood that the wheel-legged robot 10 is a type of under-actuated system robot. The following embodiments of the present application only use the wheel-legged robot 10 as an example. The specific structure and form of the wheel-legged robot 10 can be set according to actual conditions and do not constitute a limitation to the present application.
[0080] In order to achieve the balance of the wheel-legged robot 10, it is usually necessary to perform balance feedback control on the wheel-legged robot 10. Balance feedback control mainly feeds back the self-balance measurement value to the control system so that the final balance measurement value reaches the standard.
[0081] Indicative, Fig.13 It is a schematic diagram of three spatial angles provided by an exemplary embodiment of the present application. The embodiment of the present application mainly performs balancing through three spatial angles: pitch, yaw and roll.
[0082] refer to Fig.13 , a right-handed Cartesian coordinate system of the three-dimensional control is established for the wheel-legged robot 10, wherein the pitch angle is the angle of rotation around the x-axis, the x-axis is the coordinate axis along the forward direction of the wheel-legged robot 10, corresponding to the roll angle, which will be represented by θ later; the yaw angle is the angle of rotation around the y-axis, the y-axis is the coordinate axis along the direction of connection of the two wheels of the wheel-legged robot 10, corresponding to the pitch angle, which will be represented by φ later; the roll angle is the angle of rotation around the z-axis, the z-axis is the coordinate axis in the vertical upward direction, corresponding to the yaw angle, which will be represented by express.
[0083] Taking the balance control in the pitch angle direction as an example, the balance control is explained as follows:
[0084] The angle in the pitch direction represents the swing amplitude of the wheel-legged robot 10 in the forward direction, that is, the angle in the pitch direction represents the angle at which the wheel-legged robot 10 swings back and forth in the control direction of wheel rotation. This is because there is only a single contact point between each wheel and the moving surface, and the wheels of the wheel-legged robot 10 are arranged horizontally.
[0085] The control in the pitch direction is composed of a multi-closed-loop proportional-integral-differential (PID) controller. The wheel-legged robot 10 is projected onto a two-dimensional plane to form a two-dimensional plane simplified model. X represents the distance that the center of the wheel moves laterally in the two-dimensional plane simplified model. Assuming that the wheel does not slip or leave the ground, X is equal to the product of the rotation angle of the wheel and the radius of the wheel.
[0086] Indicative, represents the moving speed of the wheel center, represents the reference speed of the wheel center movement, and θ represents the pitch angle of the wheel-legged robot 10, that is, the angle of rotation around the direction perpendicular to the paper surface in the two-dimensional plane simplified model. represents the pitch angular velocity of the wheel-legged robot 10, represents the pitch angular velocity reference value of the wheel-legged robot 10, and τ represents the torque input to the wheel motor of the wheel-legged robot 10. and It is collected by sensors. For example, θ and Obtained through inertial sensors (Inertial Measurement Unit, IMU), The data is acquired through the wheel encoder sensor.
[0087] Fig.14 A block diagram of a balance control in the pitch direction provided by an exemplary embodiment of the present application is shown. Among them, the outermost control reference is the speed reference value of the movement of the wheel center
[0088] First, obtain the reference speed of the wheel center movement That is, the speed that the wheel needs to reach according to the expected movement, and the moving speed of the wheel center obtained by the sensor. Will The speed at which the wheel center moves The result after subtraction is input to the PID controller 1410, and the PID controller 1410 outputs θ ref .
[0089] Secondly, the θ ref As the control reference of the next control loop. ref After subtracting θ, the pitch angle difference is obtained, that is, the difference between the current pitch angle and the reference pitch angle. The pitch angle difference is input to the PID controller 1420 to obtain Then, As the control reference of the next control loop, and The result after subtraction is input to the PID controller 1430, and the PID controller 1430 outputs τ. The balance control of the robot can be achieved by sending τ to the wheel motors of the wheel-legged robot 10.
[0090] At the same time, after the state of the wheel-legged robot 10 changes accordingly, θ, The values will change accordingly. After being acquired by the sensors, these values are used in a new round of control of the wheel-legged robot 10, thus forming a closed control loop.
[0091] The τ obtained according to the above-mentioned balance control can be used as a wheel rotation reference signal of the whole-body type controller of the wheel-legged robot 10. There are many ways to implement the calculation and generation method of this reference signal. This application is only an illustrative example. Other calculation and generation methods for obtaining τ do not impose limitations on this application.
[0092] Schematically, the balance control in the yaw angle and roll angle directions is similar to the balance control in the pitch angle direction, which can be used as a reference and will not be described in detail.
[0093] Based on the foregoing, the present application provides a motion control method for an underactuated system robot, which enables the underactuated system robot to keep a load object on a base portion and prevent it from falling.
[0094] Fig.15 A flow chart of a motion control method of an underactuated system robot provided by an exemplary embodiment of the present application is shown. The underactuated system robot includes a wheel portion and a base portion connected to the wheel portion, and a load object is placed on the base portion. The motion control method provided by the embodiment of the present application includes:
[0095] Step 102: Determine the state information of the load object on the base.
[0096] Schematically, the load object is in physical contact with the base portion, but the load object is not invisibly and forcefully sealed on the base portion.
[0097] During the movement of the underactuated system robot, the contact point between the load object and the base is not fixed, so that the movement state of the load object has no clear rules. However, since the load object is placed on the base, the underactuated system robot needs to consider the physical properties of the load object during the movement, such as mass and moment of inertia. Different physical parameters will produce significant differences in the interaction between the load object and the underactuated system robot.
[0098] The load object may be any object, including a rigid object and an elastic object. The present application does not limit the shape, material, size, structure, etc. of the load object. Any one or more objects may be regarded as the load object involved in the present application. When multiple objects are regarded as the load objects involved in the present application, the state information of each object on the base may be determined separately; the physical information of multiple objects may also be processed to determine an overall state information.
[0099] The load object may be a regular or irregular shaped object such as a cube, a cuboid, a cylinder, a sphere, etc. For example, if the load object is a cube, there is a small friction between the cube and the base, so that the cube slides on the base.
[0100] In the following embodiments, the load object is taken as an example.
[0101] Schematically, the state information of the load object on the base includes at least one of: the load object's posture information, the load object's motion information, the load object's physical information, the base's posture information, the base's motion information, and the base's physical information. The load object's posture information is used to indicate the load object's position on the base; the load object's motion information includes but is not limited to the load object's displacement information, velocity information, and acceleration information; the load object's physical information includes but is not limited to parameter information related to the load object's physical characteristics, such as the load object's mass, moment of inertia, etc. The base's posture information, motion information, and physical information can be referred to in the above content and will not be repeated here.
[0102] For example, the status information includes: the displacement of the contact point of the load object on the base on the base relative to the center of mass of the under-actuated system robot in the x-direction, and the moving speed of the contact point on the base along the x-direction; for another example, the status information includes: the displacement of the contact point of the load object on the base on the base relative to the center of mass of the under-actuated system robot in the x-direction, the moving speed of the contact point on the base along the x-direction, the inclination angle of the base, and the inclination angular velocity of the base.
[0103] The x direction is the x-axis direction mentioned above, the x-axis is the coordinate axis along the forward direction of the wheel-legged robot, corresponding to the roll angle roll. Optionally, the state information may also include relevant information in the y direction, the y direction is the y-axis direction mentioned above, the y-axis is the coordinate axis along the direction in which the two wheels of the wheel-legged robot 10 are connected, corresponding to the pitch angle pitch.
[0104] Step 104: According to the state information, control at least one of the base portion and the wheel portion to move, so as to keep the load object from falling off the base portion.
[0105] In an illustrative manner, keeping the loaded object from falling on the base portion includes but is not limited to at least one of the following situations: the loaded object remains stationary on the base portion, the loaded object moves on the base portion, the loaded object rotates on the base portion, the loaded object jumps on the base portion, and the loaded object rolls on the base portion. Taking the loaded object as a sphere as an example, the sphere remaining stationary, rolling, or jumping on the base portion can be regarded as the sphere being kept on the base portion and not falling.
[0106] In the present application, the motion state of the underactuated system robot is selected according to actual needs and is not limited thereto. The motion state of the underactuated system robot includes but is not limited to at least one of the following: maintaining a stationary state, moving state, flipping state, dancing state, jumping state, stationary balance state, and motion balance state.
[0107] For example, when the under-actuated system robot is in a stationary state, the wheel part is made into the base part and remains in a fixed position relative to the ground; for another example, when the under-actuated system robot is in a moving state, the wheel part moves so that the under-actuated system robot maintains its body balance; for another example, when the under-actuated system robot is in a flipping state, the relative positions of the wheel part and the base part change according to the different stages of the flipping; for another example, when the under-actuated system robot is in a dancing state, the wheel part moves or tilts, and / or the base part moves or tilts.
[0108] Taking the motion state of the underactuated system robot as a motion balance state as an example, during the control process of the underactuated system robot, the underactuated system robot moves in any direction to ensure the balance of the body. At this time, the load object is placed on the base part, and after determining the state information of the load object on the base part, at least one of the base part and the wheel part is controlled to move according to the determined state information, so as to ensure that the underactuated system robot can ensure that the load object remains on the base part without falling while achieving the balance of the body.
[0109] Schematically, the movement of the base part includes at least tilting movement, and the continuous tilting movement of the base part will cause the base part to be in a rocking state, such as nodding or shaking of the base part; the movement of the wheel part includes at least moving movement and tilting movement, such as movement of the wheel part toward the forward direction.
[0110] After determining the state information of the load object on the base part, controlling at least one of the base part and the wheel part according to the state information can be achieved through the whole body dynamics control of the under-actuated system robot.
[0111] Taking the whole body dynamics control realized by the balance controller as an example, the state information is input into the balance controller of the underactuated system robot, and the relevant reference signal of the whole body dynamics control is generated by the corresponding whole body dynamics model output to drive at least one of the base part and the wheel part. Among them, the balance-related reference signal includes but is not limited to at least one of the following signals: a reference signal of wheel rotation, a reference signal of the base part posture, and a reference signal of the tail part posture. The balance controller outputs the torque information of each joint, and the movement of the base part and / or the wheel part can be determined according to the determined torque information. Optionally, the balance controller is a PID controller.
[0112] To summarize, the motion control method of the under-actuated system robot provided in the embodiment of the present application enables the under-actuated system robot to control the movement of the base part and / or the wheel part according to the state information of the load object on the base part, so that the load object remains on the base part and does not fall off, thereby improving the stability of the under-actuated system robot.
[0113] According to the foregoing, there are multiple motion states of the underactuated system robot. Taking the motion state as a motion balance state as an example, the underactuated system robot needs to simultaneously maintain the balance of the body and keep the load object on the base without falling.
[0114] based on Fig.15 , Fig.16 A flow chart of a motion control method of an underactuated system robot provided by an exemplary embodiment of the present application is shown. Optionally, the wheel portion includes a leg portion and a wheel portion, and step 104 can be implemented as step 1041. The specific description of step 1041 is as follows:
[0115] Step 1041: According to the status information, the wheel part is controlled to move and the base part is controlled to tilt so as to keep the body balance of the under-actuated system robot and prevent the load object from falling off the base part.
[0116] The tilting movement of the base portion and the movement of the wheel portion affect each other through the extension and retraction of the legs.
[0117] Schematically, the movement of the wheel portion includes at least moving movement and tilting movement. For example, the wheel portion moves in the forward direction; for another example, when passing an obstacle, the wheel portion performs a tilting movement, so that the body of the underactuated system robot tilts to avoid the obstacle.
[0118] refer to Figure 1 The wheel portion may include a driving wheel 123, and the second driving motor 1242 provides driving force to the driving wheel 123, so that the driving wheel 123 moves and tilts. For example, the second driving motor 1242 drives the driving wheel 123 to move forward or backward along the forward direction of the under-actuated system robot 10; or, the second driving motor 1242 drives the driving wheel 123 to tilt, so that the angle between the driving wheel 123 and the ground changes, thereby driving the body of the under-actuated system robot 10 to tilt.
[0119] Illustratively, the movement of the base portion at least includes a tilting movement, and continuous tilting movement of the base portion will cause the base portion to be in a rocking state.
[0120] For example, reference Fig.13 For example, taking the x-axis in the aforementioned content as an example, the base part continuously tilts up and down around the x-axis, so that the base part is in a swinging state in the x-axis direction. If the x-axis is the forward direction of the wheel-legged robot 10, the tilting movement of the base part can be regarded as a nodding movement of the base part; for another example, taking the y-axis in the aforementioned content as an example, the base part continuously tilts up and down around the y-axis, so that the base part is in a swinging state in the y-axis direction. If the y-axis is the double-wheel connection direction of the wheel-legged robot 10, the tilting movement of the base part can be regarded as a shaking movement of the base part.
[0121] Taking the load object as a sphere, the sphere is invisibly and forcefully closed on the base. During the control process of the underactuated system robot, the balance controller controls the movement of the wheel part to keep the underactuated system robot balanced, and controls the movement of the base part to keep the sphere on the base part without falling.
[0122] Schematically, the tilting movement of the base and the movement of the wheel affect each other through the extension and retraction of the legs, wherein the tilting movement of the base affects the movement of the wheel through the legs, and the movement of the wheel affects the tilting movement of the base through the legs.
[0123] refer to Figure 1, taking the leg portion including the thigh unit 121 and the calf unit 122, and the wheel portion including the driving wheel 123 as an example. When the base portion 11 performs a tilting movement, the base portion 11 affects the forward and / or backward movement of the driving wheel 123 through the extension and contraction of the thigh unit 121 and the calf unit 122; when the driving wheel 123 moves forward and / or backward, the driving wheel 123 sequentially drives the calf unit 122 and the thigh unit 121 to extend and contract, thereby affecting the left-right and / or forward-backward swinging of the base portion 11.
[0124] Among them, the movement of the wheel part and the tilting movement of the base part can be achieved through the whole-body dynamics control of the under-actuated system robot. The various joints of the under-actuated system robot are controlled according to the reference signal output by the controller, thereby realizing the motion control of the wheel part and the base part. This part will be described in detail later, and this is only an exemplary description.
[0125] In an optional implementation scenario, the load object and / or the underactuated system robot will be disturbed by external forces. Based on this, step 1041 can be implemented as follows:
[0126] When the load object and / or the under-actuated system robot is disturbed by external force, the wheel part is controlled to move and the base part is tilted according to the status information to keep the body of the under-actuated system robot balanced and keep the load object on the base part and prevent it from falling.
[0127] The external force interference to the load object and / or the underactuated system robot may be the force exerted on the load object and / or the underactuated system robot by other objects, or may be the resistance encountered by the underactuated system robot when crossing or passing through an obstacle, etc. For example, when the underactuated system robot passes through an obstacle, part of the entity of the obstacle squeezes the base portion, so that the underactuated system robot and the load object are subjected to squeezing force at the same time.
[0128] Illustratively, the external force interference includes at least one of the following situations:
[0129] The center of the load object is disturbed by external forces;
[0130] The load object is disturbed by external forces outside the center;
[0131] The center of mass of the load object is disturbed by external forces;
[0132] The surrounding side of the center of mass of the load object is disturbed by external forces;
[0133] The base is disturbed by external forces;
[0134] The wheel is disturbed by external force.
[0135] Figure 17-19The motion control implementation diagrams of an under-actuated system robot provided by an exemplary embodiment of the present application under different external force interferences are respectively shown.
[0136] Taking the underactuated system robot as a wheel-legged robot 10 as an example, the driving motor of the wheel-legged robot 10 provides driving force to the two driving wheels 123 included in the wheel part 12 (not shown in the figure), so that the wheel-legged robot 10 is in a state of motion balance. Among them, the two driving wheels 123 are the wheel parts of the wheel part 12, and the load object 20 is placed on the base part 11. The wheel-legged robot 10 controls the movement of at least one of the base part 11 and the driving wheels 123 with the goal of keeping the load object 20 on the base part 11 without falling.
[0137] Optionally, the load object 20 is a sphere.
[0138] refer to Fig.17 , an external force interference is added to the center of the sphere, the load object 20 does not fall after rolling on the base part 11, and the wheel-legged robot 10 still maintains balance. In the process of maintaining balance, the base part 11 is performing closed-loop control in different attitude angle directions.
[0139] refer to Fig.18 , an external force interference is added at other positions outside the center of the sphere, and the load object 20 does not fall after rolling on the base part 11, and the wheel-legged robot 10 still maintains balance. In the process of maintaining balance, the base part 11 also performs closed-loop control in different attitude angle directions.
[0140] refer to Fig.19 , a moment is added around the mass center of the load object 20, the load object 20 does not fall after rolling on the base part 11, and the wheel-legged robot 10 still maintains balance. In the process of maintaining balance, the base part 11 also performs closed-loop control in different attitude angle directions.
[0141] Optionally, in the case where the load object and / or the underactuated system robot is subject to external interference, there is a possibility that the load object and / or the underactuated system robot is subject to greater external interference. At this time, it is possible that the load object 20 cannot be kept on the base portion 11 only by the movement of the base portion 11. At this time, the wheel-legged robot 10 controls the driving wheel 123 to move, such as moving forward or backward in the direction of wheel rotation, so that the load object 20 remains on the base portion 11.
[0142] In this case, the balance controller of the wheel-legged robot 10 needs to consider the control reference signals of the base part 11 and the wheel part 12 at the same time, so that the movement of the wheel part 12 can assist the movement of the base part 11 to achieve the load object 20 being kept on the base part 11.
[0143] Optionally, step 1041 may be implemented as follows:
[0144] According to the state information, when the load object moves toward the first direction on the base portion, the wheel portion is controlled to move forward toward the first direction;
[0145] Alternatively, according to the state information, when the load object moves toward the first direction, the side of the base portion close to the first direction is controlled to be lifted, and the other side of the base portion away from the first direction is controlled to be dropped;
[0146] Alternatively, according to the status information, when the load object moves toward the first direction, the wheel portion is controlled to move forward toward the first direction, and the side of the base portion close to the first direction is controlled to be lifted, and the other side of the base portion away from the first direction is controlled to fall.
[0147] refer to Figure 17-19 , the load object 20 rolls on the base 11, and the first direction is taken as an example of the rolling forward direction of the load object 20. The load object 20 rolls toward the first direction. In order to keep the load object 20 on the base 11 and prevent it from falling, the under-actuated system robot 10 can perform one of the following three controls:
[0148] 1. Control the driving wheel 123 to move so that the driving wheel 123 moves toward the rolling direction of the load object 20;
[0149] 2. The underactuated system robot 10 can control the base part 11 to be lifted up on one side close to the rolling direction of the load object 20 and to be lowered on the other side away from the rolling direction of the load object 20, so that the base part 11 performs a tilting movement;
[0150] 3. When the rolling speed of the load object 20 is relatively high, or there is a large external force interference, the under-actuated system robot 10 can move by controlling the active wheel 123, while controlling the base part 11 to lift up on one side close to the rolling direction of the load object 20 and to lower on the other side away from the rolling direction of the load object 20.
[0151] The movement of the driving wheel 123 and / or the raising and lowering of the two sides of the base 11 keep the body of the under-actuated system robot 10 balanced, and the load object 20 remains on the base 11 without falling. For example, the driving wheel 123 accelerates toward the rolling direction of the load object 20, and the base 11 remains stationary; for another example, the driving wheel 123 remains stationary, and the two sides of the base 11 are raised or lowered according to the rolling direction of the load object 20, so that the base 11 tilts and swings; for another example, the driving wheel 123 cooperates with the base 11 to move, so that the under-actuated system robot 10 moves toward the rolling direction of the load object 20, and the base 11 is in a swinging state.
[0152] To summarize, the motion control method of the under-actuated system robot provided in the embodiment of the present application controls the wheel part to move and controls the base part to tilt according to the status information of the load object on the base part, so as to keep the under-actuated system robot balanced and prevent the load object from falling off the base part.
[0153] Optionally, when the load object and / or the under-actuated system robot is disturbed by external force, the under-actuated system robot can still achieve the goal of keeping the under-actuated system robot balanced and preventing the load object from falling off the base.
[0154] Based on the above, Fig. 20 A flow chart of a motion control method of an underactuated system robot provided by an exemplary embodiment of the present application is shown. The underactuated system robot includes a wheel portion and a base portion connected to the wheel portion, and a load object is placed on the base portion. The motion control method provided by the embodiment of the present application includes:
[0155] Step 202: Determine the state information of the load object on the base.
[0156] Schematically, the load object is in physical contact with the base, but the load object is invisibly and forcefully closed on the base. The load object can be any object, including a rigid object and an elastic object. This application does not limit the shape, material, size, structure, etc. of the load object. Any one or more objects can be regarded as the load object involved in this application.
[0157] Illustratively, step 202 is the same as step 102 and can be used for reference and will not be described in detail.
[0158] Step 204: Determine a reference value of the tilt angle acceleration of the base according to the state information.
[0159] For status information, please refer to the above content and will not be repeated here.
[0160] Schematically, the inclination angular acceleration reference value of the base can be used as a posture reference signal of the base to control the base. For example, depending on the content of the state information, the corresponding inclination angular acceleration reference value can be determined by different control laws.
[0161] Among them, according to the tilt angle acceleration reference value, the tilt direction, tilt angle, tilt speed and other information of the base part can be determined. Based on the above information, the base part is tilted toward the target tilt direction and at the target tilt speed until the target tilt angle is reached.
[0162] To illustrate the interaction between the load object and the base, refer to Fig.21 The following is a schematic diagram of a general problem description when a hand grasps an object, where the arc below represents the curved surface of the finger when the hand grasps the object, and the arc length of the curved surface is denoted by S h To represent; the curve above represents the surface curve of the grasped object, and the arc length corresponding to the projection of the curve on the plane is represented by S.
[0163] Schematically, the hand coordinate system is represented by the subscript h, the object coordinate system is represented by the subscript o, and the world coordinate system is represented by ∑ w Based on this, p h Represents the hand coordinate system ∑ h Relative to the world coordinate system∑ w The origin position of q h Represents the hand coordinate system ∑ h Relative to the world coordinate system∑ w Similarly, p o Represents the object coordinate system∑ o Relative to the world coordinate system∑ w The origin position, q o Represents the object coordinate system ∑ o Relative to the world coordinate system∑ w t is the tangent direction of the point between the object and the hand.
[0164] It should be understood that Fig.21 This is equivalent to providing a set of general methods. During the use of the general method, the human hand and the object can be replaced by other methods, such as the base and the load object. Optionally, the upper surface of the base is not a plane, and the load object is an object with an irregular shape. The method in the embodiment of the present application is an exemplary use of the general method.
[0165] based on Fig.21 , taking the load object as a sphere as an example, Fig. 22 A schematic diagram of scalar definition of an underactuated system robot provided by an exemplary embodiment of the present application is shown, wherein:
[0166] For the convenience of identification, the surface of the load object is standardized as a standard sphere. Fig. 22 The circle in is the section corresponding to the sphere. The x direction, y direction and z direction mentioned below refer to the directions given in the above content. When the upper surface of the base 11 of the wheel-legged robot 10 contacts the sphere, the distance between the straight line where the upper surface contacts the sphere and the robot's mass center in the z direction is expressed as d h .
[0167] According to the above content, the content of the state information of the load object on the base part is different. Take the state information including the displacement of the contact point of the load object on the base part relative to the center of mass of the underactuated system robot in the target direction, the moving speed of the contact point on the base part along the target direction, the tilt angle of the base part, and the tilt angular velocity of the base part as an example:
[0168] S h represents the displacement of the contact point on the base relative to the center of mass of the underactuated system robot in the target direction; represents the moving speed of the contact point on the base along the target direction; q h Indicates the inclination angle of the base; Indicates the tilt angular velocity of the base.
[0169] The target direction may be the x direction and / or the y direction, and the change of the base portion 11 in the z direction may use the rotation along the x direction or the y direction as a reference.
[0170] According to one or more of the above displacement, moving speed, tilt angle and tilt angular velocity, the tilt angular acceleration reference value of the base part 11 can be determined. For example, the tilt angular acceleration reference value is determined by the difference between the displacement, moving speed, tilt angle and tilt angular velocity and the corresponding preset value.
[0171] Taking the target directions as x and y, a matrix of reference values of the tilt angle acceleration of the base can be obtained according to step 204. The matrix can be used in the whole-body dynamics control of the under-actuated system robot. The use of the matrix in the whole-body dynamics model is described in detail below.
[0172] Step 206: According to the tilt angle acceleration reference value and the whole body dynamics model of the under-actuated system robot, control the movement of at least one of the base part and the wheel part to keep the load object from falling off the base part.
[0173] For how to keep the load object on the base and prevent it from falling, and control the base and / or wheel parts, please refer to the above contents and will not be described in detail.
[0174] The whole body dynamics model of the underactuated system robot is used to realize the whole body dynamics control of the underactuated system robot. The tilt angle acceleration reference value is the input value of the model. According to the tilt angle acceleration reference value and the whole body dynamics model, the control reference signal of the underactuated system robot can be determined to realize the control of the base part and / or the wheel part.
[0175] For example, after determining the tilt angle acceleration reference value, the matrix of the tilt angle acceleration reference value of the base part is input into the balance controller, and the torque information of the base part and / or the wheel part is obtained according to the whole body dynamics model, and the base part and / or the wheel part is controlled to perform corresponding movements according to the torque information.
[0176] Optionally, the present application embodiment also provides two different calculation methods for the tilt angle acceleration reference value, based on Fig. 20 , Fig.23 A flow chart of a motion control method for an underactuated system robot provided by an exemplary embodiment of the present application is shown. Step 204 can be implemented as step 2041 or step 2042. Step 2041 and step 2042 are performed one by one, as follows:
[0177] 1. Calculation of the first inclination angle acceleration reference value.
[0178] The state information includes: the displacement S of the contact point of the load object on the base relative to the center of mass of the underactuated system robot in the target direction on the base h , the moving speed of the contact point on the base in the target direction For example, step 204 can be implemented as step 2041, specifically as follows:
[0179] Step 2041: Using the difference between the displacement and the preset displacement value, and the difference between the moving speed and the preset moving speed value as inputs of the PID controller, a first tilt angle acceleration reference value of the base is determined.
[0180] The displacement preset value uses S h ref Indicates that the moving speed preset value uses express.
[0181] Optional, S h ref and At least one of the above is determined according to the structural characteristics of the under-actuated system robot.
[0182] In an optional implementation scenario, the front and rear left and right dimensions of the underactuated system robot are completely symmetrical, and the center of mass becomes the geometric center. Then the preset value S h ref and Can be set to 0. In an optional implementation scenario, the front and back left and right dimensions of the underactuated system robot are not completely symmetrical, and the center of mass is not the same as the geometric center. The preset value S h ref and It can be set according to the structural characteristics of the underactuated system robot to correct the error caused by the deviation of the center of mass from the geometric center.
[0183] For example, the mass of the left and right sides of the underactuated system robot is asymmetric, so that the center of mass deviates from the geometric center. In this case, the center of gravity of the underactuated system robot can be determined by simulation or real machine measurement, and then the motor joint torque required for the underactuated system robot and the load object to be closest to the overall equilibrium state when the load object is at a certain point on the base can be calculated to be the minimum. h ref The value range of S is -5cm to 5cm. It should be understood that the above examples are only illustrative examples and do not apply to the S h ref The value range of is specifically limited.
[0184] After determining the difference between the displacement and the preset displacement value, and the difference between the moving speed and the preset moving speed value, the two differences are used as inputs of the PID controller. Through PID control, the corresponding inclination angle acceleration reference value can be determined to achieve control of the wheel part and / or the base part.
[0185] Optionally, step 2041 may be implemented as follows:
[0186] Determine a first difference value according to the displacement and the preset displacement value, and determine a second difference value according to the moving speed and the preset moving speed value;
[0187] Determine a first inclination angle acceleration reference value by a PID controller according to a sum of a product of the first parameter and the first difference and a product of the second parameter and the second difference;
[0188] Among them, the first parameter is the reference value of the proportional coordination coefficient, and the second parameter is the reference value of the differential adjustment coefficient.
[0189] The displacement is S h , the moving speed is The default displacement value is S h ref , and the default value of moving speed is For example, the first feedback control law for controlling the load object to remain on the base portion and not fall off can be expressed as follows:
[0190]
[0191] in, is the first inclination angle acceleration reference value, is the first parameter, is the second parameter.
[0192] According to the first feedback control law, the displacement and movement speed of the load object on the base can be controlled so that the actual displacement of the load object is close to S h ref , and the movement speed of the load object on the base is close to
[0193] Optionally, the first parameter and the second parameter may be fixed as constant values, or may be adjusted according to actual needs.
[0194] According to the above content, due to different target directions, the reference values of the inclination angular acceleration in different directions can be obtained. For example, when the target direction is the x direction, that is, when the plane where the pitch is located is considered, the first reference value of the inclination angular acceleration of the base in the pitch direction can be obtained; for another example, when the target direction is the y direction, that is, when the plane where the roll is located is considered, the first reference value of the inclination angular acceleration of the base in the roll direction can be obtained.
[0195] 2. Calculation of the first inclination angle acceleration reference value.
[0196] The state information includes: the displacement S of the contact point of the load object on the base relative to the center of mass of the underactuated system robot in the target direction on the base h , the moving speed of the contact point on the base in the target direction For example, step 204 can be implemented as step 2042, specifically as follows:
[0197] Step 2042: Using the difference between the displacement and the preset displacement value, the difference between the moving speed and the preset moving speed value, the difference between the tilt angle and the preset tilt angle value, and the difference between the tilt angular velocity and the preset tilt angular velocity value as inputs to the PID controller, determine the second tilt angular acceleration reference value of the base.
[0198] The displacement preset value uses S h ref Indicates that the moving speed preset value uses Indicates that the tilt angle preset value uses q h ref Indicates that the tilt angular velocity preset value uses express.
[0199] Optional, S h ref , q h ref and At least one of is determined according to the structural characteristics of the underactuated system robot. h ref and Determination of S h ref and The determination of is similar, please refer to the above content and will not be repeated here.
[0200] After determining the difference between the displacement and the preset displacement value, the difference between the moving speed and the preset moving speed value, the difference between the inclination angle and the preset inclination angle value, and the difference between the inclination angular velocity and the preset inclination angular velocity value, the four differences are used as inputs of the PID controller. Through PID control, the corresponding inclination angular acceleration reference value can be determined to achieve control of the wheel part and / or the base part.
[0201] Optionally, step 2042 may be implemented as follows:
[0202] Determine a first difference value according to the displacement and the preset displacement value, determine a second difference value according to the moving speed and the preset moving speed value, determine a third difference value according to the tilt angle and the preset tilt angle value, and determine a fourth difference value according to the tilt angular velocity and the preset tilt angular velocity value;
[0203] Determine a second inclination angle acceleration reference value by a PID controller according to the sum of the product of a third parameter and the first difference, 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;
[0204] Among them, the third parameter and the fifth parameter are reference values of different proportional coordination coefficients, and the fourth parameter and the sixth parameter are reference values of different differential adjustment coefficients.
[0205] The displacement is S h , the moving speed is The tilt angle is q h , the tilt angular velocity is The default displacement value is S h ref , the default value of moving speed is The default tilt angle is q h ref , the preset value of tilt angular velocity is For example, the second feedback control law for controlling the load object to remain on the base portion and not fall off can be expressed as follows:
[0206]
[0207] in, is the second inclination angle acceleration reference value, is the third parameter, is the fourth parameter, is the fifth parameter, is the sixth parameter, and is the reference value of different proportional coordination reference coefficients, and It is the reference value of different differential adjustment coefficients.
[0208] According to the second feedback control law, the displacement and movement speed of the load object on the base can be controlled so that the actual displacement of the load object is close to S h ref , and the movement speed of the load object on the base is close to At the same time, according to the second feedback control law, the tilt angle and tilt angular velocity of the base can also be controlled so that the tilt angle of the base is close to q h ref , and the inclination angular velocity of the base is close to
[0209] Optionally, the first parameter and the second parameter may be fixed as constant values, or may be adjusted according to actual needs.
[0210] Similar to the first tilt angle acceleration reference value, due to different target directions, the tilt angle acceleration reference values in different directions can be obtained. For example, when the target direction is the x direction, that is, when the plane where the pitch is located is considered, the second tilt angle acceleration reference value of the base in the pitch direction can be obtained; for another example, when the target direction is the y direction, that is, when the plane where the roll is located is considered, the second tilt angle acceleration reference value of the base in the roll direction can be obtained.
[0211] According to the foregoing, after determining the inclination angle acceleration reference value of the base part according to the state information, the base part and / or the wheel part can be controlled to perform corresponding movements according to the inclination angle acceleration reference value and the whole body dynamics model of the under-actuated system robot.
[0212] Optional, based on Fig. 20 , Fig.24 A flow chart of a motion control method for an underactuated system robot provided by an exemplary embodiment of the present application is shown. Step 206 can be implemented as steps 2061 and 2062, as follows:
[0213] Step 2061: Using the tilt angular acceleration reference value and the whole body dynamics model of the under-actuated system robot as inputs of the PID controller, determine the torque information of the base part and / or the wheel part.
[0214] The input information of the whole body dynamics model is the reference value of the tilt angle acceleration, and the output information is the torque information of the base and / or the wheel. It should be understood that the whole body dynamics model can be determined according to the Lagrange equation or the Newton-Euler equation, or the whole body dynamics model can be determined according to other methods. The following content is only for illustrative purposes and does not limit the present application.
[0215] Optionally, step 2061 may be implemented as follows:
[0216] A full-body dynamics model is constructed based on the driving torque, ground friction and closed-loop force of the underactuated system robot.
[0217] The tilt angle acceleration reference value is substituted into the whole body dynamics model and the torque information is determined through the PID controller.
[0218] The coordinates of the generalized joint angles of the underactuated system robot Taking the base part's posture, number of joint angles and joint angles as an example, represents the position of the base, n j represents the number of joint angles, represents the joint angle. Similarly, the generalized joint velocity can be expressed as The generalized joint acceleration can be expressed as
[0219] According to the above content, the inclination angle acceleration reference value of the base part can be determined according to the state information, and the determined inclination angle acceleration reference value can be expressed in a matrix form. Based on the above content, the inclination angle acceleration reference value matrix obtained according to the x direction and the y direction is
[0220] Exemplarily, according to the control law given in the above content, the inclination angular acceleration reference values corresponding to the x direction and the y direction can be determined respectively; then, according to the multiple inclination angular acceleration reference values, the inclination angular acceleration reference value matrix corresponding to the base part is constructed. The whole-body dynamics model below can be substituted to generate control reference signals for the underactuated system robot.
[0221] Schematically, taking τ as the driving torque of the underactuated system robot, f as the ground friction force, and l as the closed-loop force as an example, the whole body dynamics model of the underactuated system robot can be expressed as follows:
[0222]
[0223] Among them, q, and Refer to the above content, is the mass matrix, It consists of gravity, centrifugal force and Coriolis term, is the matrix of the driving joint selected from all joints, f is the ground contact force, is the contact Jacobian matrix of the cascade, is the contact Jacobian matrix of the connection. C is the number of contact points between the wheel and the ground, n λ =2 is the number of contact points between the open-loop links considering the closed-loop constraint of the five-bar mechanism, that is, Fig.25 between P1 and P2.
[0224] Fig.25 FIG. 1 shows a generalized coordinate diagram of an underactuated system robot provided by an exemplary embodiment of the present application. i and driving torque τ i Mark around the joint. {·,·} and τ {·,·} The double subscripts consider the joint indices of the left and right legs separately. Fig.25 Only the connections and joints on the left leg are marked. The right leg is symmetrical with the left leg and can be used as a reference. In addition, for clarity, Fig.25 The two joint angles q of the tail are omitted 11 ,q 12 And driving torques τ7, τ8.
[0225] Full body dynamics model of underactuated system robot Control reference signals, such as torque information, may be determined for the wheel portion and / or the base portion.
[0226] Optionally, the variable values when the driving torque τ, the ground friction force f and the closed-loop force l make the whole body dynamics model take the minimum value can be determined by the argmin function, so as to determine the control reference signal of the wheel part and / or the base part. The argmin function can be expressed as follows:
[0227]
[0228] In the process of determining the variable values of the driving torque τ, the ground friction force f and the closed-loop force l, it is necessary to impose conditional constraints on the underactuated system robot.
[0229] Optionally, the whole-body dynamics model is subject to dynamics model constraints, which include a tilt angle acceleration reference value.
[0230] The constraints of the dynamic model are expressed as: For the relevant description of this constraint, please refer to the above content and will not be repeated here.
[0231] In addition to being constrained by the constraints of the dynamic model, the underactuated system robot is also subject to at least one of the following constraints:
[0232] Closed-loop linkage constraint;
[0233] The wheels are restrained from slipping or leaving the ground;
[0234] Friction constraint.
[0235] in:
[0236] The closed-loop link constraint can be expressed as: in, and are the Jacobian matrices of points P1 and P2 respectively.
[0237] Assuming that the wheel is rolling and in contact with the ground, and there is no slipping or sliding in the radial and axial directions of the wheel, the constraint that the wheel does not slip or leave the ground can be expressed as: in, is the Jacobian matrix of the wheel-ground contact point relative to the base.
[0238] In each local coordinate system of the contact force f i In the equation, given the friction coefficient μ, the friction constraint can be formulated as |f i,x |≤μf i,z and |f i,y |≤μf i,z , the unilateral constraint can be expressed as f i,z >0.
[0239] Step 2062: With the goal of keeping the load object on the base and preventing it from falling, control the movement of at least one of the base and the wheel according to the torque information to keep the load object on the base and prevent it from falling.
[0240] Among them, the control of the base and / or the wheel part to keep the load object from falling off can refer to the above content and will not be repeated. After determining the torque information of the base and / or the wheel part, the driving motor of the under-actuated system robot provides different driving forces according to the corresponding torque information to control the movement of the base and / or the wheel part.
[0241] Illustratively, step 2062 is similar to step 104 and can be used for reference and will not be described in detail.
[0242] To summarize, in the motion control method of the under-actuated system robot provided in the embodiment of the present application, the inclination angular acceleration reference value of the base part is determined according to the state information, and the inclination angular acceleration reference value is input into the whole-body dynamics model to obtain the control reference signal of the base part and / or the wheel part, thereby realizing the control of the base part and / or the wheel part.
[0243] Optionally, the embodiment of the present application provides two optional ways of determining the reference value of the tilt angle acceleration; Optionally, the embodiment of the present application provides an implementation method of the whole body dynamics model. It should be understood that the above contents are all illustrative examples, and any formula deformation or increase or decrease of commonly used variables based on the above contents are included in the protection scope of this application.
[0244] According to the foregoing content, the embodiment of the present application also provides a method for determining the state information of the load object on the base portion. Fig.15 , Fig.26 A flow chart of a motion control method for an underactuated system robot provided by an exemplary embodiment of the present application is shown.
[0245] Optionally, the position information of the load object on the base portion, or the position information and force information, can be obtained, and the contact position coordinate conversion can be performed on the obtained information to determine the corresponding state information. Based on this, step 102 can be implemented as one of the following two groups of steps, as follows:
[0246] 1. The first method of determining status information.
[0247] Step 1011: Obtaining position information of the load object on the base.
[0248] The position information of the load object on the base can be obtained in a variety of ways.
[0249] For example, perception is performed through tactile sensors or pressure sensors laid on the base; another example is the position information is obtained through a motion capture system; another example is the image or video on the base is obtained through a camera, and the position information is determined based on image or video frame analysis technology.
[0250] Optionally, step 1011 may be implemented as at least one of the following:
[0251] Acquiring position information through a tactile sensor laid on the base portion;
[0252] Acquiring position information through a pressure sensor laid on the base;
[0253] Acquire position information through motion capture system;
[0254] The position information of the load object on the base is obtained through the camera.
[0255] In the case where the position information is obtained through a tactile sensor, the tactile sensor may be composed of an m*n pressure sensor array.
[0256] Optionally, a pressure sensor array is disposed on the upper surface of the base portion; acquiring the position information through the tactile sensors laid on the base portion can be implemented as follows: determining the position information through the contact points of the load object on the pressure sensor array.
[0257] Optionally, the tactile sensor includes an array of pressure sensors arranged in an m×n matrix, the length and width of the m×n matrix are adapted to the upper surface of the base portion, and m and n are positive integers.
[0258] For example, if the size of the upper surface of the base is 40 cm*20 cm, a tactile sensor pressure collection point can be placed at an interval of 1 cm, and the pressure point array on the upper surface of the base forms a corresponding 40*20 point array.
[0259] It should be understood that, in actual applications, with the changes in the size of the upper surface of the base, the differences in the physical properties of the load-carrying object, the differences in the initial velocity and pressure detection range in the application scenario, including the delay of the bottom control of the motor, etc., the spacing of the tactile sensor pressure dot matrix can be adaptively changed, and the values of m and n can also be adaptively adjusted. The above is only an illustrative example and does not constitute a specific limitation on the values of m and n involved in this application.
[0260] Optionally, when the position information is obtained through a camera, the camera area of the camera covers the upper surface of the base; obtaining the position information of the load object on the base through the camera can be implemented as follows: determining the position information based on the image information obtained by the camera.
[0261] Optionally, the position information may be identified by the position coordinates of the load object on the base portion.
[0262] Step 1021: Perform contact position coordinate conversion according to the position information to determine the state information.
[0263] Among them, contact position coordinate conversion refers to a process of converting the position information of the load object on the base into state information. Taking the acquisition of position information through a tactile sensor as an example, through contact position coordinate conversion, the corresponding relationship between the unit of force signal change and the position of the pressure sensor array on the upper surface of the base can be described. Among them, the relationship between the position of the upper surface of the base and the center of mass of the under-actuated system robot is known. The contact point between the upper surface of the base and the load object can be obtained by coordinate conversion, and the position relationship between the load object and the center of mass can be obtained.
[0264] Taking the acquisition of position information through a tactile sensor as an example, when the corresponding pressure unit is subjected to external force from a load object, its pressure value will change. Each unit can output its own corresponding pressure value, while the pressure value on the unit that is not pressed is 0 or a very small noise value, so these small noises need to be filtered out. This process can be regarded as a signal conditioning process.
[0265] The signal conditioning process is different according to the different ways in which the tactile sensor, pressure sensor, motion capture system, or camera obtains the position information. Optionally, the signal conditioning includes but is not limited to using at least one of the following methods: averaging, force distribution, and threshold filtering.
[0266] Among them, averaging means taking the spherical average of the pressure values within a certain range (such as a 4*4 dot matrix, or several points in a circular area), and assuming that the contact point between the load object and the underactuated system robot is at the center of several contact points. Calculating force distribution means expressing the pressure values within a certain range in the form of distribution. The force value can be integrated to obtain the magnitude and position distribution of the force, which is used to judge the state of the load object. Threshold value filtering means that since there is a certain probability of no detection in the pressure sensor, some noise may be detected even when no force is applied. The threshold value is set accordingly. When the detected pressure value is below the threshold value, it is considered that the sensor is not triggered.
[0267] It should be understood that the above is a simple example of the signal conditioning process and does not limit the signal conditioning involved in this application.
[0268] Optionally, the position information can also be used for subsequent control. The rolling direction and speed of the load object on the base can be obtained by the difference in the position of the point on the base that contacts the load object at two adjacent moments.
[0269] Among them, two adjacent moments can be regarded as two adjacent collection time points in the sampling cycle. Taking the acquisition of position information through a tactile sensor as an example, assuming that the sampling cycle of the tactile sensor is one thousand or five hundred times per second, the two adjacent moments refer to two adjacent collection time points.
[0270] 2. The second method of determining status information.
[0271] Step 1012: Obtain position information and shape information of the load object on the base.
[0272] Illustratively, the morphological information includes at least one of force information, shape information, structural information, and physical information.
[0273] The force information refers to the force value of the load object at a certain point on the base, and the force information can be obtained in a variety of ways, such as sensing through a tactile sensor or a pressure sensor laid on the base, or obtaining position information through a motion capture system.
[0274] Schematically, based on the force information, the position, displacement direction, speed, acceleration and other related information of the load object on the base can be determined.
[0275] Shape information refers to the external shape of the load object. For example, the shape information of the load object is a regular sphere, or an irregular polyhedron. Structural information refers to the composition structure of the load object, including but not limited to the components of the load object, the relative position relationship between the components, the shape and position of the components. Physical information refers to parameter information related to the physical characteristics of the load object, such as the mass and moment of inertia of the load object.
[0276] The acquisition of shape information, structural information, and physical information is similar. For example, they can be sensed by a tactile sensor or a pressure sensor, or can be acquired by a camera, or can be manually input into the controller of the underactuated system robot by an operator.
[0277] Step 1022: Perform contact position coordinate conversion according to the position information and force information to determine the state information.
[0278] The contact position coordinate conversion may refer to the above content.
[0279] Illustratively, step 1022 is similar to step 1021 and can be used for reference only and will not be described in detail.
[0280] According to the above content, taking the underactuated system robot as a wheel-legged robot and the load object as a sphere as an example, Fig. 27 The overall control framework diagram of an underactuated system robot provided by an exemplary embodiment of the present application is shown. The wheel-legged robot includes a balance controller and a balance ball controller. The balance controller is used to complete the cycle of the balance angle reference to achieve the body balance of the wheel-legged robot; the balance ball controller is used to achieve the cycle of the balance ball reference to achieve the goal of keeping the load object on the base without falling.
[0281] Optionally, the wheel-legged robot performs state estimation based on state signal acquisition, and after the estimation is completed, the wheel rotation reference signal and other reference signals are determined by the balance controller to control the movement of the wheel part. Among them, the wheel rotation reference signal is used to complete the wheel balancing task, and the other reference signals are used to complete the wheel movement and steering tasks.
[0282] Optionally, the wheel-legged robot performs contact position coordinate conversion based on the position information and / or force information of the load object, and then determines the base posture signal and other reference signals through a balancing ball controller after signal conditioning to control the movement of the base.
[0283] The base attitude reference signal is used to complete the base attitude task, and other reference signals are used to complete the tail task. Schematically, the base attitude reference signal can be determined according to the reference value of the inclination angle acceleration of the base part involved in the above content, and is used to determine at least one of the inclination direction, inclination angle, and inclination speed of the base part.
[0284] According to the above content, the overall movement of the wheel-legged robot is controlled by whole-body dynamics, so the movement of the wheel part and the base part must meet the needs of whole-body dynamics control.
[0285] In whole-body dynamics control, different control tasks are added according to the whole-body dynamics model, the physical constraints of the body are considered, and the mapping between the angular acceleration information in the joint space and task space and the torque of each joint is established. By sending the joint torque to the corresponding drive motor of the wheel-legged robot, the robot's joint force control is realized, thereby changing the robot's own shape, posture and position in space.
[0286] Schematically, the control tasks include wheel balancing tasks, wheel movement and steering tasks, base attitude tasks, tail tasks, torque tasks, and external force tasks.
[0287] Among them, the wheel balancing task is to maintain the balance of the robot's upper body posture, while the wheel movement and steering tasks are to meet the robot's forward and backward movement, as well as the yaw direction steering tasks. The base posture task can realize the rotation of the base in the pitch, roll, and yaw directions and the translation in the x, y, and z directions. The tail task can place the tail to the specified position by giving the joint angle value corresponding to the tail. The torque task generally introduces the square sum of the torque of each joint motor into the cost function over time to ensure that the value of each joint torque falls within a finite value range during the optimization solution. The external force task includes external forces in three directions corresponding to the contact points of the two wheels with the ground. The square sum of the external force is integrated over time into the cost function to ensure that the value of each external force falls within a finite value range during the optimization solution.
[0288] Optionally, the whole-body dynamics model is subject to a plurality of constraints, including dynamics model constraints, closed-loop link constraints, wheel non-slip and non-lift-off constraints, and friction constraints.
[0289] In summary, the motion control method of the underactuated system robot provided in the embodiment of the present application provides two optional ways of determining state information. At the same time, the embodiment of the present application also provides an overall control framework taking a wheel-legged robot as an example.
[0290] Illustratively, an embodiment of the present application also provides an under-actuated system robot.
[0291] Schematically, the underactuated system robot includes a wheel portion and a base portion connected to the wheel portion, wherein the base portion is used to carry a load object;
[0292] The under-actuated system robot is provided with a controller, which is used to control the under-actuated system robot to achieve: according to the state information of the load object on the base, control the movement of at least one of the base and the wheel part to keep the load object from falling on the base.
[0293] The controller can be set according to actual needs, and this application does not limit this. Any underactuated system robot that can achieve the goal of keeping the load object on the base without falling through the motion control of the controller is within the protection scope of this application. Among them, the motion control of the underactuated system robot has been described in detail in the above content, which can be used as a reference and will not be repeated here.
[0294] Optionally, a pressure sensor array is disposed on the upper surface of the base portion, and the pressure sensor array is used to obtain position information of the load object on the base portion.
[0295] The density of the pressure sensor array can be limited according to actual needs. For details, please refer to the above part and will not be repeated. For example, the tactile sensor includes a pressure sensor array arranged in an m×n matrix, 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.
[0296] Optionally, the under-actuated robot further includes a camera, and the camera is used to obtain position information of the load object on the base.
[0297] Optionally, the camera is arranged on the base, and the camera area of the camera covers the upper surface of the base.
[0298] The following is an embodiment of the device of the present application. For details not described in detail in the embodiment of the device, reference can be made to the corresponding records in the above method embodiment, and they will not be repeated herein.
[0299] Fig.28 A schematic diagram of a motion control device for an underactuated system robot provided by an exemplary embodiment of the present application is shown. The device comprises:
[0300] A determination module 2820, used to determine the state information of the load object on the base portion;
[0301] The control module 2840 is used to control the movement of at least one of the base part and the wheel part according to the status information to keep the loaded object from falling off the base part.
[0302] Optionally, the wheel part includes a leg part and a wheel part, and the control module 2840 is used to control the movement of the wheel part and the tilting movement of the base part according to the status information, so as to maintain the body balance of the under-actuated system robot and prevent the load object from falling on the base part. The tilting movement of the base part and the movement of the wheel part affect each other through the extension and retraction of the legs.
[0303] Optionally, the control module 2840 is used to control the movement of the wheel part and the tilting movement of the base part according to the status information when the load object and / or the under-actuated system robot is disturbed by external force, so as to maintain the balance of the body of the under-actuated system robot and prevent the load object from falling off the base part.
[0304] Optionally, the external force interference includes at least one of the following situations: the center of the load object is disturbed by external force; the area outside the center of the load object is disturbed by external force; the center of mass of the load object is disturbed by external force; the surrounding side of the center of mass of the load object is disturbed by external force; the base is disturbed by external force; the wheel is disturbed by external force.
[0305] Optionally, the control module 2840 is used to control the wheel part to move toward the first direction according to status information when the load object moves toward the first direction on the base part; or, according to status information, to control the side of the base part close to the first direction to be lifted and the other side of the base part away from the first direction to be dropped when the load object moves toward the first direction; or, according to status information, to control the wheel part to move toward the first direction, to control the side of the base part close to the first direction to be lifted and the other side of the base part away from the first direction to be dropped when the load object moves toward the first direction.
[0306] Optionally, the control module 2840 is used to determine a tilt angle acceleration reference value of the base part according to the state information; and control at least one movement of the base part and the wheel part according to the tilt angle acceleration reference value and the whole body dynamics model of the under-actuated system robot.
[0307] Optionally, the status information includes: the displacement of the contact point of the load object on the base on the base relative to the center of mass of the under-actuated system robot in the target direction, and the moving speed of the contact point on the base along the target direction; a control module 2840 is used to determine a first inclination angle acceleration reference value of the base using the difference between the displacement and a preset displacement value, and the difference between the moving speed and a preset moving speed value as inputs to the PID controller.
[0308] Optionally, the status information includes: the displacement of the contact point of the load object on the base on the base relative to the center of mass of the under-actuated system robot in the target direction, the moving speed of the contact point on the base along the target direction, the inclination angle of the base, and the inclination angular velocity of the base; a control module 2840 is used to determine a second inclination angular acceleration reference value of the base using the difference between the displacement and a preset displacement value, the difference between the moving speed and a preset moving speed value, the difference between the inclination angle and a preset inclination angle value, and the difference between the inclination angular velocity and a preset inclination angular velocity value as inputs to a closed-loop proportional-integral-differential PID controller.
[0309] Optionally, at least one of the preset displacement value, the preset moving speed value, the preset tilt angle value and the preset tilt angular velocity value is determined according to structural characteristics of the under-actuated system robot.
[0310] Optionally, the control module 2840 is used to determine the torque information of the base part and / or the wheel part using the tilt angle acceleration reference value and the whole body dynamic model of the under-actuated system robot as inputs of the PID controller; and control at least one movement of the base part and the wheel part according to the torque information.
[0311] Optionally, the control module 2840 is used to construct a whole-body dynamics model based on the driving torque, ground friction and closed-loop force of the under-actuated system robot; substitute the tilt angle acceleration reference value into the whole-body dynamics model, and determine the torque information through the PID controller.
[0312] Optionally, the whole-body dynamics model is subject to dynamics model constraints, which include a tilt angle acceleration reference value.
[0313] Optionally, the determination module 2820 is used to obtain the position information of the load object on the base portion; perform contact position coordinate conversion according to the position information, and determine the state information.
[0314] Optionally, the determination module 2820 is used to obtain position information through a tactile sensor laid on the base; or obtain position information through a pressure sensor laid on the base; or obtain position information through a motion capture system; or obtain position information of the load object on the base through a camera.
[0315] Optionally, a pressure sensor array is disposed on the upper surface of the base portion; the determination module 2820 is used to determine the position information through the contact point of the load object on the pressure sensor array.
[0316] Optionally, the tactile sensor includes an array of pressure sensors arranged in an m×n matrix, the length and width of the m×n matrix are adapted to the upper surface of the base portion, and m and n are positive integers.
[0317] Optionally, the camera area of the camera covers the upper surface of the base; the determination module 2820 is used to determine the position information according to the image information obtained by the camera.
[0318] Optionally, a determination module 2820 is used to obtain position information and shape information of the load object on the base, where the state information includes at least one of force information, shape information, structural information, and physical information; and to perform contact position coordinate conversion based on the position information and shape information to determine the state information.
[0319] It should be noted that the device provided in the above embodiment is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the device provided in the above embodiment belongs to the same concept as the method embodiment in the above content. The specific implementation process is detailed in the method embodiment and will not be repeated here.
[0320] Fig.29 A structural block diagram of an electronic device 2900 provided by an exemplary embodiment of the present application is shown.
[0321] The electronic device 2900 may be a portable mobile terminal, such as an electronic device for controlling an underactuated system robot, a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III), an MP4 (Moving Picture Experts Group Audio Layer IV), a laptop computer or a desktop computer. The electronic device 2900 may also be referred to as a user device, a portable terminal, a laptop terminal, a desktop terminal or other names. In the embodiment of the present application, the electronic device 2900 may be implemented as a control device part in a robot.
[0322] Typically, the electronic device 2900 includes: a processor 2901 and a memory 2902 .
[0323] 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 at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 2901 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 2901 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 2901 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.
[0324] The memory 2902 may include one or more computer-readable storage media, which may be non-transitory. The memory 2902 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 2902 is used to store at least one instruction, which is used to be executed by the processor 2901 to implement the motion control method of the underactuated system robot provided in the method embodiment of the present application.
[0325] In some embodiments, the electronic device 2900 may further optionally include: a peripheral device interface 2903 and at least one peripheral device. The processor 2901, the memory 2902 and the peripheral device interface 2903 may be connected via a bus or a signal line. Each peripheral device may be connected to the peripheral device interface 2903 via a bus, a signal line or a circuit board. Specifically, the peripheral device includes: at least one of a radio frequency circuit 2904, a display screen 2905, a camera assembly 2906, an audio circuit 2907 and a power supply 2908.
[0326] The peripheral device interface 2903 may be used to connect at least one peripheral device related to I / O (Input / Output) to the processor 2901 and the memory 2902. In some embodiments, the processor 2901, the memory 2902, and the peripheral device interface 2903 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 2901, the memory 2902, and the peripheral device interface 2903 may be implemented on a separate chip or circuit board, which is not limited in this embodiment.
[0327] The radio frequency circuit 2904 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The radio frequency circuit 2904 communicates with the communication network and other communication devices through electromagnetic signals. The radio frequency circuit 2904 converts the electrical signal into an electromagnetic signal for transmission, or converts the received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 2904 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, and the like. The radio frequency circuit 2904 can communicate with other terminals through at least one wireless communication protocol. The wireless communication protocol includes, but is not limited to: the World Wide Web, 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 Wi-Fi (Wireless Fidelity) network. In some embodiments, the radio frequency circuit 2904 may also include circuits related to NFC (Near Field Communication), which is not limited in this application.
[0328] Display screen 2905 is used to display UI (User Interface). The UI may include graphics, text, icons, videos and any combination thereof. When display screen 2905 is a touch display screen, display screen 2905 also has the ability to collect touch signals on the surface or above the surface of display screen 2905. The touch signal can be input to processor 2901 as a control signal for processing. At this time, display screen 2905 can also be used to provide virtual buttons and / or virtual keyboards, also known as soft buttons and / or soft keyboards. In some embodiments, display screen 2905 can be one, set on the front panel of electronic device 2900; in other embodiments, display screen 2905 can be at least two, respectively set on different surfaces of electronic device 2900 or in a folding design; in other embodiments, display screen 2905 can be a flexible display screen, set on the curved surface or folding surface of electronic device 2900. Even, display screen 2905 can also be set to a non-rectangular irregular figure, that is, a special-shaped screen. The display screen 2905 can be made of materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).
[0329] The camera assembly 2906 is used to capture images or videos. Optionally, the camera assembly 2906 includes a front camera and a rear camera. Typically, the front camera is arranged on the front panel of the terminal, and the rear camera is arranged on the back of the terminal. In some embodiments, there are at least two rear cameras, which are any one of a main camera, a depth of field camera, a wide-angle camera, and a telephoto camera, so as to realize the fusion of the main camera and the depth of field camera to realize the background blur function, the fusion of the main camera and the wide-angle camera to realize panoramic shooting and VR (Virtual Reality) shooting function or other fusion shooting functions. In some embodiments, the camera assembly 2906 may also include a flash. The flash can be a monochrome temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm light flash and a cold light flash, which can be used for light compensation at different color temperatures.
[0330] The audio circuit 2907 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, and convert the sound waves into electrical signals and input them into the processor 2901 for processing, or input them into the radio frequency circuit 2904 to achieve voice communication. For the purpose of stereo acquisition or noise reduction, there may be multiple microphones, which are respectively arranged at different parts of the electronic device 2900. The microphone may also be an array microphone or an omnidirectional acquisition microphone. The speaker is used to convert the electrical signal from the processor 2901 or the radio frequency circuit 2904 into sound waves. The speaker may be a traditional film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can not only convert the electrical signal into sound waves audible to humans, but also convert the electrical signal into sound waves inaudible to humans for purposes such as ranging. In some embodiments, the audio circuit 2907 may also include a headphone jack.
[0331] The power supply 2908 is used to power various components in the electronic device 2900. The power supply 2908 can be an alternating current, a direct current, a disposable battery, or a rechargeable battery. When the power supply 2908 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged through a wired line, and a wireless rechargeable battery is a battery that is charged through a wireless coil. The rechargeable battery can also be used to support fast charging technology.
[0332] In some embodiments, the electronic device 2900 further includes one or more sensors 2909 , including but not limited to: an acceleration sensor 2910 , a gyroscope sensor 2911 , a pressure sensor 2912 , an optical sensor 2913 , and a proximity sensor 2914 .
[0333] The acceleration sensor 2910 can detect the magnitude of acceleration on the three coordinate axes of the coordinate system established by the electronic device 2900. For example, the acceleration sensor 2910 can be used to detect the components of gravity acceleration on the three coordinate axes. The processor 2901 can control the display screen 2905 to display the user interface in a horizontal view or a vertical view according to the gravity acceleration signal collected by the acceleration sensor 2910. The acceleration sensor 2910 can also be used for collecting game or user motion data.
[0334] The gyro sensor 2911 can detect the body direction 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 actions on the electronic device 2900. The processor 2901 can implement the following functions based on the data collected by the gyro sensor 2911: motion sensing (such as changing the UI according to the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.
[0335] The pressure sensor 2912 can be set on the side frame of the electronic device 2900 and / or the lower layer of the display screen 2905. When the pressure sensor 2912 is set on the side frame of the electronic device 2900, it can detect the user's holding signal of the electronic device 2900, and the processor 2901 performs left and right hand recognition or shortcut operations according to the holding signal collected by the pressure sensor 2912. When the pressure sensor 2912 is set on the lower layer of the display screen 2905, the processor 2901 controls the operability controls on the UI interface according to the user's pressure operation on the display screen 2905. The operability controls include at least one of a button control, a scroll bar control, an icon control, and a menu control.
[0336] The optical sensor 2913 is used to collect the ambient light intensity. In one embodiment, the processor 2901 can control the display brightness of the display screen 2905 according to 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; when the ambient light intensity is low, the display brightness of the display screen 2905 is reduced. In another embodiment, the processor 2901 can also dynamically adjust the shooting parameters of the camera assembly 2906 according to the ambient light intensity collected by the optical sensor 2913.
[0337] The proximity sensor 2914, also called a distance sensor, is usually arranged on the front panel 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 the screen-on state to the screen-off state; 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 the screen-off state to the screen-on state.
[0338] Those skilled in the art will understand that Fig.29 The structure shown in the figure does not constitute a limitation on the electronic device 2900, and may include more or fewer components than shown in the figure, or combine certain components, or adopt a different component arrangement.
[0339] An embodiment of the present application also provides a computer device, which includes a processor; the processor is used to determine the status information of the load object on the base part; according to the status information, control the movement of at least one of the base part and the wheel part to keep the load object from falling off the base part.
[0340] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored. The computer program is used to be executed by a processor to implement the motion control method of the under-actuated system robot as described above.
[0341] An embodiment of the present application also provides a chip, which includes a programmable logic circuit and / or program instructions. When the chip is running, it is used to implement the motion control method of the under-actuated system robot as described above.
[0342] An embodiment of the present application also provides a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. A processor reads and executes the computer instructions from the computer-readable storage medium to implement the motion control method of the under-actuated system robot as described above.
[0343] In the present application, it should be understood that the terms "first", "second", etc. are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features.
[0344] All the above optional technical solutions can be arbitrarily combined to form optional embodiments of the present application, which will not be described one by one here.
[0345] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A motion control method for an underactuated system robot, characterized in that: The underactuated system robot comprises a wheel portion and a base portion connected to the wheel portion, a load object is placed on the base portion, and the method comprises: Determine the state information of the load object on the base portion; determining a reference value of an inclination angle acceleration of the base portion according to the state information; According to the inclination angle acceleration reference value and the whole body dynamics model of the underactuated system robot, the movement of at least one of the base part and the wheel part is controlled to keep the load object from falling off the base part.
2. The method according to claim 1, characterized in that The wheel portion includes a leg portion and a wheel portion, and the controlling the movement of at least one of the base portion and the wheel portion to keep the load object on the base portion without falling includes: The wheel part is controlled to move and the base part is controlled to perform tilting movement to maintain the body balance of the under-actuated system robot and to prevent the load object from falling on the base part. The tilting movement of the base part and the movement of the wheel part affect each other through the extension and retraction of the legs.
3. The method according to claim 2, characterized in that The controlling the wheel portion to move and the base portion to tilt so as to maintain the body balance of the underactuated system robot and prevent the load object from falling off the base portion comprises: When the load object and / or the under-actuated system robot is disturbed by external force, the wheel part is controlled to move and the base part is controlled to tilt so as to keep the body of the under-actuated system robot balanced and prevent the load object from falling off the base part.
4. The method according to claim 3, characterized in that The external force interference includes at least one of the following situations: The center of the load object is disturbed by external force; The load object is disturbed by external forces outside its center; The center of mass of the load object is disturbed by external force; The periphery of the center of mass of the load object is disturbed by external forces; The base portion is disturbed by external force; The wheel portion is disturbed by external force.
5. The method according to claim 2, characterized in that: The controlling the wheel portion to move and the base portion to perform a tilting movement comprises: When the load object moves on the base toward a first direction, controlling the wheel portion to move toward the first direction; Alternatively, when the load object moves toward the first direction, the side of the base portion close to the first direction is controlled to be lifted, and the other side of the base portion away from the first direction is controlled to be dropped; Alternatively, when the load object moves toward the first direction, the wheel portion is controlled to move toward the first direction, and the side of the base portion close to the first direction is controlled to be lifted, and the other side of the base portion away from the first direction is controlled to fall.
6. The method according to any one of claims 1 to 5, characterized in that: The state information includes: the displacement of the contact point of the load object on the base portion relative to the center of mass of the underactuated system robot in a target direction, and the moving speed of the contact point on the base portion along the target direction; The step of determining the reference value of the inclination angle acceleration of the base portion according to the state information comprises: The difference between the displacement and the preset displacement value and the difference between the moving speed and the preset moving speed value are used as inputs of a closed-loop proportional-integral-differential PID controller to determine a first inclination angle acceleration reference value of the base portion.
7. The method according to any one of claims 1 to 5, characterized in that: The state information includes: the displacement of the contact point of the load object on the base part on the base part relative to the center of mass of the underactuated system robot in the target direction, the moving speed of the contact point on the base part along the target direction, the tilt angle of the base part, and the tilt angular velocity of the base part; The step of determining the reference value of the inclination angle acceleration of the base portion according to the state information comprises: The difference between the displacement and the preset displacement value, the difference between the moving speed and the preset moving speed value, the difference between the inclination angle and the preset inclination angle value, and the difference between the inclination angular velocity and the preset inclination angular velocity value are used as inputs of a closed-loop proportional-integral-differential PID controller to determine a second inclination angular acceleration reference value of the base part.
8. The method according to claim 6, characterized in that At least one of the preset displacement value and the preset moving speed value is determined according to structural characteristics of the under-actuated system robot.
9. The method according to claim 7, characterized in that: At least one of the preset displacement value, the preset moving speed value, the preset tilt angle value, and the preset tilt angle speed value is determined according to structural characteristics of the under-actuated system robot.
10. The method according to claim 1, characterized in that The controlling the movement of at least one of the base part and the wheel part according to the inclination angle acceleration reference value and the whole body dynamics model of the underactuated system robot comprises: Taking the inclination angle acceleration reference value and the whole body dynamics model of the underactuated system robot as inputs of a closed-loop proportional-integral-differential PID controller, determining the torque information of the base part and / or the wheel part; The movement of at least one of the base portion and the wheel portion is controlled according to the torque information.
11. The method according to claim 10, characterized in that The method of using the inclination angle acceleration reference value and the whole body dynamics model of the underactuated system robot as inputs of a closed-loop proportional-integral-differential PID controller to determine the torque information of the base part and / or the wheel part includes: constructing the whole-body dynamics model based on the driving torque, ground friction and closed-loop force of the underactuated system robot; The tilt angle acceleration reference value is substituted into the whole body dynamics model, and the torque information is determined by the PID controller.
12. The method according to claim 11, characterized in that The whole-body dynamics model is subject to dynamics model constraints, and the dynamics model constraints include the tilt angle acceleration reference value.
13. The method according to any one of claims 1 to 5, characterized in that: The determining of the state information of the load object on the base portion includes: Acquiring position information of the load object on the base portion; The contact position coordinates are converted according to the position information to determine the state information.
14. The method according to claim 13, characterized in that The obtaining of the position information of the load object on the base portion includes at least one of the following: Acquiring the position information by means of a tactile sensor laid on the base portion; Acquiring the position information through a pressure sensor laid on the base portion; Acquiring the position information through a motion capture system; The position information of the load object on the base is obtained through a camera.
15. The method according to claim 14, characterized in that A pressure sensor array is provided on the upper surface of the base portion; The step of obtaining the position information by means of a tactile sensor arranged on the base portion includes: The position information is determined by the contact point of the load object on the pressure sensor array.
16. The method according to claim 15, characterized in that The tactile sensor includes a pressure sensor array arranged in an m×n matrix, the length and width of the m×n matrix are adapted to the upper surface of the base portion, and m and n are positive integers.
17. The method according to claim 14, characterized in that The camera area of the camera covers the upper surface of the base portion; The step of obtaining the position information of the load object on the base portion by using a camera includes: The location information is determined according to the image information acquired by the camera.
18. The method according to any one of claims 1 to 5, characterized in that: The determining of the state information of the load object on the base portion includes: Acquire position information of the load object on the base portion and morphological information of the load object, wherein the morphological information includes at least one of force information, shape information, structural information, and physical information; The contact position coordinates are converted according to the position information and the shape information to determine the state information.
19. An underactuated system robot, characterized in that: The underactuated system robot comprises a wheel portion and a base portion connected to the wheel portion, wherein the base portion is used to carry a load object; A controller is provided in the under-actuated system robot, and the controller is used to: determine the state information of the load object on the base part; determine the inclination angle acceleration reference value of the base part according to the state information; and control the movement of at least one of the base part and the wheel part according to the inclination angle acceleration reference value and the whole-body dynamic model of the under-actuated system robot to keep the load object from falling off the base part.
20. A motion control device for an underactuated system robot, characterized in that: The underactuated system robot comprises a wheel portion and a base portion connected to the wheel portion, a load object is placed on the base portion, and the device comprises: A determination module, used to determine the state information of the load object on the base portion; A control module is used to determine a reference value of an inclination angle acceleration of the base part according to the state information; and to control the movement of at least one of the base part and the wheel part according to the reference value of the inclination angle acceleration and a whole-body dynamics model of the under-actuated system robot to keep the load object from falling off the base part.
Citation Information
Patent Citations
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
