Robot motion control method and device, robot and storage medium
By comprehensively coordinating the motion tasks of the wheel-foot composite robot, the problem of poor multi-task coordination of the robot is solved, and the work accuracy and motion control effect are improved.
Patent Information
- Application Number
- CN202410310207.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-18
- Publication Date
- 2025-09-19
AI Technical Summary
Due to kinematic and dynamic limitations, robots cannot complete multiple motion tasks simultaneously, resulting in poor whole-body motion control and reduced work accuracy.
By obtaining the tasks to be performed of the wheel-leg composite robot, the motion tasks of the robot body, front leg mechanism and rear roller are determined, and overall coordinated control is performed. The PD control law and convex optimization algorithm are used to optimize the joint torque to achieve coordination of whole-body movement.
It improves the overall coordination and work accuracy of the robot in executing tasks and enhances the robot's motion control effect.
Smart Images

Figure CN120663293A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of robotics technology, and in particular to a robot motion control method, device, robot, and storage medium. Background Art
[0002] With the development of robotics technology, robots are gradually being used in various fields, such as industrial and agricultural production, social services, and household services. They can assist or even replace humans in completing heavy and complex tasks, thereby improving work efficiency and quality.
[0003] When a robot has a large number of degrees of freedom, multiple motion tasks are often planned simultaneously within a motion environment, enabling the robot to perform complex, whole-body tasks based on these multiple motion tasks. For example, when a robot performs a task such as bending its knees to push an object, it must simultaneously execute multiple tasks, including leg swinging, torso posture control, and hand pushing. However, due to the robot's inherent kinematic and dynamic limitations, multiple motion tasks may not be completed simultaneously. Some motion tasks may even conflict with each other, resulting in poor whole-body motion control and reduced accuracy. Summary of the Invention
[0004] The embodiments of the present application provide a robot motion control method, device, robot and storage medium, which can improve the whole-body motion control effect of the robot and improve the working accuracy of the robot.
[0005] In a first aspect, an embodiment of the present application provides a robot motion control method, wherein the robot is a wheel-leg composite robot, the wheel-leg composite robot including a robot body and four motion mechanisms provided on the robot body, the four motion mechanisms including two rear rollers and two front leg mechanisms, the method comprising:
[0006] Acquire a task to be executed of the wheel-leg composite robot, wherein the motion mode of the wheel-leg composite robot is a wheel-leg composite motion mode;
[0007] Determine, according to the tasks to be performed, a first motion task of the robot body, a second motion task of the two front leg mechanisms, and a third motion task of the two rear rollers;
[0008] The whole-body movement of the wheel-leg hybrid robot is controlled according to the first motion task, the second motion task, and the third motion task.
[0009] In a second aspect, an embodiment of the present application provides a robot motion control device, wherein the robot is a wheel-leg composite robot, the wheel-leg composite robot comprising a robot body and four motion mechanisms disposed on the robot body, the four motion mechanisms comprising two rear rollers and two front leg mechanisms, including:
[0010] an acquisition module, configured to acquire a task to be executed by the wheel-foot composite robot, wherein the motion mode of the wheel-foot composite robot is a wheel-foot composite motion mode;
[0011] a task determination module, configured to determine, according to the task to be performed, a first motion task of the robot body, a second motion task of the two front leg mechanisms, and a third motion task of the two rear rollers;
[0012] A motion control module is used to control the whole-body motion of the wheel-leg composite robot according to the first motion task, the second motion task and the third motion task.
[0013] In a third aspect, an embodiment of the present application provides a robot, comprising:
[0014] A processor and a memory, the memory being used to store a computer program, and the processor being used to call and run the computer program stored in the memory to execute the robot motion control method as described in the embodiment of the first aspect.
[0015] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium for storing a computer program, wherein the computer program enables a computer to execute the robot motion control method as described in the embodiment of the first aspect.
[0016] In a fifth aspect, an embodiment of the present application provides a computer program product comprising program instructions, which, when executed on an electronic device, enables the electronic device to execute the robot motion control method as described in the embodiment of the first aspect.
[0017] The technical solution disclosed in the embodiments of the present application obtains the task to be performed by the wheel-leg hybrid robot and determines the first motion task of the robot body, the second motion task of the two front leg mechanisms, and the third motion task of the two rear rollers based on the task to be performed. The robot's entire body motion is then controlled based on the first, second, and third motion tasks. Thus, by comprehensively coordinating and controlling the multiple motion tasks corresponding to the task to be performed, the overall coordination of the robot's task execution is improved, thereby enhancing the robot's motion control effect and the robot's operating accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. 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 any creative work.
[0019] Figure 1 A schematic structural diagram of a wheel-leg composite robot provided in an embodiment of the present application;
[0020] Figure 2 A flowchart of a robot motion control method provided in an embodiment of the present application;
[0021] Figure 3 A schematic diagram of the center point of a rear roller provided in an embodiment of the present application;
[0022] Figure 4 A flowchart of another robot motion control method provided in an embodiment of the present application;
[0023] Figure 5 A schematic block diagram of a robot motion control device provided in an embodiment of the present application;
[0024] Figure 6 A schematic block diagram of a robot provided in an embodiment of the present application. DETAILED DESCRIPTION
[0025] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0026] It should be noted that the terms "first", "second", etc. in the specification and claims of this application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or server that includes a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products, or devices.
[0027] In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or solution described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or solutions. Specifically, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0028] In the description of the embodiments of the present application, it should also be noted that, unless otherwise clearly specified and limited, the terms "set", "layout", "connected" and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be directly connected or indirectly connected through an intermediate medium, it can be the internal connection of two elements or the interaction relationship between two elements. For ordinary technicians in this field, the specific meanings of the above terms in this application can be understood according to the specific circumstances and in combination with the existing technology. In addition, the features in the embodiments of the present application can be combined with each other unless there is a conflict. And one or more of the components in the diagram may be necessary or non-essential, and the relative positional relationship between the components in the above diagram can be adjusted according to actual needs.
[0029] In the description of the embodiments of the present application, unless otherwise specified, "a plurality of" refers to two or more than two, that is, at least two. "At least one" refers to one or more than one.
[0030] To enable robots with multiple degrees of freedom to perform complex, full-body tasks, multiple motion tasks are often assigned to them simultaneously. However, due to the kinematic and dynamic limitations of the robot itself, multiple motion tasks may not be completed simultaneously. Some motion tasks may even conflict with each other, resulting in poor full-body motion control and reduced accuracy.
[0031] To address the aforementioned technical issues, the present invention proposes a method for controlling the entire body motion of a wheel-leg hybrid robot by determining multiple motion tasks based on the robot's pending tasks. These tasks include a first motion task for the robot's main body, a second motion task for the two front leg mechanisms, and a third motion task for the two rear rollers. This method then coordinates and controls the robot's overall motion based on these multiple motion tasks. This method improves the robot's overall coordination in executing tasks, thereby enhancing the robot's motion control and accuracy.
[0032] The technical solution of the present application is described in detail below through some embodiments. The embodiments described below can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
[0033] First, the wheel-foot composite robot structure in the embodiment of the present application is described in detail. Figure 1 As shown, the wheel-leg hybrid robot 10 includes: a robot body 11 and four motion mechanisms arranged on the robot body 11, wherein the four motion mechanisms include two rear rollers 121 and two front leg mechanisms 122.
[0034] In the present application, the two front leg mechanisms 122 include a left front leg mechanism and a right front leg mechanism. Each front leg mechanism 122 includes a front thigh mechanism 1221, a front calf mechanism 1222, and a roller 1223 disposed at the end of each front calf mechanism. The roller 1223 at the end of the front calf mechanism can be understood as a passive wheel. Figure 1 The connecting part between the middle front thigh mechanism 1221 and the robot body 11 is the hip joint 13, the connecting part between the front thigh mechanism 1221 and the front calf mechanism 1222 is the knee joint 14, and the connecting part between the front calf mechanism 1222 and the roller 1223 is the ankle joint 15.
[0035] In some optional embodiments, the two rear rollers 121 are provided at both ends of the rotatable connecting member 16, and the rotatable end of the connecting member 16 is connected to one end of the rear calf mechanism 123, the other end of the rear calf mechanism 123 is connected to one end of the rear thigh mechanism 124, and the other end of the rear thigh mechanism 124 is connected to the robot body 11. For details, see Figure 1 Among them, the two rear rollers 121 can be understood as driving wheels.
[0036] That is, the motion mechanism provided on the robot body 11 in the present application includes a hind leg mechanism, wherein the hind leg mechanism includes a hind thigh mechanism 124, a hind shank mechanism 123, a connecting component 16, and two rear rollers 121 provided at both ends of the connecting component 16. In the present application, the connection between the hind thigh mechanism 124 and the robot body 11 is the hip joint 13, the connection between the hind thigh mechanism 124 and the hind shank mechanism 123 is the knee joint 14, and the connection between the hind shank mechanism 124 and each rear roller 121 is the ankle joint 15. In other words, the hind leg mechanism in the present application includes a hip joint 13, a knee joint 14, and two ankle joints 15.
[0037] In addition, the above-mentioned hip joint 13, knee joint 14 and ankle joint 15 are all correspondingly provided with motors, specifically hip joint motors, knee joint motors and ankle joint motors, so that the corresponding torque is output by the hip joint motor, knee joint motor and / or ankle joint motor to drive the changes of the hip joint 13, knee joint 14 and / or ankle joint 15 to switch the motion mode of the wheel-foot composite robot.
[0038] Each of the aforementioned joints can be understood as indicating that at least two components of the wheel-leg hybrid robot can be flexibly connected. Furthermore, each joint can move under the control of the torque output by the joint motor. For example, rotating a joint by a certain angle can cause other joints and related mechanisms to move a certain amount within space, thereby achieving a change in the robot's motion mode.
[0039] Furthermore, in order to detect different motion environments and whether there are obstacles in the motion environments, the present application can set at least one environmental perception sensor at the front end of the robot body 11 of the wheel-leg composite robot 10, and set at least one environmental perception sensor at the rear end of the robot body 11, so that the wheel-leg composite robot can realize autonomous obstacle avoidance and mapping navigation and other functions based on the environmental perception sensors.
[0040] Among them, environmental perception sensors may include but are not limited to: laser sensors, visual sensors, infrared sensors, ultrasonic sensors and lidar sensors.
[0041] As an optional implementation, you can Figure 1 A visual sensor is set in the middle position of the front end of the robot body 11 shown, a laser radar sensor is set on the left and right sides of the middle respectively, and a laser sensor is set in the middle position of the rear end of the robot body 11, and an ultrasonic sensor is set on the left and right sides of the middle respectively (not shown in the figure).
[0042] It should be noted that the number, position and type of environmental perception sensors set on the robot body 11 of this application are only exemplary and can be flexibly adjusted according to actual application needs. This application does not impose any restrictions on this.
[0043] After describing the structure of the wheel-leg hybrid robot, the robot motion control method, device, robot, and storage medium provided in the embodiments of the present application are described in detail below. The robot here is the wheel-leg hybrid robot described above.
[0044] Figure 2 This is a flow chart of a robot motion control method provided in an embodiment of the present application. The robot motion control method provided in an embodiment of the present application can be executed by a robot motion control device, which can be composed of hardware and / or software and can be integrated into the wheel-leg hybrid robot described above.
[0045] like Figure 2 As shown, the method may include the following steps:
[0046] S101, obtaining a task to be executed of a wheel-leg composite robot, wherein the motion mode of the wheel-leg composite robot is a wheel-leg composite motion mode.
[0047] In this application, the task to be performed can be understood as a whole-body task that the wheel-leg hybrid robot needs to perform, such as crawling forward or pressing an elevator button.
[0048] Moreover, the whole-body task can be any work task input by the user, or any work task obtained by the wheel-leg composite robot from the task allocation database, etc. This application does not impose any restrictions on the method of obtaining the tasks to be executed by the wheel-leg composite robot.
[0049] based on Figure 1 As can be seen from the structure of the wheel-leg hybrid robot, it can support both wheeled and combined wheel-leg motion modes. Considering that the robot's four motion mechanisms include two rear rollers and two front leg mechanisms, the rear rollers are always in the wheeled motion mode. Since each front leg mechanism is equipped with a roller at its end, the front leg mechanisms can support both wheeled and combined foot motion modes.
[0050] Correspondingly, the wheel-foot composite motion mode supported by the wheel-foot composite robot can be further subdivided into: the first wheel-foot composite motion mode obtained based on the wheel motion mode of the two rear rollers, the foot motion mode of the left front leg mechanism and the wheel motion mode of the right front leg mechanism; the second wheel-foot composite motion mode obtained based on the wheel motion mode of the two rear rollers, the wheel motion mode of the left front leg mechanism and the foot motion mode of the right front leg mechanism; and the third wheel-foot composite motion mode obtained based on the wheel motion mode of the two rear rollers and the foot motion mode of the two front leg mechanisms.
[0051] In the embodiments of the present application, the wheel-leg hybrid robot's motion mode is a wheel-leg hybrid motion mode, and this wheel-leg hybrid motion mode specifically refers to a third wheel-leg hybrid motion mode derived from the wheeled motion mode of the two rear rollers and the footed motion mode of the two front leg mechanisms. That is, the rear leg mechanisms of the wheel-leg hybrid robot are in a wheeled motion mode, and the front leg mechanisms are in a footed motion mode.
[0052] Among them, because the end of the front leg mechanism is provided with a roller, in order to make the front leg mechanism be in the foot-type motion mode, the present application can lock the roller in the front leg mechanism through the motor corresponding to the ankle joint in the front leg mechanism, so that the roller in the front leg mechanism is switched from the wheel-type motion mode to the supporting foot in contact with the ground, thereby ensuring that the front leg mechanism can be in the foot-type motion mode.
[0053] S102: Determine the first motion task of the robot body, the second motion task of the two front leg mechanisms, and the third motion task of the two rear rollers according to the tasks to be executed.
[0054] Among them, the first motion task, the second motion task and the third motion task refer to multiple motion tasks that the wheel-leg hybrid robot needs to perform synchronously when performing a whole-body task.
[0055] The robot body described above can be understood as the robot torso. Because the robot torso occupies a certain physical space and can be composed of multiple discrete points, to determine the first motion task of the robot torso, this application can reduce the difficulty of determining the first motion task by determining the first motion task of the robot torso's center point. In other words, the first motion task of the robot body in this application specifically refers to the motion task of the robot body's center point.
[0056] In some optional embodiments, when the two front leg mechanisms are in a foot-type motion mode, the movements of the left and right front leg mechanisms resemble a human walking gait. That is, during each motion cycle, one front leg mechanism is off the ground and in a suspended state, while the other front leg mechanism is in contact with the ground and in a supporting state. The front leg mechanism off the ground and in a suspended state can be referred to as the suspended leg mechanism, while the front leg mechanism in contact with the ground and in a supporting state can be referred to as the supporting leg mechanism. Accordingly, the suspended leg mechanism corresponds to the suspended foot, and the supporting leg mechanism corresponds to the supporting foot.
[0057] Considering that the supporting foot of the front leg mechanism in contact with the ground and in a supporting state in the two front leg mechanisms will always be in contact with the ground and assuming that there is no slippage, the position of the supporting foot is always constant in the world coordinate system and is known, while the landing point position of the front leg mechanism in a vacant state corresponding to the vacant foot is unknown. Therefore, in order to ensure that the wheel-leg composite robot maintains its body balance during movement, it is necessary to control the landing point position of the vacant foot of the front leg mechanism in a vacant state. That is, the second motion task of the two front leg mechanisms is determined in this application, specifically, the second motion task of the vacant leg mechanism in the two front leg mechanisms is determined.
[0058] In some optional embodiments, the center points of the two rear rollers of the wheel-leg hybrid robot must always be directly behind the robot's torso during movement to ensure the balance of the entire wheel-leg hybrid robot. Therefore, determining the third motion task of the two rear rollers in this application specifically refers to determining the third motion task of the center points of the two rear rollers.
[0059] In the present application, the center points of the two rear rollers mentioned above can be the center points of the connecting parts with rear rollers at both ends, such as Figure 3 shown.
[0060] In some optional embodiments, the present application may adopt a preset trajectory planning method, etc., to plan the whole-body motion trajectory of the wheel-leg composite robot to perform the task to be performed according to the task to be performed.
[0061] It should be understood that the whole-body motion trajectory is the expected whole-body motion trajectory of the wheel-leg hybrid robot when performing the task to be performed.
[0062] In this application, the whole-body motion trajectory includes the robot's main motion trajectory, the lofted leg's corresponding lofted foot's motion trajectory, and the two rear roller center point's motion trajectory. The robot's main motion trajectory includes the desired motion parameters for determining the robot's main motion task, such as the desired position, desired posture, and desired speed. Similarly, the lofted leg's corresponding lofted foot's motion trajectory includes the desired motion parameters for determining the two front leg's lofted leg's second motion task. Furthermore, the two rear roller center point's motion trajectory includes the desired motion parameters for determining the two rear roller center points' third motion task.
[0063] It should be noted that when planning the motion trajectories of the two rear roller center points, in order to maintain the balance of the entire wheel-leg hybrid robot, this application requires that the positions of the two rear roller center points always be controlled at a fixed distance behind the robot body (i.e., the robot torso). As for the posture of the two rear roller center points, the roll angle (roll) and pitch angle (pitch) are determined according to the terrain. On flat ground, the roll angle (roll) and pitch angle (pitch) are set to 0, and the yaw angle (yaw) is consistent with the yaw angle of the robot body. This achieves the purpose of planning the motion trajectories of the two rear roller center points.
[0064] The positions of the center points of the two rear rollers are located at a fixed distance behind the robot torso. This parameter can be determined based on the actual debugging of the physical structure of the wheel-foot composite robot.
[0065] As an optional implementation method, the present application plans the motion trajectory of the center points of the two rear rollers, specifically by obtaining the expected position, expected posture, expected speed and expected angular velocity of the robot body. Then, based on the forward kinematics (FK) algorithm, the expected position, expected posture, expected speed and expected angular velocity of the center points of the two rear rollers in the robot body coordinate system are obtained. Then, according to the conversion relationship between the robot body coordinate system and the world coordinate system, the expected position, expected posture, expected speed and expected angular velocity of the center points of the two rear rollers in the robot body coordinate system are converted into the expected position, expected posture, expected speed and expected angular velocity of the center points of the two rear rollers in the world coordinate system, thereby obtaining the motion trajectory of the center points of the two rear rollers. Among them, the conversion relationship between the robot body coordinate system and the world coordinate system is known information.
[0066] It is worth noting that the posture information and angular velocity information of the center points of the two rear rollers in this application are specifically the posture information and angular velocity information of the connecting rod where the center points of the two rear rollers are located.
[0067] Furthermore, the present application obtains the motion parameters required for determining the first motion task, the second motion task and the third motion task from the whole-body motion trajectory, and uses the PD control law to determine the first motion task, the second motion task and the third motion task based on the obtained motion parameters.
[0068] The PD control law can be understood as the PD control algorithm. It should be understood that the PD control algorithm is a simplified form of the PID control algorithm, primarily regulating the system output value and output rate of change to achieve stable system operation. Compared to the PID control algorithm, the PD control algorithm is simpler, clearer, and easier to implement.
[0069] Typically, a PD control algorithm consists of two parts: a proportional component and a differential component. The proportional component calculates the difference between the current error and the setpoint and multiplies it by a proportional coefficient, Kp, to produce a first output signal. The differential component multiplies the rate of change between the current error and the previous error by a differential coefficient, Kd, to produce a second output signal. The first and second output signals are then added together to produce the final output signal.
[0070] The above-mentioned planning of the whole-body motion trajectory of the wheel-leg compound robot to perform the task to be performed, the specific process can be optionally selected as follows: obtaining the end position from the task to be performed by using a preset trajectory planning method, etc., and taking the current position of the wheel-leg compound robot as the starting position, and then performing the whole-body motion trajectory planning operation according to the end position, the starting position and the environmental map of the working environment to obtain the whole-body motion trajectory of the wheel-leg compound robot to perform the task to be performed.
[0071] S103 , controlling the whole-body movement of the wheel-leg hybrid robot according to the first movement task, the second movement task, and the third movement task.
[0072] Considering that each joint in each motion mechanism of the wheel-leg hybrid robot in this application is correspondingly provided with a motor, such as a hip joint provided with a hip joint motor, a knee joint provided with a knee joint motor, and an ankle joint provided with an ankle joint motor, this application controls the whole-body motion of the wheel-leg hybrid robot according to the first motion task, the second motion task, and the third motion task. The target torque of each joint in each motion mechanism can be determined based on the first motion task, the second motion task, and the third motion task. Then, based on the target torque of each joint in each motion mechanism, the whole-body motion of the wheel-leg hybrid robot is controlled.
[0073] In some optional embodiments, in the present application, the target torque of each joint in each motion mechanism is determined based on the first motion task, the second motion task and the third motion task. The first motion task, the second motion task and the third motion task can be edited and processed into a quadratic programming form, and the first motion task, the second motion task and the third motion task in the quadratic programming form can be solved using a convex optimization algorithm to obtain the target torque of each joint in each motion mechanism.
[0074] That is, this application converts the whole-body motion control problem of the wheel-leg composite robot into a standard convex optimization problem, solves the standard convex optimization problem to obtain the global optimal solution, and uses the global optimal solution as the target torque of each joint in each motion mechanism.
[0075] In some optional embodiments, the above standard convex optimization problem can be expressed as follows:
[0076]
[0077] Where x is the optimization variable and ||x|| is the cost function;
[0078] is a constraint set, where Constraints for each motion task; is the dynamic constraint; DF≤f μ is the friction cone constraint; is the control variable; lower≤x≤upper is the boundary constraint of the control variable, where lower and upper are adjustable parameters that can be set dynamically according to the robot hardware. The upper and lower limits of the parameter τ in x are the maximum torque of the joint motor.
[0079] above It is based on the robot dynamics equation: Obtained by deformation.
[0080] The meanings of the parameters in the above robot dynamics equation are as follows:
[0081] N is the degree of freedom of the robot. In this application, the degree of freedom is an adjustable parameter. For example, 18 dimensions can be selected, including 6 dimensions for the robot trunk and 12 dimensions for the joints. This application does not impose any restrictions on the degree of freedom of the wheel-leg composite robot.
[0082] q∈R N is the generalized position of the robot, where R N Represents an N-dimensional variable on the set of real numbers;
[0083] is the generalized speed of the robot;
[0084] is the generalized acceleration of the robot;
[0085] τ∈R N-6 is the joint driving torque of the robot;
[0086] f i ∈R 3 is the ground force at the i-th contact point in the world coordinate system;
[0087] H∈R N×N is the robot mass matrix, which can be quickly calculated using the Composite Rigid Body Algorithm (CRBA);
[0088] C∈R N×N To describe the centrifugal force and Coriolis force of the robot, the Newton-Euler iterative algorithm (RNEA) is used for fast calculation;
[0089] G∈R N The gravity bias of the robot is calculated quickly using the Newton-Euler iterative algorithm (RNEA).
[0090] S∈R (N-6)×N To select the matrix used to distinguish active joints from undriven joints, record it as S = diag(0,0,0,0,0,0,a1,a2,...,an), where a i =0 means it is an undriven joint. The first six items can be directly set to 0 because there is no drive.
[0091] J i ∈R 3×N is the Jacobian matrix of the i-th contact point. It should be noted that because the i-th contact point only considers the Jacobian matrix of the position, and the actual Jacobian matrix is 6xN dimensions, here only 3xN dimensions are considered because only the position is considered.
[0092] The above friction cone constraint DF≤f μ It can be obtained by transforming the following formula:
[0093] where f x is the friction component of the contact point in the X-axis direction in the local coordinate system, f y is the friction component of the contact point in the Y-axis direction in the local coordinate system, f z is the friction component of the contact point in the Z-axis direction in the local coordinate system, f μ It should be understood that the friction force between each contact point and the ground in this application is three-dimensional, namely f x 、f y and fz .
[0094] In this application, the local coordinate system can be understood as the coordinate system of any local ground surface when the wheel-leg hybrid robot contacts the ground. For example, if the wheel-leg hybrid robot contacts the ground on a slope, the coordinate system of the slope is the local coordinate system.
[0095] Considering that when the wheel-foot hybrid robot moves to any local ground, the local ground can be a known ground or can be obtained by using a perception algorithm based on the environmental information collected by the environmental perception sensor, so the local coordinate system is obtained Afterwards, the The local coordinate system is transformed into the world coordinate system to obtain the friction cone matrix D in the friction cone constraint. In addition, F in the friction cone constraint can be flexibly set according to the mass of the wheel-foot hybrid robot, and this application does not impose any restrictions on this.
[0096] In this application, the above motion task constraints In the equation, J represents the Jacobian matrix of the contact point, q represents the generalized position, and [·] represents the first differential, that is, the velocity can be obtained based on the generalized position q.
··
[0097] Considering that the control variables in this application are in the joint space, and the first motion task, the second motion task and the third motion task corresponding to the wheel-foot composite robot are all in three-dimensional space (i.e., Cartesian space), in order to obtain the constraints of each motion task This application can establish the connection between the joint space and the three-dimensional space (i.e., Cartesian space) through the following formula (2):
[0098]
[0099] Then, by deriving formula (2), we can obtain the motion task constraints corresponding to each motion task: In this motion task constraint middle, is the acceleration of the robot body center point in the Cartesian coordinate system corresponding to the first motion task, the acceleration of the flight leg of the flight leg mechanism in the Cartesian coordinate system corresponding to the second motion task, and the acceleration of the center points of the two rear rollers in the Cartesian coordinate system corresponding to the third motion task. J is the Jacobian matrix of the above motion tasks. In order to achieve the joint acceleration corresponding to the above motion tasks, is the current joint velocity. is a constant at every moment; and, The constraint can be set according to the maximum acceleration of the robot, and this application does not impose any specific restrictions on this.
[0100] In some optional embodiments, before determining the target torque of each joint in each motion mechanism of the wheel-foot hybrid robot based on the aforementioned formula (1), the present application optionally first calculates the Jacobian matrix of the first motion task, the Jacobian matrix of the second motion task, and the Jacobian matrix of the third motion task corresponding to each timestamp. Then, the Jacobian matrix of the first motion task, the Jacobian matrix of the second motion task, and the Jacobian matrix of the third motion task corresponding to the same timestamp are brought into the aforementioned motion task constraints. In the equation (3), we can get the three motion task constraints corresponding to the same timestamp, as shown in the following formula:
[0101]
[0102] in, is the first motion task constraint, is the second motion task constraint, is the third motion task constraint.
[0103] In this application, the Jacobian matrix of the first motion task, the Jacobian matrix of the second motion task, and the Jacobian matrix of the third motion task corresponding to each timestamp are calculated. Please refer to the prior art and will not be described in detail here.
[0104] Afterwards, the three motion task constraints corresponding to different time stamps described in the above formula (3) are substituted into the above formula (1) to obtain the target torque of each joint of the wheel-leg hybrid robot at different time stamps.
[0105] In this application, the joints of the wheel-leg composite robot may include: the left hip joint, left knee joint and left ankle joint in the left front leg mechanism, the right hip joint, right knee joint and right ankle joint in the right front leg mechanism, and the hind leg hip joint, hind leg knee joint and hind leg ankle joint in the hind leg mechanism. For details, please refer to Figure 1 part.
[0106] It should be noted that the Jacobian matrix of the above-mentioned first motion task is specifically the Jacobian matrix of the center point of the robot body, the Jacobian matrix of the second motion task is specifically the Jacobian matrix of the sole corresponding to the air leg mechanism in the front leg mechanism, and the Jacobian matrix of the third motion task is specifically the Jacobian matrix of the center points of the two rear rollers.
[0107] Furthermore, the Jacobian matrices for the first and third motion tasks can both be 6*18 dimensional matrices. The 6 represents the 6 degrees of freedom, specifically the 3 rotational dimensions and 3 translational dimensions along the X, Y, and Z axes. The 18 represents the degrees of freedom of the wheel-legged hybrid robot. Because the second task is the foot point, only 3D position is generally considered, meaning that the Jacobian matrix for the second motion task is a 3*18 dimensional matrix, where the 3 represents the 3 degrees of freedom, specifically the 3 translational dimensions along the X, Y, and Z axes.
[0108] In addition, each of the above motion tasks may be three-dimensional or six-dimensional, wherein the motion tasks include a first motion task, a second motion task, and a third motion task.
[0109] The above three dimensions can be understood as three degrees of freedom, specifically three rotation dimensions or three translation dimensions along the X-axis, Y-axis and Z-axis. The six dimensions can be understood as six degrees of freedom, specifically three rotation dimensions and three translation dimensions along the X-axis, Y-axis and Z-axis.
[0110] After determining the target torque of each joint in each motion mechanism, the present application can control the whole-body motion of the wheel-leg composite robot according to the target torque of each joint in each motion mechanism.
[0111] Since each joint of the wheel-leg compound robot of the present application corresponds to a motor, after obtaining the target torque of each joint in each motion mechanism in the wheel-leg compound robot, the present application can control each motor to output the target torque to the corresponding joint according to the target torque of each joint, so as to drive each joint to rotate the corresponding angle, so that the other joints and related mechanisms associated with each joint produce a certain amount of movement in space, thereby realizing the whole-body motion control of the wheel-leg compound robot.
[0112] The technical solution disclosed in the embodiments of the present application obtains the task to be performed by the wheel-leg hybrid robot and determines the first motion task of the robot body, the second motion task of the two front leg mechanisms, and the third motion task of the two rear rollers based on the task to be performed. The robot's entire body motion is then controlled based on the first, second, and third motion tasks. Thus, by comprehensively coordinating and controlling the multiple motion tasks corresponding to the task to be performed, the overall coordination of the robot's task execution is improved, thereby enhancing the robot's motion control effect and the robot's operating accuracy.
[0113] Based on the above embodiments, Figure 4 The first motion task of the robot body, the second motion task of the two front leg mechanisms, and the third motion task of the two rear rollers are determined according to the tasks to be performed in the above embodiment. Figure 4As shown, the above step S102 may include the following steps:
[0114] S102-1, determining the whole-body motion trajectory of the wheel-leg hybrid robot according to the task to be performed.
[0115] S102-2, according to the whole-body motion trajectory of the wheel-leg hybrid robot, determine the first motion task of the robot body, the second motion task of the two front leg mechanisms, and the third motion task of the two rear rollers.
[0116] The second motion task of the two front leg mechanisms is specifically the motion task of the air leg mechanism in the two front leg mechanisms. The third motion task of the two rear rollers is specifically the motion task of the center points of the two rear rollers.
[0117] Optionally, the present application may employ a preset trajectory planning method to plan the full-body motion trajectory of the wheel-leg hybrid robot based on the task to be performed. The full-body motion trajectory includes: the robot body motion trajectory, the lofted leg motion trajectory corresponding to the lofted leg mechanism, and the motion trajectory of the center points of the two rear rollers; the robot body motion trajectory includes: at least one desired position, at least one desired posture, at least one desired speed, and at least one desired angular velocity; the lofted leg motion trajectory corresponding to the lofted leg mechanism includes: at least one desired position and at least one desired speed; and the motion trajectory of the center points of the two rear rollers includes: at least one desired position, at least one desired posture, at least one desired speed, and at least one desired angular velocity.
[0118] Therefore, when determining the first motion task based on the whole-body motion trajectory of the wheel-leg composite robot, the present application can obtain the expected position, expected speed, expected posture and expected angular velocity of the robot body at different time stamps from the robot body motion trajectory. In addition, the actual position, actual posture, actual speed and actual angular velocity of the robot body at the above-mentioned different time stamps are obtained through the state detection module or the state perception module. Among them, the state detection module or the state perception module can determine the actual state information of the robot body according to a preset period. The preset period in the present application can be comprehensively determined based on the state detection requirements, hardware computing power and algorithm complexity, and no restrictions are imposed on it here.
[0119] Then, the PD control law is used to determine the robot's position motion subtask corresponding to each timestamp based on the desired position, actual position, desired velocity, and actual velocity at the same timestamp. Simultaneously, the PD control law is used to determine the robot's posture motion subtask corresponding to each timestamp based on the desired posture, actual posture, desired angular velocity, and actual angular velocity at the same timestamp. Then, based on the posture motion subtask and position motion subtask corresponding to each timestamp, the first motion task of the robot corresponding to each timestamp is obtained.
[0120] It should be understood that the first motion task of the robot body includes: a position motion subtask and a posture motion subtask of the robot body.
[0121] Optionally, the position motion subtask of the robot body corresponding to each timestamp can be determined by the following formula (4):
[0122]
[0123] in, is the position motion subtask of the robot body corresponding to the t-th timestamp, and in Corresponding to the dynamic equation 4 to 6 dimensions; t is the timestamp; is the expected position of the robot body corresponding to the tth time stamp; is the actual position of the robot body corresponding to the tth timestamp; is the expected speed of the robot corresponding to the tth time stamp; kp is the actual speed of the robot corresponding to the tth time stamp; body1 is the robot body position control gain, kd body1 is the robot body speed control gain, and kp body1 and kd body1 They are adjustable parameters.
[0124] Furthermore, the posture motion subtask of the robot body corresponding to each timestamp can be determined by the following formula (5):
[0125]
[0126] in, is the posture motion subtask of the robot body corresponding to the t-th timestamp, and in Corresponding to the dynamic equation 1 to 3 dimensions; is the expected posture of the robot body corresponding to the tth timestamp, where rpy is the abbreviation of roll-pitch-yaw; is the actual posture of the robot corresponding to the t-th timestamp; ω des is the expected angular velocity of the robot corresponding to the tth time stamp; ω act kp is the actual angular velocity of the robot body corresponding to the tth time stamp; body2 is the robot body posture control gain, kd body2 is the robot body angular velocity control gain, and kp body2 and kd body2 They are adjustable parameters.
[0127] Considering that posture can include multiple representations such as quaternions, rotation matrices, and rpy posture angles. As an optional implementation, the present application uses rpy posture angles to represent posture. That is, the posture motion subtask of the robot body is determined based on the posture of the robot body represented by the rpy posture angle. Of course, the present application can also be determined based on the posture of the robot body represented by quaternions, or based on the posture of the robot body represented by rotation matrices, and there is no limitation on this.
[0128] In some optional embodiments, when determining the second motion task based on the whole-body motion trajectory of the wheel-leg hybrid robot, the present application can obtain the desired position and desired velocity of the soaring leg at different time stamps from the motion trajectory of the soaring leg corresponding to the soaring leg mechanism. Next, the actual position and actual velocity of the robot body at these different time stamps are obtained through a state detection module or a state perception module. Subsequently, the FK algorithm is used to calculate the actual position of the soaring leg relative to the robot body at these different time stamps based on the actual position of the robot body at these different time stamps, and the actual velocity of the soaring leg relative to the robot body at these different time stamps based on the actual velocity of the robot body at these different time stamps. Then, based on the conversion relationship between the robot body coordinate system and the world coordinate system, the actual position and actual velocity of the soaring leg relative to the robot body at different time stamps are converted into the actual position and actual velocity of the soaring leg in the world coordinate system at these different time stamps. Subsequently, the PD control law is used to determine the second motion task of the soaring leg mechanism corresponding to each time stamp based on the desired position, actual position, desired velocity, and actual velocity at the same time stamp.
[0129] Optionally, the second motion task of the air leg mechanism corresponding to each timestamp can be determined by the following formula (6):
[0130]
[0131] in, is the second motion task of the air leg mechanism corresponding to the t-th timestamp; t is the timestamp; is the expected position of the flying foot corresponding to the t-th time stamp; is the actual position of the flying foot corresponding to the t-th time stamp; is the expected velocity of the flying foot corresponding to the t-th time stamp; is the actual speed of the flying foot corresponding to the t-th time stamp; kp is the flying foot position control gain, kd is the flying foot speed control gain, and kp and kd are adjustable parameters.
[0132] It should be noted that each of the above timestamps corresponds to the expected position of the soaring leg mechanism. This can also be determined by a motion planner, such as a heuristic planner, based on the expected speed of the robot body, the actual speed of the robot body, and the remaining swing time when the soaring leg mechanism is in a swinging state. Specifically, the landing point of the soaring leg at each landing moment can be first determined, and then each landing position can be interpolated to obtain the expected position of the soaring leg mechanism corresponding to each timestamp.
[0133] The landing point of the airborne foot at each landing moment can be determined by the following formula (7):
[0134]
[0135] Among them, w foot The landing point of the empty foot at the moment of landing, is the actual speed of the robot body, T s is the remaining swing time when the flying leg mechanism is in the swinging state, is the control gain of the landing position of the air foot with respect to the actual velocity error of the robot body, is the expected speed of the robot body.
[0136] In some optional embodiments, when the present application determines the third motion task based on the whole-body motion trajectory of the wheel-leg composite robot, the expected position, expected speed, expected posture and expected angular velocity of the two rear roller center points at different time stamps can be obtained from the motion trajectory of the two rear roller center points. In addition, the actual position, actual posture, actual speed and actual angular velocity of the robot body at the above-mentioned different time stamps are obtained through the state detection module or the state perception module. Then, the FK algorithm is used to calculate the actual position of the two rear roller center points relative to the robot body at different time stamps based on the actual position of the robot body at different time stamps, the actual posture of the two rear roller center points relative to the robot body at different time stamps based on the actual posture of the robot body at different time stamps, the actual speed of the two rear roller center points relative to the robot body at different time stamps based on the actual speed of the robot body at different time stamps, and the actual angular velocity of the two rear roller center points relative to the robot body at different time stamps based on the actual angular velocity of the robot body at different time stamps. Then, based on the conversion relationship between the robot's coordinate system and the world coordinate system, the actual position, actual posture, actual velocity, and actual angular velocity of the two rear roller center points relative to the robot body at different timestamps are converted into the actual position, actual posture, actual velocity, and actual angular velocity of the two rear roller center points in the world coordinate system at different timestamps. Subsequently, the PD control law is used to determine the position motion subtask of the two rear roller center points corresponding to each timestamp based on the expected position, actual position, expected velocity, and actual velocity at the same timestamp. Simultaneously, the PD control law is used to determine the attitude motion subtask of the two rear roller center points corresponding to each timestamp based on the expected posture, actual posture, expected angular velocity, and actual angular velocity at the same timestamp. Then, based on the attitude motion subtask and position motion subtask of the two rear roller center points corresponding to each timestamp, a third motion task for the two rear roller center points corresponding to each timestamp is obtained.
[0137] It should be understood that the third motion task of the center points of the two rear rollers includes: a position motion subtask and a posture motion subtask of the center points of the two rear rollers.
[0138] Optionally, the position motion subtask of the two rear roller center points corresponding to each timestamp can be determined by the following formula (8):
[0139]
[0140] in, The position movement subtask of the center points of the two rear rollers corresponding to the t-th timestamp; t is the timestamp; is the expected position of the center points of the two rear rollers corresponding to the tth time stamp; is the actual position of the center points of the two rear rollers corresponding to the tth time stamp; is the expected speed of the center points of the two rear rollers corresponding to the tth time stamp; kp is the actual speed of the two rear roller center points corresponding to the tth time stamp; center1 kd is the control gain of the center point position of the two rear rollers, center1 is the speed control gain of the center point of the two rear rollers, and kp center1 and kd center1 They are adjustable parameters.
[0141] Furthermore, the subtask of determining the posture motion of the two rear roller center points corresponding to each timestamp can be implemented by the following formula (9):
[0142]
[0143] in, The posture motion subtask of the two rear roller center points corresponding to the t-th timestamp; is the expected posture of the two rear roller center points corresponding to the tth time stamp; is the actual posture of the two rear roller center points corresponding to the t-th time stamp; ω des is the expected angular velocity of the two rear roller center points corresponding to the tth time stamp; ω act kp is the actual angular velocity of the center points of the two rear rollers corresponding to the tth time stamp; center2 kd is the attitude control gain of the center points of the two rear rollers, center2 is the angular velocity control gain of the center point of the two rear rollers, and kp center2 and kd center2 They are adjustable parameters.
[0144] Considering that the posture can include multiple representations such as quaternions, rotation matrices, and rpy posture angles. As an optional implementation method, the present application uses the rpy posture angle to represent the posture. That is, the posture motion subtask of the two rear roller center points is determined based on the posture of the two rear roller center points represented by the rpy posture angle. Of course, the present application can also be determined based on the posture of the two rear roller center points represented by quaternions, or based on the posture of the two rear roller center points represented by rotation matrices, and there is no limitation on this here.
[0145] The technical solution disclosed in the embodiments of the present application obtains the task to be performed by the wheel-leg hybrid robot and determines the first motion task of the robot body, the second motion task of the two front leg mechanisms, and the third motion task of the two rear rollers based on the task to be performed. The robot's entire body motion is then controlled based on the first, second, and third motion tasks. Thus, by comprehensively coordinating and controlling the multiple motion tasks corresponding to the task to be performed, the overall coordination of the robot's task execution is improved, thereby enhancing the robot's motion control effect and the robot's operating accuracy.
[0146] Please refer to the attached Figure 5 , a robot motion control device proposed in the embodiment of the present application is described. In this application, the robot is the aforementioned Figure 1 The wheel-leg compound robot shown in the figure comprises a robot body and four motion mechanisms arranged on the robot body, wherein the four motion mechanisms include two rear rollers and two front leg mechanisms. Figure 5 As shown, the robot motion control device 500 includes: an acquisition module 510 , a task determination module 520 and a motion control module 530 .
[0147] The acquisition module 510 is configured to acquire a task to be performed by the wheel-foot composite robot, wherein the motion mode of the wheel-foot composite robot is a wheel-foot composite motion mode;
[0148] A task determination module 520 is configured to determine, based on the task to be performed, a first motion task of the robot body, a second motion task of the two front leg mechanisms, and a third motion task of the two rear rollers;
[0149] The motion control module 530 is used to control the whole-body motion of the wheel-leg hybrid robot according to the first motion task, the second motion task and the third motion task.
[0150] In an optional implementation of the embodiment of the present application, the motion control module 530 includes:
[0151] a torque determination unit, configured to determine a target torque for each joint in each motion mechanism according to the first motion task, the second motion task, and the third motion task;
[0152] A motion control unit is used to control the whole-body motion of the wheel-leg composite robot according to the target torque of each joint in each of the motion mechanisms.
[0153] An optional implementation method of an embodiment of the present application is a torque determination unit, which is specifically used to edit and process the first motion task, the second motion task and the third motion task into a quadratic programming form, and use a convex optimization algorithm to solve them to obtain the target torque of each joint in each of the motion mechanisms.
[0154] In an optional implementation of an embodiment of the present application, each joint in each of the motion mechanisms corresponds to a motor, and the motion control unit is specifically used to control each motor to output a target torque to the corresponding joint according to the target torque of each joint, so as to achieve whole-body motion control of the wheel-foot composite robot.
[0155] In an optional implementation of the embodiment of the present application, the task determination module 520 includes:
[0156] a trajectory determination unit, configured to determine a whole-body motion trajectory of the wheel-leg hybrid robot according to the task to be performed;
[0157] A task determination unit is used to determine the first motion task of the robot body, the second motion task of the two front leg mechanisms, and the third motion task of the two rear rollers according to the whole-body motion trajectory.
[0158] In an optional implementation of an embodiment of the present application, the first motion task of the robot body is the motion task of the center point of the robot body; the second motion task is the motion task of the air leg mechanism in the two front leg mechanisms; and the third motion task is the motion task of the center points of the two rear rollers.
[0159] In an optional implementation of the embodiment of the present application, the whole-body motion trajectory includes: the motion trajectory of the robot body, the motion trajectory of the soaring foot corresponding to the soaring leg mechanism, and the motion trajectory of the center points of the two rear rollers;
[0160] The robot body motion trajectory includes: at least one desired position, at least one desired posture, at least one desired speed and at least one desired angular velocity;
[0161] The flight leg mechanism corresponds to a flight foot motion trajectory including: at least one desired position and at least one desired speed;
[0162] The motion trajectories of the center points of the two rear rollers include: at least one expected position, at least one expected posture, at least one expected speed and at least one expected angular velocity.
[0163] In an optional implementation of the embodiment of the present application, the task determination unit is specifically configured to:
[0164] Determining an actual position corresponding to each of the desired positions of the robot body, an actual speed corresponding to each of the desired speeds, an actual posture corresponding to each of the desired postures, and an actual angular velocity corresponding to each of the desired angular velocities;
[0165] Determine the position motion subtask of the robot body corresponding to each timestamp according to the expected position, actual position, expected speed and actual speed of the same timestamp;
[0166] Determine the posture motion subtask of the robot body corresponding to each timestamp according to the expected posture, actual posture, expected angular velocity and actual angular velocity of the same timestamp;
[0167] According to the posture motion subtask and the position motion subtask of the robot body corresponding to each time stamp, the first motion task of the robot body corresponding to each time stamp is obtained.
[0168] In an optional implementation of the embodiment of the present application, the task determination unit is specifically configured to:
[0169] Determine the actual position corresponding to each of the expected positions of the flight leg and the actual speed corresponding to each of the expected speeds; and determine the second motion task of the flight leg mechanism in the two front leg mechanisms corresponding to each timestamp based on the expected position, actual position, expected speed, and actual speed at the same timestamp.
[0170] In an optional implementation of the embodiment of the present application, the task determination unit is specifically configured to:
[0171] Determining an actual position corresponding to each of the desired positions of the center points of the two rear rollers, an actual speed corresponding to each of the desired speeds, an actual posture corresponding to each of the desired postures, and an actual angular velocity corresponding to each of the desired angular velocities;
[0172] Determine, based on the expected position, actual position, expected speed, and actual speed of the same timestamp, a position motion subtask corresponding to the two rear roller center points of each timestamp;
[0173] Determine the posture motion subtasks of the two rear roller center points corresponding to each timestamp according to the expected posture, actual posture, expected angular velocity and actual angular velocity of the same timestamp;
[0174] According to the posture motion subtask and the position motion subtask of the two rear roller center points corresponding to each timestamp, a third motion task of the two rear roller center points corresponding to each timestamp is obtained.
[0175] In an optional implementation of the embodiment of the present application, the wheel-foot composite motion mode is obtained based on the wheel motion mode of the two rear rollers and the foot motion mode of the two front leg mechanisms.
[0176] It should be understood that the device embodiment and the aforementioned method embodiment may correspond to each other, and similar descriptions may refer to the method embodiment. To avoid repetition, no further details will be given here. Specifically, Figure 5 The apparatus 500 shown may perform Figure 2 The corresponding method embodiments, and the aforementioned and other operations and / or functions of each module in the apparatus 500 are respectively to implement Figure 2 For the sake of brevity, the corresponding processes in each method are not repeated here.
[0177] The above describes the device 500 of the embodiment of the present application from the perspective of functional modules in conjunction with the accompanying drawings. It should be understood that the functional module can be implemented in hardware form, can be implemented by instructions in software form, and can also be implemented by a combination of hardware and software modules. Specifically, the steps of the first aspect method embodiment in the embodiment of the present application can be completed by the hardware integrated logic circuit and / or software form instructions in the processor, and the steps of the first aspect method disclosed in conjunction with the embodiment of the present application can be directly embodied as being executed by a hardware decoding processor, or can be executed by a combination of hardware and software modules in the decoding processor. Optionally, the software module can be located in a mature storage medium in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps in the above-mentioned first aspect method embodiment in conjunction with its hardware.
[0178] Figure 6 A schematic block diagram of a robot provided in an embodiment of the present application. The robot in this application is the aforementioned Figure 1 The wheel-leg composite robot described in Figure 6 As shown, the robot 600 may include:
[0179] The memory 610 and the processor 620 are configured to store computer programs and transmit the program code to the processor 620. In other words, the processor 620 can call and run the computer program from the memory 610 to implement the robot motion control method in the embodiment of the present application.
[0180] For example, the processor 620 may be configured to execute the aforementioned robot motion control method according to instructions in the computer program.
[0181] In some embodiments of the present application, the processor 620 may include but is not limited to:
[0182] General-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, etc.
[0183] In some embodiments of the present application, the memory 610 includes but is not limited to:
[0184] Volatile memory and / or non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link DRAM (SLDRAM), and direct RAM bus random access memory (DR RAM).
[0185] In some embodiments of the present application, the computer program may be divided into one or more modules, which are stored in the memory 610 and executed by the processor 620 to implement the robot motion control method provided by the present application. The one or more modules may be a series of computer program instruction segments capable of performing specific functions, and the instruction segments are used to describe the execution process of the computer program in the robot.
[0186] like Figure 6 As shown, the robot 600 may further include:
[0187] The transceiver 630 may be connected to the processor 620 or the memory 610 .
[0188] The processor 620 may control the transceiver 630 to communicate with other devices. Specifically, the processor 620 may send information or data to other devices or receive information or data sent by other devices. The transceiver 630 may include a transmitter and a receiver. The transceiver 630 may further include one or more antennas.
[0189] It should be understood that the various components in the robot are connected via a bus system, wherein the bus system includes not only a data bus but also a power bus, a control bus and a status signal bus.
[0190] The present application also provides a computer storage medium having a computer program stored thereon. When the computer program is executed by a computer, the computer is enabled to execute the robot motion control method of the above method embodiment.
[0191] An embodiment of the present application further provides a computer program product comprising program instructions, which, when executed on an electronic device, enables the electronic device to execute the robot motion control method of the above method embodiment.
[0192] When software is used for implementation, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the embodiment of the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center via a wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) method. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that includes one or more available media integrated. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a digital video disc (DVD)), or a semiconductor medium (e.g., a solid state drive (SSD)).
[0193] Those skilled in the art will appreciate that the modules and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0194] In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the modules is merely a logical function division. In actual implementation, there may be other division methods, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or modules, which can be electrical, mechanical or other forms.
[0195] Modules described as separate components may or may not be physically separate, and components displayed as modules may or may not be physical modules, i.e., they may be located in one place or distributed across multiple network elements. Some or all of the modules may be selected based on actual needs to achieve the purpose of the present embodiment. For example, the functional modules in the various embodiments of the present application may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into a single module.
[0196] In the embodiments of the present application, the term "module" or "unit" refers to a computer program or a part of a computer program that has a predetermined function and works together with other related parts to achieve a predetermined goal, and can be implemented in whole or in part by using software, hardware (such as processing circuits or memories) or a combination thereof. Similarly, a processor (or multiple processors or memories) can be used to implement one or more modules or units. In addition, each module or unit can be part of an overall module or unit that includes the function of the module or unit.
[0197] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of the present application. Therefore, the scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A robot motion control method, characterized in that: The robot is a wheel-leg composite robot, comprising a robot body and four motion mechanisms disposed on the robot body, wherein the four motion mechanisms include two rear rollers and two front leg mechanisms. The method comprises: Acquire a task to be executed of the wheel-leg composite robot, wherein the motion mode of the wheel-leg composite robot is a wheel-leg composite motion mode; Determine, according to the tasks to be performed, a first motion task of the robot body, a second motion task of the two front leg mechanisms, and a third motion task of the two rear rollers; The whole-body movement of the wheel-leg hybrid robot is controlled according to the first motion task, the second motion task, and the third motion task.
2. The method according to claim 1, characterized in that The controlling the whole-body movement of the wheel-leg composite robot according to the first movement task, the second movement task, and the third movement task includes: determining a target torque for each joint in each motion mechanism according to the first motion task, the second motion task, and the third motion task; The whole-body movement of the wheel-leg composite robot is controlled according to the target torque of each joint in each of the motion mechanisms.
3. The method according to claim 2, characterized in that Determining the target torque of each joint in each of the motion mechanisms according to the first motion task, the second motion task, and the third motion task includes: The first motion task, the second motion task and the third motion task are edited and processed into a quadratic programming form, and are solved using a convex optimization algorithm to obtain a target torque for each joint in each of the motion mechanisms.
4. The method according to claim 2, characterized in that Each joint in each of the motion mechanisms corresponds to a motor, and controlling the whole-body motion of the wheel-leg composite robot according to the target torque of each joint in each of the motion mechanisms includes: According to the target torque of each joint, each motor is controlled to output the target torque to the corresponding joint, so as to realize the whole-body motion control of the wheel-leg composite robot.
5. The method according to claim 1, wherein The determining, according to the task to be performed, the first motion task of the robot body, the second motion task of the two front leg mechanisms, and the third motion task of the two rear rollers includes: Determining a whole-body motion trajectory of the wheel-leg hybrid robot according to the task to be performed; According to the whole-body motion trajectory, a first motion task of the robot body, a second motion task of the two front leg mechanisms, and a third motion task of the two rear rollers are determined.
6. The method according to claim 5, characterized in that The first motion task is a motion task of the center point of the robot body; The second motion task is the motion task of the air leg mechanism in the two front leg mechanisms; The third motion task is the motion task of the center points of the two rear rollers.
7. The method according to claim 6, characterized in that The whole-body motion trajectory includes: the robot body motion trajectory, the motion trajectory of the soaring leg mechanism corresponding to the soaring foot, and the motion trajectory of the center points of the two rear rollers; The robot body motion trajectory includes: at least one desired position, at least one desired posture, at least one desired speed and at least one desired angular velocity; The flight leg mechanism corresponds to a flight foot motion trajectory including: at least one desired position and at least one desired speed; The motion trajectories of the center points of the two rear rollers include: at least one expected position, at least one expected posture, at least one expected speed and at least one expected angular velocity.
8. The method according to claim 7, characterized in that The determining of the first motion task of the robot body according to the whole-body motion trajectory includes: Determining an actual position corresponding to each of the desired positions of the robot body, an actual speed corresponding to each of the desired speeds, an actual posture corresponding to each of the desired postures, and an actual angular velocity corresponding to each of the desired angular velocities; Determine the position motion subtask of the robot body corresponding to each timestamp according to the expected position, actual position, expected speed and actual speed of the same timestamp; Determine the posture motion subtask of the robot body corresponding to each timestamp according to the expected posture, actual posture, expected angular velocity and actual angular velocity of the same timestamp; According to the posture motion subtask and the position motion subtask of the robot body corresponding to each time stamp, the first motion task of the robot body corresponding to each time stamp is obtained.
9. The method according to claim 7, characterized in that Determining the second motion task of the airborne leg mechanism in the two front leg mechanisms according to the whole-body motion trajectory includes: determining an actual position corresponding to each of the desired positions of the flight foot, and an actual speed corresponding to each of the desired speeds; According to the expected position, actual position, expected speed and actual speed of the same timestamp, the second motion task of the flying leg mechanism of the two front leg mechanisms corresponding to each timestamp is determined.
10. The method according to claim 7, characterized in that The step of determining the third motion task of the center points of the two rear rollers according to the whole-body motion trajectory includes: Determining an actual position corresponding to each of the desired positions of the center points of the two rear rollers, an actual speed corresponding to each of the desired speeds, an actual posture corresponding to each of the desired postures, and an actual angular velocity corresponding to each of the desired angular velocities; Determine, based on the expected position, actual position, expected speed, and actual speed of the same timestamp, a position motion subtask corresponding to the two rear roller center points of each timestamp; Determine the posture motion subtasks of the two rear roller center points corresponding to each timestamp according to the expected posture, actual posture, expected angular velocity and actual angular velocity of the same timestamp; According to the posture motion subtask and the position motion subtask of the two rear roller center points corresponding to each timestamp, a third motion task of the two rear roller center points corresponding to each timestamp is obtained.
11. The method according to claim 1, wherein The wheel-foot composite motion mode is obtained based on the wheel motion mode of the two rear rollers and the foot motion mode of the two front leg mechanisms.
12. A robot motion control device, characterized in that: The robot is a wheel-leg composite robot, comprising a robot body and four motion mechanisms arranged on the robot body, wherein the four motion mechanisms include two rear rollers and two front leg mechanisms, including: an acquisition module, configured to acquire a task to be executed by the wheel-foot composite robot, wherein the motion mode of the wheel-foot composite robot is a wheel-foot composite motion mode; a task determination module, configured to determine, according to the task to be performed, a first motion task of the robot body, a second motion task of the two front leg mechanisms, and a third motion task of the two rear rollers; A motion control module is used to control the whole-body motion of the wheel-leg composite robot according to the first motion task, the second motion task and the third motion task.
13. A robot, characterized in that: include: A processor and a memory, the memory being used to store a computer program, and the processor being used to call and run the computer program stored in the memory to execute the robot motion control method according to any one of claims 1 to 11.
14. A computer-readable storage medium, characterized in that Used to store a computer program, wherein the computer program causes a computer to execute the robot motion control method according to any one of claims 1 to 11.