Robot control method and apparatus, robot, computer-readable storage medium, and computer program product
12554268 ยท 2026-02-17
Assignee
Inventors
Cpc classification
G05D2109/13
PHYSICS
B62D61/00
PERFORMING OPERATIONS; TRANSPORTING
B62D61/12
PERFORMING OPERATIONS; TRANSPORTING
B62D57/028
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
A control method, executed by a control device, controlling a robot comprising a wheel leg portion and a base portion, the wheel leg portion and the base portion comprising a plurality of joints, the method including obtaining motion information of the robot and motion information of a sphere placed on the base portion of the robot, determining, based on the motion information of the robot and the motion information of the sphere when passivity based control is performed on the sphere and the base portion, base control information for controlling the base portion and balancing the sphere on the base portion, determining, based on the base control information, a control torque for controlling each joint of the plurality of joints, and controlling each joint based on the corresponding control torque.
Claims
1. A control method, executed by a control device, for controlling a robot comprising a wheel leg portion and a base portion, the wheel leg portion and the base portion comprising a plurality of joints, and the wheel leg portion comprising at least two legs connected to at least one driving wheel, the control method comprising: obtaining motion information of the robot and motion information of a sphere placed on the base portion of the robot; determining, based on the motion information of the robot and the motion information of the sphere when passivity based control is performed on a system formed by the sphere and the base portion, base control information for controlling the base portion and balancing the sphere on the base portion; determining, based on the base control information, a control torque for controlling each joint of the plurality of joints; and controlling each joint based on the corresponding control torque while balancing the sphere on the base portion.
2. The control method according to claim 1, wherein determining the base control information for controlling the base portion comprises: determining, through interconnection and damping assignment-passivity based control and based on the motion information of the robot and the motion information of the sphere, the control torque for controlling the base portion; and determining, based on the control torque for controlling the base portion, the base control information for controlling the base portion, the base control information comprising control information for controlling an acceleration of the base portion in a pitch direction and control information for controlling an acceleration of the base portion in a roll direction.
3. The control method according to claim 2, wherein determining the control torque for controlling the base portion comprises: obtaining a current combined energy of the sphere and the base portion through the interconnection and damping assignment-passivity based control, wherein the current combined energy comprises a current combined kinetic energy of the sphere and the base portion and a current combined potential energy of the sphere and the base portion; establishing a current combined system based on the current combined energy of the sphere and the base portion; determining a desired combined system of the sphere and the base portion, the desired combined system having a desired combined energy, wherein the desired combined energy comprises a desired combined kinetic energy of the sphere and the base portion and a desired combined potential energy of the sphere and the base portion, the desired combined kinetic energy being determined such that the sphere is always located on the base portion and the desired combined potential energy being determined such that the desired combined potential energy has a minimum value based on the sphere reaching a target state on the base portion; and determining, based on the current combined energy and the desired combined energy, the control torque for controlling the base portion, wherein the current combined system is converted into the desired combined system by the control torque for controlling the base portion.
4. The control method according to claim 3, wherein the current combined system is represented as a combined system in a port-Hamiltonian form; and wherein determining, based on the control torque for controlling the base portion, the base control information for controlling the base portion comprises: converting, according to the current combined system in the port-Hamiltonian form, the control torque for controlling the base portion into a desired acceleration of the base portion in the pitch direction and a desired acceleration of the base portion in the roll direction, the desired acceleration of the base portion in the pitch direction and the desired acceleration of the base portion in the roll direction constituting the base control information for controlling the base portion.
5. The control method according to claim 1, wherein determining, based on the base control information, the control torque for controlling each joint of the plurality of joints comprises: determining, based on the motion information of the robot, overall control information for controlling the plurality of joints, the overall control information being configured for controlling the robot to maintain balance; obtaining a constraint condition corresponding to motion of the robot; and determining, based on the constraint condition corresponding to motion of the robot, the overall control information, and the base control information, the control torque for controlling each joint of the plurality of joints.
6. The control method according to claim 5, wherein determining the control torque for controlling each joint of the plurality of joints comprises: calculating, based on the overall control information and the base control information, at least one candidate control torque combination corresponding to each joint that satisfies the constraint condition; determining a value corresponding to a dynamic whole-body dynamics objective function of the robot based on the at least one candidate control torque combination corresponding to each joint; and selecting, from the at least one candidate control torque combination corresponding to each joint, a target candidate control torque combination such that the dynamic whole-body dynamics objective function satisfies a predetermined condition, and determining each candidate control torque in the target candidate control torque combination as the control torque for controlling each joint of the plurality of joints.
7. The control method according to claim 6, wherein the wheel leg portion comprises at least two driving wheels; and wherein parameters of the dynamic whole-body dynamics objective function comprise at least one of: a vector formed by a set of desired accelerations of the base portion in a pitch direction and in a roll direction; a vector formed by a set of desired accelerations of each driving wheel during movement of the at least two driving wheels; a vector formed by a set of desired torques set for each joint; a generalized force provided by a ground surface at a point of contact when the robot is in contact with the ground surface; and a closed-loop force in the wheel leg portion when the robot has a closed-loop connection mechanism.
8. The control method according to claim 5, wherein the constraint condition corresponding to motion of the robot comprises at least one: a dynamic constraint, a closed-loop linkage constraint, a nonholonomic constraint, and a friction constraint.
9. The control method according to claim 8, wherein the dynamic constraint is determined at least partially based on a dynamic model of the robot, and the dynamic model is configured for representing changing relationships between each joint and a center of mass angle, an angular velocity, an angular acceleration, a joint torque, and an external contact force during movement of the robot.
10. The control method according to claim 1, wherein a touch sensor array is provided on a surface of the base portion, and the touch sensor array is configured to obtain the motion information of the sphere, wherein a resolution of the touch sensor array is determined by jointly pre-optimizing target information, and the target information comprises an accuracy of speed estimation of the touch sensor array and an update frequency of the motion information of the sphere.
11. A robot, comprising: a wheel leg portion comprising at least two legs connected to at least one driving wheel; a base portion, connected to the wheel leg portion, the wheel leg portion and the base portion comprising a plurality of joints; and a controller disposed on the robot, wherein the controller is configured to: obtain motion information of the robot and motion information of a sphere placed on the base portion of the robot; determine, based on the motion information of the robot and the motion information of the sphere when passivity based control is performed on a system formed by the sphere and the base portion, base control information for controlling the base portion and balancing the sphere on the base portion; determine, based on the base control information, a control torque for controlling each joint of the plurality of joints; and control each joint based on the corresponding control torque while balancing the sphere on the base portion.
12. The robot according to claim 11, further comprising: at least one driving motor, disposed on each of the wheel leg portion and the base portion of the robot, and configured to control the plurality of joints of the wheel leg portion and the base portion.
13. A non-volatile computer-readable storage medium, storing computer code which, when executed by at least one processor, causes the at least one processor to at least: obtain motion information of a robot comprising a base portion and a wheel leg portion and obtain motion information of a sphere placed on the base portion of the robot, the wheel leg portion comprising at least two legs connected to at least one driving wheel; determine, based on the motion information of the robot and the motion information of the sphere when passivity based control is performed on a system formed by the sphere and the base portion, base control information for controlling the base portion and balancing the sphere on the base portion; determine, based on the base control information, a control torque for controlling each joint of a plurality of joints of the base portion and the wheel leg portion; and control each joint based on the corresponding control torque while balancing the sphere on the base portion.
14. The non-volatile computer-readable storage medium according to claim 13, wherein determining the base control information for controlling the base portion comprises: determining, through interconnection and damping assignment-passivity based control and based on the motion information of the robot and the motion information of the sphere, the control torque for controlling the base portion; and determining, based on the control torque for controlling the base portion, the base control information for controlling the base portion, the base control information comprising control information for controlling an acceleration of the base portion in a pitch direction and control information for controlling an acceleration of the base portion in a roll direction.
15. The non-volatile computer-readable storage medium according to claim 14, wherein determining, through interconnection and damping assignment-passivity based control and based on the motion information of the robot and the motion information of the sphere, the control torque for controlling the base portion comprises: obtaining a current combined energy of the sphere and the base portion through the interconnection and damping assignment-passivity based control, wherein the current combined energy comprises a current combined kinetic energy of the sphere and the base portion and a current combined potential energy of the sphere and the base portion; establishing a current combined system based on the current combined energy of the sphere and the base portion; determining a desired combined system of the sphere and the base portion, the desired combined system having a desired combined energy, wherein the desired combined energy comprises a desired combined kinetic energy of the sphere and the base portion and a desired combined potential energy of the sphere and the base portion, the desired combined kinetic energy being determined such that the sphere is always located on the base portion and the desired combined potential energy being determined such that the desired combined potential energy has a minimum value based on the sphere reaching a target state on the base portion; and determining, based on the current combined energy and the desired combined energy, the control torque for controlling the base portion, wherein the current combined system is converted into the desired combined system by the control torque for controlling the base portion.
16. The non-volatile computer-readable storage medium according to claim 15, wherein the current combined system is represented as a combined system in a port-Hamiltonian form; and wherein determining, based on the control torque for controlling the base portion, the base control information for controlling the base portion comprises: converting, according to the current combined system in the port-Hamiltonian form, the control torque for controlling the base portion into a desired acceleration of the base portion in the pitch direction and a desired acceleration of the base portion in the roll direction, the desired acceleration of the base portion in the pitch direction and the desired acceleration of the base portion in the roll direction constituting the base control information for controlling the base portion.
17. The non-volatile computer-readable storage medium according to claim 13, wherein determining, based on the base control information, the control torque for controlling each joint of the plurality of joints comprises: determining, based on the motion information of the robot, overall control information for controlling the plurality of joints, the overall control information being configured for controlling the robot to maintain balance; obtaining a constraint condition corresponding to motion of the robot; and determining, based on the constraint condition corresponding to motion of the robot, the overall control information, and the base control information, the control torque for controlling each joint of the plurality of joints.
18. The non-volatile computer-readable storage medium according to claim 17, wherein determining, based on the constraint condition corresponding to motion of the robot, the overall control information, and the base control information, the control torque for controlling each joint of the plurality of joints comprises: calculating, based on the overall control information and the base control information, at least one candidate control torque combination corresponding to each joint that satisfies the constraint condition; determining a value corresponding to a dynamic whole-body dynamics objective function of the robot based on the at least one candidate control torque combination corresponding to each joint; and selecting, from the at least one candidate control torque combination corresponding to each joint, a target candidate control torque combination such that the dynamic whole-body dynamics objective function satisfies a predetermined condition, and determining each candidate control torque in the target candidate control torque combination as the control torque for controlling each joint of the plurality of joints.
19. The non-volatile computer-readable storage medium according to claim 18, wherein the wheel leg portion comprises at least two driving wheels; and wherein parameters of the dynamic while-body dynamics objective function comprise at least one of: a vector formed by a set of desired accelerations of the base portion in a pitch direction and in a roll direction; a vector formed by a set of desired accelerations of each driving wheel during movement of the at least two driving wheels; a vector formed by a set of desired torques set for each joint; a generalized force provided by a ground surface at a point of contact when the robot is in contact with the ground surface; and a closed-loop force in the wheel leg portion when the robot has a closed-loop connection mechanism.
20. The non-volatile computer-readable storage medium according to claim 17, wherein the constraint condition corresponding to motion of the robot comprises at least one of: a dynamic constraint, a closed-loop linkage constraint, a nonholonomic constraint, and a friction constraint.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) To describe the technical solutions of some embodiments of this disclosure more clearly, the following briefly introduces the accompanying drawings for describing some embodiments. The accompanying drawings in the following description show only some embodiments of the disclosure, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts. In addition, one of ordinary skill would understand that aspects of some embodiments may be combined together or implemented alone.
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)
DESCRIPTION OF EMBODIMENTS
(23) To make the objectives, technical solutions, and advantages of the present disclosure clearer, the following further describes the present disclosure in detail with reference to the accompanying drawings. The described embodiments are not to be construed as a limitation to the present disclosure. All other embodiments obtained by a person of ordinary skill in the art without creative efforts shall fall within the protection scope of the present disclosure and the appended claims.
(24) In the following descriptions, related some embodiments describe a subset of all possible embodiments. However, it may be understood that the some embodiments may be the same subset or different subsets of all the possible embodiments, and may be combined with each other without conflict. As used herein, each of such phrases as A or B, at least one of A and B, at least one of A or B, A, B, or C, at least one of A, B, and C, and at least one of A, B, or C, may include all possible combinations of the items enumerated together in a corresponding one of the phrases. For example, the phrase at least one of A, B, and C includes within its scope only A, only B, only C, A and B, B and C, A and C and all of A, B, and C.
(25) In this specification and the accompanying drawings, steps/operations, and elements that are substantially the same or similar are denoted by the same or similar reference numerals, and repeated descriptions of these steps/operations and elements are omitted. In addition, in the description of some embodiments, terms such as first and second are merely used for distinguishing between descriptions, and cannot be understood as an indication or implication of relative importance or a sequence.
(26) Unless otherwise defined, meanings of all technical and scientific terms used in this specification are the same as those usually understood by a person skilled in the art to which the embodiments belong. Terms used in this specification are merely intended to describe objectives of the embodiments of the present disclosure, but are not intended to limit the present disclosure.
(27) For ease of describing various embodiments, technical terms related in some embodiments are described below.
(28) Artificial Intelligence (AI) is a theory, method, technology, and application system that uses a digital computer or a machine controlled by the digital computer to simulate, extend, and expand human intelligence, perceive an environment, acquire knowledge, and use knowledge to obtain an optimal result. In other words, the AI is a comprehensive technology of computer science, which attempts to understand essence of intelligence and produces a new intelligent machine that can respond in a manner similar to human intelligence. The AI is to study the design principles and implementation methods of various intelligent machines, to enable the machines to have the functions of perception, reasoning, and decision-making.
(29) The technical solutions provided in some embodiments relate to robotics technologies in AI technologies. A robot is a mechanical and electronic device that can imitate certain human skills, which is a combination of mechanical transmission and modern microelectronics technologies. Robots are developed on the basis of electronic, mechanical, and information technologies. A robot does not necessarily have to look like a human being. As long as the robot can independently complete tasks and orders given by humans, it is a member of the robot family. A robot is an automated machine that has some intelligent capabilities similar to those of humans or living things, such as a perception capability, a planning capability, an action capability, and a collaboration capability. It is an automated machine with high flexibility. With the development of computer technologies and artificial intelligence technologies, functions and technical levels of robots have been greatly improved. Mobile robots and robot vision and touch technologies are typical representatives.
(30) The robot control method of some embodiments may be based on passivity based control for nonlinear systems. The core idea of passivity based control for nonlinear systems is to construct a suitable mapping relationship between input and output, so that a close-loop system satisfies passivity conditions, and a controller is designed based on a passive theory, to finally achieve the purpose of system stabilization. A design process of passivity based control can be divided into two important stages. The first stage requires energy shaping of an open-loop system. In this stage, it is necessary to configure a desired balance point and adjust an energy function of the open-loop system, so that an energy function of a new close-loop system takes the minimum value at the balance point. The second stage is referred to as damping injection. In this process, a dissipation function of the system needs to be changed to inject additional damping into the system, to ensure asymptotic stability of the balance point of the close-loop system. The passivity based control method has been successfully applied in many physical systems, including mechanical systems, electrical systems, chemical processes, and electromechanical systems.
(31) For example, in some embodiments, an interconnection and damping assignment-passivity based control (IDA-PBC) method can be used to achieve the balance of a sphere and a robot system. IDA-PBC is a controller design method for a nonlinear system. The core idea of IDA-PBC is to use state feedback to modify interconnection and damping matrices of the system, thereby configuring a positive definite energy function for the system, so that the energy function can serve as a Lyapunov function of the close-loop system. The main advantages of IDA-PBC are: first, the close-loop structure of the system is still a port-Hamiltonian (PH) system, so that there is a reasonable physical explanation for the control purpose; second, a desired interconnection and damping matrix can be configured for the system, which actually guarantees that the energy function of the system can be used as a close-loop storage function of the system; finally, as long as a control law can be solved, the energy function of the system can naturally be used as the Lyapunov function, that is, a mapping relationship is found. This allows the original system to be mapped to a target system, and the system energy function takes the minimum value at an ideal balance point, ultimately allowing the nonlinear system to reach balance in a target state.
(32) In addition, the robot control method of some embodiments may be based on a robot perception and cognitive technology. The perception and cognitive technology is the basis for robots to operate safely, efficiently, and autonomously. In recent years, the field of computer vision has developed rapidly and has achieved many results that are comparable to or even surpass those of humans. At the same time, the development of tactile sensing technology is relatively slow, which to a certain extent restricts the expansion of robot capabilities. How to provide robots with tactile capabilities close to human levels in scenarios such as human-machine interaction, motion control, and dexterous operation has become one of the research hotspots and technical challenges in recent years. Various pressure sensors on robots have been extensively researched to mimic the touch of human skin. Depending on a work area, touch sensors have been used on fingers of robots to grab and manipulate objects like humans, on large areas of a human body for safe human-machine interaction, and on feet of robots to detect high dynamic range pressure to balance and control robot motion. However, touch sensors are not commonly used on mobile robots. The application of touch sensors to non-prehensile rolling operations is an interesting topic and may inspire further applications of large-area electronic skins on mobile robots for human-machine interaction. Therefore, in some embodiments, a touch sensor can be combined with a wheel-legged robot by using a new piezoresistive material with ultra-high sensitivity, ultra-large range, ultra-fast response speed, and ultra-strong cycle stability, combined with a customized electrode adaptation module and a high-speed signal acquisition module, allowing the robot to sense extremely subtle pressure changes on the body surface. By adding the touch sensor to the surface of the robot, the robot can use its own skin to sense external contact information, including the perception and recognition of touch manners, touch strength, touch direction, and touch trajectory shapes, and respond in different ways.
(33) In some embodiments, the robot may be an under-actuated robot. The under-actuated robot means that a number of degrees of freedom (DOF) of the robot exceeds the minimum number of degrees of freedom required by the robot to complete a task. In this case, the robot cannot achieve the required task through simple motion, but needs to rely on other strategies, such as planning, control, and perception. For example, the under-actuated robot may be a wheel-legged robot as shown in
(34)
(35)
(36) The driving wheels 104 in the wheel leg portion 103 enable the wheel-legged robot 100 to walk and perform wheeled movement. In some embodiments, the wheel-legged robot 100 may further include a controllable additional component (for example, a tail), where the tail may be used to balance the wheel-legged robot or assist in the movement of the wheel-legged robot. For example, the tail can help the wheel-legged robot maintain balance during movement. In some embodiments, the wheel-legged robot may further include a controllable robotic arm, and the robotic arm may be used to perform operating tasks such as carrying and picking up. The wheel-legged robot may include a bipedal wheel-legged robot, a quadrupedal wheel-legged robot, and the like. This is not limited herein.
(37) For example, the wheel leg portion 103 is a parallel structure leg (where two legs of the bipedal wheel-legged robot 100 are balanced). Referring to
(38) For example, the driving wheel may be a single wheel, two wheels, four wheels or other number of driving wheel configurations, and each driving wheel can be controlled by two legs connected in parallel or a plurality of legs connected in series. It is to be understood that the embodiments are not limited to the specific composition type of the left and right wheel leg portions and the number of driving wheels. In some embodiments, both the left wheel leg portion and the right wheel leg portion have a single wheel leg configuration, and the single wheel leg configuration means that the wheel leg portion only includes a single driving wheel.
(39) For example, in some embodiments, the left wheel leg portion and the right wheel leg portion may include the same number of joints and have the same joint configuration, or according to actual needs, the left wheel leg portion and the right wheel leg portion may have different number of joints and have different joint configurations. The embodiments are not limited to the specific number of joints and joint configurations of the left wheel leg portion and the right wheel leg portion. By using the example shown in
(40) Compared with series structural legs, parallel structural legs have stronger stiffness and can withstand possible impacts during complex movement. When in contact with the ground, the driving wheels 104 can provide the wheel-legged robot 100 with the ability to slide. Still referring to
(41) In some embodiments, the wheel-legged robot as shown in
(42) To facilitate further description of some embodiments, meanings of various operators and sets that may be used below are briefly explained herein.
(43) In some embodiments, R represents a set of real numbers. |.Math.| represents the Euclidean norm of a vector. represents taking a partial derivative of a variable. The superscript T represents taking the transpose of a matrix. Bold letters represent vectors or matrices. Italic letters represent scalars. e.sub.1 represents a vector in which the first element is equal to 1 and the other elements are equal to 0, and e.sub.2 represents a vector in which the second element is equal to 1 and the other elements are equal to 0.
(44) To sum up, the solutions provided in some embodiments involve artificial intelligence, robot control, and other technologies. Some embodiments are further described below with reference to the accompanying drawings.
(45) For a sphere balance scenario, there are attempts to use robotic arms to achieve a sphere balance task. For example,
(46) In the research on a sphere balance task of the wheel-legged robot, there are methods for adding the sphere balance task to a whole-body control framework of the wheel-legged robot to realize the sphere balance task. For example, a proportional-integral-derivative (PID) controller may be used as a sphere balance controller to perform the sphere balance task. However, in such a robot control method, because the sphere balance system (including the sphere and the wheel-legged robot) is a nonlinear system, and the PID controller is a linear controller, the control effect has certain flaws in theory. In addition, the PID controller is a model-free controller, and corresponding parameters of the PID controller often need to be manually adjusted in application. Therefore, the stability of the PID controller has not been theoretically proven, and after different spheres are switched, the controller parameters most likely need to be re-tuned to ensure stability of the sphere balance task.
(47) As a kind of non-prehensile operation, the sphere balance scenario is a rolling non-prehensile task, and passivity based control (PBC) is considered as a possible unified framework for rolling non-prehensile tasks. The core principles lie in energy shaping and damping injection. For a fully driven system, in an energy shaping stage, target potential energy of a close-loop system is shaped so that the target potential energy has a unique global minimum in a desired balanced state. In the damping injection stage, dissipation characteristics are modified to maintain passivity of the close-loop system. However, for an under-actuated system, arbitrary shaping of potential energy is ineffective. In some cases, this problem can be solved by simultaneously adjusting kinetic energy of the system, such as interconnection and damping assignment (IDA). A major difficulty in implementing IDA-PBC is the need to solve partial differential equations during the controller design process. Although mathematical derivation is difficult, the energy-based nature makes the parameters of the controller closely related to the state of the robot, which facilitates an easier parameter tuning process. In recent research, IDA-PBC has achieved good control performance on different types of robots.
(48) Based on this, some embodiments provide a robot control method and apparatus, a robot, a computer-readable storage medium, and a computer program product. Balance control for a base portion of a wheel-legged robot and a sphere on the wheel-legged robot is added to a whole-body control (WBC) framework of the wheel-legged robot, so that the sphere maintains balance during movement of the robot, thereby implementing the sphere balance task of the wheel-legged robot. An IDA-PBC algorithm is applied to a sphere balance non-prehensile operation on the wheel-legged robot, and to stabilize the entire robot system (including the robot and the sphere), the sphere balance control is designed in the whole-body control framework, thereby improving the robustness and flexibility of the wheel-legged robot.
(49) According to the robot control method provided in some embodiments, passivity based control for a nonlinear system formed by both a base portion of a wheel-legged robot and a sphere on the base portion is added to whole-body control for the wheel-legged robot (also referred to as a robot below), to determine base control information for maintaining balance of the sphere, and determine control for each joint of the wheel-legged robot based on the base control information. In this way, the wheel-legged robot can maintain balance of the sphere during movement, thereby implementing the sphere balance task of the wheel-legged robot. According to the robot control method provided in some embodiments, the wheel-legged robot can balance different rigid spheres on roads of various terrains, and can ensure stability of the sphere balance system after replacing a different sphere only by updating corresponding parameters of the sphere to the controller, without re-adjusting the controller.
(50)
(51) The robot control method can be applied to any robot that includes a base portion and a wheel leg portion, where the wheel leg portion includes driving wheels and a base portion, and the wheel leg portion includes a plurality of joints. For case of description, the method is further described below by using the robot 100 shown in
(52) For example, as shown in
(53) In
(54) For any robot with a base portion, generalized coordinates of the robot may be represented by q=[q.sub.fb.sup.T, q.sub.j.sup.T].sup.T. The generalized coordinates=[q.sub.fb.sup.T, q.sub.j.sup.T].sup.T of the robot include the posture q.sub.fb.sup.3SO(3) of the base portion and n.sub.j joint angles q.sub.j=[q.sub.1, q.sub.2, . . . , q.sub.n.sub.
(55) On the basis of obtaining the robot configuration, a traveling process of the robot can be taken into consideration, a corresponding control architecture and control tasks can be set for the robot, and such control architecture and control tasks can be described through mathematical language. The foregoing control architecture and control tasks are further described below with reference to
(56) The robot control method provided in some embodiments can be performed by a controller in the robot. The robot control method according to some embodiments is described below with reference to the flowchart of the robot control method shown in
(57) In operation S201, motion information of the robot and motion information of the sphere are obtained.
(58) As shown in
(59) The motion data includes raw sensor data of robot motion obtained through various sensors and raw sensor data of motion of the sphere on the base portion of the robot, and the motion information includes input information for subsequent motion planning or generation processing. The motion information is information obtained through state estimation and signal processing of these sensor data and used for robot motion planning. As shown in
(60) According to some embodiments, a touch sensor array may be preset on the surface of the base portion, and the motion data of the sphere is obtained through the touch sensor array. A resolution of the touch sensor array may be pre-designed by jointly optimizing accuracy of speed estimation of the touch sensor array and an update frequency of the motion information of the sphere.
(61) In some embodiments, unlike most non-prehensile rolling experiments, the state of the sphere can be updated by a touch sensor array instead of a torque sensor or a visual servo. To realize the non-prehensile operation of the wheel-legged robot in different terrain conditions, a durable touch sensor array with a large range, high sensitivity, high spatial resolution, and fast response speed is needed to provide sufficiently accurate motion information of the sphere. Similar to electronic skin, the spatial resolution of the touch sensor array can neither be too high nor too low, and parameters of the touch sensor array are highly dependent on environments and scenarios of the robot application. Therefore, the spatial resolution can be evaluated during the parameter design stage of the touch sensor array by optimizing the following formula (1):
(62)
(63) v.sub.i,j.sup.cal=[v.sub.x,j.sup.cal v.sub.i,y.sup.cal].sup.T and v.sub.i,j.sup.act=[v.sub.x,j.sup.act v.sub.i,y.sup.act].sup.T respectively represent a calculated relative speed and an actual relative speed of the sphere and the surface of the base portion of the robot in x and y directions, and d.sub.x and d.sub.y are a width and a length of each touch module. Assuming that L.sub.x and L.sub.y are a width and a length of a coverage area of the touch sensor array,
(64)
may be used to describe the size of the touch sensor array. Therefore, T.sub.s=n.sub.xn.sub.yt.sub.s+t.sub.d is sampling time of the entire touch sensor array, where t.sub.s is sampling time of each touch point, and t.sub.d is a signal transmission delay. Therefore, through optimization according to the trade-off between the accuracy of the touch sensor array and the update frequency, the first term v.sub.i,j.sup.calv.sub.i,j.sup.act.sub.W.sub.
(65) In some embodiments, the touch sensor array can be covered on the surface of the robot, such as the surface of the base portion of the wheel-legged robot. For example, for a wheel-legged robot whose upper surface size of the base portion is 0.2 m0.4 m, L.sub.x=200 mm and L.sub.y=400 mm may be set. Therefore, after the resolution optimization as described above, a piezoresistive sensor array of n.sub.x(16)n.sub.y(32) with a spatial resolution of d.sub.x=d.sub.y=12.5 mm may be designed.
(66)
(67) Therefore, the motion information of the robot and the motion information of the sphere are obtained in the foregoing manner, and then motion planning and generation can be performed based on the obtained motion information, to control the robot to adjust control parameters of each part of the body according to a planned motion state.
(68) In operation S202, based on the motion information of the robot and the motion information of the sphere in a case that passivity based control being performed on the sphere and the base portion, base control information for controlling the base portion is determined, the sphere remaining balanced on the base portion in a case that the base portion is controlled based on the base control information.
(69) In some embodiments, to stabilize the entire robot system (including the robot and the sphere), the robot can be controlled as a whole under the whole-body control framework. The whole-body control framework is shown in
(70) In some embodiments, a desired acceleration {dot over (v)}.sub.t.sup.des corresponding to the trunk task can be calculated by using a linear controller (such as a PID controller) based on an error between a target value inputted by a user and a true value. Due to non-minimum phase characteristics caused by under-actuated characteristics of a robot balance model, input {dot over (v)}.sub.w.sup.des corresponding to the wheel balancing task needs to be obtained through a specially designed linear or nonlinear controller. There have been relevant studies on the controller design of this part, and this is not described in detail again herein.
(71) In some embodiments, passivity based control for the sphere and the base portion may be passivity based control for a nonlinear system formed by the sphere and the base portion. The passivity based control is achieved by constructing an appropriate mapping relationship between input and output to enable the close-loop system to meet a passivity condition, so that a nonlinear controller for the nonlinear system may be designed based on the passivity theory, and finally the nonlinear system can reach a balanced state to complete the sphere balance task in some embodiments.
(72) For the sphere balance task in some embodiments, the implementations of the base pitch task and the base roll task are described in detail below. By controlling the pitch and roll angles of the base portion, the sphere can move and balance on the upper surface of the base portion. Therefore, the controller for this task can be determined by using an IDA-PBC control method. As shown in
(73) According to some embodiments, operation S202 may include: determining, through interconnection and damping assignment-passivity based control and based on the motion information during movement of the robot and the motion information of the sphere, the control torque for controlling the base portion; and determining, based on the control torque for controlling the base portion, the base control information for controlling the base portion, where the base control information includes control information for controlling an acceleration of the base portion in a pitch direction and control information for controlling an acceleration of the base portion in a roll direction.
(74) The following describes sphere balance control on a wheel-legged robot as an example.
(75) As shown in
(76) According some embodiments, the determining, through interconnection and damping assignment-passivity based control and based on the motion information during movement of the robot and the motion information of the sphere, the control torque for controlling the base portion may include: establishing a current combined system based on current combined energy of the sphere and the base portion, where the current combined energy of the sphere and the base portion includes current combined kinetic energy and current combined potential energy of the sphere and the base portion; determining a desired combined system of the sphere and the base portion, where the desired combined system has desired combined energy, the desired combined energy includes desired combined kinetic energy and desired combined potential energy of the sphere and the base portion, the desired combined kinetic energy is designed such that the sphere is always located on the base portion, and the desired combined potential energy is designed to have a minimum value in a case that the sphere reaches a target state on the base portion; and determining, based on the current combined energy and the desired combined energy, the control torque for controlling the base portion, where the current combined system is converted into the desired combined system under the action of the control torque. According to some embodiments, the current combined system may be represented in a port-Hamiltonian form.
(77) In some embodiments, the nonlinear system can be modeled according to a Euler-Lagrangian method. In some embodiments, the nonlinear system can be modeled based on kinetic energy and potential energy of the base portion of the robot and the sphere, and the nonlinear system may be represented in a port-Hamiltonian form based on the kinetic energy and the potential energy.
(78) For example, in some embodiments, for the nonlinear system at a current moment, assuming that the inertia I.sub.h of the base portion of the robot and the inertia I.sub.o, of the robot, as well as the mass m.sub.h of the base portion and the mass m.sub.o of the sphere are known, and q=[.sub.h, s.sub.h].sup.T is defined, the kinetic energy (that is, the current combined kinetic energy above) T of the base portion of the robot and the sphere may be represented as the following formula (2):
(79)
(80) where p=M(q){dot over (q)}, and
(81)
(82) where for a solid ball, I.sub.o=m.sub.o.sub.o.sup.2; and for a hollow ball, I.sub.o=m.sub.o.sub.o.sup.2.
(83) In addition,
(84)
(85) The potential energy (that is, the current combined potential energy above) V of the base portion of the robot and the sphere may be represented as the following formula (7):
V(q)=g.Math.e.sub.2.sup.T(m.sub.op.sub.o(q)+m.sub.hP.sub.h(q))(7),
(86) where g represents the gravity acceleration.
(87) Therefore, the nonlinear system may be represented in the port-Hamiltonian form as the following formula (8):
(88)
(89) where u is an input torque, n=2, m=1, G=e.sub.1, and
H(q,p)=p.sup.TM.sup.1(q)p+V(q)(9).
(90) A target state of the nonlinear system may be designed, that is, a desired combined system. Desired combined energy of the desired combined system may include desired combined kinetic energy and desired combined potential energy of the sphere and the base portion. The desired combined kinetic energy may be designed such that the sphere is always located on the base portion (for example, such that the pitch angle of the base portion is .sub.h
(91)
and the desired combined potential energy may be designed to have a minimum value when the sphere reaches the target state on the base portion, so that the nonlinear system reaches a balanced state when the sphere reaches the target state.
(92) Therefore, to design a controller by using a passivity based control method, the foregoing desired combined system may be represented in a port-Hamiltonian form as the following formula (10):
(93)
(94) where the subscript d represents a desired value of a corresponding quantity of the foregoing current combined system in the desired combined system,
(95)
(96) Therefore, in the desired combined system, the desired combined potential energy V.sub.d may be designed as the following formula (13):
(97)
(98) Therefore, in some embodiments, the control torque u used by the nonlinear controller IDA-PBC for the sphere balance task may be represented as a combination of an energy shaping term u.sub.es and a damping injection term u.sub.di as shown in the following formula (14):
(99)
(100) As described above, the determined control torque u for controlling the base portion represents the overall control for the base portion of the robot. Therefore, to implement IDA-PBC in the whole-body control framework, the control torque u may be converted into an input acceleration of the whole-body control module shown in
(101) According to some embodiments, the determining, based on the determined control torque for controlling the base portion, the base control information for controlling the base portion may include: converting, according to the current combined system in the port-Hamiltonian form, the determined control torque for controlling the base portion into desired accelerations of the base portion in the pitch direction and in the roll direction as the base control information for controlling the base portion.
(102) In some embodiments, according to the current combined system in the port-Hamiltonian form, the balance control for the current combined system based on the control torque may be represented as the following formulas (19) and (20):
b.sub.11(q){umlaut over ()}.sub.h+b.sub.12(q){umlaut over (s)}.sub.h+C.sub.1(q,p)G.sub.1(q)=u(19)
b.sub.12(q){umlaut over ()}.sub.h+b.sub.22(q){umlaut over (s)}.sub.h+C.sub.2(q,p)G.sub.2(q)=0(20)
(103) where {umlaut over ()}.sub.h represents an angular acceleration of the base portion of the robot and {umlaut over (s)}.sub.h represents an acceleration of the sphere on the surface of the base portion. The foregoing formulas (19) and (20) may be regarded as respectively corresponding to control for the angular acceleration {umlaut over ()}.sub.h of the base portion of the robot based on the control torque u and control for the acceleration {umlaut over (s)}.sub.h of the sphere on the surface of the base portion. Due to the under-actuated characteristics of sphere balance, the right side of the equation shown in formula (20) is zero, that is, the control torque does not act directly on the sphere, but implements sphere balance through the base portion.
(104)
(105) Therefore, with reference to the foregoing relationship, the angular acceleration {umlaut over ()}.sub.h of the base portion of the robot can be obtained by using the following formula (22):
(106)
(107) By solving the foregoing formula (22), the angular acceleration {umlaut over ()}.sub.h of the base portion of the robot corresponding to the foregoing control torque u can be determined, that is, the desired accelerations (that is, {dot over (v)}.sub.b.sup.des in
(108) In operation S203, based on the base control information, a control torque for controlling each joint in a plurality of joints is determined.
(109) According to some embodiments, the determining, based on the base control information, a control torque for controlling each joint in the plurality of joints may include: determining, based on the motion information of the robot, overall control information for controlling the plurality of joints, so that the robot maintains balance; and determining, based on a constraint condition corresponding to motion of the robot, the overall control information, and the base control information, the control torque for controlling each joint in the plurality of joints. The operation of determining, based on the motion information of the robot, the overall control information for controlling the plurality of joints so that the robot maintains balance actually corresponds to the wheel balancing task in the foregoing whole-body control framework. In other words, in some embodiments, the control information for each joint of the robot can be determined based on the overall control information for implementing the wheel balancing task, the base control information for implementing the sphere balance task, and various constraint conditions of the robot (where in another embodiment, the constraint condition may further include control information for implementing a trunk task). The control information for each joint of the robot may correspond to the finally determined control torque for each joint of the robot. The overall control information for implementing the wheel balancing task corresponds to the input of the wheel balancing task in the whole-body control for the robot, which may include desired acceleration information of each joint of the wheel leg portion of the robot and the driving wheel. The base control information for implementing the sphere balance task corresponds to the input of the sphere balance task in the whole-body control for the robot, which may include desired acceleration information of the base portion of the robot.
(110) In some embodiments, in the whole-body control framework of the robot, the corresponding whole-body control for the robot may be described as controlling each joint of the robot with the goal of minimizing the total input energy to each joint and minimizing an error with a target trajectory while ensuring the balance of the robot. For example, the desired acceleration of the robot can be first determined based on the desired acceleration of the base portion and the desired acceleration of the wheel leg portion determined through a motion planning module. Based on the desired acceleration of the robot, according to dynamic formulas and constraint conditions of the robot, the desired acceleration corresponding to each joint of the robot is then generated. However, it is to be understood that the foregoing only provides one method for generating the desired acceleration, and embodiments are not limited to the specific generation manner of the desired acceleration. Therefore, after the desired acceleration of each joint of the robot is obtained, the robot can be motion controlled based on a determined target joint acceleration of each joint of the robot. For example, in some embodiments, a torque amount corresponding to the joint can be further generated based on the desired acceleration, friction compensation is performed on the torque amount, a joint control current value is generated based on a friction-compensated target torque amount, and the joint control current value is sent to a corresponding joint control motor, thereby outputting the corresponding torque through the joint control motor to control each joint of the robot, and achieving motion control for the robot. However, it is to be understood that the foregoing only provides an exemplary method for controlling robot motion based on the desired acceleration. According to actual needs, other methods can be selected to implement motion control. Embodiments are not limited to the specific manner of implementing motion control based on the desired acceleration.
(111) According to some embodiments, the determining, based on the constraint condition corresponding to motion of the robot, the overall control information, and the base control information, the control torque for controlling each joint in the plurality of joints may further include: calculating, based on the overall control information and the base control information, at least one candidate control torque combination corresponding to each joint that satisfies the constraint condition; determining a value corresponding to a dynamic whole-body dynamics objective function of the robot based on at least one candidate control torque combination corresponding to each joint; and selecting, from at least one candidate control torque combination corresponding to each joint, a candidate control torque combination such that the dynamic whole-body dynamics objective function satisfies a predetermined condition, and determining each candidate control torque in the candidate control torque combination as the control torque for controlling each joint in the plurality of joints.
(112) In some embodiments, considering that the whole-body control for the robot actually allows the robot to follow given reference motion, an objective function of the dynamic whole-body dynamics control for the robot can be determined based on an error between the reference motion of the robot and actual motion.
(113) For example, the dynamic whole-body dynamics control for the robot may be described as controlling each joint of the robot with the goal of minimizing the total input energy to each joint and minimizing an error with a target trajectory while ensuring the balance of the robot. According to some embodiments, the wheel leg portion further includes at least two driving wheels; and parameters of the dynamic whole-body dynamics objective function include at least one of the following: a vector formed by a set of desired accelerations of the base portion in a pitch direction and in a roll direction; a vector formed by a set of desired accelerations of each driving wheel during movement; a vector formed by a set of desired torques set for each joint; a generalized force provided by the ground at a point of contact in a case that the robot is in contact with the ground; and a close-loop force in the wheel leg portion in a case that the robot has a close-loop connection mechanism.
(114) For example, a dynamic whole-body dynamics control target
(115)
for the robot labeled in
(116)
(117) where as described above, {umlaut over (q)}.sup.des may include the desired accelerations {dot over ()}.sub.b.sup.des=[{dot over ()}.sub.b,p.sup.des {dot over ()}.sub.b,r.sup.des of the base portion in the pitch and roll directions and the desired acceleration {dot over ()}.sub.W.sup.des of the driving wheel, and {umlaut over (q)} is a vector formed by a set of accelerations of each joint during movement. .sup.des is a vector formed by a set of desired torques set for each joint. is a vector formed by a set of torques of each joint during actual movement. f is a generalized force provided by the ground at a point of contact in a case that the robot is in actual contact with the ground. is a close-loop force exerted by a front leg portion on a rear leg portion during movement of the robot. The subscripts W.sub.q, W.sub., W.sub.f, W.sub. respectively represent weight coefficient matrices that need to be multiplied by {umlaut over (q)}, , f, and when calculating the norm of formula (23).
(118) After the control target of the whole-body control for the robot is determined, at least one candidate control torque combination corresponding to each joint that satisfies various constraint conditions of the robot needs to be determined. A candidate control torque combination is then selected, from at least one candidate control torque combination, such that the dynamic whole-body dynamics objective function satisfies a predetermined condition, and each candidate control torque in the selected candidate control torque combination is used as the control torque for controlling each joint in the plurality of joints.
(119) In some embodiments, the movement of the robot may be limited to various constraints, such as the maximum torque that each joint can provide and limitations of mechanical configurations. According to some embodiments, the constraint condition corresponding to motion of the robot includes at least one of the following: a dynamic constraint, a close-loop linkage constraint, a nonholonomic constraint, and a friction constraint.
(120) According to some embodiments, the dynamic constraint may be determined at least partially based on a dynamic model of the robot, and the dynamic model may be configured for representing changing relationships between each joint and a center of mass angle, an angular velocity, an angular acceleration, a joint torque, an external contact force during movement of the robot.
(121) In some embodiments, based on the generalized coordinates q of the robot as described above, a generalized velocity set {dot over (q)}=[{dot over (q)}.sub.fb.sup.T, {dot over (q)}.sub.j.sup.T].sup.T and a generalized acceleration set {umlaut over (q)}=[{umlaut over (q)}.sub.fb.sup.T, {umlaut over (q)}.sub.j.sup.T].sup.T of the robot joints can be determined correspondingly. A person skilled in the art is to understand that, {dot over (q)}.sub.fb and {umlaut over (q)}.sub.fb respectively represent an instantaneous angular velocity and an instantaneous angular acceleration of the robot body. Similarly, a joint torque may also be represented by =[.sub.1, .sub.2, . . . , .sub.8].sup.T.
(122) Therefore, a general robot dynamic model can be constructed as shown in the following formula (24):
M(q){umlaut over (q)}+C(q, {dot over (q)})=S.sup.T+J.sub.f.sup.Tf+J.sub..sup.T(24)
(123) where M(q).sup.(6+n.sup.
.sup.(6+n.sup.
.sup.3n .sup.
.sup.3n.sup.
(124) Therefore, for example, the dynamic model shown in the foregoing formula (23) can be used as an example of the dynamic constraint to limit the range of energy changes of the robot during movement. A person skilled in the art is to understand that the limitations of the dynamic model are not limited thereto. For example, to facilitate the analysis of energy changes of the robot, a simplified dynamic model can be established for the robot to simplify the corresponding dynamic model constraint of formula (23) in dynamic whole-body dynamics control.
(125) For example, the following formula (25) shows an example of a close-loop linkage constraint for the robot in
J.sub.{umlaut over (q)}+{dot over (j)}.sub.{dot over (q)}=0(25).
(126) J and J.sub.P.sub.
(127) For example, assuming that the wheel is purely rolling and in contact with the ground, there is no slip and sliding in the radial and axial directions of the wheel. The following formula (26) shows an example of a nonholonomic constraint for the robot in
.sub.BJ.sub.W.sup.(1,3){umlaut over (q)}.sub.B+{dot over (j)}.sub.W.sup.(1,3){dot over (q)}=0(26).
(128) .sub.BJ.sub.W.sup.(1,3) is the x-axis and z-axis of the Jacobian matrix of the driving wheel-ground point of contact relative to the base portion.
(129) In some embodiments, the setting of the friction constraint may be based on the assumption that a friction cone at the point of contact between the ground and the robot during actual movement is approximated as a pyramid-shaped friction cone (friction pyramid). In the local coordinate system of the contact force f.sub.i corresponding to each point of contact, a friction coefficient is given, and the friction force constraint may be represented as |f.sub.i,x|f.sub.i,z and |f.sub.i,y|f.sub.i,z.
(130) In addition to the four constraints shown above, a unilateral constraint may also be set correspondingly. An example of the unilateral constraint may be f.sub.i,z>0. This is not limited thereto.
(131) Subject to the foregoing various constraints, control models for various control tasks can be determined correspondingly, and then the overall control for the robot based on various control tasks can be achieved under the whole-body control framework.
(132) In operation S204, the corresponding joint is controlled based on the control torque for each joint.
(133) The method provided in some embodiments can be combined with a whole-body dynamics control technology to provide a robot control method that implements a sphere balance task in the whole-body control framework. Balance control for a base portion of a wheel-legged robot and a sphere on the wheel-legged robot is added to a whole-body control framework of the wheel-legged robot, so that the sphere maintains balance during movement of the robot, thereby implementing the sphere balance task of the wheel-legged robot. An IDA-PBC algorithm is applied to a sphere balance non-prehensile operation on the wheel-legged robot, and to stabilize the entire robot system (including the robot and the sphere), the sphere balance control is designed in the whole-body control framework, thereby improving the robustness and flexibility of the wheel-legged robot.
(134) The foregoing robot control method is experimentally tested in a variety of different scenarios, and is compared with experimental results of the robot control method in related technologies in some scenarios, as described below with reference to
(135) The many different scenarios in the following experiments involve the following four example spheres. The physical parameters of these example spheres are shown in Table 1 below, where the mass m.sub.0 and radius .sub.0 of these example spheres can be easily measured, and the moment of inertia I.sub.0 is calculated using the mass and the radius directly dependent on whether the sphere is solid or hollow.
(136) TABLE-US-00001 TABLE 1 m.sub.0 (kg) .sub.0 (m) l.sub.0 (kg .Math. m.sup.2) Iron ball 0.502 0.028 1.574 10.sup.4 Wooden ball 0.658 0.060 9.475 10.sup.4 Basketball 0.608 0.123 6.132 10.sup.3 Crystal ball 2.214 0.06 3.168 10.sup.3
(137) Below, the foregoing robot control method is tested through a sphere balance task for four types of spheres (the iron ball, the wooden ball, the basketball and the crystal ball) provided above as examples and not as limitations, and control performance is compared with PID control.
(138)
(139) In some embodiments, for the balance control for the iron ball by using the robot control method, the IDA-PBC controller in the WBC framework can first be set based on the parameters of the iron ball shown in Table 1, so that the controller can perform corresponding balance control on the iron ball.
(140) As shown in
(141) In addition, (f) in
(142) As shown in
(143) As described above, the faster response and smaller oscillation of the sphere balance by using the IDA-PBC method show that some embodiments use the IDA-PBC method to perform sphere balance control and has a better effect than the sphere balance control based on PID control.
(144)
(145) When using IDA-PBC based sphere balance control, the controller remains stable after updating the ball parameters. As shown in (a) in
(146) For the robot control method of some embodiments, by using nonlinear control IDA-PBC, the information of the sphere (such as the mass, the radius, and the moment of inertia) has been taken into account in the model of the sphere balance system in the derivation process. Therefore, after replacing different spheres, only the corresponding parameters of the sphere need to be updated to the controller to ensure the stability of the sphere balance system. Moreover, in the derivation process of IDA-PBC, the stability of the ideal close-loop system has been guaranteed during design. Therefore, the corresponding designed controller can certainly stabilize the sphere balance system. As a model-based controller, IDA-PBC can update the physical parameters of the sphere to ensure the stability of the robot system, which is obviously better than the re-adjustment of the PID controller.
(147)
(148) Considering that the linear speed of the robot is not considered when deriving the IDA-PBC for the sphere balance task above, which is the main interference of the model-based controller, in this experiment, the robot is designed to move clockwise and counterclockwise around the pile, as shown in (a) in
(149) In addition, after considering that the robot passes through flat terrain, the maneuverability of the robot on uneven terrain can also be tested, as shown in (b) in
(150)
(151) After testing the robustness to robot motion and terrain changes as described above with reference to
(152) Therefore, through the experiments described above with reference to
(153) First, as a nonlinear controller, IDA-PBC does not linearize the originally nonlinear sphere balance system, so that the control effect of IDA-PBC is better than the linear controller PID. The result is reflected in the foregoing iron ball balance task with reference to
(154) IDA-PBC is a model-based controller. When replacing the sphere, only the physical parameters of the new sphere (such as the mass and the radius) needs to be updated into the controller to obtain a stable controller, so that the sphere does not fall. When using the model-free PID controller, after the sphere is replaced, an artificial parameter adjustment process needs to be carried out to ensure the stability of the sphere balance. This result is reflected in the wooden ball balance task above with reference to
(155) Finally, to improve the robustness and dexterity of the sphere balance task and the overall robot, the WBC control framework is used for the wheel-legged robot. The wheel balancing task ensures that the robot can remain stable in two-wheeled mode. The base portion pitch task and the base portion roll task allow the base portion of the robot to rotate. Therefore, the robot can achieve the sphere balance task on the upper body while maintaining balance on both wheels.
(156) As described above, the robot control method of some embodiments apply the IDA-PBC algorithm to the sphere balance non-prehensile operation on the wheel-legged robot, where the state of the sphere is updated by the touch sensor array, and the resolution is optimized based on the trade-off between accuracy and the update frequency. In addition, to stabilize the entire robot system (including the robot and the sphere), the sphere balance control is designed in the whole-body control framework. This also improves the robustness and flexibility of the robot. The stability of IDA-PBC is demonstrated through extensive experiments using different spheres. Although IDA-PBC is a model-based controller, it is easy to operate by simply updating physical parameters (such as the mass, the radius, and the moment of inertia) to adapt to different spheres. Furthermore, with the help of WBC, robustness and flexibility are demonstrated when performing sphere balance tasks on uneven terrain.
(157) However, it is to be understood that to realize the sphere balance task of the robot in the dual-wheel balance mode, the main goal of the sphere balance task may include two parts: the first part is to maintain the dual-wheel balance, and the second part is to ensure that the base portion is rotatable. Therefore, to achieve the two goals, the whole-body control framework is used in some embodiments, in which all motors are torque controlled. However, a brushless direct current motor used by the robot can also control the position or speed. Therefore, the dual-wheel balance task can also be achieved through the speed control of the motor at the driving wheel. The desired pitch angle and roll angle of the base portion are used to calculate the desired angle of each motor at the base portion through inverse kinematics, and then the sphere balance task is implemented through the motor control. However, neither the speed control nor the position control of the motor has the flexibility of torque control, so that the overall sphere balance effect is not as good as the robot control method in some embodiments.
(158) According to the robot control method provided in some embodiments, passivity based control for a nonlinear system formed by both a base portion of a wheel-legged robot and a sphere on the base portion is added to whole-body control for the wheel-legged robot, to determine base control information for maintaining balance of the sphere, and determine control for each joint of the robot based on the base control information. In this way, the wheel-legged robot can maintain balance of the sphere during movement, thereby implementing the sphere balance task of the wheel-legged robot. According to the robot control method provided in some embodiments, the wheel-legged robot can balance different rigid spheres on roads of various terrains, and can ensure stability of the sphere balance system after replacing a different sphere only by updating corresponding parameters of the sphere to the controller, without re-adjusting the controller.
(159) In addition, the robot control method provided in some embodiments may be applied to sphere balance scenarios of other machines (including robots). Because the modeling and control of the sphere balance system in some embodiments is decoupled from other parts of the robot, the sphere balance control method of some embodiments can be applied to any system that performs sphere balance on a rotatable plane. Meanwhile, sphere balance on a two-wheeled wheel-legged robot needs to be combined with the robot balance control in the whole-body control in this specification. For robots with three or more legs, due to the existence of a steady state in contact with the ground, the sphere balance tasks all correspond to the simplified case of the sphere balance task of the two-wheeled wheel-legged robot.
(160) Some embodiments provide a robot.
(161) The wheel leg portion refers to the wheeled component used by the robot to achieve movement, which includes, for example, a wheel portion and a leg portion connected to a central shaft of the wheel portion and used to implement motion control for the wheel portion. The specific composition type of the wheel leg portion and a number of wheel portions is not limited thereto.
(162) The base portion refers to the main part of the robot, and may be, for example, the trunk part of the robot. The specific shape and composition of the base portion is not limited thereto. For example, the base portion is connected to the wheel leg portion through a bracket, or the base portion and the wheel leg portion may be connected in other manners. The specific connection manner between the base portion and the wheel leg portion is not limited thereto.
(163) In some embodiments, the base portion includes, for example, two joints, and the wheel leg portion may include, for example, six joints. The embodiments are not limited to the specific number of joints included in the base portion and the wheel leg portion, and are not limited to the specific joint configuration of the robot.
(164) In addition, in some embodiments, the robot further includes a controller 1030, where the controller 1030 is disposed on the robot and capable of performing the robot control method as described above, and has the functions as described above.
(165) The controller includes, for example, a processing apparatus. The processing apparatus may include a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array, a state machine, or another processing device for processing electrical signals received from sensor wires. Such a processing device may include a programmable electronic device, such as a programmable logic controller (PLC), a programmable interrupt controller (PIC), a programmable logic device (PLD), a programmable read-only memory (PROM), or an electronic programmable read-only memory.
(166) In some embodiments, the robot may further include: a driving motor disposed on the wheel leg portion and the base portion of the robot to control a plurality of joints of the wheel leg portion 1010 and the base portion 1020 based on the controller, to control the movement and posture adjustment of the wheel leg portion 1010 and the base portion 1020.
(167) In addition, the robot may further include a bus, a memory, a sensor component, a communication module, an input/output apparatus, and the like. The bus may be a circuit that interconnects the components of the robot and transfers communication information (for example, control messages or data) among the components. The sensor component may be used to perceive the physical world, and include, for example, a camera, an infrared sensor, and an ultrasonic sensor. In addition, the sensor component may further include an apparatus for measuring the current operating and motion status of the robot, such as a Hall sensor, a laser position sensor, or a strain sensor. The communication module may, for example, be connected to a network in a wired or wireless manner to facilitate communication with the physical world (for example, a server). The communication module may be wireless and may include a wireless interface, such as IEEE 802.11, Bluetooth, a wireless local area network (WLAN) transceiver, or a radio interface for accessing a cellular telephone network (for example, for accessing CDMA, GSM, UMTS or transceivers/antennas for other mobile communication networks). In another example, the communication module may be wired and may include an interface such as Ethernet, USB, or IEEE 1394.
(168) The input/output apparatus may transmit commands or data inputted, for example, from a user or any other external device to one or more other components of the robot, or may output commands or data received from one or more other components of the robot to a user or other external devices.
(169) A plurality of robots may form a robot system to collaboratively complete a task, where the plurality of robots are communicatively connected to a server and receive collaborative robot instructions from the server.
(170) Further, in some embodiments, the robot may further include an additional component 1040 disposed on the base portion. The additional component includes, for example, at least one joint. The additional component refers to a component connected to the base portion and whose motion process is independent of the base portion and the wheel leg portion. The additional component may, for example, have an own degree of freedom of movement, and the motion control process of the additional component is independent of the posture control of the base portion and balance movement control process of the wheel leg portion. In some embodiments, the additional component 1040 may be a controllable additional component (for example, a tail), where the tail may be used to balance the wheel-legged robot or assist in the movement of the wheel-legged robot. For example, the tail can help the wheel-legged robot maintain balance during movement. The specific setting position and the joint configuration of the additional component is not limited herein.
(171) Some embodiments provide a non-transitory computer-readable storage medium, storing at least one computer executable instruction, where the computer executable instruction is loaded and executed by a processor to implement the foregoing robot control method.
(172) According to some embodiments, a robot control device is further provided, and the robot control device may include a controller in a robot.
(173) The processor in some embodiments may be an integrated circuit chip with signal processing capabilities. The foregoing processor may be a general-purpose processor, a DSP, an ASIC, a field programmable gate array (FPGA) or another programmable logic device, a discrete gate or a transistor logic device, or a discrete hardware component. The processor can implement or execute methods, operations, and logical block diagrams disclosed in some embodiments. The general-purpose processor may be a microprocessor, or the processor may be any conventional processor or the like, and may be an X86 architecture or ARM architecture.
(174) Various embodiments may be implemented in hardware or special purpose circuits, software, firmware, logic, or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software that may be executed by a controller, a microprocessor, or another computing device. When aspects of embodiments are illustrated or described as block diagrams, flowcharts, or using some other graphical representation, it may be understood that the blocks, apparatuses, systems, technologies, or methods described herein may serve as non-limiting examples implemented in hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controllers, other computing devices, or some combinations thereof.
(175) Some embodiments provide a computer-readable storage medium is further provided.
(176) Some embodiments further provide a computer program product or a computer program. The computer program product or the computer program includes computer executable instructions, and the computer executable instructions are stored in a computer-readable storage medium. A processor, when reading the computer executable instructions from the computer-readable storage medium and executing the computer executable instructions, implements the robot control method according to some embodiments.
(177) Some embodiments provide a robot control method, a robot, and a computer-readable storage medium.
(178) According to the robot control method provided in some embodiments, passivity based control for a nonlinear system is added to whole-body control for a wheel-legged robot. The nonlinear system is formed by both a base portion of the wheel-legged robot and a sphere on the base portion. Based on this, base control information for maintaining balance of the sphere is determined, and control for each joint of the robot is determined based on the base control information. In this way, the wheel-legged robot can maintain balance of the sphere during motion, thereby implementing the sphere balance task of the wheel-legged robot. According to the robot control method provided in some embodiments, the wheel-legged robot can balance different rigid spheres on roads of various terrains, and can ensure stability of the sphere balance system after replacing a different sphere only by updating corresponding parameters of the sphere to the controller, without re-adjusting the controller.
(179) Flowcharts and block diagrams in the drawings illustrate architectures, functions, and operations that may be implemented by using the system, the method, and the computer program product according to the various embodiments. In this regard, each block in the flowchart or the block diagram may represent a module, a program segment, or a part of a code. The module, the program segment, or the part of the code includes at least one executable instruction for implementing a specified logical function. In some embodiments, functions annotated in boxes may alternatively occur in a sequence different from that annotated in an accompanying drawing. For example, actually two boxes shown in succession may be performed basically in parallel, and sometimes the two boxes may be performed in a reverse sequence. This is determined by a related function. Each block in the block diagram and the flowchart, and a combination of blocks in the block diagram and the flowchart, may be implemented by using a specific hardware-based system that performs specified functions or operations, or may be implemented by using a combination of special-purpose hardware and computer instructions.
(180) Various embodiments of may be implemented in hardware or special purpose circuits, software, firmware, logic, or any combination thereof. Some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software that may be executed by a controller, a microprocessor, or another computing device. When aspects of some embodiments are illustrated or described as block diagrams, flowcharts, or using some other graphical representation, it may be understood that the blocks, apparatuses, systems, technologies, or methods described herein may serve as non-limiting examples implemented in hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controllers, other computing devices, or some combinations thereof.
(181) The foregoing embodiments are used for describing, instead of limiting the technical solutions of the disclosure. A person of ordinary skill in the art shall understand that although the disclosure has been described in detail with reference to the foregoing embodiments, modifications can be made to the technical solutions described in the foregoing embodiments, or equivalent replacements can be made to some technical features in the technical solutions, provided that such modifications or replacements do not cause the essence of corresponding technical solutions to depart from the spirit and scope of the technical solutions of the embodiments of the disclosure and the appended claims.